From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4e7X-0006SF-A4 for qemu-devel@nongnu.org; Wed, 21 Apr 2010 13:53:55 -0400 Received: from [140.186.70.92] (port=34402 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4e7N-0006Np-EP for qemu-devel@nongnu.org; Wed, 21 Apr 2010 13:53:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4e7L-00022o-Hi for qemu-devel@nongnu.org; Wed, 21 Apr 2010 13:53:45 -0400 Received: from fleet.cs.ualberta.ca ([129.128.22.22]:58895) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4e7L-00020u-DZ for qemu-devel@nongnu.org; Wed, 21 Apr 2010 13:53:43 -0400 From: Cam Macdonell Date: Wed, 21 Apr 2010 11:53:24 -0600 Message-Id: <1271872408-22842-1-git-send-email-cam@cs.ualberta.ca> Subject: [Qemu-devel] [PATCH v5 0/5] PCI Shared Memory device List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org Cc: Cam Macdonell , qemu-devel@nongnu.org Latest patch for PCI shared memory device that maps a host shared memory object to be shared between guests. new in this series - fixed segfault for non-server case - code style fixes - removed limit on the number of guests - shared memory server is now in qemu.git/contrib - made irqfd/ioeventfd setup functions generic - removed interrupts when guest joined (let application handle it) v4: - moved to single Doorbell register and use datamatch to trigger different VMs rather than one register per eventfd - remove writing arbitrary values to eventfds. Only values of 1 are now written to ensure correct usage Cam Macdonell (5): Device specification for shared memory PCI device Support adding a file to qemu's ram allocation Adds two new functions for assigning ioeventfd and irqfds. Inter-VM shared memory PCI device the stand-alone shared memory server for inter-VM shared memory Makefile.target | 3 + contrib/ivshmem-server/Makefile | 16 + contrib/ivshmem-server/README | 30 ++ contrib/ivshmem-server/ivshmem_server.c | 339 ++++++++++++++ contrib/ivshmem-server/send_scm.c | 208 +++++++++ contrib/ivshmem-server/send_scm.h | 19 + cpu-common.h | 2 + docs/specs/ivshmem_device_spec.txt | 91 ++++ exec.c | 36 ++ hw/ivshmem.c | 728 +++++++++++++++++++++++++++++++ kvm-all.c | 44 ++ kvm.h | 14 + qemu-char.c | 6 + qemu-char.h | 3 + qemu-doc.texi | 25 + 15 files changed, 1564 insertions(+), 0 deletions(-) create mode 100644 contrib/ivshmem-server/Makefile create mode 100644 contrib/ivshmem-server/README create mode 100644 contrib/ivshmem-server/ivshmem_server.c create mode 100644 contrib/ivshmem-server/send_scm.c create mode 100644 contrib/ivshmem-server/send_scm.h create mode 100644 docs/specs/ivshmem_device_spec.txt create mode 100644 hw/ivshmem.c