diff --git a/src/aclic.adoc b/src/aclic.adoc index 43e8fd4..ebb7702 100644 --- a/src/aclic.adoc +++ b/src/aclic.adoc @@ -284,8 +284,8 @@ External interrupt signals are supplied to the hart from the respective domain. The interrupts from the root domain appear as MEIP (Machine External Interrupt-Pending), and interrupts from the child domain appear as SEIP (Supervisor External Interrupt-Pending). -In addition to signalling a pending interrupt, -a hart-local APLIC domain singals the priority and identity of the highest priority pending-enabled interrupt to the hart. +In addition to signaling a pending interrupt, +a hart-local APLIC domain signals the priority and identity of the highest priority pending-enabled interrupt to the hart. This information is accessible at the hart through the {xtopei} CSR. === Interrupt domain control interface (Smidctrl, Ssidctrl) @@ -738,13 +738,21 @@ The reset behavior of other fields is platform-specific. === Operation When {xithreshold} is a nonzero value, -an interrupt sources _i_ at with priority number `iprio[i]` +an interrupt source _i_ with priority number `iprio[i]` is considered disabled irrespective of its interrupt-enable bit, when the following condition holds: [source] ---- -iprio[i] >= xithreshold & NIPPRIO_MASK +IPRIO >= xithreshold & NIPPRIO_MASK + +where IPRIO is equivalent to the value reported in xtopi CSR, i.e. + +1 < iprio[i] <= 255: IPRIO = iprio[i] +255 < iprio[i]: IPRIO = 255 +iprio[i] = 0: + default priority higher than a machine external interrupt: IPRIO = 0 + default priority lower than a machine external interrupt: IPRIO = 255 ---- When {xithreshold} is zero,