From fd02f09ee63d7473e1a2e0ead87983a729ac4496 Mon Sep 17 00:00:00 2001 From: Christian Herber Date: Tue, 9 Dec 2025 14:24:04 +0100 Subject: [PATCH 1/3] Smnip: Fixing typo --- src/aclic.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aclic.adoc b/src/aclic.adoc index 43e8fd4..d135a1b 100644 --- a/src/aclic.adoc +++ b/src/aclic.adoc @@ -738,7 +738,7 @@ 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 sources _i_ with priority number `iprio[i]` is considered disabled irrespective of its interrupt-enable bit, when the following condition holds: From 05f501fc9d9ae1581541da53c52d479834cee944 Mon Sep 17 00:00:00 2001 From: Christian Herber Date: Tue, 9 Dec 2025 14:35:52 +0100 Subject: [PATCH 2/3] ACLIC: Fixing typos in description of interrupt delivery --- src/aclic.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aclic.adoc b/src/aclic.adoc index d135a1b..9811761 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) From 92832936a6ed4d8da91dcdeb5d3bb2e2fa983d00 Mon Sep 17 00:00:00 2001 From: Christian Herber Date: Tue, 9 Dec 2025 14:46:44 +0100 Subject: [PATCH 3/3] Smnip: Clarifying operation of global threshold --- src/aclic.adoc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/aclic.adoc b/src/aclic.adoc index 9811761..ebb7702 100644 --- a/src/aclic.adoc +++ b/src/aclic.adoc @@ -738,13 +738,21 @@ The reset behavior of other fields is platform-specific. === Operation When {xithreshold} is a nonzero value, -an interrupt sources _i_ 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,