From owner-freebsd-alpha Fri Feb 9 4:15: 2 2001 Delivered-To: freebsd-alpha@freebsd.org Received: from mail.du.gtn.com (mail.du.gtn.com [194.77.9.57]) by hub.freebsd.org (Postfix) with ESMTP id 9551037B6D6 for ; Fri, 9 Feb 2001 04:14:41 -0800 (PST) Received: from mail.cicely.de (cicely.de [194.231.9.142]) by mail.du.gtn.com (8.11.0.Beta3/8.11.0.Beta3) with ESMTP id f19CEV901088 (using TLSv1/SSLv3 with cipher EDH-RSA-DES-CBC3-SHA (168 bits) verified OK); Fri, 9 Feb 2001 13:14:33 +0100 (MET) Received: from cicely5.cicely.de (cicely5.cicely.de [fec0:0:0:104::5]) by mail.cicely.de (8.11.0.Beta1/8.11.0.Beta1) with ESMTP id f19CErP82412 (using TLSv1/SSLv3 with cipher EDH-RSA-DES-CBC3-SHA (168 bits) verified NO); Fri, 9 Feb 2001 13:14:59 +0100 (CET) Received: (from ticso@localhost) by cicely5.cicely.de (8.11.1/8.11.1) id f19CEr882749; Fri, 9 Feb 2001 13:14:53 +0100 (CET) (envelope-from ticso) Date: Fri, 9 Feb 2001 13:14:53 +0100 From: Bernd Walter To: Peter Jeremy Cc: freebsd-alpha@FreeBSD.ORG Subject: Re: Nonsense IRQs in -current Message-ID: <20010209131453.A82704@cicely5.cicely.de> References: <20010209103917.B90937@gsmx07.alcatel.com.au> <20010209215917.A7855@gsmx07.alcatel.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <20010209215917.A7855@gsmx07.alcatel.com.au>; from peter.jeremy@alcatel.com.au on Fri, Feb 09, 2001 at 09:59:17PM +1100 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Fri, Feb 09, 2001 at 09:59:17PM +1100, Peter Jeremy wrote: > On 2001-Feb-09 10:39:18 +1100, Peter Jeremy wrote: > >I've just upgraded a Multia from -stable to -current and the PCI > >interrupts no longer make sense. dmesg shows: > > After much poking around in the kernel... > > In -stable, the Alpha interrupts are re-arranged in pci_read_device() > immediately after the config registers are read. > > In -current, a new route_interrupt() method has been created. This > method should be invoked via the alloc_resource() method for interrupt > requests. > > In my Multia, pci_read_device() (invoked from from pci_add_children()) > is reading initialised (!= 255) but incorrect intline values from the > PCI device configuration registers. When the device attach() method > invokes pci_alloc_resource(), intline!=255 so the PCIB_ROUTE_INTERRUPT() > call is skipped - leaving an invalid IRQ value. In particular, > dec_axppci_33_intr_route() is never called at all. > > I'm not sure what the correct fix is. I kludged it by just deleting > the check for intline!=255 in pci_alloc_resource() - but that is a > hack that just happens to work for me. I'm not sure whether this > is a bug in the SRM, AXPpci/33 or LCA - which makes it difficult to > work out where to fix it. On my rather old -current AXPpci33 everthing looks ok. If the problem also applies to AXPpci33 it will probably mean that the reason was introduced later. FreeBSD 5.0-CURRENT #6: Sun Nov 26 20:24:29 CET 2000 ticso@cicely9.cicely.de:/var/d8/src-2000-11-20/src/sys/compile/CICELY10 DEC AXPpci Alpha PC AXPpci33, 166MHz 8192 byte page size, 1 processor. CPU: LCA Family major=4 minor=2 OSF PAL rev: 0x100090002012d real memory = 31481856 (30744K bytes) avail memory = 24813568 (24232K bytes) Preloaded elf kernel "kernel.ko" at 0xfffffc0000650000. lca0: <21066 Core Logic chipset> pci0: on pcib0 sym0: <810> port 0x10000-0x100ff mem 0x81040400-0x810404ff irq 11 at device 6.0 on pci0 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking sym0: interrupting at ISA irq 11 isab0: at device 7.0 on pci0 isa0: on isab0 dc0: port 0x10180-0x101ff mem 0x81040000-0x810403ff irq 5 at device 11.0 on pci0 dc0: interrupting at ISA irq 5 dc0: Ethernet address: 00:00:cb:56:2e:2a miibus0: on dc0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto de0: port 0x10100-0x1017f mem 0x81040500-0x8104057f irq 9 at device 12.0 on pci0 de0: interrupting at ISA irq 9 de0: Cogent 21040 [10Mb/s] pass 2.3 de0: address 00:00:92:90:7f:26 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: interrupting at ISA irq 6 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 atkbd0: interrupting at ISA irq 1 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: on isa0 sc0: VGA <16 virtual consoles, flags=0x0> mcclock0: at port 0x70-0x71 on isa0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0 at port 0x3f8-0x3ff irq 4 on isa0 sio0: type 16550A, console sio0: interrupting at ISA irq 4 sio1: reserved for low-level i/o [...] -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message