diff options
author | Stefano Stabellini <sstabellini@kernel.org> | 2017-07-05 13:08:39 -0700 |
---|---|---|
committer | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2017-08-31 09:45:55 -0400 |
commit | 72e59c30df449bc7fe601716e60c824b4ffe606d (patch) | |
tree | d5b6eb4610cb88e66a8fb556234c94141bf2ddf8 /drivers/xen/pvcalls-back.c | |
parent | 75e3ea5ba7d7a6c171c62c710990f2a5fb07e19a (diff) |
xen/pvcalls: introduce the pvcalls xenbus backend
Introduce a xenbus backend for the pvcalls protocol, as defined by
https://xenbits.xen.org/docs/unstable/misc/pvcalls.html.
This patch only adds the stubs, the code will be added by the following
patches.
Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'drivers/xen/pvcalls-back.c')
-rw-r--r-- | drivers/xen/pvcalls-back.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c new file mode 100644 index 000000000000..f3d0daad3da6 --- /dev/null +++ b/drivers/xen/pvcalls-back.c @@ -0,0 +1,61 @@ +/* + * (c) 2017 Stefano Stabellini <stefano@aporeto.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <linux/kthread.h> +#include <linux/list.h> +#include <linux/radix-tree.h> +#include <linux/module.h> +#include <linux/semaphore.h> +#include <linux/wait.h> + +#include <xen/events.h> +#include <xen/grant_table.h> +#include <xen/xen.h> +#include <xen/xenbus.h> +#include <xen/interface/io/pvcalls.h> + +static int pvcalls_back_probe(struct xenbus_device *dev, + const struct xenbus_device_id *id) +{ + return 0; +} + +static void pvcalls_back_changed(struct xenbus_device *dev, + enum xenbus_state frontend_state) +{ +} + +static int pvcalls_back_remove(struct xenbus_device *dev) +{ + return 0; +} + +static int pvcalls_back_uevent(struct xenbus_device *xdev, + struct kobj_uevent_env *env) +{ + return 0; +} + +static const struct xenbus_device_id pvcalls_back_ids[] = { + { "pvcalls" }, + { "" } +}; + +static struct xenbus_driver pvcalls_back_driver = { + .ids = pvcalls_back_ids, + .probe = pvcalls_back_probe, + .remove = pvcalls_back_remove, + .uevent = pvcalls_back_uevent, + .otherend_changed = pvcalls_back_changed, +}; |