Subject: Re: Interrupts
To: Tim Kelly <hockey@dialectronics.com>
From: Michael <macallan18@earthlink.net>
List: port-macppc
Date: 12/06/2004 13:58:54
Hello,

> >Hmm, that's something for the original author - compare do_pending_intr()
> >and ext_intr(), one of them explicitly sets PSL_EE, the other one masks it
> >out - so do_pending_intr() only intends to turn off interrupts at some
> >point, but ext_intr() explixitly turns them on. Looks intentional.
> 
> Looks like he's making sure it is on in ext_intr() around the KERNEL_LOCK,
> as well as in do_pending_int(), and making sure it is on no matter what
> when exiting ext_intr(). When leaving do_pending_int(), the state is
> restored, but I find the use of "emsr" and "dmsr" to imply that he expects
> PSL_EE to be on when getting here. This is not the case when
> do_pending_int() is called from Idle() via spllower().

Well, one variant makes sure they're off at some point and doesn't care about them in the rest of the function, the other explicitly turns them on.

have fun
Michael