linux/net/9p/trans_xen.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * linux/fs/9p/trans_xen
 *
 * Xen transport layer.
 *
 * Copyright (C) 2017 by Stefano Stabellini <[email protected]>
 */

#include <xen/events.h>
#include <xen/grant_table.h>
#include <xen/xen.h>
#include <xen/xenbus.h>
#include <xen/interface/io/9pfs.h>

#include <linux/module.h>
#include <linux/spinlock.h>
#include <net/9p/9p.h>
#include <net/9p/client.h>
#include <net/9p/transport.h>

#define XEN_9PFS_NUM_RINGS
#define XEN_9PFS_RING_ORDER
#define XEN_9PFS_RING_SIZE(ring)

struct xen_9pfs_header {} __attribute__((packed));

/* One per ring, more than one per 9pfs share */
struct xen_9pfs_dataring {};

/* One per 9pfs share */
struct xen_9pfs_front_priv {};

static LIST_HEAD(xen_9pfs_devs);
static DEFINE_RWLOCK(xen_9pfs_lock);

/* We don't currently allow canceling of requests */
static int p9_xen_cancel(struct p9_client *client, struct p9_req_t *req)
{}

static int p9_xen_create(struct p9_client *client, const char *addr, char *args)
{}

static void p9_xen_close(struct p9_client *client)
{}

static bool p9_xen_write_todo(struct xen_9pfs_dataring *ring, RING_IDX size)
{}

static int p9_xen_request(struct p9_client *client, struct p9_req_t *p9_req)
{}

static void p9_xen_response(struct work_struct *work)
{}

static irqreturn_t xen_9pfs_front_event_handler(int irq, void *r)
{}

static struct p9_trans_module p9_xen_trans =;

static const struct xenbus_device_id xen_9pfs_front_ids[] =;

static void xen_9pfs_front_free(struct xen_9pfs_front_priv *priv)
{}

static void xen_9pfs_front_remove(struct xenbus_device *dev)
{}

static int xen_9pfs_front_alloc_dataring(struct xenbus_device *dev,
					 struct xen_9pfs_dataring *ring,
					 unsigned int order)
{}

static int xen_9pfs_front_init(struct xenbus_device *dev)
{}

static int xen_9pfs_front_probe(struct xenbus_device *dev,
				const struct xenbus_device_id *id)
{}

static int xen_9pfs_front_resume(struct xenbus_device *dev)
{}

static void xen_9pfs_front_changed(struct xenbus_device *dev,
				   enum xenbus_state backend_state)
{}

static struct xenbus_driver xen_9pfs_front_driver =;

static int __init p9_trans_xen_init(void)
{}
module_init();
MODULE_ALIAS_9P();

static void __exit p9_trans_xen_exit(void)
{}
module_exit(p9_trans_xen_exit);

MODULE_ALIAS();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();