aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_offline_page.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-10-18 17:14:07 +0100
committerIan Campbell <ian.campbell@citrix.com>2010-10-18 17:14:07 +0100
commit9bf9eada0dad47460fbecd632b944424a3255664 (patch)
tree4b872ab2f39740cdd256a8b0c2267b94fcacf944 /tools/libxc/xc_offline_page.c
parent2674a296982598b97ffdd90fa407e4cdd1df3e13 (diff)
downloadxen-9bf9eada0dad47460fbecd632b944424a3255664.tar.gz
xen-9bf9eada0dad47460fbecd632b944424a3255664.tar.bz2
xen-9bf9eada0dad47460fbecd632b944424a3255664.zip
libxc: add xc_domain_memory_exchange_pages to wrap XENMEM_exchange
Generalised from exchange_page in xc_offline_page.c 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_offline_page.c')
-rw-r--r--tools/libxc/xc_offline_page.c33
1 files changed, 3 insertions, 30 deletions
diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index a23cb64e32..99d7d705ab 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -512,35 +512,6 @@ static int clear_pte(xc_interface *xch, int domid,
__clear_pte, mfn);
}
-static int exchange_page(xc_interface *xch, xen_pfn_t mfn,
- xen_pfn_t *new_mfn, int domid)
-{
- int rc;
- xen_pfn_t out_mfn;
-
- struct xen_memory_exchange exchange = {
- .in = {
- .nr_extents = 1,
- .extent_order = 0,
- .domid = domid
- },
- .out = {
- .nr_extents = 1,
- .extent_order = 0,
- .domid = domid
- }
- };
- set_xen_guest_handle(exchange.in.extent_start, &mfn);
- set_xen_guest_handle(exchange.out.extent_start, &out_mfn);
-
- rc = xc_memory_op(xch, XENMEM_exchange, &exchange);
-
- if (!rc)
- *new_mfn = out_mfn;
-
- return rc;
-}
-
/*
* Check if a page can be exchanged successfully
*/
@@ -704,7 +675,9 @@ int xc_exchange_page(xc_interface *xch, int domid, xen_pfn_t mfn)
goto failed;
}
- rc = exchange_page(xch, mfn, &new_mfn, domid);
+ rc = xc_domain_memory_exchange_pages(xch, domid,
+ 1, 0, &mfn,
+ 1, 0, &new_mfn);
if (rc)
{