[PATCH v3 03/32] arm64: KVM: HYP mode idmap support

Christoffer Dall cdall at cs.columbia.edu
Tue Apr 23 18:57:33 EDT 2013



On Mon, Apr 8, 2013 at 9:17 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> Add the necessary infrastructure for identity-mapped HYP page
> tables. Idmap-ed code must be in the ".hyp.idmap.text" linker
> section.
>
> The rest of the HYP ends up in ".hyp.text".
>
> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
> ---
>  arch/arm64/kernel/vmlinux.lds.S | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S
> index 3fae2be..855d43d 100644
> --- a/arch/arm64/kernel/vmlinux.lds.S
> +++ b/arch/arm64/kernel/vmlinux.lds.S
> @@ -17,6 +17,15 @@ ENTRY(stext)
>
>  jiffies = jiffies_64;
>
> +#define HYPERVISOR_TEXT                                        \
> +       . = ALIGN(2048);                                \

why align to 2048?  Comment?

are you changing this to the same idea as for the 32-bit code to reduce the kernel size?

> +       VMLINUX_SYMBOL(__hyp_idmap_text_start) = .;     \
> +       *(.hyp.idmap.text)                              \
> +       VMLINUX_SYMBOL(__hyp_idmap_text_end) = .;       \
> +       VMLINUX_SYMBOL(__hyp_text_start) = .;           \
> +       *(.hyp.text)                                    \
> +       VMLINUX_SYMBOL(__hyp_text_end) = .;
> +
>  SECTIONS
>  {
>         /*
> @@ -49,6 +58,7 @@ SECTIONS
>                         TEXT_TEXT
>                         SCHED_TEXT
>                         LOCK_TEXT
> +                       HYPERVISOR_TEXT
>                         *(.fixup)
>                         *(.gnu.warning)
>                 . = ALIGN(16);
> @@ -124,3 +134,9 @@ SECTIONS
>         STABS_DEBUG
>         .comment 0 : { *(.comment) }
>  }
> +
> +/*
> + * The HYP init code can't be more than a page long.
> + */
> +ASSERT(((__hyp_idmap_text_start + PAGE_SIZE) >= __hyp_idmap_text_end),
> +       "HYP init code too big")
> --
> 1.8.1.4
>
>
>
> _______________________________________________
> kvmarm mailing list
> kvmarm at lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm



More information about the linux-arm-kernel mailing list