Re: [PATCH 2/2] arm64: export __hyp_stub_vectors

From: Ralf Ramsauer
Date: Fri Nov 15 2019 - 07:08:15 EST


Hi Peng,

On 11/15/19 10:45 AM, Peng Fan wrote:
> From: Peng Fan <peng.fan@xxxxxxx>
>
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
>
> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> ---
> 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
>
>