Re: pnp code and irq 2 broken

From: Doug Rabson (dfr_at_nlsystems.com)
Date: 08/28/03


To: John Hay <jhay@icomtek.csir.co.za>
Date: 28 Aug 2003 17:02:23 +0100

On Thu, 2003-08-28 at 13:26, Doug Rabson wrote:
> On Wed, 2003-08-27 at 06:45, John Hay wrote:
> > Hi,
> >
> > Somewhere along the line the code in FreeBSD that maps irq 2 to irq 9 has
> > gone away and a panic was added if one tries to use irq 2. This is all
> > well and fine, except that the pnp code was not notified of this. :-) So
> > if you have a pnp device that have irq 2 in its mask and FreeBSD then
> > decides that irq 2 is a good irq to use for this device, you have an
> > instant panic.
> >
> > I have worked around it with this crude patch below. Crude because:
> > 1) I don't know if it should be an i386 only fix, and
> > 2) I used 0x04 directly, maybe IRQ_SLAVE from i386/isa/icu.h or
> > some other define should be used?
> >
> > Any comments from anyone?
>
> I think that the way this used to work was that irq 2 was never included
> in the irq resource map. The allocation code would never choose a
> configuration which used irq 2 because it should never be possible to
> allocate that resource.

The code in nexus which creates the resource map for irqs was changed in
version 1.29 to not exclude irq 2. The cvs comment claims that the AT
PIC driver will claim irq 2 for the non-apic case which would take it
away from any possible pnp allocator. Presumably, this is the part which
is now broken.

_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"



Relevant Pages

  • Re: [PATCH 1/2] irq: sparseirq enabling
    ... This can scale up just fine to 4096 CPUs without measurable impact to ... allocation: an entry would be allocated at IRQ number creation time ... This should simplify quite a few things in the sparseirq code. ...
    (Linux-Kernel)
  • Re: + msi-refactor-and-move-the-msi-irq_chip-into-the-arch-c
    ... Once this goes in I'll try to add support for MSI on sparc64 ... some issues with one basic element of the design which is the allocation ... binds them to a controller) and setup the irq_desc / irq_chip for them. ... code does is to allocate linux irq numbers and bind them to the vectors ...
    (Linux-Kernel)
  • Re: [PATCH 1/2] irq: sparseirq enabling
    ... This can scale up just fine to 4096 CPUs without measurable impact to ... allocation: an entry would be allocated at IRQ number creation time ... This should simplify quite a few things in the sparseirq code. ...
    (Linux-Kernel)
  • Re: [3/5] 2.6.21-rc4: known regressions (v2)
    ... IRQ number is that ia64 currently only has about 180 device vectors, ... we have a driver to claim it. ... where delaying IRQ allocation has caused troubles. ...
    (Linux-Kernel)
  • [patch] MSI-X: fix resume crash
    ... part of Eric's patch a bit for upstream application - find it below. ... irq when msi irq's are enabled should be the first fix. ... to delay vector allocation in that context until request_irq, ... return err; ...
    (Linux-Kernel)