[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
Hi Jan, Yes, after including the __STRICT_ANSI__ check the headers.chk check passes. But I had to include string header file (after suggestion from Stefano) for fixing the headers++.chk. I have pasted the changes below: diff --git a/xen/include/Makefile b/xen/include/Makefile index 1299b19..c90fdee 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -98,6 +98,7 @@ PUBLIC_C99_HEADERS := public/io/9pfs.h public/io/pvcalls.h PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS)) public/io/9pfs.h-prereq := string +public/io/console.h-prereq := string public/io/pvcalls.h-prereq := string headers.chk: $(PUBLIC_ANSI_HEADERS) Makefile diff --git a/xen/include/public/io/console.h b/xen/include/public/io/console.h index 5e45e1c..0f0711f 100644 --- a/xen/include/public/io/console.h +++ b/xen/include/public/io/console.h @@ -40,7 +40,9 @@ struct xencons_interface { XENCONS_RING_IDX out_cons, out_prod; }; +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) DEFINE_XEN_FLEX_RING(xencons); +#endif #endif /* __XEN_PUBLIC_IO_CONSOLE_H__ */ Regards, Bhupinder On 25 September 2017 at 08:49, Jan Beulich <JBeulich@xxxxxxxx> wrote: >>>> 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 |