From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN0rX-00086E-NT for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:39:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XN0rR-0002w3-BV for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:39:43 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:47442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN0rR-0002vo-8Z for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:39:37 -0400 Received: from /spool/local by e7.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 28 Aug 2014 10:39:36 -0400 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Michael Roth In-Reply-To: <20140828121806.34259981@bahia.local> References: <1409160982-16389-1-git-send-email-mdroth@linux.vnet.ibm.com> <1409160982-16389-7-git-send-email-mdroth@linux.vnet.ibm.com> <20140828121806.34259981@bahia.local> Message-ID: <20140828143930.21832.36114@loki> Date: Thu, 28 Aug 2014 09:39:30 -0500 Subject: Re: [Qemu-devel] [Qemu-stable] [PATCH 06/25] pci: Use bus master address space for delivering MSI/MSI-X messages List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Greg Kurz Cc: Alexander Graf , qemu-devel@nongnu.org, qemu-stable@nongnu.org Quoting Greg Kurz (2014-08-28 05:18:06) > On Wed, 27 Aug 2014 12:36:03 -0500 > Michael Roth wrote: > > From: Jan Kiszka > > = > > The spec says (and real HW confirms this) that, if the bus master bit > > is 0, the device will not generate any PCI accesses. MSI and MSI-X > > messages fall among these, so we should use the corresponding address > > space to deliver them. This will prevent delivery if bus master support > > is disabled. > > = > > Cc: qemu-stable@nongnu.org > > Signed-off-by: Jan Kiszka > > Reviewed-by: Michael S. Tsirkin > > Signed-off-by: Michael S. Tsirkin > > (cherry picked from commit cc943c36faa192cd4b32af8fe5edb31894017d35) > > Signed-off-by: Michael Roth > > --- > = > Hi Michael, > = > This commit breaks virtio for spapr. A fix is available in Alex's ppc-nex= t: > = > From: Greg Kurz > spapr_pci: map the MSI window in each PHB = > = > https://github.com/agraf/qemu/commit/7af2868fc76857e19c232bbe9e99a95d6113= 8213 Thanks, I've gone ahead and applied it. Tested virtio + pseries before/after and it seems to fix the issue. > = > Cheers. > = > -- > Greg > = > > hw/pci/msi.c | 2 +- > > hw/pci/msix.c | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > = > > diff --git a/hw/pci/msi.c b/hw/pci/msi.c > > index a4a3040..52d2313 100644 > > --- a/hw/pci/msi.c > > +++ b/hw/pci/msi.c > > @@ -291,7 +291,7 @@ void msi_notify(PCIDevice *dev, unsigned int vector) > > "notify vector 0x%x" > > " address: 0x%"PRIx64" data: 0x%"PRIx32"\n", > > vector, msg.address, msg.data); > > - stl_le_phys(&address_space_memory, msg.address, msg.data); > > + stl_le_phys(&dev->bus_master_as, msg.address, msg.data); > > } > > = > > /* Normally called by pci_default_write_config(). */ > > diff --git a/hw/pci/msix.c b/hw/pci/msix.c > > index 5c49bfc..20ae476 100644 > > --- a/hw/pci/msix.c > > +++ b/hw/pci/msix.c > > @@ -439,7 +439,7 @@ void msix_notify(PCIDevice *dev, unsigned vector) > > = > > msg =3D msix_get_message(dev, vector); > > = > > - stl_le_phys(&address_space_memory, msg.address, msg.data); > > + stl_le_phys(&dev->bus_master_as, msg.address, msg.data); > > } > > = > > void msix_reset(PCIDevice *dev) > = > = > = > -- = > Gregory Kurz kurzgreg@fr.ibm.com > gkurz@linux.vnet.ibm.com > Software Engineer @ IBM/Meiosys http://www.ibm.com > Tel +33 (0)562 165 496 > = > "Anarchy is about taking complete responsibility for yourself." > Alan Moore.