docs: add misc/qemu-backends.txt
authorJuergen Gross <jgross@suse.com>
Mon, 11 Apr 2016 13:04:09 +0000 (15:04 +0200)
committerWei Liu <wei.liu2@citrix.com>
Wed, 20 Apr 2016 17:59:11 +0000 (18:59 +0100)
Document the interface between qemu and libxl regarding backends
supported by qemu.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
docs/misc/qemu-backends.txt [new file with mode: 0644]

diff --git a/docs/misc/qemu-backends.txt b/docs/misc/qemu-backends.txt
new file mode 100644 (file)
index 0000000..b8e1799
--- /dev/null
@@ -0,0 +1,21 @@
+In order to know whether qemu supports a specific backend type libxl
+needs a way to obtain this information.
+
+As each qemu instance owns a path (named $QEMU from now on) in
+Xenstore, the backend information is presented there. $QEMU is built
+from the domain id where the qemu instance is running $BACKEND_DOM,
+and the domain id of the target domain of the qemu process $DOMID:
+
+$QEMU = /local/domain/$BACKEND_DOM/device-model/$DOMID
+
+Before signalling qemu is running by writing "running" to $QEMU/state
+qemu will create a Xenstore node for each supported backend under
+$QEMU/backends with the backend type as name (e.g.  $QEMU/backends/qdisk
+for the qdisk backend). In case qemu is running de-privileged (not as
+user root) the backend nodes must be written before qemu is dropping
+privileges.
+
+libxl can assume a backend of a specific type $TYPE is supported if:
+- $QEMU/backends/$TYPE is existing in Xenstore
+- or $QEMU/backends is not existing and $TYPE is one of:
+  "console", "vkbd", "vfb", "qdisk", "qnic"