The problem is caused by "level triggered interrupts" on shared lines.
In this situation, unless you clear the interrupt source (by e.g. reading a
status register on the interrupting device), the interrupt remains asserted.
So you cannot unmask the interrupt controller. ISA is edge triggered.
Many boards have logic that handles this problem by mapping other
interrupts to a controller so you can mask the individual source
instead of all PCI interrupts at that level
Device ----}
}slave controller ---> PCI interrupt level X ->
Device ----}
Or something like that.
On Mon, Jun 18, 2001 at 09:52:51PM -0400, Reef Morse wrote:
> In my application, I can check to see if my board triggered the interrupt.
> If it didn't, I just exit to other handlers. It's about 4 lines of code in
> assembly, so it doesn't take much time. This is on an ISA bus. Does this
> apply for the PCI bus as well?
>
> Regards, Reef Morse
>
> ----- End of forwarded message from [EMAIL PROTECTED] -----
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
----- End of forwarded message from [EMAIL PROTECTED] -----
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/