[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH QEMU-XEN v6 5/8] xen: Switch uses of xc_map_foreign_{pages, bulk} to use libxenforeignmemory API.
On Thu, 3 Dec 2015, Ian Campbell wrote: > diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h > index 2cadd4f..8fbaf07 100644 > --- a/include/hw/xen/xen_common.h > +++ b/include/hw/xen/xen_common.h > @@ -41,6 +41,7 @@ static inline void *xc_map_foreign_bulk(int xc_handle, > uint32_t dom, int prot, > typedef int XenXC; > typedef int xenevtchn_handle; > typedef int xengnttab_handle; > +typedef int xenforeignmemory_handle; > > # define XC_INTERFACE_FMT "%i" > # define XC_HANDLER_INITIAL_VALUE -1 > @@ -104,6 +105,19 @@ static inline XenXC xen_xc_interface_open(void *logger, > void *dombuild_logger, > return xc_interface_open(); > } > > +#define xenforeignmemory_open(l, f) &xen_xc > +static inline void *xenforeignmemory_map(XenXC *h, uint32_t dom, > + int prot, size_t pages, > + const xen_pfn_t arr[/*pages*/], > + int err[/*pages*/]) > +{ > + if (err) > + return xc_map_foreign_bulk(*h, dom, prot, arr, err, pages); > + else > + return xc_map_foreign_pages(*h, dom, prot, arr, pages); > +} > +#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE) > + > static inline int xc_fd(int xen_xc) > { > return xen_xc; > @@ -149,6 +163,7 @@ static inline void xs_close(struct xs_handle *xsh) > #else > > typedef xc_interface *XenXC; > +typedef xc_interface *xenforeignmemory_handle; > typedef xc_evtchn xenevtchn_handle; > typedef xc_gnttab xengnttab_handle; > > @@ -178,6 +193,20 @@ static inline XenXC xen_xc_interface_open(void *logger, > void *dombuild_logger, > return xc_interface_open(logger, dombuild_logger, open_flags); > } > > +#define xenforeignmemory_open(l, f) &xen_xc > +static inline void *xenforeignmemory_map(XenXC *h, uint32_t dom, > + int prot, size_t pages, > + const xen_pfn_t arr[/*pages*/], > + int err[/*pages*/]) > +{ > + if (err) > + return xc_map_foreign_bulk(*h, dom, prot, arr, err, pages); > + else > + return xc_map_foreign_pages(*h, dom, prot, arr, pages); > +} > + > +#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE) > + > /* FIXME There is now way to have the xen fd */ > static inline int xc_fd(xc_interface *xen_xc) > { The two definitions are the same. Please introduce just one, at the bottom under the ifdef CONFIG_XEN_CTRL_INTERFACE_VERSION < 470 case. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |