From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48738 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOcfr-0006VN-0q for qemu-devel@nongnu.org; Tue, 15 Jun 2010 16:23:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOcfp-0008OK-QH for qemu-devel@nongnu.org; Tue, 15 Jun 2010 16:23:54 -0400 Received: from fleet.cs.ualberta.ca ([129.128.22.22]:59337) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOcfp-0008Nt-FR for qemu-devel@nongnu.org; Tue, 15 Jun 2010 16:23:53 -0400 From: Cam Macdonell Date: Tue, 15 Jun 2010 14:23:42 -0600 Message-Id: <1276633426-30995-1-git-send-email-cam@cs.ualberta.ca> Subject: [Qemu-devel] [PATCH v7 0/4] Inter-VM shared memory device List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Cam Macdonell , kvm@vger.kernel.org Latest patch for PCI shared memory device that maps a host shared memory object to be shared between guests new in this series - replace marking memory from v6 with marking device as unmigratable indicating that it should be unplugged before migration and re-added after. - 'peer' case changed to require removal before migration, only 'master' devices can be migrated while attached. v6 - migration support with 'master' and 'peer' roles for guest to determine who "owns" memory - modified phys_ram_dirty array for marking memory as not to be migrated v5: - 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 ioeventfd setup function 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 (4): Device specification for shared memory PCI device Add function to assign ioeventfd to MMIO. Support marking a device as non-migratable Inter-VM shared memory PCI device Makefile.target | 3 + docs/specs/ivshmem_device_spec.txt | 96 +++++ hw/hw.h | 1 + hw/ivshmem.c | 823 ++++++++++++++++++++++++++++++++++++ kvm-all.c | 32 ++ kvm.h | 1 + qemu-char.c | 6 + qemu-char.h | 3 + qemu-doc.texi | 43 ++ savevm.c | 32 ++- 10 files changed, 1037 insertions(+), 3 deletions(-) create mode 100644 docs/specs/ivshmem_device_spec.txt create mode 100644 hw/ivshmem.c