Re: [PATCH v2 01/18] xen: introduce the pvcalls interface header

From: Boris Ostrovsky
Date: Thu May 25 2017 - 18:02:33 EST


On 05/19/2017 07:22 PM, Stefano Stabellini wrote:
> Introduce the C header file which defines the PV Calls interface. It is
> imported from xen/include/public/io/pvcalls.h.
>
> Signed-off-by: Stefano Stabellini <stefano@xxxxxxxxxxx>
> CC: konrad.wilk@xxxxxxxxxx
> CC: boris.ostrovsky@xxxxxxxxxx
> CC: jgross@xxxxxxxx
> ---
> include/xen/interface/io/pvcalls.h | 120 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 120 insertions(+)
> create mode 100644 include/xen/interface/io/pvcalls.h
>
> diff --git a/include/xen/interface/io/pvcalls.h b/include/xen/interface/io/pvcalls.h
> new file mode 100644
> index 0000000..0d41959
> --- /dev/null
> +++ b/include/xen/interface/io/pvcalls.h
> @@ -0,0 +1,120 @@
> +#ifndef __XEN_PUBLIC_IO_XEN_PVCALLS_H__
> +#define __XEN_PUBLIC_IO_XEN_PVCALLS_H__
> +
> +#include <linux/net.h>
> +#include "xen/interface/io/ring.h"
> +
> +/* "1" means socket, connect, release, bind, listen, accept and poll */
> +#define XENBUS_FUNCTIONS_CALLS "1"
> +
> +/*
> + * See docs/misc/pvcalls.markdown in xen.git for the full specification:
> + * https://xenbits.xen.org/docs/unstable/misc/pvcalls.html
> + */
> +struct pvcalls_data_intf {
> + RING_IDX in_cons, in_prod, in_error;
> +
> + uint8_t pad1[52];
> +
> + RING_IDX out_cons, out_prod, out_error;
> +
> + uint8_t pad2[52];
> +
> + RING_IDX ring_order;
> + grant_ref_t ref[];

I think you should also include <xen/interface/grant_table.h>.

In fact, ring.h probably needs to do it too.

-boris