[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


 


Rackspace

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