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

Re: [Xen-devel] [PATCH v2] libxl: put RSDP for PVH guest near 4GB

On 25/01/18 11:38, Hans van Kranenburg wrote:
> On 01/24/2018 01:06 PM, Juergen Gross wrote:
>> On 24/01/18 11:54, Roger Pau Monné wrote:
>>> On Wed, Jan 24, 2018 at 10:42:39AM +0000, George Dunlap wrote:
>>>> On Wed, Jan 24, 2018 at 2:41 AM, Boris Ostrovsky
>>>> <boris.ostrovsky@xxxxxxxxxx> wrote:
>>>>> On 01/18/2018 05:33 AM, Wei Liu wrote:
>>>>>> On Thu, Jan 18, 2018 at 11:31:32AM +0100, Juergen Gross wrote:
>>>>>>> Wei,
>>>>>>> On 01/12/17 15:14, Juergen Gross wrote:
>>>>>>>> Instead of locating the RSDP table below 1MB put it just below 4GB
>>>>>>>> like the rest of the ACPI tables in case of PVH guests. This will
>>>>>>>> avoid punching more holes than necessary into the memory map.
>>>>>>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>>>>>>> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
>>>>>>> Mind applying this one?
>>>>>> Don't worry, it is in my queue.
>>>>>> Will come to this and other patches I accumulated soon.
>>>>>> Wei.
>>>>> This requires kernel changes, doesn't it?
>>>>> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg00714.html
>>>>> And this series apparently never made it to the tree.
>>>>> PVH guests are broken now on staging.
>>>> And the Linux side of PVH is officially supported now, right?  Which
>>>> means we need to have some way of being backwards compatible with
>>>> kernels without that patch, even if it does get  backported.
>>> Linux had a bug that on PVH it expected to find the RSDP at the low
>>> 1MiB. The PVHv2 boot protocol has _never_ mentioned that the RSDP
>>> should be below 1MiB. There's just one comment in the start_info
>>> header that says:
>>> "Xen on x86 will always try to place all the data below the 4GiB
>>> boundary."
>>> And the RSDP address must be fetched from the rsdp_paddr field of the
>>> start_info.
>>> I agree that the fact that Linux is broken is bad, but should not
>>> force us to change the protocol. What's more, when booting a PVHv2
>>> Dom0 the RSDP _must_ not be searched in the low 1MiB, or else Dom0 is
>>> going to find the firmware provided RSDP and everything is going to
>>> blow up.
>> Right.
>> My patches to repair this in the Linux kernel are on hold as they are
>> touching the boot parameters between grub2 and the kernel, too. And
>> this caused the kernel no longer booting in some cases as most distros
>> are shipping a grub2 breaking this interface via a non-upstream patch.
> Linking the related thread:
> https://www.spinics.net/lists/linux-acpi/msg80003.html
> Out of interest, which "non-upstream patch" is this by the way? I didn't
> see it mentioned yet.

That patch is adding another Linux loader for EFI environment.

> Is it defining an extra custom field in that stuct yolo style? Because
> from my limited understanding that would of course also need the
> counterpart being implemented at kernel side.
> Or (and I suspect it's this) is is not really using those bytes, but
> leaving garbage behind, which forces you to implement the extra
> validation checks?

Right. And up to now this garbage hasn't been breaking anything (or
nobody noticed it).


Xen-devel mailing list



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