Re: elroy(4) interrupt mapping issue
Nick Hudson <[email protected]> Thu, 20 Jan 2011 00:16:15 +0000
| Newsgroups | gmane.os.netbsd.ports.hp700 |
|---|---|
| Message-ID | <[email protected]> |
--Boundary-00=_P73NNHyJff0efK3 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit On Wednesday 19 January 2011 23:50:03 Tobias Nygren wrote: > Hi, > > I recently tried booting -current on my C3600. Overally it > works really well, almost everything seems to be supported(1)! good news. > Then I tried to plug in a 3rd party PCI card and found a problem > with interrupt mapping: > > elroy1 at astro0 hpa 0xfed32000 path 10/1: Elroy TR4.0 APIC ver 20, > 7 pins > pci1 at elroy1 bus 0 > wm0 at pci1 dev 4 function 0: Intel i82540EM 1000BASE-T Ethernet, rev. 2 > wm0: interrupting at line 255 irq 31 Any specific reason you want wm0? 1GE? > The bogus line 255 turns out to be that hp700_intr_allocate_bit() > returns -1 and apic_intr_map() does not check the return value for an > error condition. > > My current solution to this problem is to disable the onboard esiop > SCSI controllers in the kernel config, which seems to free up an > interrupt bit for the NIC. > > Any suggestion as to how to fix this so the PCI slots can be used? yeah, the attached patch should help int_reg_cpu is something on my todo list. Nick --Boundary-00=_P73NNHyJff0efK3 Content-Type: text/x-patch; charset="iso-8859-1"; name="int_reg_cpu.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="int_reg_cpu.diff" Index: sys/arch/hp700/dev/cpu.c =================================================================== RCS file: /cvsroot/src/sys/arch/hp700/dev/cpu.c,v retrieving revision 1.16 diff -u -p -u -r1.16 cpu.c --- sys/arch/hp700/dev/cpu.c 8 Dec 2010 09:48:27 -0000 1.16 +++ sys/arch/hp700/dev/cpu.c 20 Jan 2011 00:14:28 -0000 @@ -166,5 +166,6 @@ cpuattach(device_t parent, device_t self * or below 27. */ int_reg_cpu.int_reg_allocatable_bits = + (1 << 25) | (1 << 24) | (1 << 23) | (1 << 28) | (1 << 27) | (1 << 26); } --Boundary-00=_P73NNHyJff0efK3--