From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O6nR4-0005nB-Su for qemu-devel@nongnu.org; Tue, 27 Apr 2010 12:14:58 -0400 Received: from [140.186.70.92] (port=47235 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O6nR2-0005mS-Q2 for qemu-devel@nongnu.org; Tue, 27 Apr 2010 12:14:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O6nQz-0000PP-TH for qemu-devel@nongnu.org; Tue, 27 Apr 2010 12:14:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:17395) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O6nQz-0000P6-JR for qemu-devel@nongnu.org; Tue, 27 Apr 2010 12:14:53 -0400 Date: Tue, 27 Apr 2010 11:49:26 -0300 From: Marcelo Tosatti Message-ID: <20100427144926.GC23249@amt.cnet> References: <2e085c19aac78e6c4335eac4fffeb5cfca4bbb26.1272304746.git.mtosatti@redhat.com> <4BD5DB12.6020406@codemonkey.ws> <20100426184928.GF21425@amt.cnet> <4BD5E16B.5010308@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [PATCH 10/10] introduce qemu_ram_map List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cam Macdonell Cc: Anthony Liguori , qemu-devel@nongnu.org, kvm@vger.kernel.org On Tue, Apr 27, 2010 at 08:28:15AM -0600, Cam Macdonell wrote: > On Mon, Apr 26, 2010 at 12:54 PM, Anthony Liguori wrote: > > On 04/26/2010 01:49 PM, Marcelo Tosatti wrote: > >> > >> On Mon, Apr 26, 2010 at 01:27:30PM -0500, Anthony Liguori wrote: > >> > >>> > >>> On 04/26/2010 12:59 PM, Marcelo Tosatti wrote: > >>> > >>>> > >>>> Which allows drivers to register an mmaped region into ram block > >>>> mappings. > >>>> To be used by device assignment driver. > >>>> > >>> > >>> This doesn't make much sense to me. > >>> > >>> Do you use this like: > >>> > >>> qemu_ram_map(64k, ptr); > >>> assert(qemu_ram_alloc(64k) =3D=3D ptr); > >>> > >> > >> No. hw/device-assignment.c in qemu-kvm mmaps > >> /sys/bus/pci/devices/x:y:z/resourcen (the PCI devices memory regions= ) to > >> the guest. > >> > > > > I understand, but how do you use qemu_ram_map() to actually map that = memory > > to a given PCI device resource? =A0I assume you rely on it getting pu= t on the > > front of the list so that the next qemu_ram_alloc() will be at that > > location. >=20 > In my shared memory patch, I passed the offset returned from > qemu_ram_mmap to cpu_register_physical_memory from within the map > function passed to pci_register_bar. Could the same not be done? Is > there something incorrect with this approach? No, its correct. Its similar to what hw/device-assignment.c in qemu-kvm=20 will do.