[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 01/27 v10] xen/arm: vpl011: Define common ring buffer helper functions in console.h
>>> On 23.09.17 at 00:44, <sstabellini@xxxxxxxxxx> wrote: > On Fri, 22 Sep 2017, Bhupinder Thakur wrote: >> DEFINE_XEN_FLEX_RING(xencons) defines common helper functions such as >> xencons_queued() to tell the current size of the ring buffer, >> xencons_mask() to mask off the index, which are useful helper functions. >> pl011 emulation code will use these helper functions. >> >> io/console.h includes io/ring.h which defines DEFINE_XEN_FLEX_RING. >> >> In console/daemon/io.c, string.h had to be included before io/console.h >> because ring.h uses string functions. >> >> Signed-off-by: Bhupinder Thakur <bhupinder.thakur@xxxxxxxxxx> >> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> >> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> >> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > > Unfortunately this patch breaks the build on x86. The reason is that > DEFINE_XEN_FLEX_RING requires C99, and the current header checks in > xen/include/Makefile use ANSI C. > > The only two headers to use DEFINE_XEN_FLEX_RING so far are pvcalls and > 9pfs that are both explicitly marked as c99 in xen/include/Makefile, see > PUBLIC_C99_HEADERS. > > One way to solve this problem would be to mark console.h as one of the > c99 headers, but I am guessing that Jan will want to keep it ANSI C. > > In that case, we could make DEFINE_XEN_FLEX_RING ANSI C, which is ugly > but possible. It requires turning the static inline functions in ring.h > into macros. > > Otherwise, we could take DEFINE_XEN_FLEX_RING(xencons) out of > io/console.h. We could move it to a new header file, and the new header > file could be C99. > > Jan, do you have other suggestions? Moving the C99 requiring parts to a separate header is certainly a reasonable option. Another might be to frame the additions by a __STRICT_ANSI__ and/or __GNUC__ and/or __STDC_VERSION__ check (we have some examples elsewhere, but they may not be exact fits for the case here). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |