[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH QEMU-XEN v3 4/8] xen: Switch uses of xc_map_foreign_pages into xc_map_foreign_bulk
In Xen 4.7 we are refactoring parts libxenctrl into a number of separate libraries which will provide backward and forward API and ABI compatiblity. One such library will be libxenforeignmemory which provides access to privileged foreign mappings and which will provide an interface equivalent to xc_map_foreign_bulk. In preparation for this switch both uses of xc_map_foreign_pages (which both happen to be in xenfb_map_fb) to xc_map_foreign_bulk. This simply requires allocating and passing a new err array (the same one for both calls). Build tested with 4.0 and 4.5. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- hw/display/xenfb.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c index e3fdf33..f9442b7 100644 --- a/hw/display/xenfb.c +++ b/hw/display/xenfb.c @@ -428,6 +428,7 @@ static int xenfb_map_fb(struct XenFB *xenfb) int n_fbdirs; xen_pfn_t *pgmfns = NULL; xen_pfn_t *fbmfns = NULL; + int *errs = NULL; void *map, *pd; int mode, ret = -1; @@ -487,17 +488,18 @@ static int xenfb_map_fb(struct XenFB *xenfb) pgmfns = g_malloc0(sizeof(xen_pfn_t) * n_fbdirs); fbmfns = g_malloc0(sizeof(xen_pfn_t) * xenfb->fbpages); + errs = g_malloc0(sizeof(int) * n_fbdirs); xenfb_copy_mfns(mode, n_fbdirs, pgmfns, pd); - map = xc_map_foreign_pages(xen_xc, xenfb->c.xendev.dom, - PROT_READ, pgmfns, n_fbdirs); + map = xc_map_foreign_bulk(xen_xc, xenfb->c.xendev.dom, + PROT_READ, pgmfns, errs, n_fbdirs); if (map == NULL) goto out; xenfb_copy_mfns(mode, xenfb->fbpages, fbmfns, map); munmap(map, n_fbdirs * XC_PAGE_SIZE); - xenfb->pixels = xc_map_foreign_pages(xen_xc, xenfb->c.xendev.dom, - PROT_READ, fbmfns, xenfb->fbpages); + xenfb->pixels = xc_map_foreign_bulk(xen_xc, xenfb->c.xendev.dom, + PROT_READ, fbmfns, errs, xenfb->fbpages); if (xenfb->pixels == NULL) goto out; @@ -506,6 +508,7 @@ static int xenfb_map_fb(struct XenFB *xenfb) out: g_free(pgmfns); g_free(fbmfns); + g_free(errs); return ret; } -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |