[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 24.02.16 at 12:40, <andrew.cooper3@xxxxxxxxxx> wrote: > On 24/02/16 11:34, Jan Beulich wrote: >>>>> 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? > > Yes. > >> >>> --- 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). > > Deliberately so. > > The EFI needs to relocate the tables anyway. It currently (re)writes > them fresh at the relocated address, and leaving this be is the more > simple option. Okay, I guess you mean to say that both together continue to work, which without it being said explicitly (allowing the implication that this also has got tested) I was rather unsure about. Hence I'd like to at least ask for an explicit respective statement in the commit message. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |