On Tue, Nov 17, 2009 at 12:35 AM, Jamie Lokier <ja...@shareable.org> wrote:
> Artyom Tarasenko wrote:
>> I don't know, how the real sun4m reacts in the case where irq stays
>> on, not being cleared.
>> It can not be though that it would try to process irq for every next
>> tick. The CPU must have some time to clear the pending irq, so it must
>> be edge triggered too, at least in a way.
>
> In general, most CPUs have a "disable interrupts" flag which is set at
> the same time as calling the irq handler.
>
> That's enough, even if everything about interrupts is level triggered,
> so you can't assume anything is edge triggered just from that alone.
>
> However if a CPU doesn't have an "disable interrupts" flag, then of
> course the triggering must be edge triggered somewhere.

Sparc has a flag for disabling all traps. Also the minimum allowed
interrupt level (PIL) can be selected from 0 to 14, level 15 is
non-maskable from CPU point of view. This level allows interrupt
handlers to be interrupted by a higher priority interrupt, if the
traps are enabled.


Reply via email to