[PATCH v4 00/14] ivshmem: update documentation, add client/server tools

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is a patchset containing an update on ivshmem specs documentation and
importing ivshmem server and client tools.
These tools have been written from scratch and are not related to what is
available in nahanni repository.
I put them in contrib/ directory as the qemu-doc.texi was already telling the
server was supposed to be there.

Changes since v3:
- first patch is untouched
- just restored the Reviewed-By Claudio in second patch
- following patches 3-8 take into account Stefan's comments
- patches 9-12 take into account Gonglei's comments
- patch 13 adjusts ivshmem-server default values
- last patch introduces a change in the ivshmem client-server protocol to
  check a protocol version at connect time

Changes since v2:
- fixed license issues in ivshmem client/server (I took hw/virtio/virtio-rng.c
  file as a reference).

Changes since v1:
- moved client/server import patch before doc update,
- tried to re-organise the ivshmem_device_spec.txt file based on Claudio
  comments (still not sure if the result is that great, comments welcome),
- incorporated comments from Claudio, Eric and Cam,
- added more details on the server <-> client messages exchange (but sorry, no
  ASCII art here).

By the way, there are still some functionnalities that need description (use of
ioeventfd, the lack of irqfd support) and some parts of the ivshmem code clearly
need cleanup. I will try to address this in future patches when these first
patches are ok.


-- 
David Marchand

David Marchand (14):
  contrib: add ivshmem client and server
  docs: update ivshmem device spec
  contrib/ivshmem-*: comply with QEMU coding style
  contrib/ivshmem-*: reuse qemu/queue.h
  contrib/ivshmem-*: switch to QEMU headers
  contrib/ivshmem-server: set client sockets as non blocking
  contrib/ivshmem-*: add missing const and static attrs
  contrib/ivshmem-*: plug client and server in QEMU top Makefile
  contrib/ivshmem-*: switch to g_malloc0/g_free
  contrib/ivshmem-server: fix mem leak on error
  contrib/ivshmem-*: rework error handling
  contrib/ivshmem-*: various fixes
  contrib/ivshmem-server: align server default parameter values
  ivshmem: add check on protocol version in QEMU

 Makefile                                |    8 +
 configure                               |    3 +
 contrib/ivshmem-client/ivshmem-client.c |  413 +++++++++++++++++++++++++++++++
 contrib/ivshmem-client/ivshmem-client.h |  240 ++++++++++++++++++
 contrib/ivshmem-client/main.c           |  237 ++++++++++++++++++
 contrib/ivshmem-server/ivshmem-server.c |  402 ++++++++++++++++++++++++++++++
 contrib/ivshmem-server/ivshmem-server.h |  187 ++++++++++++++
 contrib/ivshmem-server/main.c           |  243 ++++++++++++++++++
 docs/specs/ivshmem_device_spec.txt      |  127 +++++++---
 hw/misc/ivshmem.c                       |   43 +++-
 include/hw/misc/ivshmem.h               |   17 ++
 qemu-doc.texi                           |   10 +-
 12 files changed, 1887 insertions(+), 43 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

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux