Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Nov 1997 20:03:48 -0700 (MST)
From:      Nate Williams <nate@mt.sri.com>
To:        hackers@freebsd.org
Subject:   FreeBSD interrupt code experts?
Message-ID:  <199711140303.UAA12385@rocky.mt.sri.com>

next in thread | raw e-mail | index | archive | help
I'm trying to track down a bug in the pccard code.  Basically, I need to
have the PCIC controller interrupt to have 'priority' over any of the
device interrupts.  I *thought* the code that is in the tree implements
this correctly, but apparently not as some have pointed out in both
public and private email by showing log messages.

So, does anyone know what is wrong with the current code, or can help me
debug it?  Bruce has been too busy to help significantly, so I need some
other expert.

What's happening now is that depending on the IRQ's in question, the
PCIC controller *can* interrupt the card driver (desired), or if the
PCIC controller and the card driver's interrupts are allocated
differently (at boot time, not swapped at runtime) the card driver
interrupt is *NOT* capable of being interrupt by the PCIC controller.
The code and masks are obviously registered the same way both time, just
the interrupt #'s have changed.

I know of one possible bug in the code now (the pcic controller's
interrupt mask is not properly registered), but that shouldn't affect
the PCIC ISR from interrupting the card driver's ISR. The card driver's
ISR is only affected by their own interrupt masks.

When I look at the current code (which I wrote) it appears to be doing
the exact opposite of what I want it to know do *now* (I need to change
things so they are exactly opposite of my original design), but Bruce
assures me it's correct for what I now intend to do.  In any case, I'm
getting a bit confused, so I need someone who has time to straighten me
out and explain to me that why what I wrote originally was backward, or
explain to me it was correct with bugs in it.  No matter what, the code
as it stands doesn't do what I intended it to do originally, nor what I
need it to do now correctly.




Nate




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711140303.UAA12385>