aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc/e500.c
diff options
context:
space:
mode:
authorBharat Bhushan <r65777@freescale.com>2014-05-12 15:15:40 +0530
committerAlexander Graf <agraf@suse.de>2014-06-16 13:24:34 +0200
commit3016dca06cba0ef9511f1c81c7e73bfc805fb254 (patch)
treeda0f52a73fc09a58760359b50bce84d4d24f860a /hw/ppc/e500.c
parentd575a6ce0efb96966240a53bf611ad6bf5a14ebd (diff)
downloadqemu-3016dca06cba0ef9511f1c81c7e73bfc805fb254.zip
qemu-3016dca06cba0ef9511f1c81c7e73bfc805fb254.tar.gz
qemu-3016dca06cba0ef9511f1c81c7e73bfc805fb254.tar.bz2
PPC: e500: implement PCI INTx routing
This patch adds pci pin to irq_num routing callback. This callback is called from pci_device_route_intx_to_irq to find which pci device maps to which irq. This fix is required for pci-device passthrough using vfio. Also without this patch we gets below prints " PCI: Bug - unimplemented PCI INTx routing (e500-pcihost) qemu-system-ppc64: PCI: Bug - unimplemented PCI INTx routing (e500-pcihost) " and Legacy interrupt does not work with pci device passthrough. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@freescale.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> [agraf: remove double semicolon] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/ppc/e500.c')
-rw-r--r--hw/ppc/e500.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 3e238e6..a315618 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -715,6 +715,7 @@ void ppce500_init(MachineState *machine, PPCE500Params *params)
/* PCI */
dev = qdev_create(NULL, "e500-pcihost");
qdev_prop_set_uint32(dev, "first_slot", params->pci_first_slot);
+ qdev_prop_set_uint32(dev, "first_pin_irq", pci_irq_nrs[0]);
qdev_init_nofail(dev);
s = SYS_BUS_DEVICE(dev);
for (i = 0; i < PCI_NUM_PINS; i++) {