From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQKf8-0006F1-NF for qemu-devel@nongnu.org; Mon, 22 Oct 2012 12:15:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQKf4-0000h3-4C for qemu-devel@nongnu.org; Mon, 22 Oct 2012 12:15:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQKf3-0000fS-Pu for qemu-devel@nongnu.org; Mon, 22 Oct 2012 12:15:30 -0400 Date: Mon, 22 Oct 2012 18:17:30 +0200 From: "Michael S. Tsirkin" Message-ID: <20121022161730.GA23029@redhat.com> References: <707fd29bf6b842cb43ceec3fd81351a24309fb23.1350677362.git.jbaron@redhat.com> <50854980.2010908@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <50854980.2010908@suse.de> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3 17/26] Add i21154 bridge chip. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andreas =?iso-8859-1?Q?F=E4rber?= Cc: aliguori@us.ibm.com, juzhang@redhat.com, jan.kiszka@siemens.com, Jason Baron , qemu-devel@nongnu.org, agraf@suse.de, blauwirbel@gmail.com, yamahata@valinux.co.jp, alex.williamson@redhat.com, kevin@koconnor.net, avi@redhat.com, mkletzan@redhat.com, pbonzini@redhat.com, lcapitulino@redhat.com, armbru@redhat.com, kraxel@redhat.com On Mon, Oct 22, 2012 at 03:26:24PM +0200, Andreas F=E4rber wrote: > Am 19.10.2012 22:43, schrieb Jason Baron: > > From: Jason Baron > >=20 > > This adds support for the DECchip 21154 PCI bridge. > >=20 > > Signed-off-by: Isaku Yamahata > > Signed-off-by: Jason Baron > > --- > > 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 >=20 > Why is this creating a new file and not reusing dec_pci.c? We shouldn't > have two parallel implementations of the same chip. >=20 > 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",=20 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 --- 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 devf= n) dev =3D pci_create_multifunction(parent_bus, devfn, false, "dec-21154-p2p-bridge"); br =3D 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_i= rq_fn); qdev_init_nofail(&dev->qdev); return pci_bridge_get_sec_bus(br); }