On 06/05/2010 12:44 PM, Blue Swirl wrote:
On Fri, Jun 4, 2010 at 9:45 PM, Cam Macdonell<cam@xxxxxxxxxxxxxx> wrote:
Support an inter-vm shared memory device that maps a shared-memory object as a
PCI device in the guest. This patch also supports interrupts between guest by
communicating over a unix domain socket. This patch applies to the qemu-kvm
repository.
-device ivshmem,size=<size in format accepted by -m>[,shm=<shm name>]
Interrupts are supported between multiple VMs by using a shared memory server
by using a chardev socket.
-device ivshmem,size=<size in format accepted by -m>[,shm=<shm name>]
[,chardev=<id>][,msi=on][,irqfd=on][,vectors=n][,role=peer|master]
-chardev socket,path=<path>,id=<id>
(shared memory server is qemu.git/contrib/ivshmem-server)
Sample programs and init scripts are in a git repo here:
Why is this KVM specific BTW, Posix SHM is available on many
platforms? What would happen if kvm_set_foobar functions were not
called when KVM is not being used? Is host eventfd support essential?
It's not kvm specific, it's
atomic-ops-on-shared-memory-are-visible-as-atomic-ops specific, which is
currently only available with kvm. When tcg gains true smp support (and
not just against other tcg threads) this can work with tcg as well.
I guess that needs a host with at least 32/64 bit CAS for 32/64 bit
targets respectively, and double that if the target has DCAS. Not sure
how targets with ll/sc can be implemented, especially if there are
limits as to what can go in between.
--
error compiling committee.c: too many arguments to function
--
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