diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-10-22 15:14:51 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2010-10-22 15:14:51 +0100 |
commit | 231c3160913a957cb9aeb693a7966ac3f8ecc780 (patch) | |
tree | a12d65e9125a77388c212a7791d38c76ae4ef88c /tools/libxc/xc_domain.c | |
parent | 79647c5bc9c62feeed8a1e50e7c73001ae10b23d (diff) | |
download | xen-231c3160913a957cb9aeb693a7966ac3f8ecc780.tar.gz xen-231c3160913a957cb9aeb693a7966ac3f8ecc780.tar.bz2 xen-231c3160913a957cb9aeb693a7966ac3f8ecc780.zip |
libxc: convert shadow domctl interfaces and save/restore over to hypercall buffers
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson.citrix.com>
Diffstat (limited to 'tools/libxc/xc_domain.c')
-rw-r--r-- | tools/libxc/xc_domain.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index f097b57ccf..54ed939bbc 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -400,7 +400,7 @@ int xc_watchdog(xc_interface *xch, int xc_shadow_control(xc_interface *xch, uint32_t domid, unsigned int sop, - unsigned long *dirty_bitmap, + xc_hypercall_buffer_t *dirty_bitmap, unsigned long pages, unsigned long *mb, uint32_t mode, @@ -408,14 +408,17 @@ int xc_shadow_control(xc_interface *xch, { int rc; DECLARE_DOMCTL; + DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap); + domctl.cmd = XEN_DOMCTL_shadow_op; domctl.domain = (domid_t)domid; domctl.u.shadow_op.op = sop; domctl.u.shadow_op.pages = pages; domctl.u.shadow_op.mb = mb ? *mb : 0; domctl.u.shadow_op.mode = mode; - set_xen_guest_handle(domctl.u.shadow_op.dirty_bitmap, - (uint8_t *)dirty_bitmap); + if (dirty_bitmap != NULL) + xc_set_xen_guest_handle(domctl.u.shadow_op.dirty_bitmap, + dirty_bitmap); rc = do_domctl(xch, &domctl); |