-
Notifications
You must be signed in to change notification settings - Fork 25
Description
The AIA spec says
If supported, setting the priority number for supervisor-level external interrupts (bits 15:8 of
iprio2) to a nonzero value p has the effect of giving the entire category of supervisor external
interrupts nominally the same priority as a machine external interrupt with priority number p.
I'm a bit confused with the nominally the same priority as a machine external interrupt with priority number p
statement.
For example, if we have set S-level external interrupts iprio = 42
and in M-mode we have pending both
- S-level external interrupts
- M-level external interrupts with external interrupt identity (mtopei.identity) = 42
do we have two interrupts with absolutely same priorities? How we determine which should trigger first?
On the other hand, if we should use the default priority order
rules - then it's not clear why do we phrase it like
... the same priority as a machine external interrupt with priority number p
instead of
... the same priority as a supervisor external interrupt with priority number p
Such phasing should be valid but it clearly shows that default priority order should be used.
Thanks!