qemu-irix/include/hw
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
..
acpi Add ACPI tables for TPM 2014-08-25 00:16:06 +02:00
arm arm: armv7m: Rename address_space_mem -> system_memory 2014-08-19 19:02:40 +01:00
audio
block block: Pass errp in blkconf_geometry 2014-08-26 13:20:44 +02:00
char
cpu
cris
i2c
i386 pc: reserve more memory for ACPI for new machine types 2014-08-25 00:16:06 +02:00
input
intc
ipack
isa
kvm
lm32
m68k
mem
mips
misc
net
nvram
pci pcie: Rename the pcie_cap_ari_* functions to pcie_cap_arifwd_* 2014-08-25 00:16:06 +02:00
pci-host spapr_pci: map the MSI window in each PHB 2014-09-08 12:50:53 +02:00
ppc spapr_pci: map the MSI window in each PHB 2014-09-08 12:50:53 +02:00
s390x sclp-s390: Add device to manage s390 memory hotplug 2014-09-01 09:25:32 +02:00
scsi scsi-bus: Convert DeviceClass init to realize 2014-08-26 13:20:44 +02:00
sh4
sparc
timer
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb
virtio virtio-serial: create a linked list of all active devices 2014-08-18 22:42:37 +05:30
xen xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 2014-07-07 10:37:40 +00:00
boards.h
bt.h
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h
ide.h
irq.h irq: Slim conversion of qemu_irq to QOM 2014-07-01 04:12:48 +02:00
loader.h loader: Add load_image_size() to replace load_image() 2014-09-08 12:50:48 +02:00
nmi.h cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
pcmcia.h
ptimer.h
qdev-core.h qdev: correctly send DEVICE_DELETED for recursively-deleted devices 2014-07-01 10:20:42 +02:00
qdev-dma.h
qdev-properties.h qdev: drop iothread property type 2014-07-01 09:15:02 +02:00
qdev.h
sd.h
ssi.h
stream.h
sysbus.h sysbus: remove unused function sysbus_del_io 2014-08-17 23:25:24 +02:00
usb.h usb: add usb_bus_release function 2014-08-29 12:51:44 +02:00