Quoting Greg Kurz (2014-08-28 05:18:06) > On Wed, 27 Aug 2014 12:36:03 -0500 > Michael Roth <mdr...@linux.vnet.ibm.com> wrote: > > From: Jan Kiszka <jan.kis...@siemens.com> > > > > 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-sta...@nongnu.org > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > > Reviewed-by: Michael S. Tsirkin <m...@redhat.com> > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > > (cherry picked from commit cc943c36faa192cd4b32af8fe5edb31894017d35) > > Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> > > --- > > Hi Michael, > > This commit breaks virtio for spapr. A fix is available in Alex's ppc-next: > > From: Greg Kurz <gk...@linux.vnet.ibm.com> > spapr_pci: map the MSI window in each PHB > > https://github.com/agraf/qemu/commit/7af2868fc76857e19c232bbe9e99a95d61138213
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 = 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 kurzg...@fr.ibm.com > gk...@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.