On Mon, Aug 27, 2018 at 07:12:29PM +0200, BALATON Zoltan wrote: > On Mon, 27 Aug 2018, Mark Cave-Ayland wrote: > > According to the PReP specification section 6.1.6 "System Interrupt > > Assignments", all PCI interrupts are routed via IRQ 15. > > > > With this patch applied it is now possible to boot the sandalfoot > > zImage all the way through to a working userspace when using > > OpenBIOS. > > > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > > --- > > hw/ppc/prep.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c > > index 162b27a3b8..e82c1355d9 100644 > > --- a/hw/ppc/prep.c > > +++ b/hw/ppc/prep.c > > @@ -668,10 +668,11 @@ static void ibm_40p_init(MachineState *machine) > > dev = DEVICE(pci_create_simple(pci_bus, PCI_DEVFN(11, 0), "i82378")); > > qdev_connect_gpio_out(dev, 0, > > cpu->env.irq_inputs[PPC6xx_INPUT_INT]); > > - sysbus_connect_irq(pcihost, 0, qdev_get_gpio_in(dev, 15)); > > - sysbus_connect_irq(pcihost, 1, qdev_get_gpio_in(dev, 13)); > > - sysbus_connect_irq(pcihost, 2, qdev_get_gpio_in(dev, 15)); > > - sysbus_connect_irq(pcihost, 3, qdev_get_gpio_in(dev, 13)); > > + /* According to PReP specification section 6.1.6 "System Interrupt > > + * Assignments", all PCI interrupts are routed via IRQ 15 */ > > + for (i = 0; i < PCI_NUM_PINS; i++) { > > + sysbus_connect_irq(pcihost, i, qdev_get_gpio_in(dev, 15)); > > + } > > I'm not sure but this looks similar to what we had with sam460ex: > > http://lists.nongnu.org/archive/html/qemu-ppc/2018-07/msg00359.html > > I think you may not connect multiple interrupts to the same host irq line > this way but you either need an OR gate or handle it within the mapping in > the PCI host model (which is what we ended up with for the sam460ex). > Peter's suggestion was to do whichever matches real hardware the most if you > can find out that (as noted here also with more explanation that could be > useful): > > http://lists.nongnu.org/archive/html/qemu-ppc/2018-07/msg00360.html > > But I could be mistaken in this case, haven't checked it in detail.
Yeah.. I was thinking this looked very familiar. I believe you do need to construct the OR explicitly, not just wire all the irqs to the same line. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature