[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1287418526 -3600 # Node ID 90a64629f7c0c2cd6d244b4a00cc20e1e277d349 # Parent 835b06768104fbd54c5e1ab4fbd06c690fa7a39a libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxc/xc_dom_x86.c | 21 ++++++++------------- tools/libxc/xc_domain.c | 15 +++++++++++++++ tools/libxc/xenctrl.h | 6 ++++++ 3 files changed, 29 insertions(+), 13 deletions(-) diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xc_dom_x86.c --- a/tools/libxc/xc_dom_x86.c Mon Oct 18 17:14:07 2010 +0100 +++ b/tools/libxc/xc_dom_x86.c Mon Oct 18 17:15:26 2010 +0100 @@ -815,31 +815,26 @@ int arch_setup_bootlate(struct xc_dom_im else { /* paravirtualized guest with auto-translation */ - struct xen_add_to_physmap xatp; int i; /* Map shared info frame into guest physmap. */ - xatp.domid = dom->guest_domid; - xatp.space = XENMAPSPACE_shared_info; - xatp.idx = 0; - xatp.gpfn = dom->shared_info_pfn; - rc = xc_memory_op(dom->xch, XENMEM_add_to_physmap, &xatp); + rc = xc_domain_add_to_physmap(dom->xch, dom->guest_domid, + XENMAPSPACE_shared_info, + 0, dom->shared_info_pfn); if ( rc != 0 ) { xc_dom_panic(dom->xch, XC_INTERNAL_ERROR, "%s: mapping" " shared_info failed (pfn=0x%" PRIpfn ", rc=%d)", - __FUNCTION__, xatp.gpfn, rc); + __FUNCTION__, dom->shared_info_pfn, rc); return rc; } /* Map grant table frames into guest physmap. */ for ( i = 0; ; i++ ) { - xatp.domid = dom->guest_domid; - xatp.space = XENMAPSPACE_grant_table; - xatp.idx = i; - xatp.gpfn = dom->total_pages + i; - rc = xc_memory_op(dom->xch, XENMEM_add_to_physmap, &xatp); + rc = xc_domain_add_to_physmap(dom->xch, dom->guest_domid, + XENMAPSPACE_grant_table, + i, dom->total_pages + i); if ( rc != 0 ) { if ( (i > 0) && (errno == EINVAL) ) @@ -849,7 +844,7 @@ int arch_setup_bootlate(struct xc_dom_im } xc_dom_panic(dom->xch, XC_INTERNAL_ERROR, "%s: mapping grant tables failed " "(pfn=0x%" - PRIpfn ", rc=%d)", __FUNCTION__, xatp.gpfn, rc); + PRIpfn ", rc=%d)", __FUNCTION__, dom->total_pages + i, rc); return rc; } } diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xc_domain.c --- a/tools/libxc/xc_domain.c Mon Oct 18 17:14:07 2010 +0100 +++ b/tools/libxc/xc_domain.c Mon Oct 18 17:15:26 2010 +0100 @@ -682,6 +682,21 @@ int xc_domain_decrease_reservation_exact return err; } +int xc_domain_add_to_physmap(xc_interface *xch, + uint32_t domid, + unsigned int space, + unsigned long idx, + xen_pfn_t gpfn) +{ + struct xen_add_to_physmap xatp = { + .domid = domid, + .space = space, + .idx = idx, + .gpfn = gpfn, + }; + return xc_memory_op(xch, XENMEM_add_to_physmap, &xatp); +} + int xc_domain_populate_physmap(xc_interface *xch, uint32_t domid, unsigned long nr_extents, diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xenctrl.h --- a/tools/libxc/xenctrl.h Mon Oct 18 17:14:07 2010 +0100 +++ b/tools/libxc/xenctrl.h Mon Oct 18 17:15:26 2010 +0100 @@ -810,6 +810,12 @@ int xc_domain_decrease_reservation_exact unsigned long nr_extents, unsigned int extent_order, xen_pfn_t *extent_start); + +int xc_domain_add_to_physmap(xc_interface *xch, + uint32_t domid, + unsigned int space, + unsigned long idx, + xen_pfn_t gpfn); int xc_domain_populate_physmap(xc_interface *xch, uint32_t domid, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |