qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 17/26] Add i21154 bridge chip.


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v3 17/26] Add i21154 bridge chip.
Date: Mon, 22 Oct 2012 18:17:30 +0200

On Mon, Oct 22, 2012 at 03:26:24PM +0200, Andreas Färber wrote:
> Am 19.10.2012 22:43, schrieb Jason Baron:
> > From: Jason Baron <address@hidden>
> > 
> > This adds support for the DECchip 21154 PCI bridge.
> > 
> > Signed-off-by: Isaku Yamahata <address@hidden>
> > Signed-off-by: Jason Baron <address@hidden>
> > ---
> >  hw/Makefile.objs |    2 +-
> >  hw/i21154.c      |  113 
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  hw/i21154.h      |    9 ++++
> >  3 files changed, 123 insertions(+), 1 deletions(-)
> >  create mode 100644 hw/i21154.c
> >  create mode 100644 hw/i21154.h
> 
> Why is this creating a new file and not reusing dec_pci.c? We shouldn't
> have two parallel implementations of the same chip.
> 
> Andreas

Good point I missed this. There's a minor difference
wrt dec-21154-p2p-bridge in a couple of fields,
these could be set by properties.
Also dec_map_irq differs from the spec compliant
map function. I am guessing this is a bug.
Would appreciate testing of the patch below.


Are you familiar with dec_pci.c? Looking at it, it seems to
implement a pci host bridge "dec-21154-sysbus" ,
a pci to pci bridge "dec-21154-p2p-bridge", 
and something called "dec-21154" which sports a comment
"PCI2PCI bridge same values as PearPC - check this" -
and implements an empty init function;
what this last is and why it's useful I am not sure.

Anyone? Blue Swirl? Anyone can test this doesn't break
things and report?

--->

dec_pci: irq swizzle PCI spec compliance

Make IRQ mapping for dec PCI PCI 2 PCI Bridge compliant
with the PCI spec.

Signed-off-by: Michael S. Tsirkin <address@hidden>

---

diff --git a/hw/dec_pci.c b/hw/dec_pci.c
index c30ade3..a49f0bd 100644
--- a/hw/dec_pci.c
+++ b/hw/dec_pci.c
@@ -82,7 +82,7 @@ PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn)
     dev = pci_create_multifunction(parent_bus, devfn, false,
                                    "dec-21154-p2p-bridge");
     br = DO_UPCAST(PCIBridge, dev, dev);
-    pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
+    pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", pci_swizzle_map_irq_fn);
     qdev_init_nofail(&dev->qdev);
     return pci_bridge_get_sec_bus(br);
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]