summaryrefslogtreecommitdiffstats
path: root/trace-events
diff options
context:
space:
mode:
authorAlexey Kardashevskiy2012-08-07 18:10:37 +0200
committerAlexander Graf2012-08-15 19:43:16 +0200
commit0ee2c058a3fe485b8901186179102e251a33d082 (patch)
treeacc8e7fb4ba8901e8d5aa3868aa4a88cc123082d /trace-events
parentpseries: Add trace event for PCI irqs (diff)
downloadqemu-0ee2c058a3fe485b8901186179102e251a33d082.tar.gz
qemu-0ee2c058a3fe485b8901186179102e251a33d082.tar.xz
qemu-0ee2c058a3fe485b8901186179102e251a33d082.zip
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>
Diffstat (limited to 'trace-events')
-rw-r--r--trace-events5
1 files changed, 5 insertions, 0 deletions
diff --git a/trace-events b/trace-events
index 191b39ebdf..04b0723927 100644
--- a/trace-events
+++ b/trace-events
@@ -972,4 +972,9 @@ qxl_render_guest_primary_resized(int32_t width, int32_t height, int32_t stride,
qxl_render_update_area_done(void *cookie) "%p"
# hw/spapr_pci.c
+spapr_pci_msi(const char *msg, uint32_t n, uint32_t ca) "%s (device#%d, cfg=%x)"
+spapr_pci_msi_setup(const char *name, unsigned vector, uint64_t addr) "dev\"%s\" vector %u, addr=%"PRIx64
+spapr_pci_rtas_ibm_change_msi(unsigned func, unsigned req) "func %u, requested %u"
+spapr_pci_rtas_ibm_query_interrupt_source_number(unsigned ioa, unsigned intr) "queries for #%u, IRQ%u"
+spapr_pci_msi_write(uint64_t addr, uint64_t data, uint32_t dt_irq) "@%"PRIx64"<=%"PRIx64" IRQ %u"
spapr_pci_lsi_set(const char *busname, int pin, uint32_t irq) "%s PIN%d IRQ %u"