@@ -266,6 +266,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
get_outstanding_claims(&pi->free_pages, &pi->outstanding_pages);
pi->scrub_pages = 0;
pi->cpu_khz = cpu_khz;
+ pi->max_mfn = get_upper_mfn_bound() - 1;
arch_do_physinfo(pi);
if ( copy_to_guest(u_sysctl, op, 1) )
@@ -108,6 +108,8 @@ struct xen_sysctl_physinfo {
/* XEN_SYSCTL_PHYSCAP_??? */
uint32_t capabilities;
+
+ uint64_t max_mfn; /* Largest possible MFN on this host */
};
typedef struct xen_sysctl_physinfo xen_sysctl_physinfo_t;
DEFINE_XEN_GUEST_HANDLE(xen_sysctl_physinfo_t);
Add the maximum possible mfn to struct xen_sysctl_physinfo in order to enable Xen tools to size the grant table frame limits for a domU. Signed-off-by: Juergen Gross <jgross@suse.com> --- xen/common/sysctl.c | 1 + xen/include/public/sysctl.h | 2 ++ 2 files changed, 3 insertions(+)