[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/5] libxc: minios: Introduce abstraction for files[]
Wei Liu, le Thu 26 Feb 2015 11:56:20 +0000, a écrit : > From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > > We are going to want to reuse this code for NetBSD rump kernels, where > there is no gntmap device and we just want to call the MiniOS gntmap > code directly. > > As part of this we want to abstract away the use of files[] inside the > actual functions. Do this with a #define whose definition we are > going to make conditional in just a moment. > > No functional change in this patch. > > Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> > --- > tools/libxc/xc_minios_privcmd.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/tools/libxc/xc_minios_privcmd.c b/tools/libxc/xc_minios_privcmd.c > index 7766b86..27d9076 100644 > --- a/tools/libxc/xc_minios_privcmd.c > +++ b/tools/libxc/xc_minios_privcmd.c > @@ -208,12 +208,14 @@ struct xc_osdep_ops xc_privcmd_ops = { > }, > }; > > +#define GNTMAP(h) (files[(int)(h)].gntmap) > + > static xc_osdep_handle minios_gnttab_open(xc_gnttab *xcg) > { > int fd = alloc_fd(FTYPE_GNTMAP); > if ( fd == -1 ) > return XC_OSDEP_OPEN_ERROR; > - gntmap_init(&files[fd].gntmap); > + gntmap_init(&GNTMAP(h)); > return (xc_osdep_handle)fd; > } > > @@ -225,7 +227,7 @@ static int minios_gnttab_close(xc_gnttab *xcg, > xc_osdep_handle h) > > void minios_gnttab_close_fd(int fd) > { > - gntmap_fini(&files[fd].gntmap); > + gntmap_fini(&GNTMAP(h)); > files[fd].type = FTYPE_NONE; > } > > @@ -235,7 +237,6 @@ static void *minios_gnttab_grant_map(xc_gnttab *xcg, > xc_osdep_handle h, > uint32_t notify_offset, > evtchn_port_t notify_port) > { > - int fd = (int)h; > int stride = 1; > if (flags & XC_GRANT_MAP_SINGLE_DOMAIN) > stride = 0; > @@ -243,7 +244,7 @@ static void *minios_gnttab_grant_map(xc_gnttab *xcg, > xc_osdep_handle h, > errno = ENOSYS; > return NULL; > } > - return gntmap_map_grant_refs(&files[fd].gntmap, > + return gntmap_map_grant_refs(&GNTMAP(h), > count, domids, stride, > refs, prot & PROT_WRITE); > } > @@ -252,9 +253,8 @@ static int minios_gnttab_munmap(xc_gnttab *xcg, > xc_osdep_handle h, > void *start_address, > uint32_t count) > { > - int fd = (int)h; > int ret; > - ret = gntmap_munmap(&files[fd].gntmap, > + ret = gntmap_munmap(&GNTMAP(h), > (unsigned long) start_address, > count); > if (ret < 0) { > @@ -267,9 +267,8 @@ static int minios_gnttab_munmap(xc_gnttab *xcg, > xc_osdep_handle h, > static int minios_gnttab_set_max_grants(xc_gnttab *xcg, xc_osdep_handle h, > uint32_t count) > { > - int fd = (int)h; > int ret; > - ret = gntmap_set_max_grants(&files[fd].gntmap, > + ret = gntmap_set_max_grants(&GNTMAP(h), > count); > if (ret < 0) { > errno = -ret; > -- > 1.9.1 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel > -- Samuel I am the "ILOVEGNU" signature virus. Just copy me to your signature. This email was infected under the terms of the GNU General Public License. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |