]> git.proxmox.com Git - qemu.git/commit - trace-events
pseries: Add PCI MSI/MSI-X support
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Tue, 7 Aug 2012 16:10:37 +0000 (16:10 +0000)
committerAlexander Graf <agraf@suse.de>
Wed, 15 Aug 2012 17:43:16 +0000 (19:43 +0200)
commit0ee2c058a3fe485b8901186179102e251a33d082
treeacc8e7fb4ba8901e8d5aa3868aa4a88cc123082d
parenta2950fb6e795e3e10fed35d347a7aa28a44be2ff
pseries: Add PCI MSI/MSI-X support

This patch implements MSI and MSI-X support for the pseries PCI host
bridge.  To do this it adds:

 * A "config_space_address to msi_table" map, since the MSI RTAS calls
take a PCI config space address as an identifier.

 * A MSIX memory region to catch msi_notify()/msix_notiry() from
virtio-pci and pass them to the guest via qemu_irq_pulse().

 * RTAS call "ibm,change-msi" which sets up MSI vectors for a
device. Note that this call may configure and return lesser number of
vectors than requested.

 * RTAS call "ibm,query-interrupt-source-number" which translates MSI
vector to interrupt controller (XICS) IRQ number.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[agraf: fix error case ndev < 0]
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/spapr.c
hw/spapr_pci.c
hw/spapr_pci.h
trace-events