diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-10-18 16:54:42 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2010-10-18 16:54:42 +0100 |
commit | 2674a296982598b97ffdd90fa407e4cdd1df3e13 (patch) | |
tree | ed8d08336c8bc9ea7a82ba3975d5074e1766b185 /tools/libxc/xc_dom_x86.c | |
parent | f5c808b428244f42b2310ddf173c624d9a2a842c (diff) | |
download | xen-2674a296982598b97ffdd90fa407e4cdd1df3e13.tar.gz xen-2674a296982598b97ffdd90fa407e4cdd1df3e13.tar.bz2 xen-2674a296982598b97ffdd90fa407e4cdd1df3e13.zip |
libxc: wrappers for XENMEM {increase,decrease}_reservation and populate_physmap
Currently the wrappers for these hypercalls swallow partial success
and return failure to the caller.
In order to use these functions more widely instead of open-coding
uses of XENMEM_* and xc_memory_op add variants which return the actual
hypercall result.
Therefore add the following functions:
xc_domain_increase_reservation
xc_domain_decrease_reservation
xc_domain_populate_physmap
and implement the existing semantics using these new functions as
xc_domain_increase_reservation_exact
xc_domain_decrease_reservation_exact
xc_domain_populate_physmap_exact
replacing the existing xc_domain_memory_* functions.
Use these new functions to replace all open coded uses of
XENMEM_increase_reservation, XENMEM_decrease_reservation and
XENMEM_populate_physmap.
Also rename xc_domain_memory_*_pod_target to xc_domain_*_pod_target
for consistency.
Temporarily add a compatibility macro for
xc_domain_memory_populate_physmap to allow time for qemu to catch up.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxc/xc_dom_x86.c')
-rw-r--r-- | tools/libxc/xc_dom_x86.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c index b71bf6abcc..060e147c7f 100644 --- a/tools/libxc/xc_dom_x86.c +++ b/tools/libxc/xc_dom_x86.c @@ -733,7 +733,7 @@ int arch_setup_meminit(struct xc_dom_image *dom) DOMPRINTF("Populating memory with %d superpages", count); for ( pfn = 0; pfn < count; pfn++ ) extents[pfn] = pfn << SUPERPAGE_PFN_SHIFT; - rc = xc_domain_memory_populate_physmap(dom->xch, dom->guest_domid, + rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid, count, SUPERPAGE_PFN_SHIFT, 0, extents); if ( rc ) @@ -762,7 +762,7 @@ int arch_setup_meminit(struct xc_dom_image *dom) allocsz = dom->total_pages - i; if ( allocsz > 1024*1024 ) allocsz = 1024*1024; - rc = xc_domain_memory_populate_physmap( + rc = xc_domain_populate_physmap_exact( dom->xch, dom->guest_domid, allocsz, 0, 0, &dom->p2m_host[i]); } |