Sorry to those of you that are seeing this twice, but I'm determined to
get my say in, and obviously I'm in the same boat as Michael Jordan since
I couldn't hit the curve that Bill threw me.
>Bill's message was meant to be posted to CT-USER, not CQ-CONTEST. As should
>your reply have been.
------------------Forwarded item dated 7-APR-1994 21:50:54.47------------------
>This needs some clarification. Two devices can share IRQ's if one of the
>devices is not polling the IRQ in the first place.
I'll throw my 2 cents worth into the discussion.
Bill, I don't understand what you mean by "Two devices can share IRQ's if
one ... is not polling the IRQ ...". Devices don't poll IRQ lines. Device
drivers might poll devices in which case the device is normally not
considered to be interrupt driven. The whole point of interrupts is so
that the device driver does not tie up the rest of the system by polling
However, I agree that it is not impossible to share IRQ's between multiple
devices on ISA. It just is more difficult than on EISA or MCA. The reason
for the increased difficulty has to do with the manner in which devices
indicate to the interrupt controller that they have an interrupt. On ISA,
IRQ lines are level driven. The device must raise the IRQ line from a
low voltage to a high voltage and hold it until the interrupt is
acknowledged by the device driver or operating system. While a given
device is holding the IRQ line high, no other device can signal an interrupt
on the same IRQ, so we have a window for missing interrupts. How big the
window is depends on the device driver or operating system. On MCA (and
I believe EISA), interrupts are edge triggered. The interrupt signal is
latched on a falling edge (I think. I don't have MCA specs handy at this
time). Once the interrupt controller has latched the edge another device
could generate an interrupt on the same IRQ.
Now putting on my armor and ducking.
73, Jim Stevens (device driver writer by trade), KI4HN