xemu/include/hw/ppc
Greg Kurz 8c46f7ec85 spapr_pci: map the MSI window in each PHB
On sPAPR, virtio devices are connected to the PCI bus and use MSI-X.
Commit cc943c36fa has modified MSI-X
so that writes are made using the bus master address space and follow
the IOMMU path.

Unfortunately, the IOMMU address space address space does not have an
MSI window: the notification is silently dropped in unassigned_mem_write
instead of reaching the guest... The most visible effect is that all
virtio devices are non-functional on sPAPR since then. :(

This patch does the following:
1) map the MSI window into the IOMMU address space for each PHB
   - since each PHB instantiates its own IOMMU address space, we
     can safely map the window at a fixed address (SPAPR_PCI_MSI_WINDOW)
   - no real need to keep the MSI window setup in a separate function,
     the spapr_pci_msi_init() code moves to spapr_phb_realize().

2) kill the global MSI window as it is not needed in the end

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-09-08 12:50:53 +02:00
..
mac_dbdma.h macio ide: Do remainder access asynchronously 2014-06-16 13:24:38 +02:00
openpic.h intc/openpic_kvm: Fix QOM and build issues 2013-07-01 01:11:15 +02:00
ppc4xx.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
ppc_e500.h intc/openpic: Build openpic only once 2013-07-09 21:33:02 +02:00
ppc.h PPC: mac99: Move NVRAM to page boundary when necessary 2014-09-08 12:50:47 +02:00
spapr_vio.h pseries: savevm support for VIO devices 2013-07-29 10:37:08 -05:00
spapr.h spapr_pci: map the MSI window in each PHB 2014-09-08 12:50:53 +02:00
xics.h xics: Implement xics_ics_free() 2014-06-27 13:48:26 +02:00