From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54152) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RLOjE-0002PW-RH for qemu-devel@nongnu.org; Tue, 01 Nov 2011 20:30:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RLOjC-0005Wq-Hy for qemu-devel@nongnu.org; Tue, 01 Nov 2011 20:30:52 -0400 Received: from e23smtp07.au.ibm.com ([202.81.31.140]:51486) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RLOjB-0005V0-Eh for qemu-devel@nongnu.org; Tue, 01 Nov 2011 20:30:50 -0400 Received: from d23relay03.au.ibm.com (d23relay03.au.ibm.com [202.81.31.245]) by e23smtp07.au.ibm.com (8.14.4/8.13.1) with ESMTP id pA20UbM4023085 for ; Wed, 2 Nov 2011 11:30:37 +1100 Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id pA20UVpN2445482 for ; Wed, 2 Nov 2011 11:30:37 +1100 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id pA20UVUj003302 for ; Wed, 2 Nov 2011 11:30:31 +1100 Date: Wed, 2 Nov 2011 11:16:58 +1100 From: David Gibson Message-ID: <20111102001658.GF5379@truffala.fritz.box> References: <1317360376-12090-1-git-send-email-david@gibson.dropbear.id.au> <4EB07096.4070806@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EB07096.4070806@us.ibm.com> Subject: Re: [Qemu-devel] [PATCH] virtio: Add PCI memory BAR in addition to PIO BAR List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: rusty@rustcorp.com.au, qemu-devel@nongnu.org On Tue, Nov 01, 2011 at 05:20:06PM -0500, Anthony Liguori wrote: > On 09/30/2011 12:26 AM, David Gibson wrote: > >Currently, virtio devices are usually presented to the guest as an > >emulated PCI device, virtio_pci. Although the actual IO operations > >are done through system memory, the configuration of the virtio device > >is done through the one PCI IO space BAR that virtio_pci presents. > > > >But PCI IO space (aka PIO) is deprecated for modern PCI devices, and > >on some systems with many PCI domains accessing PIO space can be > >problematic. For example on the existing PowerVM implementation of > >the PAPR spec, PCI PIO access is not supported at all. We're hoping > >that our KVM implementation will support PCI PIO (once we support PCI > >at all), but it will probably have some irritating limitations. > > > >This patch, therefore, extends the virtio_pci device to have a PCI > >memory space (MMIO) BAR as well as the IO BAR. The MMIO BAR contains > >exactly the same registers, in exactly the same layout as the existing > >PIO BAR. > > > >Because the PIO BAR is still present, existing guest drivers should > >still work fine. With this change in place, future guest drivers can > >check for an MMIO BAR and use that if present (falling back to PIO > >when possible to support older qemu versions). > > > >Signed-off-by: David Gibson > > Seems harmless for QEMU, so applied. You should update the > virtio-pci spec too. Ugh, sorry. This is the old version of the patch which breaks when you actually use it because it attempts to give proxy->bar two different parents. I have a new version which does it correctly. So, do you want to revert and reapply, or should I just make a fix patch? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson