All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org, groug@kaod.org,
	Stefano Stabellini <stefano@aporeto.com>,
	anthony.perard@citrix.com, jgross@suse.com,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PATCH v4 3/8] xen/9pfs: introduce Xen 9pfs backend
Date: Mon, 20 Mar 2017 11:19:07 -0700	[thread overview]
Message-ID: <1490033952-26735-3-git-send-email-sstabellini@kernel.org> (raw)
In-Reply-To: <1490033952-26735-1-git-send-email-sstabellini@kernel.org>

Introduce the Xen 9pfs backend: add struct XenDevOps to register as a
Xen backend and add struct V9fsTransport to register as v9fs transport.

All functions are empty stubs for now.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
CC: anthony.perard@citrix.com
CC: jgross@suse.com
CC: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
CC: Greg Kurz <groug@kaod.org>
---
 hw/9pfs/xen-9p-backend.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)
 create mode 100644 hw/9pfs/xen-9p-backend.c

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
new file mode 100644
index 0000000..960e690
--- /dev/null
+++ b/hw/9pfs/xen-9p-backend.c
@@ -0,0 +1,100 @@
+/*
+ * Xen 9p backend
+ *
+ * Copyright Aporeto 2017
+ *
+ * Authors:
+ *  Stefano Stabellini <stefano@aporeto.com>
+ *
+ */
+
+#include "qemu/osdep.h"
+
+#include "hw/hw.h"
+#include "hw/9pfs/9p.h"
+#include "hw/xen/xen_backend.h"
+#include "hw/xen/io/ring.h"
+#include "qemu/config-file.h"
+#include "fsdev/qemu-fsdev.h"
+#include <xen/io/protocols.h>
+
+#define PAGE_SHIFT XC_PAGE_SHIFT
+DEFINE_XEN_FLEX_RING_AND_INTF(xen_9pfs);
+
+typedef struct Xen9pfsDev {
+    struct XenDevice xendev;  /* must be first */
+} Xen9pfsDev;
+
+static ssize_t xen_9pfs_pdu_vmarshal(V9fsPDU *pdu,
+                                     size_t offset,
+                                     const char *fmt,
+                                     va_list ap)
+{
+    return 0;
+}
+
+static ssize_t xen_9pfs_pdu_vunmarshal(V9fsPDU *pdu,
+                                       size_t offset,
+                                       const char *fmt,
+                                       va_list ap)
+{
+    return 0;
+}
+
+static void xen_9pfs_init_out_iov_from_pdu(V9fsPDU *pdu,
+                                           struct iovec **piov,
+                                           unsigned int *pniov)
+{
+}
+
+static void xen_9pfs_init_in_iov_from_pdu(V9fsPDU *pdu,
+                                          struct iovec **piov,
+                                          unsigned int *pniov,
+                                          size_t size)
+{
+}
+
+static void xen_9pfs_push_and_notify(V9fsPDU *pdu)
+{
+}
+
+static const struct V9fsTransport xen_9p_transport = {
+    .pdu_vmarshal = xen_9pfs_pdu_vmarshal,
+    .pdu_vunmarshal = xen_9pfs_pdu_vunmarshal,
+    .init_in_iov_from_pdu = xen_9pfs_init_in_iov_from_pdu,
+    .init_out_iov_from_pdu = xen_9pfs_init_out_iov_from_pdu,
+    .push_and_notify = xen_9pfs_push_and_notify,
+};
+
+static int xen_9pfs_init(struct XenDevice *xendev)
+{
+    return 0;
+}
+
+static int xen_9pfs_free(struct XenDevice *xendev)
+{
+    return -1;
+}
+
+static int xen_9pfs_connect(struct XenDevice *xendev)
+{
+    return 0;
+}
+
+static void xen_9pfs_alloc(struct XenDevice *xendev)
+{
+}
+
+static void xen_9pfs_disconnect(struct XenDevice *xendev)
+{
+}
+
+struct XenDevOps xen_9pfs_ops = {
+    .size       = sizeof(Xen9pfsDev),
+    .flags      = DEVOPS_FLAG_NEED_GNTDEV,
+    .alloc      = xen_9pfs_alloc,
+    .init       = xen_9pfs_init,
+    .initialise = xen_9pfs_connect,
+    .disconnect = xen_9pfs_disconnect,
+    .free       = xen_9pfs_free,
+};
-- 
1.9.1

  parent reply	other threads:[~2017-03-20 18:19 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-20 18:18 [Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend Stefano Stabellini
2017-03-20 18:18 ` Stefano Stabellini
2017-03-20 18:19 ` [Qemu-devel] [PATCH v4 1/8] xen: import ring.h from xen Stefano Stabellini
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 2/8] 9p: introduce a type for the 9p header Stefano Stabellini
2017-03-20 18:19   ` Stefano Stabellini [this message]
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 4/8] xen/9pfs: connect to the frontend Stefano Stabellini
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 5/8] xen/9pfs: receive requests from " Stefano Stabellini
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 6/8] xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal Stefano Stabellini
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 7/8] xen/9pfs: send responses back to the frontend Stefano Stabellini
2017-03-20 18:19   ` [Qemu-devel] [PATCH v4 8/8] xen/9pfs: build and register Xen 9pfs backend Stefano Stabellini
2017-03-23 13:00   ` [Qemu-devel] [PATCH v4 1/8] xen: import ring.h from xen Greg Kurz
2017-03-23 13:55     ` Juergen Gross
2017-03-23 14:19       ` Paolo Bonzini
2017-03-23 15:05         ` Greg Kurz
2017-03-23 18:22         ` Stefano Stabellini
2017-03-24  6:02           ` Juergen Gross
2017-03-24  6:02             ` Juergen Gross
2017-03-24 17:37             ` [Qemu-devel] " Stefano Stabellini
2017-03-24 17:37               ` Stefano Stabellini
2017-03-27 12:41               ` [Qemu-devel] " Juergen Gross
2017-03-27 12:41                 ` Juergen Gross
2017-03-27 22:48                 ` [Qemu-devel] " Stefano Stabellini
2017-03-27 22:48                   ` Stefano Stabellini
2017-03-28  6:02                   ` [Qemu-devel] " Juergen Gross
2017-03-28  6:02                     ` Juergen Gross
2017-03-28 23:54                     ` [Qemu-devel] " Stefano Stabellini
2017-03-28 23:54                       ` Stefano Stabellini
2017-03-29  5:46                       ` [Qemu-devel] " Juergen Gross
2017-03-29  5:46                         ` Juergen Gross
2017-03-29  8:06                       ` [Qemu-devel] " Paolo Bonzini
2017-03-29  8:06                         ` Paolo Bonzini
2017-03-29 18:42                         ` [Qemu-devel] " Stefano Stabellini
2017-03-29 18:42                           ` Stefano Stabellini
2017-03-23 15:02       ` [Qemu-devel] " Greg Kurz
2017-03-21 10:20 ` [Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend Greg Kurz
2017-03-21 10:20   ` Greg Kurz
2017-03-21 20:14   ` [Qemu-devel] " Stefano Stabellini
2017-03-21 20:14     ` Stefano Stabellini
2017-03-22  8:47     ` Greg Kurz
2017-03-22  8:47       ` Greg Kurz
2017-03-22 18:32       ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2017-03-22 18:32         ` [Qemu-devel] " Stefano Stabellini
2017-03-23  8:34         ` [Qemu-devel] [Xen-devel] " Greg Kurz
2017-03-23  8:34           ` [Qemu-devel] " Greg Kurz
2017-03-23 16:49           ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2017-03-23 16:49             ` [Qemu-devel] " Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1490033952-26735-3-git-send-email-sstabellini@kernel.org \
    --to=sstabellini@kernel.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=anthony.perard@citrix.com \
    --cc=groug@kaod.org \
    --cc=jgross@suse.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano@aporeto.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.