Subject: Re: PCIC interrupt selection
To: perry@piermont.com, Jason Thorpe <thorpej@nas.nasa.gov>
From: Soren S. Jorvang <soren@t.dk>
List: port-i386
Date: 08/10/1998 22:56:23
On Mon, Aug 10, 1998 at 04:35:51PM -0400, Perry E. Metzger wrote:
> 
> Jason Thorpe writes:
> > On Mon, 10 Aug 1998 14:12:41 -0400 
> >  Ken Hornstein <kenh@cmf.nrl.navy.mil> wrote:
> > 
> >  > For PCMCIA network cards, the IRQ isn't allocated until the first time
> >  > you ifconfig the interface up.
> > 
> > But that is not the case of all PCMCIA devices, so a sysctl is NOT
> > a general solution.
> 
> No one has a general solution. The sysctl will take ten minutes, and
> will let people install their machines. When a general solution
> appears, we can dump it.

For a hack solution, how about ddb on the INSTALL floppy? Then
you could write the mask after 'boot -d'.

I seem to remember there being a little bit of space still left. If
not, I can think of a few ways to trim down INSTALL a bit.

ddb in INSTALL would also be nice for more complete
error reports from people who install NetBSD for the first time.

> (I've been waiting to hear of a general solution for many months,
> btw. No one has stated one.)

A *truly* general solution I think would require knowing which
IRQs are in use by devices not supported by NetBSD.

Linux can find the connected IRQ line for a device by making
it interrupt and then seeing which IRQ lights up.

I don't know if the finding valid IRQs by exclusion (in a way
the opposite of the Linux hack) works in general.
I suspect Windows now is able to read some sooper sekrit
structures in BIOS memory that give away hints, but reliance
on New BIOS Interface Standard Of The Day seems fraught with
danger to me.

A non-general but functional solution is the one I suggested
a few weeks ago. Have a (configurable, of course) priority list
of IRQs to try. The worst offender among the IRQs seems to be
IRQ 10, which is often used by special hardware in portable
computers, so put it at the end. Off the top of my head, I
suggest {14,15,11,5,12,7,9,3,4  (someone with more i386
hardware experience than me, feel free to rearrange, especially
since this quick list relies on all current drivers being
present). It would be very simple to implement.


-- 
Soren