Tobias Nygren | 20 Jan 2011 00:50
Picon

elroy(4) interrupt mapping issue

Hi,

I recently tried booting -current on my C3600. Overally it
works really well, almost everything seems to be supported(1)!

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

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?

Kind regards,
-Tobias

(1):

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(Continue reading)

Nick Hudson | 20 Jan 2011 01:16
Picon
Favicon

Re: elroy(4) interrupt mapping issue

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
(Continue reading)

Tobias Nygren | 20 Jan 2011 18:48
Picon

Re: elroy(4) interrupt mapping issue

On Thu, 20 Jan 2011 00:16:15 +0000
Nick Hudson <nick.hudson <at> gmx.co.uk> wrote:

> Any specific reason you want wm0? 1GE?

That. Also, crc offloading is a nice bonus.

> yeah, the attached patch should help

Cool, it works!
Now to attempt to desecrate the machine further with a satalink(4) ...
(btw, it doesn't look like hp700 has a major assigned for wd(4))

Thanks,
-Tobias


Gmane