Subject: Re: explanation of PCI cardbus bridge code...
To: None <tech-kern@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 02/20/2006 17:08:34
On Tue, Feb 21, 2006 at 07:56:41AM +0900, Christopher SEKIYA wrote:
> On Feb 21, 2006, at 12:54 AM, Garrett D'Amore wrote:
>
> >Can anyone explain the following code:
> >
> >#if NIOAPIC > 0
> > printf("%s: using ioapic for interrupt\n", sc->sc_dev.dv_xname);
> >#else
> > if ((0 == pa->pa_intrline) || (255 == pa->pa_intrline)) {
> > printf("%s: NOT USED because of unconfigured interrupt\n",
> > sc->sc_dev.dv_xname);
> > return;
> > }
> >#endif
>
> AFAICT the bit wrapped in #else was put in before we had a working
> interrupt fixup scheme. It broke for machines that were using
> ioapic, hence the #if hackery.
I thought that on i386, interrupts were only fixed up if 'options
PCIBIOS_INTR_FIXUP' was in the kernel configuration; thus "NOT USED
because of unconfigured interrupt" marks a legitimate problem if the
kernel wasn't compiled with PCIBIOS_INTR_FIXUP. Is that not so? That is,
does NetBSD/i386 always fix up interrupts?
Dave
--
David Young OJC Technologies
dyoung@ojctech.com Urbana, IL * (217) 278-3933