On Mon, 20 Dec 1999, Alex wrote:
!>This message was sent from Geocrawler.com by "Alex" <[EMAIL PROTECTED]>
!>Be sure to reply to that address.
!>
!>Hello,
!>I'm little confuse to using splimp/splx in driver
!>that support PCI board. IRQ is shared for PCI.
!>Is using splimp can cause for some problem?
!>Thank a lot
!>Alex
!>
!>Geocrawler.com - The Knowledge Archive
Here's my `first glance' shot at an answer: [ ;-) ]
Nope, using splimp() will not cause problems in terms of shared IRQs.
However, it may cause problems if you're blocking interrupt handlers of
priorities that you don't want to.
Shared IRQs are dealt with thanks to a linked list of handlers for
each shared IRQ, which all end up being called as a result of at least
one of the devices "registered" for that IRQ asserts an int request. Each
device, however, is "registered" with its own 'mask,' and this mask should
correspond to one of several given values, where _handlers_ executing at
that priority level will be blocked as per the present priority level.
If you haven't done so already, my suggestion is to take a look
at spl(9) [e.g. `man 9 spl'], and, if still interested, taking a look at
*some* of i386/isa/intr_machdep.c as well as most of
sys/i386/i386/nexus.c -- which brings up the question: Is anybody
_currently_ working on cleaning this stuff up, and completely getting rid
of the remains of the "old" interface?
Bosko.
...... . . . . . . . . . . . .
. Bosko Milekic -- [EMAIL PROTECTED] . .
. . . . . . . . . ...... .
. WWW: http://pages.infinit.net/bmilekic/ .
................................................
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message