From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH 10/10] introduce qemu_ram_map Date: Tue, 27 Apr 2010 11:49:26 -0300 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-Transfer-Encoding: QUOTED-PRINTABLE Cc: Anthony Liguori , Anthony Liguori , qemu-devel@nongnu.org, kvm@vger.kernel.org To: Cam Macdonell Return-path: Received: from mx1.redhat.com ([209.132.183.28]:11582 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756144Ab0D0QOz (ORCPT ); Tue, 27 Apr 2010 12:14:55 -0400 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: 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 regio= ns) to > >> the guest. > >> > > > > I understand, but how do you use qemu_ram_map() to actually map tha= t memory > > to a given PCI device resource? =A0I assume you rely on it getting = put 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.