[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



On Tue, 2013-11-19 at 16:35 +0400, Eugene Fedotov wrote:
> 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 ?

I think not yet.

> 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)

The intention is that the hypercall interface be identical across 32-
and 64-bit hypervisors to avoid the need for any argument translation
when running 32-bit guests on a 64-bit hypervisor etc. Hence MFNs and
PFNs are always 64-bits. 

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



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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