[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 3/8] xen/x86: Construct the {l2, l3}_bootmap at compile time



>>> On 23.02.16 at 17:31, <andrew.cooper3@xxxxxxxxxx> wrote:
> ---
>  xen/arch/x86/boot/head.S   | 18 +++++-------------
>  xen/arch/x86/boot/x86_64.S | 19 +++++++++++++++++++
>  xen/arch/x86/x86_64/mm.c   |  4 ----
>  3 files changed, 24 insertions(+), 17 deletions(-)

Is this intentionally leaving the EFI equivalent untouched?

> --- a/xen/arch/x86/boot/x86_64.S
> +++ b/xen/arch/x86/boot/x86_64.S
> @@ -184,3 +184,22 @@ GLOBAL(idle_pg_table)
>          .size idle_pg_table, . - idle_pg_table
>  
>  GLOBAL(__page_tables_end)
> +
> +/* Init pagetables.  Enough page directories to map into the bottom 1GB. */
> +        .section .init.data, "a", @progbits
> +        .align PAGE_SIZE, 0
> +
> +GLOBAL(l2_bootmap)
> +        .quad sym_phys(l1_identmap) + __PAGE_HYPERVISOR

The relocation needed for this and ...

> +        idx = 1
> +        .rept 7
> +        .quad (idx << L2_PAGETABLE_SHIFT) | __PAGE_HYPERVISOR | _PAGE_PSE
> +        idx = idx + 1
> +        .endr
> +        .fill L2_PAGETABLE_ENTRIES - 8, 8, 0
> +        .size l2_bootmap, . - l2_bootmap
> +
> +GLOBAL(l3_bootmap)
> +        .quad sym_phys(l2_bootmap) + __PAGE_HYPERVISOR

... this won't get properly adjusted by efi_arch_relocate_image(),
due to living outside of [__page_tables_start, __page_tables_end).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.