Re: [Xen-devel] [PATCH v6 3/4] Introduce the Xen 9pfs transport header

2017-03-30 Thread Stefano Stabellini
On Thu, 30 Mar 2017, Jan Beulich wrote:
> >>> On 30.03.17 at 00:18,  wrote:
> > --- a/xen/include/Makefile
> > +++ b/xen/include/Makefile
> > @@ -94,9 +94,12 @@ all: headers.chk headers99.chk headers++.chk
> >  
> >  PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard 
> > public/*.h public/*/*.h) $(public-y))
> >  
> > -PUBLIC_C99_HEADERS :=
> > +PUBLIC_C99_HEADERS := public/io/9pfs.h
> >  PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% 
> > public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
> >  
> > +public/io/9pfs.h-c99-prereq := -include string.h
> > +public/io/9pfs.h-cxx-prereq := -include cstring
> 
> For the moment (where we only have consistent prereqs) I wonder
> whether we couldn't simplify this to
> 
> public/io/9pfs.h-prereqs := string
> 
> with the C++ use site then becoming
> $(addprefix -include c,$($(i)-prereqs)) (C99 similar). In any event
> I'd like to see the -include go away from the macros here - they
> should at most list header names.

All right, but given that in the c99 case we need to add both a prefix
(-include) and a suffix (.h), I'll use foreach instead of addprefix.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v6 3/4] Introduce the Xen 9pfs transport header

2017-03-30 Thread Jan Beulich
>>> On 30.03.17 at 00:18,  wrote:
> --- a/xen/include/Makefile
> +++ b/xen/include/Makefile
> @@ -94,9 +94,12 @@ all: headers.chk headers99.chk headers++.chk
>  
>  PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard 
> public/*.h public/*/*.h) $(public-y))
>  
> -PUBLIC_C99_HEADERS :=
> +PUBLIC_C99_HEADERS := public/io/9pfs.h
>  PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% 
> public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
>  
> +public/io/9pfs.h-c99-prereq := -include string.h
> +public/io/9pfs.h-cxx-prereq := -include cstring

For the moment (where we only have consistent prereqs) I wonder
whether we couldn't simplify this to

public/io/9pfs.h-prereqs := string

with the C++ use site then becoming
$(addprefix -include c,$($(i)-prereqs)) (C99 similar). In any event
I'd like to see the -include go away from the macros here - they
should at most list header names.

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH v6 3/4] Introduce the Xen 9pfs transport header

2017-03-29 Thread Stefano Stabellini
Define the ring according to the protocol specification, using the new
DEFINE_XEN_FLEX_RING_AND_INTF macro.

Add the header to the C99 check.

Signed-off-by: Stefano Stabellini 
CC: jbeul...@suse.com
CC: konrad.w...@oracle.com
---
 xen/include/Makefile |  5 -
 xen/include/public/io/9pfs.h | 49 
 2 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 xen/include/public/io/9pfs.h

diff --git a/xen/include/Makefile b/xen/include/Makefile
index be56738..a3b3583 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -94,9 +94,12 @@ all: headers.chk headers99.chk headers++.chk
 
 PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard 
public/*.h public/*/*.h) $(public-y))
 
-PUBLIC_C99_HEADERS :=
+PUBLIC_C99_HEADERS := public/io/9pfs.h
 PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% 
public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
 
+public/io/9pfs.h-c99-prereq := -include string.h
+public/io/9pfs.h-cxx-prereq := -include cstring
+
 headers.chk: $(PUBLIC_ANSI_HEADERS) Makefile
for i in $(filter %.h,$^); do \
$(CC) -x c -ansi -Wall -Werror -include stdint.h \
diff --git a/xen/include/public/io/9pfs.h b/xen/include/public/io/9pfs.h
new file mode 100644
index 000..4bfd5d4
--- /dev/null
+++ b/xen/include/public/io/9pfs.h
@@ -0,0 +1,49 @@
+/*
+ * 9pfs.h -- Xen 9PFS transport
+ *
+ * Refer to docs/misc/9pfs.markdown for the specification
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (C) 2017 Stefano Stabellini 
+ */
+
+#ifndef __XEN_PUBLIC_IO_9PFS_H__
+#define __XEN_PUBLIC_IO_9PFS_H__
+
+#include "../grant_table.h"
+#include "ring.h"
+
+/*
+ * See docs/misc/9pfs.markdown in xen.git for the full specification:
+ * https://xenbits.xen.org/docs/unstable/misc/9pfs.html
+ */
+DEFINE_XEN_FLEX_RING_AND_INTF(xen_9pfs);
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
1.9.1


___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel