[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 12/15] xen/arm: move arch specific grant table bits into grant_table.c
On 20/09/17 16:34, Julien Grall wrote: > Hi Juergen, > > On 20/09/17 07:34, Juergen Gross wrote: >> diff --git a/xen/include/asm-arm/grant_table.h >> b/xen/include/asm-arm/grant_table.h >> index 0a248a765a..0870b5b782 100644 >> --- a/xen/include/asm-arm/grant_table.h >> +++ b/xen/include/asm-arm/grant_table.h >> @@ -6,6 +6,10 @@ >> #define INITIAL_NR_GRANT_FRAMES 4 >> +struct grant_table_arch { >> + gfn_t *gfn; >> +}; >> + >> void gnttab_clear_flag(unsigned long nr, uint16_t *addr); >> int create_grant_host_mapping(unsigned long gpaddr, >> unsigned long mfn, unsigned int flags, unsigned int >> @@ -22,11 +26,19 @@ static inline int replace_grant_supported(void) >> return 1; >> } >> -static inline void gnttab_set_frame_gfn(struct domain *d, unsigned >> long idx, >> - gfn_t gfn) >> -{ >> - d->arch.grant_table_gfn[idx] = gfn; >> -} > +#define gnttab_init_arch(gt) > \ >> + ( ((gt)->arch.gfn = xzalloc_array(gfn_t, max_grant_frames)) == >> 0 \ > > I am not sure to understand the 0 here. Don't you check the return of > xzalloc_array? If so it should be NULL if it failed. And therefore the > return error looks inverted below. Indeed. > >> + ? 0 : -ENOMEM ) > > I admit I would much prefer to see static inline rather than define. > More typesafe and usually easier to read. You cannot do that because the > type of gt is only defined in grant-table? Right. > Nonetheless, I think you could clarify this code by doing: > > ({ > (gt)->arch.gfn = xzalloc_array(....); > ( g->arch.gfn ? 0 : -ENOMEM ); > )} Yes, this is better. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |