[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 20/11/17 17:14, Boris Ostrovsky wrote: > On 11/20/2017 10:27 AM, Juergen Gross wrote: >> On 20/11/17 15:25, Boris Ostrovsky wrote: >>> On 11/20/2017 09:14 AM, Juergen Gross wrote: >>>> On 20/11/17 14:56, Boris Ostrovsky wrote: >>>>> On 11/20/2017 06:50 AM, Jan Beulich wrote: >>>>>>>>> On 20.11.17 at 12:20, <jgross@xxxxxxxx> wrote: >>>>>>> Which restriction? I'm loading the RSDP table to its architectural >>>>>>> correct addres if possible, otherwise it will be loaded to the same >>>>>>> address as without my patch. So I'm not adding a restriction, but >>>>>>> removing one. >>>>>> What is "architecturally correct" in PVH can't be read out of >>>>>> specs other than what we write down. When there's no BIOS, >>>>>> placing anything right below the 1Mb boundary is at least >>>>>> bogus. >>>>> Unless it's a UEFI boot -- where else would you put it? Aren't these two >>>>> (UEFI and non-UEFI) the only two options that the ACPI spec provides? >>>> I think Jan is right: for PVH its _our_ job to define the correct >>>> placement. >>> Yes, and if it is placed in a non-standard location then the guest will >>> have to deal with it in a non-standard way. Which we can in Linux by >>> setting acpi_rsdp pointer in the special PVH entry point, before jumping >>> to Linux "standard" entry --- startup_{32|64}(). >>> >>> But if your goal is to avoid that special entry point (and thus not set >>> acpi_rsdp) then how do you expect kernel to find RSDP? >>> >>>> Which still can be the same as in the BIOS case, making >>>> it easier to adapt any guest systems. >>>> >>>> So I'd say: The RSDP address in PVH case is passed in the PVH start >>>> info block to the guest. In case there is no conflict with the >>>> physical load address of the guest kernel the preferred address of >>>> the RSDP is right below the 1MB boundary. >>> And what do we do if there *is* a conflict? >> Either as without my patch: use the first available free memory page. >> >> Or: add a domain config parameter for specifying the RSDP address >> (e.g. default: as today, top: end of RAM, legacy: just below 1MB, or >> a specific value) and fail to load in case of a conflict. > > This feels like a band-aid to work around a problem that we want to fix > in the long term anyway. > > 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)? This isn't something grub2 has to deal with. The RSDP is in a reserved area of the memory, so it can't be relocated by grub2. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |