aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_private.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-10-18 16:54:42 +0100
committerIan Campbell <ian.campbell@citrix.com>2010-10-18 16:54:42 +0100
commit2674a296982598b97ffdd90fa407e4cdd1df3e13 (patch)
treeed8d08336c8bc9ea7a82ba3975d5074e1766b185 /tools/libxc/xc_private.c
parentf5c808b428244f42b2310ddf173c624d9a2a842c (diff)
downloadxen-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_private.c')
-rw-r--r--tools/libxc/xc_private.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/libxc/xc_private.c b/tools/libxc/xc_private.c
index ccc1370229..d32c1d42cb 100644
--- a/tools/libxc/xc_private.c
+++ b/tools/libxc/xc_private.c
@@ -675,14 +675,14 @@ unsigned long xc_make_page_below_4G(
xen_pfn_t old_mfn = mfn;
xen_pfn_t new_mfn;
- if ( xc_domain_memory_decrease_reservation(
+ if ( xc_domain_decrease_reservation_exact(
xch, domid, 1, 0, &old_mfn) != 0 )
{
DPRINTF("xc_make_page_below_4G decrease failed. mfn=%lx\n",mfn);
return 0;
}
- if ( xc_domain_memory_increase_reservation(
+ if ( xc_domain_increase_reservation_exact(
xch, domid, 1, 0, XENMEMF_address_bits(32), &new_mfn) != 0 )
{
DPRINTF("xc_make_page_below_4G increase failed. mfn=%lx\n",mfn);