On 04/05/2018 01:11 PM, Juergen Gross wrote:
> On 05/04/18 16:56, George Dunlap wrote:
>> On Thu, Apr 5, 2018 at 3:09 PM, Juergen Gross <jgr...@suse.com> wrote:
>>> On 05/04/18 15:42, George Dunlap wrote:
>>>> On Thu, Apr 5, 2018 at 2:06 PM, Juergen Gross <jgr...@suse.com> wrote:
>>>>> On 05/04/18 15:00, Boris Ostrovsky wrote:
>>>>>> On 04/05/2018 08:19 AM, Juergen Gross wrote:
>>>>>>> On 05/04/18 12:06, George Dunlap wrote:
>>>>>>>
>>>>>>>> Aren't there flags in the binary somewhere that could tell the
>>>>>>>> toolstack / Xen whether the kernel in question needs the RSDP table in
>>>>>>>> lowmem, or whether it can be put higher?
>>>>>>> Not really. Analyzing the binary whether it accesses the rsdp_addr in
>>>>>>> the start_info isn't the way to go, IMO.
>>>>>>>
>>>>>>> I've sent a patch to xen-devel adding a quirk flag to the domain's
>>>>>>> config to enable the admin special casing such an "old" kernel.
>>>>>> Can we backport latest struct hvm_start_info changes (which bumped
>>>>>> interface version) to 4.11 and pass RSDP only for versions >=1?
>>>>> And this would help how?
>>>>>
>>>>> RSDP address is passed today, the kernel just doesn't read it. And
>>>>> how should Xen know which interface version the kernel is supporting?
>>>>> And Xen needs to know that in advance in order to place the RSDP in
>>>>> low memory in case the kernel isn't reading the RSDP address from
>>>>> start_info.
>>>> But the kernel image has ELF notes, right?  You can put one that
>>>> indicates that this binary *does* know how to read the RSDP from the
>>>> start_info, and if you don't find that, put it in lowmem.
>>> Sow you would hurt BSD which does read the RSDP address correctly but
>>> (today) has no such ELF note.


This can be predicated on
    ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS,       .asciz "linux")

BSD will behave as it does now. For linux we could add feature flag (or
errata flag). Unfortunately I don't see a way to extract major.minor
from the headers, otherwise we could use that.

-boris


>>>
>>> I think extending the PVH interface in such a way is no good idea.
>> Option 1: Put the RSDP in lowmem unless we know the guest will use the
>> address in start_info
>> Pro: Existing Linux instances boot
>> Con: Existing BSD instances whose memory is an exact multiple of 1 GiB
>> will have slightly slower TLB miss times.
> ... whose memory is >=1GiB ...
>
>> Option 2: Put the RSDP in highmem regardless
>> Pro: Existing BSD instances whose memory is an exact multiple of 1GiB
> ... whose memory is >=1GiB ...
>
>> will have slightly faster TLB miss times
>> Con: Existing Linux instances don't boot at all
> Option 3: add a config item to domain config for selecting the RSDP
>           placement, defaulting to highmem (my patch)
> Pro: Existing BSD and new Linux instances whose memory is >=1GiB will
>      have slightly faster TLB miss times
> Pro: Existing Linux instances can be made bootable by adding a new
>      item to their domain config
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to