Subject: Re: Interrupts
To: Michael <macallan18@earthlink.net>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 12/06/2004 12:25:06
At 12:17 PM -0500 12/6/04, Tim Kelly wrote:
> I could be wrong,
>but in the process of iterating over the handlers, a device whose handler
>has already been called for this interrupt cycle could request another
>interrupt, but it does not get noted because the interrupt was never
>deasserted. To me it seems abiguous as to whether a fresh call to ext_intr
>would be generated if the interrupt remained asserted. My belief would be
>no, this would not be viewed as a fresh interrupt, if I understand level
>triggered interrupts. Enabling and disabling the interrupt register might
>not affect the state register.

Adding to this, if the interrupt is enabled, then gc ought to let another
device request the interrupt to be asserted, but since the interrupt in the
state register was already enabled, this is not a state change, and if the
call to ext_intr() is only done when the register goes lo->hi, the device's
handlers will not get called until something manages to cycle through the
virq again, as the iteration already passed it by.

tim