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

Re: [Xen-devel] [PATCH RESEND v5 2/6] xen/arm: Implement get_maximum_gpfn hypercall for arm

15.11.2013 11:04, Eugene Fedotov wrote:
13.11.2013 14:58, Ian Campbell  wrote:
On Wed, 2013-11-13 at 12:28 +0400, Eugene Fedotov wrote:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 123280e..3801f07 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -927,7 +927,11 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type)
      unsigned long domain_get_maximum_gpfn(struct domain *d)
s/unsigned long/xen_pfn_t/ I think.

Urk, which will break the ABI for this hypercall. That's something of a
conundrum :-/

It is a domctl so we are at liberty to change it, probably to taking a
xen_pfn_t * to fill in instead of returning the value.

I'm in two minds about whether we should do so now or postpone it (which
risks forgetting and having an obscure bug somewhere down the line).
OK, this way, or other solution is to purge this hypercall yet in
migration and use max_memkb field in DOMCTL_getdomaininfo to obtain the
maximum PFN.
Is there an interface to retrieve that? I don't see it :-(
No, it is another hypercall XEN_DOMCTL_getdomaininfo. max_memkb field in xc_dominfo_t structure is a second way to retrieve maximum memory size and calculate PFN. Do we need domain_get_maximum_gpfn ?

In addition to this question I need to ask why we need xen_pfn_t (that is always 64 bit on Xen-arm) for physical memory PFN. Currently the following libxc proxies for DOMCTL: xc_domain_setmaxmem and max_memkb field in xc_domain_getinfo() are working with unsigned long max_mem_kb parameter (that is 32 bit for ARM32)

In case if 64 bit PFN is needed, xen_pfn_t returning hypercall looks like better then xc_domain_getinfo() .

Best regards,

Xen-devel mailing list



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