diff options
| author | Juergen Gross <jgross@suse.com> | 2016-05-12 16:13:40 +0200 |
|---|---|---|
| committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-05-23 13:30:03 +0200 |
| commit | 637c53ffcb891ce8876183e6b593b8f0c3763ab1 (patch) | |
| tree | f6ce354ed7bdfe20bbcdd0b9d76ca95dbae81cc1 /include/hw/xen/xen_backend.h | |
| parent | 9432e53a5bc88681b2d3aec4dac9db07c5476d1b (diff) | |
| download | focaccia-qemu-637c53ffcb891ce8876183e6b593b8f0c3763ab1.tar.gz focaccia-qemu-637c53ffcb891ce8876183e6b593b8f0c3763ab1.zip | |
xen: write information about supported backends
Add a Xenstore directory for each supported pv backend. This will allow Xen tools to decide which backend type to use in case there are multiple possibilities. The information is added under /local/domain/<backend-domid>/device-model/<domid>/backends before the "running" state is written to Xenstore. Using a directory for each backend enables us to add parameters for specific backends in the future. This interface is documented in the Xen source repository in the file docs/misc/qemu-backends.txt In order to reuse the Xenstore directory creation already present in hw/xen/xen_devconfig.c move the related functions to hw/xen/xen_backend.c where they fit better. Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Anthony PERARD <anthony.perard@citrix.com> Reviewed-by: Wei Liu <wei.liu2@citrix.com> Message-id: 1463062421-613-3-git-send-email-jgross@suse.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'include/hw/xen/xen_backend.h')
| -rw-r--r-- | include/hw/xen/xen_backend.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/xen/xen_backend.h b/include/hw/xen/xen_backend.h index b4b4ff0af2..63364f71d0 100644 --- a/include/hw/xen/xen_backend.h +++ b/include/hw/xen/xen_backend.h @@ -28,6 +28,7 @@ struct XenDevOps { int (*free)(struct XenDevice *xendev); void (*backend_changed)(struct XenDevice *xendev, const char *node); void (*frontend_changed)(struct XenDevice *xendev, const char *node); + int (*backend_register)(void); }; struct XenDevice { @@ -63,6 +64,7 @@ extern const char *xen_protocol; extern DeviceState *xen_sysdev; /* xenstore helper functions */ +int xenstore_mkdir(char *path, int p); int xenstore_write_str(const char *base, const char *node, const char *val); int xenstore_write_int(const char *base, const char *node, int ival); int xenstore_write_int64(const char *base, const char *node, int64_t ival); |