shared memory between host and VMs (windows xp) using virtio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I need to be able to share memory between guest VMs and the host. I have
been using VMware workstation 6.0.5. As Cam Macdonell stated in one of
his posts, VMware dropped the shared memory as part of their VMCI
interface in later versions. I am the person he refered to in his post
that is running simulation across multiple VMs.

My requirements are different from Cam's. 
1. I need to be able to dynamically allocate multiple blocks of shared
memory of different sizes. Size of each shared block can vary from a few
bytes to a few MBytes
2. I need to be able to have any number of Guest, include zero, and any
number of host processes, including zero, sharing the memory.
3. The virtual address used to access the memory *can* be different for
each host process and guest process. eg no requirements
4. I dont need interrupts.

A user interface like the following could satisfy my requirements.
connect(char const * const key, int const size)
disconnect(char const * const key)
and a query and cleanup function for when users code fails to
disconnect.

or something like shmget, shmat, shmdt, shmctl.

I expect to use shm* as the backend to allocate the shared memory.

I *think* I will need a host kernel module (device drive?) to service
the requests.
The module needs to be accessible from use level host code, and user
guest code via a Guest device driver, or service and then via virtio to
the host module.

I am assuming there is little or no documentation for virtio, and I need
to look at the code.

I would like a little help to get started.
1. Should I be looking at quemu-kvm or kvm or somewhere else?
2. Can I get some hints at what function to look for and where?
3. If there is any documentation please indicate where I might find it.

I would prefer to *not* modify the existing kvm code, but would prefer
to write stand allow modules that interface to the kvm code. I will be
happy to make the source for these modules publicly available.

Any help will be greatly appreciated. 

Nev

--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux