Hi, This series is mostly about the pending patches from David Marchand adding the client/server code, cleanups, and finally adding some tests.
David Marchand (3): contrib: add ivshmem client and server docs: update ivshmem device spec ivshmem: add check on protocol version in QEMU Marc-André Lureau (36): char: add qemu_chr_free() msix: add VMSTATE_MSIX_TEST ivhsmem: read do not accept more than sizeof(long) ivshmem: fix number of bytes to push to fifo ivshmem: factor out the incoming fifo handling ivshmem: remove unnecessary dup() ivshmem: remove superflous ivshmem_attr field ivshmem: remove useless doorbell field ivshmem: more qdev conversion ivshmem: remove last exit(1) ivshmem: increase_dynamic_storage() improvements ivshmem: remove useless ivshmem_update_irq() val argument ivshmem: initialize max_peer to -1 ivshmem: remove max_peer field ivshmem: improve debug messages ivshmem: improve error ivshmem: print error on invalid peer id ivshmem: add a warning if eventfd value is 0 ivshmem: beautify a bit the code ivshmem: use common return ivshmem: use common is_power_of_2() ivshmem: migrate with VMStateDescription ivshmem: shmfd can be 0 ivshmem: check shm isn't already initialized ivshmem: add device description ivshmem: fix pci_ivshmem_exit() ivshmem: replace 'guest' for 'peer' appropriately ivshmem: error on too many eventfd received ivshmem: reset mask on device reset ivshmem-client: check the number of vectors ivshmem-server: use a uint16 for client ID ivshmem-server: include necessary headers contrib: remove unnecessary strdup() msix: implement read-only pba write qtest: add qtest_add_abrt_handler() tests: Add ivshmem qtest Makefile | 8 + configure | 3 + contrib/ivshmem-client/ivshmem-client.c | 444 ++++++++++++++++++++++++++ contrib/ivshmem-client/ivshmem-client.h | 213 +++++++++++++ contrib/ivshmem-client/main.c | 239 ++++++++++++++ contrib/ivshmem-server/ivshmem-server.c | 440 ++++++++++++++++++++++++++ contrib/ivshmem-server/ivshmem-server.h | 167 ++++++++++ contrib/ivshmem-server/main.c | 264 ++++++++++++++++ docs/specs/ivshmem_device_spec.txt | 127 ++++++-- hw/misc/ivshmem.c | 543 ++++++++++++++++++-------------- hw/pci/msix.c | 6 + include/hw/pci/msix.h | 16 +- include/sysemu/char.h | 10 +- qemu-char.c | 9 +- qemu-doc.texi | 10 +- tests/Makefile | 3 + tests/ivshmem-test.c | 475 ++++++++++++++++++++++++++++ tests/libqtest.c | 37 ++- tests/libqtest.h | 2 + 19 files changed, 2730 insertions(+), 286 deletions(-) create mode 100644 contrib/ivshmem-client/ivshmem-client.c create mode 100644 contrib/ivshmem-client/ivshmem-client.h create mode 100644 contrib/ivshmem-client/main.c create mode 100644 contrib/ivshmem-server/ivshmem-server.c create mode 100644 contrib/ivshmem-server/ivshmem-server.h create mode 100644 contrib/ivshmem-server/main.c create mode 100644 tests/ivshmem-test.c -- 2.4.3