qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/47] ivshmem improvements
@ 2015-09-24 11:37 marcandre.lureau
  2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 01/47] char: add qemu_chr_free() marcandre.lureau
                   ` (46 more replies)
  0 siblings, 47 replies; 94+ messages in thread
From: marcandre.lureau @ 2015-09-24 11:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: drjones, claudio.fontana, stefanha, Marc-André Lureau,
	pbonzini, cam

From: Marc-André Lureau <marcandre.lureau@redhat.com>

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).

Git: https://github.com/elmarco/qemu.git ivshmem branch

v3->v4:
- remove an extra ;
- improve msix debug message
- improve some commit summary
- improve some code comment
- add a message to server to inform hugepages or shm usage
- replace function macros in test with regular functions
- replace parse_mem_size() patch with strtosz()
- add a patch to change the protocol to i64 le

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 (44):
  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 handling
  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: use strtosz()
  ivshmem: add hostmem backend
  ivshmem: remove EventfdEntry.vector
  ivshmem: rename MSI eventfd_table
  ivshmem: use kvm irqfd for msi notifications
  ivshmem: use little-endian int64_t for the protocol

 Makefile                                |   8 +
 configure                               |   3 +
 contrib/ivshmem-client/ivshmem-client.c | 445 +++++++++++++++++
 contrib/ivshmem-client/ivshmem-client.h | 213 ++++++++
 contrib/ivshmem-client/main.c           | 239 +++++++++
 contrib/ivshmem-server/ivshmem-server.c | 480 ++++++++++++++++++
 contrib/ivshmem-server/ivshmem-server.h | 166 +++++++
 contrib/ivshmem-server/main.c           | 263 ++++++++++
 docs/specs/ivshmem_device_spec.txt      | 127 +++--
 hw/misc/ivshmem.c                       | 827 ++++++++++++++++++++++----------
 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                    | 493 +++++++++++++++++++
 tests/libqtest.c                        |  37 +-
 tests/libqtest.h                        |   2 +
 20 files changed, 3066 insertions(+), 316 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

^ permalink raw reply	[flat|nested] 94+ messages in thread

end of thread, other threads:[~2015-10-02 13:48 UTC | newest]

Thread overview: 94+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-24 11:37 [Qemu-devel] [PATCH v4 00/47] ivshmem improvements marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 01/47] char: add qemu_chr_free() marcandre.lureau
2015-09-29 13:13   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 02/47] msix: add VMSTATE_MSIX_TEST marcandre.lureau
2015-09-29 13:14   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 03/47] ivhsmem: read do not accept more than sizeof(long) marcandre.lureau
2015-09-29 13:15   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 04/47] ivshmem: fix number of bytes to push to fifo marcandre.lureau
2015-09-29 12:40   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 05/47] ivshmem: factor out the incoming fifo handling marcandre.lureau
2015-09-29 12:41   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 06/47] ivshmem: remove unnecessary dup() marcandre.lureau
2015-09-29 12:41   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 07/47] ivshmem: remove superflous ivshmem_attr field marcandre.lureau
2015-09-29 12:42   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 08/47] ivshmem: remove useless doorbell field marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 09/47] ivshmem: more qdev conversion marcandre.lureau
2015-09-29 12:42   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 10/47] ivshmem: remove last exit(1) marcandre.lureau
2015-09-29 12:43   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 11/47] ivshmem: limit maximum number of peers to G_MAXUINT16 marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 12/47] ivshmem: simplify around increase_dynamic_storage() marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 13/47] ivshmem: allocate eventfds in resize_peers() marcandre.lureau
2015-09-29 12:44   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 14/47] ivshmem: remove useless ivshmem_update_irq() val argument marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 15/47] ivshmem: initialize max_peer to -1 marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 16/47] ivshmem: remove max_peer field marcandre.lureau
2015-09-29 12:44   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 17/47] ivshmem: improve debug messages marcandre.lureau
2015-09-29 13:00   ` Claudio Fontana
2015-09-29 13:12     ` Marc-André Lureau
2015-09-29 13:21       ` Claudio Fontana
2015-09-29 13:24         ` Marc-André Lureau
2015-09-29 13:36           ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 18/47] ivshmem: improve error handling marcandre.lureau
2015-09-29 13:01   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 19/47] ivshmem: print error on invalid peer id marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 20/47] ivshmem: simplify a bit the code marcandre.lureau
2015-09-29 13:04   ` Claudio Fontana
2015-09-29 13:06     ` Marc-André Lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 21/47] ivshmem: use common return marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 22/47] ivshmem: use common is_power_of_2() marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 23/47] ivshmem: migrate with VMStateDescription marcandre.lureau
2015-09-29 13:28   ` Claudio Fontana
2015-09-29 13:39     ` Marc-André Lureau
2015-09-29 14:15       ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 24/47] ivshmem: shmfd can be 0 marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 25/47] ivshmem: check shm isn't already initialized marcandre.lureau
2015-09-29 13:32   ` Claudio Fontana
2015-09-29 13:34     ` Marc-André Lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 26/47] ivshmem: add device description marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 27/47] ivshmem: fix pci_ivshmem_exit() marcandre.lureau
2015-09-29 13:38   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 28/47] ivshmem: replace 'guest' for 'peer' appropriately marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 29/47] ivshmem: error on too many eventfd received marcandre.lureau
2015-09-29 13:39   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 30/47] ivshmem: reset mask on device reset marcandre.lureau
2015-09-29 13:40   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 31/47] contrib: add ivshmem client and server marcandre.lureau
2015-09-30  8:37   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 32/47] ivshmem-client: check the number of vectors marcandre.lureau
2015-09-29 13:47   ` Claudio Fontana
2015-09-29 14:01     ` Marc-André Lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 33/47] ivshmem-server: use a uint16 for client ID marcandre.lureau
2015-09-29 13:51   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 34/47] ivshmem-server: fix hugetlbfs support marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 35/47] docs: update ivshmem device spec marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 36/47] ivshmem: add check on protocol version in QEMU marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 37/47] contrib: remove unnecessary strdup() marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 38/47] msix: implement pba write (but read-only) marcandre.lureau
2015-10-02 13:47   ` Paolo Bonzini
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 39/47] qtest: add qtest_add_abrt_handler() marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 40/47] tests: add ivshmem qtest marcandre.lureau
2015-09-29 15:05   ` Claudio Fontana
2015-09-29 15:30     ` Marc-André Lureau
2015-09-30 11:38   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 41/47] ivshmem: do not keep shm_fd open marcandre.lureau
2015-09-29 15:10   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 42/47] ivshmem: use strtosz() marcandre.lureau
2015-09-24 12:13   ` Marc-André Lureau
2015-09-24 12:33     ` Marc-André Lureau
2015-09-29 14:34   ` Claudio Fontana
2015-09-29 14:51     ` Marc-André Lureau
2015-09-30  8:39   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 43/47] ivshmem: add hostmem backend marcandre.lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 44/47] ivshmem: remove EventfdEntry.vector marcandre.lureau
2015-09-29 14:32   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 45/47] ivshmem: rename MSI eventfd_table marcandre.lureau
2015-09-29 15:11   ` Claudio Fontana
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 46/47] ivshmem: use kvm irqfd for msi notifications marcandre.lureau
2015-09-30 11:47   ` Claudio Fontana
2015-10-02 13:29     ` Marc-André Lureau
2015-09-24 11:37 ` [Qemu-devel] [PATCH v4 47/47] ivshmem: use little-endian int64_t for the protocol marcandre.lureau
2015-09-29 14:28   ` Claudio Fontana

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).