The following patches are an implementation of a new shmem device to support ivshmem in libvirt. Any feedback is welcome. Changes since RFC: - replace <ivshmem> by a more generic term <shmem> - remove role attribute - libvirt is able to start and stop an ivshmem server - update xml format from: <ivshmem use_server='yes' role='master'> <source file='/tmp/socket-ivshmem0'/> <size unit='M'>32</size> <msi vectors='32' ioeventfd='on'/> </ivshmem> to: <shmem name='shmem0' model='ivshmem'> <server path='/tmp/sockect-ivshem0' start='yes'/> <size unit='M'>32</size> <msi vectors='32' ioeventfd='on'/> </shmem> Maxime Leroy (6): doc: schema: Add documentation for the shmem support conf: Parse and format shmem device XML qemu: Add cap flag QEMU_CAPS_IVSHMEM qemu: Build command line for ivshmem device tests: Add tests for ivshmem device handling ivshmem: add start param to server attribute configure.ac | 4 + docs/formatdomain.html.in | 71 ++++++ docs/schemas/domaincommon.rng | 52 +++++ po/POTFILES.in | 1 + src/Makefile.am | 1 + src/conf/domain_conf.c | 264 ++++++++++++++++++++++- src/conf/domain_conf.h | 42 ++++ src/libvirt_private.syms | 7 + src/qemu/qemu_capabilities.c | 3 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 112 +++++++++- src/qemu/qemu_command.h | 4 + src/qemu/qemu_hotplug.c | 1 + src/qemu/qemu_process.c | 10 + src/util/virivshmemserver.c | 141 ++++++++++++ src/util/virivshmemserver.h | 28 +++ tests/qemucapabilitiesdata/caps_1.2.2-1.caps | 1 + tests/qemucapabilitiesdata/caps_1.3.1-1.caps | 1 + tests/qemucapabilitiesdata/caps_1.4.2-1.caps | 1 + tests/qemucapabilitiesdata/caps_1.5.3-1.caps | 1 + tests/qemucapabilitiesdata/caps_1.6.0-1.caps | 1 + tests/qemucapabilitiesdata/caps_1.6.50-1.caps | 1 + tests/qemuhelptest.c | 17 +- tests/qemuxml2argvdata/qemuxml2argv-ivshmem.args | 10 + tests/qemuxml2argvdata/qemuxml2argv-ivshmem.xml | 35 +++ tests/qemuxml2argvtest.c | 3 + tests/qemuxml2xmltest.c | 2 + 27 files changed, 808 insertions(+), 7 deletions(-) create mode 100644 src/util/virivshmemserver.c create mode 100644 src/util/virivshmemserver.h create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ivshmem.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ivshmem.xml -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list