public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Nev <kvm@zavalon.com>
To: kvm@vger.kernel.org
Subject: shared memory between host and VMs (windows xp) using virtio
Date: Fri, 23 Oct 2009 20:29:23 +1100	[thread overview]
Message-ID: <1256290163.24460.58.camel@roo> (raw)

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


             reply	other threads:[~2009-10-23  9:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-23  9:29 Nev [this message]
2009-10-25 14:03 ` shared memory between host and VMs (windows xp) using virtio Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1256290163.24460.58.camel@roo \
    --to=kvm@zavalon.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox