Giacomo Travaglini has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/31614 )
Change subject: dev-arm: Gicv3 maintenance interrupt never cleared
......................................................................
dev-arm: Gicv3 maintenance interrupt never cleared
The maintenance interrupt is a level sensitive interrupt though it has
been treated as edge triggered so far.
In order to be level sensitive, it needs to be cleared once the condition
which led to its generation are not valid anymore.
Change-Id: I9af9f4bf27622a7961393b00a145d6c9835d738b
Signed-off-by: Giacomo Travaglini <[email protected]>
---
M src/dev/arm/gic_v3_cpu_interface.cc
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/dev/arm/gic_v3_cpu_interface.cc
b/src/dev/arm/gic_v3_cpu_interface.cc
index 5e1f871..54075ec 100644
--- a/src/dev/arm/gic_v3_cpu_interface.cc
+++ b/src/dev/arm/gic_v3_cpu_interface.cc
@@ -2078,10 +2078,10 @@
ICH_HCR_EL2 ich_hcr_el2 =
isa->readMiscRegNoEffect(MISCREG_ICH_HCR_EL2);
- if (ich_hcr_el2.En) {
- if (maintenanceInterruptStatus()) {
- maintenanceInterrupt->raise();
- }
+ if (ich_hcr_el2.En && maintenanceInterruptStatus()) {
+ maintenanceInterrupt->raise();
+ } else {
+ maintenanceInterrupt->clear();
}
if (signal_IRQ) {
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31614
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I9af9f4bf27622a7961393b00a145d6c9835d738b
Gerrit-Change-Number: 31614
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s