|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 01/27 v11] xen/arm: vpl011: Define common ring buffer helper functions in console.h
On Wed, 27 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>
With the changes you should have probably removed my old reviewed-by.
But that's OK:
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
If it's OK for everybody, I'll go ahead and commit the series on Monday.
Jan, shout if you disagree on something.
Cheers,
Stefano
> ---
> CC: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Julien Grall <julien.grall@xxxxxxx>
>
> Changes since v10:
> - Fix for the headers.chk/headers++.chk compilation failures when code is
> compiled natively.
> 1) Inclusion of DEFINE_XEN_FLEX_RING in console.h had to be put under
> !defined(__STRICT_ANSI__) check as console.h is __STRICT_ANSI__
> currently since it is part of headers.chk.
> 2) Also string header file had to be added as a pre-req for
> headers++.chk to pass
> the compilation because c++ does not define __STRICT_ANSI__ and thus
> expands DEFINE_XEN_FLEX_RING, which looks for memcpy(), size_t
> declarations.
> To satify that requirement string header file had to be added a
> pre-req
> for header++.chk.
>
> Changes since v4:
> - Split this change in a separate patch.
>
> tools/console/daemon/io.c | 2 +-
> xen/include/public/io/console.h | 4 ++++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> tools/console/daemon/io.c | 2 +-
> xen/include/Makefile | 1 +
> xen/include/public/io/console.h | 6 ++++++
> 3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
> index 7e474bb..e8033d2 100644
> --- a/tools/console/daemon/io.c
> +++ b/tools/console/daemon/io.c
> @@ -21,6 +21,7 @@
>
> #include "utils.h"
> #include "io.h"
> +#include <string.h>
> #include <xenevtchn.h>
> #include <xengnttab.h>
> #include <xenstore.h>
> @@ -29,7 +30,6 @@
>
> #include <stdlib.h>
> #include <errno.h>
> -#include <string.h>
> #include <poll.h>
> #include <fcntl.h>
> #include <unistd.h>
> 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 e2cd97f..0f0711f 100644
> --- a/xen/include/public/io/console.h
> +++ b/xen/include/public/io/console.h
> @@ -27,6 +27,8 @@
> #ifndef __XEN_PUBLIC_IO_CONSOLE_H__
> #define __XEN_PUBLIC_IO_CONSOLE_H__
>
> +#include "ring.h"
> +
> typedef uint32_t XENCONS_RING_IDX;
>
> #define MASK_XENCONS_IDX(idx, ring) ((idx) & (sizeof(ring)-1))
> @@ -38,6 +40,10 @@ 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__ */
>
> /*
> --
> 2.7.4
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |