v1 - v2:
* Change attribute "model" to be a sub-element instead.
NOTE:
Since the invshmem server socket path is not created by
QEMU, but by an external app called "ivshmem_server", It's
not good to construct the socket path in libvirt with a solid
rule, and force the user to figure out what the path is
libvirt uses first and use that for "ivshmem_server". Thus it's
the user's business to set the selinux context on the socket
path so that the qemu process could be started successfully
when selinux is enabled.
Shawn Furrow proposed a patch more than a month ago:
https://www.redhat.com/archives/libvir-list/2012-September/msg01612.html
But this is a complete different implementation. Considering
there could be other memory related devices in futuer, this
introduces a new device model, called "memory device", instead
of a specific device like "ivshmem", though only "ivshmem"
is supported currently. Please refer to PATCH 1/4 for more
details.
CC'ed to Cam and Shawn, to see if there is advise on the documents.
Osier Yang (4):
docs: Add documents for memory device
conf: Parse and format memory device XML
qemu: Add cap flag QEMU_CAPS_IVSHMEM
qemu: Build command line for ivshmem device
docs/formatdomain.html.in | 40 +++++
docs/schemas/domaincommon.rng | 40 +++++
src/conf/domain_conf.c | 195 +++++++++++++++++++++-
src/conf/domain_conf.h | 27 +++
src/libvirt_private.syms | 3 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 85 ++++++++++
src/util/util.c | 5 +
src/util/util.h | 2 +
tests/qemuhelptest.c | 12 +-
tests/qemuxml2argvdata/qemuxml2argv-ivshmem.args | 7 +
tests/qemuxml2argvdata/qemuxml2argv-ivshmem.xml | 34 ++++
tests/qemuxml2argvtest.c | 2 +
14 files changed, 450 insertions(+), 5 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ivshmem.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ivshmem.xml
--
1.7.7.6