From: Peng Fan <[email protected]>
These files are not needed to be included, so remove them.
Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/kernel/hyp-stub.S | 4 ----
1 file changed, 4 deletions(-)
diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
index 73d46070b315..f17af9a39562 100644
--- a/arch/arm64/kernel/hyp-stub.S
+++ b/arch/arm64/kernel/hyp-stub.S
@@ -8,12 +8,8 @@
#include <linux/init.h>
#include <linux/linkage.h>
-#include <linux/irqchip/arm-gic-v3.h>
#include <asm/assembler.h>
-#include <asm/kvm_arm.h>
-#include <asm/kvm_asm.h>
-#include <asm/ptrace.h>
#include <asm/virt.h>
.text
--
2.16.4
From: Peng Fan <[email protected]>
External hypervisors, like Jailhouse, need this address when they are
deactivated, in order to restore original state.
Signed-off-by: Peng Fan <[email protected]>
---
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
--
2.16.4
On 15.11.19 10:45, Peng Fan wrote:
> From: Peng Fan <[email protected]>
>
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> 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
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
> Subject: Re: [PATCH 2/2] arm64: export __hyp_stub_vectors
>
> On 15.11.19 10:45, Peng Fan wrote:
> > From: Peng Fan <[email protected]>
> >
> > External hypervisors, like Jailhouse, need this address when they are
> > deactivated, in order to restore original state.
> >
> > Signed-off-by: Peng Fan <[email protected]>
> > ---
> > 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 <[email protected]>
>
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> 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 <[email protected]>
>
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> 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.
--
Jazz is not dead. It just smells funny...