summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Travaglini <giacomo.travaglini@arm.com>2019-09-04 15:44:33 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2019-09-09 08:48:30 +0000
commita04da61ce1b8fa131da08894e1beaf7b81771f8e (patch)
tree748254b7b230d2d357f42a89da03fb047f858f3c
parentbd2d85154865b0e9c85c91de35ec905953d5bb41 (diff)
downloadgem5-a04da61ce1b8fa131da08894e1beaf7b81771f8e.tar.xz
dev-arm: Reset HPPI when clearing an LPI
Change-Id: I2a69e6cef69aa48d7c265d59915b859e5eac2bcc Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20638 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-rw-r--r--src/dev/arm/gic_v3_redistributor.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dev/arm/gic_v3_redistributor.cc b/src/dev/arm/gic_v3_redistributor.cc
index 8b6233c22..11a1f9d3e 100644
--- a/src/dev/arm/gic_v3_redistributor.cc
+++ b/src/dev/arm/gic_v3_redistributor.cc
@@ -928,6 +928,9 @@ Gicv3Redistributor::setClrLPI(uint64_t data, bool set)
}
lpi_pending_entry &= ~(1 << (lpi_pending_entry_bit_position));
+
+ // Remove the pending state from the cpu interface
+ cpuInterface->resetHppi(lpi_id);
}
writeEntryLPI(lpi_id, lpi_pending_entry);