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

Re: [Xen-devel] [PATCH for-4.10] libxc: load acpi RSDP table at correct address



On 21/11/17 11:42, Andrew Cooper wrote:
> On 21/11/17 07:44, Jan Beulich wrote:
>>>>> On 20.11.17 at 17:59, <boris.ostrovsky@xxxxxxxxxx> wrote:
>>> On 11/20/2017 11:43 AM, Jan Beulich wrote:
>>>>>>> On 20.11.17 at 17:28, <boris.ostrovsky@xxxxxxxxxx> wrote:
>>>>> On 11/20/2017 11:26 AM, Jan Beulich wrote:
>>>>>>>>> On 20.11.17 at 17:14, <boris.ostrovsky@xxxxxxxxxx> wrote:
>>>>>>> What could cause grub2 to fail to find space for the pointer in the
>>>>>>> first page? Will we ever have anything in EBDA (which is one of the
>>>>>>> possible RSDP locations)?
>>>>>> Well, the EBDA (see the B in its name) is again something that's
>>>>>> meaningless without there being a BIOS.
>>>>> Exactly. So it should always be available for grub to copy the pointer
>>>>> there.
>>>> But what use would it be if grub copied it there? It just shouldn't
>>>> be there, neither before nor after grub (just like grub doesn't
>>>> introduce firmware into the system).
>>> So that the guest can find it using standard methods. If Xen can't
>>> guarantee ACPI-compliant placement of the pointer then someone has to
>>> help the guest find it in the expected place. We can do it with a
>>> dedicated entry point by setting the pointer explicitly (although
>>> admittedly this is not done correctly now) or we need to have firmware
>>> (grub2) place it in the "right" location.
>>>
>>> (It does look a bit hacky though)
>> Indeed. Of course ACPI without any actual firmware is sort of odd,
>> too. As to dedicated entry point and its alternatives: Xen itself
>> tells grub (aiui we're talking about a flavor of it running PVH itself)
>> where the RSDP is. Why can't grub forward that information in a
>> suitable way (e.g. via a new tag, or - for Linux - as a new entry
>> in the Linux boot header)?
> 
> Or if the worst comes to the worst, fabricate an acpi_rsdp= command line
> parameter?

This would be easy: just replace the #ifdef CONFIG_KEXEC in
drivers/acpi/osl.c of the Linux kernel with:

#if defined(CONFIG_KEXEC) || defined(CONFIG_XEN_PVH)

and the parameter is usable and active.

Another possibility would be to let grub copy the RSDP to below 1MB and
add the E820 entry for it.

In any case it seems save to let Xen place the RSDP just below 4GB,
together with console and Xenstore pages (so this area just expands).
grub can handle this either on its own or together with the kernel.

Lets see how Roger's plans with BSD look like.


Juergen

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

 


Rackspace

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