[PATCH v5 0/3] ivshmem: update documentation, add client/server tools

David Marchand
2014-09-04T12:51:09Z

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 v4:
- squashed patches 3-13 from v4 into first patch
- reused reported error when parsing arguments in server
- fixed spelling mistakes in documentation in second patch

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 (3):
contrib: add ivshmem client and server
docs: update ivshmem device spec
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 | 244 ++++++++++++++++++
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, 1888 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