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 <jgr...@suse.com> --- As I'd like to add support for large physical addresses in pv guests rather sooner than later to the Linux kernel, I'm suggesting this public interface change way before any 5 level paging support is added to Xen. --- xen/include/public/elfnote.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/xen/include/public/elfnote.h b/xen/include/public/elfnote.h index 936aa65822..8d76437f19 100644 --- a/xen/include/public/elfnote.h +++ b/xen/include/public/elfnote.h @@ -212,9 +212,18 @@ #define XEN_ELFNOTE_PHYS32_ENTRY 18 /* + * Maximum physical address size the kernel can handle. + * + * All memory of the PV guest must be allocated below this boundary, + * as the guest kernel can't handle page table entries with MFNs referring + * to memory above this value. + */ +#define XEN_ELFNOTE_MAXPHYS_SIZE 19 + +/* * The number of the highest elfnote defined. */ -#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_ENTRY +#define XEN_ELFNOTE_MAX XEN_ELFNOTE_MAXPHYS_SIZE /* * System information exported through crash notes. -- 2.12.3 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel