From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: shared memory between host and VMs (windows xp) using virtio Date: Sun, 25 Oct 2009 16:03:00 +0200 Message-ID: <4AE45A94.7060902@redhat.com> References: <1256290163.24460.58.camel@roo> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: kvm@zavalon.com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:12260 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753630AbZJYOC6 (ORCPT ); Sun, 25 Oct 2009 10:02:58 -0400 In-Reply-To: <1256290163.24460.58.camel@roo> Sender: kvm-owner@vger.kernel.org List-ID: On 10/23/2009 11:29 AM, Nev wrote: > 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. > Probably best served with a single shared area with an internal memory allocator. > 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. > > No need for host kernel modifications (as Cam's work shows). > 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. > virtio is mostly useful for dynamic dma from guest memory; for static sharing of host memory it isn't a good fit. > 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. > Best starting point is Cam's patches, IMO. -- error compiling committee.c: too many arguments to function