[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review)
From: |
marcandre . lureau |
Subject: |
[Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review) |
Date: |
Tue, 15 Sep 2015 18:07:17 +0200 |
From: Marc-André Lureau <address@hidden>
Hi,
This series is mostly about adding the client/server code from David
Marchand, code cleanups, and little improvements and fixes for
ivshmem. Finally there is some ivshmem tests (they work fine without
kvm btw).
The first two series didn't get much feedback, and the third series is
mostly untouched. The code is not complicated (hopefully), please
review, thanks!! :)
Git: https://github.com/elmarco/qemu.git ivshmem branch
v2->v3:
- add old migration fallback code
- split a few patches
- improve some commit messages
- drop a commit checking eventfd read value
v1->v2:
- add support for hugepage shm (suggested by Andrew Jones)
- add irqfd for msix notification
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 (43):
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: limit maximum number of peers to G_MAXUINT16
ivshmem: simplify around increase_dynamic_storage()
ivshmem: allocate eventfds in resize_peers()
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: simplify 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: fix hugetlbfs support
contrib: remove unnecessary strdup()
msix: implement pba write (but read-only)
qtest: add qtest_add_abrt_handler()
tests: add ivshmem qtest
ivshmem: do not keep shm_fd open
ivshmem: make ivshmem_get_size() more generic
ivshmem: add hostmem backend
ivshmem: remove EventfdEntry.vector
ivshmem: rename MSI eventfd_table
ivshmem: use kvm irqfd for msi notifications
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 | 478 +++++++++++++++++++
contrib/ivshmem-server/ivshmem-server.h | 166 +++++++
contrib/ivshmem-server/main.c | 263 +++++++++++
docs/specs/ivshmem_device_spec.txt | 127 +++--
hw/misc/ivshmem.c | 801 ++++++++++++++++++++++----------
hw/pci/msix.c | 6 +
include/hw/misc/ivshmem.h | 25 +
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 | 486 +++++++++++++++++++
tests/libqtest.c | 37 +-
tests/libqtest.h | 2 +
20 files changed, 3050 insertions(+), 296 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 include/hw/misc/ivshmem.h
create mode 100644 tests/ivshmem-test.c
--
2.4.3
- [Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review),
marcandre . lureau <=
- [Qemu-devel] [PATCH v3 01/46] char: add qemu_chr_free(), marcandre . lureau, 2015/09/15
- [Qemu-devel] [PATCH v3 02/46] msix: add VMSTATE_MSIX_TEST, marcandre . lureau, 2015/09/15
- [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), marcandre . lureau, 2015/09/15
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Claudio Fontana, 2015/09/16
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Marc-André Lureau, 2015/09/16
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Claudio Fontana, 2015/09/16
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Marc-André Lureau, 2015/09/16
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Paolo Bonzini, 2015/09/16
- Re: [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long), Claudio Fontana, 2015/09/16
[Qemu-devel] [PATCH v3 04/46] ivshmem: fix number of bytes to push to fifo, marcandre . lureau, 2015/09/15