Message ID | 1573810972-2159-2-git-send-email-peng.fan@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] arm64: kernel: hyp-stub: drop unneeded including files | expand |
On 15.11.19 10:45, Peng Fan wrote: > From: Peng Fan <peng.fan@nxp.com> > > External hypervisors, like Jailhouse, need this address when they are > deactivated, in order to restore original state. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > arch/arm64/include/asm/virt.h | 2 ++ > arch/arm64/kernel/hyp-stub.S | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h > index 0958ed6191aa..b1b48353e3b3 100644 > --- a/arch/arm64/include/asm/virt.h > +++ b/arch/arm64/include/asm/virt.h > @@ -62,6 +62,8 @@ > */ > extern u32 __boot_cpu_mode[2]; > > +extern char __hyp_stub_vectors[]; > + > void __hyp_set_vectors(phys_addr_t phys_vector_base); > void __hyp_reset_vectors(void); > > diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S > index f17af9a39562..22b728fb14bd 100644 > --- a/arch/arm64/kernel/hyp-stub.S > +++ b/arch/arm64/kernel/hyp-stub.S > @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors) > ventry el1_fiq_invalid // FIQ 32-bit EL1 > ventry el1_error_invalid // Error 32-bit EL1 > ENDPROC(__hyp_stub_vectors) > +EXPORT_SYMBOL(__hyp_stub_vectors); > > .align 11 > > While I would not dislike to have patch-free access in Jailhouse, I'm not sure if an out-of-tree use case justifies this an export. Also, this lacks the arm equivalent to be complete. Jan
> Subject: Re: [PATCH 2/2] arm64: export __hyp_stub_vectors > > On 15.11.19 10:45, Peng Fan wrote: > > From: Peng Fan <peng.fan@nxp.com> > > > > External hypervisors, like Jailhouse, need this address when they are > > deactivated, in order to restore original state. > > > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > > --- > > arch/arm64/include/asm/virt.h | 2 ++ > > arch/arm64/kernel/hyp-stub.S | 1 + > > 2 files changed, 3 insertions(+) > > > > diff --git a/arch/arm64/include/asm/virt.h > > b/arch/arm64/include/asm/virt.h index 0958ed6191aa..b1b48353e3b3 > > 100644 > > --- a/arch/arm64/include/asm/virt.h > > +++ b/arch/arm64/include/asm/virt.h > > @@ -62,6 +62,8 @@ > > */ > > extern u32 __boot_cpu_mode[2]; > > > > +extern char __hyp_stub_vectors[]; > > + > > void __hyp_set_vectors(phys_addr_t phys_vector_base); > > void __hyp_reset_vectors(void); > > > > diff --git a/arch/arm64/kernel/hyp-stub.S > > b/arch/arm64/kernel/hyp-stub.S index f17af9a39562..22b728fb14bd > 100644 > > --- a/arch/arm64/kernel/hyp-stub.S > > +++ b/arch/arm64/kernel/hyp-stub.S > > @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors) > > ventry el1_fiq_invalid // FIQ 32-bit EL1 > > ventry el1_error_invalid // Error 32-bit EL1 > > ENDPROC(__hyp_stub_vectors) > > +EXPORT_SYMBOL(__hyp_stub_vectors); > > > > .align 11 > > > > > > While I would not dislike to have patch-free access in Jailhouse, I'm not sure if > an out-of-tree use case justifies this an export. > > Also, this lacks the arm equivalent to be complete. arm and arm64 has different maintainers. If this arm64 is acceptable, I'll create arm patch and send out. Thanks, Peng. > > Jan > > -- > Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate > Competence Center Embedded Linux
Hi Peng, On 11/15/19 10:45 AM, Peng Fan wrote: > From: Peng Fan <peng.fan@nxp.com> > > External hypervisors, like Jailhouse, need this address when they are > deactivated, in order to restore original state. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > arch/arm64/include/asm/virt.h | 2 ++ > arch/arm64/kernel/hyp-stub.S | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h > index 0958ed6191aa..b1b48353e3b3 100644 > --- a/arch/arm64/include/asm/virt.h > +++ b/arch/arm64/include/asm/virt.h > @@ -62,6 +62,8 @@ > */ > extern u32 __boot_cpu_mode[2]; > > +extern char __hyp_stub_vectors[]; > + In jailhouse, we call it: driver/main.c:extern unsigned int __hyp_stub_vectors[]; > void __hyp_set_vectors(phys_addr_t phys_vector_base); > void __hyp_reset_vectors(void); > > diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S > index f17af9a39562..22b728fb14bd 100644 > --- a/arch/arm64/kernel/hyp-stub.S > +++ b/arch/arm64/kernel/hyp-stub.S > @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors) > ventry el1_fiq_invalid // FIQ 32-bit EL1 > ventry el1_error_invalid // Error 32-bit EL1 > ENDPROC(__hyp_stub_vectors) > +EXPORT_SYMBOL(__hyp_stub_vectors); _GPL? I wrote, with the same motivation, almost the same patch a while ago: https://github.com/siemens/linux/commit/15b46bf77bdb5c6b1889f729efc3bf424ddfad9c Back then, I had to import asm-generic/export.h. Is it now indirectly included? Thanks Ralf > > .align 11 > >
On 2019-11-15 09:45, Peng Fan wrote: > From: Peng Fan <peng.fan@nxp.com> > > External hypervisors, like Jailhouse, need this address when they are > deactivated, in order to restore original state. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > arch/arm64/include/asm/virt.h | 2 ++ > arch/arm64/kernel/hyp-stub.S | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/arch/arm64/include/asm/virt.h > b/arch/arm64/include/asm/virt.h > index 0958ed6191aa..b1b48353e3b3 100644 > --- a/arch/arm64/include/asm/virt.h > +++ b/arch/arm64/include/asm/virt.h > @@ -62,6 +62,8 @@ > */ > extern u32 __boot_cpu_mode[2]; > > +extern char __hyp_stub_vectors[]; > + > void __hyp_set_vectors(phys_addr_t phys_vector_base); > void __hyp_reset_vectors(void); > > diff --git a/arch/arm64/kernel/hyp-stub.S > b/arch/arm64/kernel/hyp-stub.S > index f17af9a39562..22b728fb14bd 100644 > --- a/arch/arm64/kernel/hyp-stub.S > +++ b/arch/arm64/kernel/hyp-stub.S > @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors) > ventry el1_fiq_invalid // FIQ 32-bit EL1 > ventry el1_error_invalid // Error 32-bit EL1 > ENDPROC(__hyp_stub_vectors) > +EXPORT_SYMBOL(__hyp_stub_vectors); NAK. There is no in-tree users of this. If you're using jailhouse, you're already patching your kernel, and you can carry this. Mainline doesn't need this at all. M.
diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h index 0958ed6191aa..b1b48353e3b3 100644 --- a/arch/arm64/include/asm/virt.h +++ b/arch/arm64/include/asm/virt.h @@ -62,6 +62,8 @@ */ extern u32 __boot_cpu_mode[2]; +extern char __hyp_stub_vectors[]; + void __hyp_set_vectors(phys_addr_t phys_vector_base); void __hyp_reset_vectors(void); diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S index f17af9a39562..22b728fb14bd 100644 --- a/arch/arm64/kernel/hyp-stub.S +++ b/arch/arm64/kernel/hyp-stub.S @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors) ventry el1_fiq_invalid // FIQ 32-bit EL1 ventry el1_error_invalid // Error 32-bit EL1 ENDPROC(__hyp_stub_vectors) +EXPORT_SYMBOL(__hyp_stub_vectors); .align 11