Subject: Re: Interrupts
To: Michael <macallan18@earthlink.net>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 12/06/2004 12:42:28
At 12:35 PM -0500 12/6/04, Michael wrote:
>> If an interrupt comes in after enabling it (gc_enable_irq) but before
>> ci->ci_ipending is unset, would you lose the interrupt?
>Depends - if processor interrupts are enabled it will be processed
>normally, if not gc_read_irq() will see >it.

I'm finding that we can't count on processor interrupts being on when we
expect them. This was at the heart of the MP problem. If a call chain comes
through Idle(), the do_pending_int() via spllower() gets called with the
PSL_EE off. Keeping PSL_EE on before spllower() appears to have some
problems. I can't explain why, as it seems to me it would make sense to
alter Idle().

tim