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