diff options
author | Bharat Bhushan <r65777@freescale.com> | 2014-05-12 15:15:40 +0530 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-06-16 13:24:34 +0200 |
commit | 3016dca06cba0ef9511f1c81c7e73bfc805fb254 (patch) | |
tree | da0f52a73fc09a58760359b50bce84d4d24f860a /hw/ppc/e500.c | |
parent | d575a6ce0efb96966240a53bf611ad6bf5a14ebd (diff) |
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.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 3e238e688c..a31561805a 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++) { |