Message ID | 20220505081640.17425-11-jgross@suse.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 888fd787f30dfe959fdd685c422187a428d2cf17 |
Headers | show |
Series | xen: simplify frontend side ring setup | expand |
On 05.05.22 11:16, Juergen Gross wrote: Hello Juergen > Instead of using a private macro for an invalid grant reference use > the common one. > > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > V3: > - terminate grant ref list with 0 (Oleksandr Tyshchenko) Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > --- > drivers/xen/xen-front-pgdir-shbuf.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) > > diff --git a/drivers/xen/xen-front-pgdir-shbuf.c b/drivers/xen/xen-front-pgdir-shbuf.c > index a959dee21134..b6433761d42c 100644 > --- a/drivers/xen/xen-front-pgdir-shbuf.c > +++ b/drivers/xen/xen-front-pgdir-shbuf.c > @@ -21,15 +21,6 @@ > > #include <xen/xen-front-pgdir-shbuf.h> > > -#ifndef GRANT_INVALID_REF > -/* > - * FIXME: usage of grant reference 0 as invalid grant reference: > - * grant reference 0 is valid, but never exposed to a PV driver, > - * because of the fact it is already in use/reserved by the PV console. > - */ > -#define GRANT_INVALID_REF 0 > -#endif > - > /** > * This structure represents the structure of a shared page > * that contains grant references to the pages of the shared > @@ -38,6 +29,7 @@ > */ > struct xen_page_directory { > grant_ref_t gref_dir_next_page; > +#define XEN_GREF_LIST_END 0 > grant_ref_t gref[1]; /* Variable length */ > }; > > @@ -83,7 +75,7 @@ grant_ref_t > xen_front_pgdir_shbuf_get_dir_start(struct xen_front_pgdir_shbuf *buf) > { > if (!buf->grefs) > - return GRANT_INVALID_REF; > + return INVALID_GRANT_REF; > > return buf->grefs[0]; > } > @@ -142,7 +134,7 @@ void xen_front_pgdir_shbuf_free(struct xen_front_pgdir_shbuf *buf) > int i; > > for (i = 0; i < buf->num_grefs; i++) > - if (buf->grefs[i] != GRANT_INVALID_REF) > + if (buf->grefs[i] != INVALID_GRANT_REF) > gnttab_end_foreign_access(buf->grefs[i], 0UL); > } > kfree(buf->grefs); > @@ -355,7 +347,7 @@ static void backend_fill_page_dir(struct xen_front_pgdir_shbuf *buf) > } > /* Last page must say there is no more pages. */ > page_dir = (struct xen_page_directory *)ptr; > - page_dir->gref_dir_next_page = GRANT_INVALID_REF; > + page_dir->gref_dir_next_page = XEN_GREF_LIST_END; > } > > /** > @@ -384,7 +376,7 @@ static void guest_fill_page_dir(struct xen_front_pgdir_shbuf *buf) > > if (grefs_left <= XEN_NUM_GREFS_PER_PAGE) { > to_copy = grefs_left; > - page_dir->gref_dir_next_page = GRANT_INVALID_REF; > + page_dir->gref_dir_next_page = XEN_GREF_LIST_END; > } else { > to_copy = XEN_NUM_GREFS_PER_PAGE; > page_dir->gref_dir_next_page = buf->grefs[i + 1];
diff --git a/drivers/xen/xen-front-pgdir-shbuf.c b/drivers/xen/xen-front-pgdir-shbuf.c index a959dee21134..b6433761d42c 100644 --- a/drivers/xen/xen-front-pgdir-shbuf.c +++ b/drivers/xen/xen-front-pgdir-shbuf.c @@ -21,15 +21,6 @@ #include <xen/xen-front-pgdir-shbuf.h> -#ifndef GRANT_INVALID_REF -/* - * FIXME: usage of grant reference 0 as invalid grant reference: - * grant reference 0 is valid, but never exposed to a PV driver, - * because of the fact it is already in use/reserved by the PV console. - */ -#define GRANT_INVALID_REF 0 -#endif - /** * This structure represents the structure of a shared page * that contains grant references to the pages of the shared @@ -38,6 +29,7 @@ */ struct xen_page_directory { grant_ref_t gref_dir_next_page; +#define XEN_GREF_LIST_END 0 grant_ref_t gref[1]; /* Variable length */ }; @@ -83,7 +75,7 @@ grant_ref_t xen_front_pgdir_shbuf_get_dir_start(struct xen_front_pgdir_shbuf *buf) { if (!buf->grefs) - return GRANT_INVALID_REF; + return INVALID_GRANT_REF; return buf->grefs[0]; } @@ -142,7 +134,7 @@ void xen_front_pgdir_shbuf_free(struct xen_front_pgdir_shbuf *buf) int i; for (i = 0; i < buf->num_grefs; i++) - if (buf->grefs[i] != GRANT_INVALID_REF) + if (buf->grefs[i] != INVALID_GRANT_REF) gnttab_end_foreign_access(buf->grefs[i], 0UL); } kfree(buf->grefs); @@ -355,7 +347,7 @@ static void backend_fill_page_dir(struct xen_front_pgdir_shbuf *buf) } /* Last page must say there is no more pages. */ page_dir = (struct xen_page_directory *)ptr; - page_dir->gref_dir_next_page = GRANT_INVALID_REF; + page_dir->gref_dir_next_page = XEN_GREF_LIST_END; } /** @@ -384,7 +376,7 @@ static void guest_fill_page_dir(struct xen_front_pgdir_shbuf *buf) if (grefs_left <= XEN_NUM_GREFS_PER_PAGE) { to_copy = grefs_left; - page_dir->gref_dir_next_page = GRANT_INVALID_REF; + page_dir->gref_dir_next_page = XEN_GREF_LIST_END; } else { to_copy = XEN_NUM_GREFS_PER_PAGE; page_dir->gref_dir_next_page = buf->grefs[i + 1];
Instead of using a private macro for an invalid grant reference use the common one. Signed-off-by: Juergen Gross <jgross@suse.com> --- V3: - terminate grant ref list with 0 (Oleksandr Tyshchenko) --- drivers/xen/xen-front-pgdir-shbuf.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-)