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

Re: [Xen-devel] [PATCH] include/public: add new elf note for support of huge physical addresses



On 14/08/17 13:56, Juergen Gross wrote:
> On 14/08/17 14:36, Andrew Cooper wrote:
>> On 14/08/17 11:21, Juergen Gross wrote:
>>> Current pv guests will only see physical addresses up to 46 bits wide.
>>> In order to be able to run on a host supporting 5 level paging and to
>>> make use of any possible memory page there, physical addresses with up
>>> to 52 bits have to be supported.
>>>
>>> As Xen needs to know whether a pv guest can handle such large addresses
>>> the kernel of the guest has to advertise this capability.
>>>
>>> Add a new ELF note for the maximum physical address the kernel can
>>> make use of.
>>>
>>> Please note that it is not required for a pv guest to support 5 level
>>> paging in order to use high physical addresses.
>>>
>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>> Why?
>>
>> With PAE paging, the maximum physical address width is 52 bits, and has
>> been like that for a decade now.  5-level paging doesn't change this.
>>
>> Are you saying that there is a Linux limitation where it doesn't cope
>> properly with 52 bits of width in the pagetables?
> Yes. See PTE_PFN_MASK in Linux kernel.

:(

Why does Linux limit itself to 46 bits outside of 5LEVEL mode?  Loads of
AMD hardware already has 48 bits of physical address space.

It seems reasonable for Linux to limit itself to 44 bits in 32bit PAE
build.  Xen's limit of 128G is far lower.

What happens if Linux reads the a grant PTE written by Xen which refers
to a frame above this limit?  It looks like there is a latent bug, and
the higher address bits would be considered part of the upper flags.

It looks like such a flag is necessary for PV guests, but it also needs
to come with some other fixups in Xen.

~Andrew

_______________________________________________
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®.