From 4db981576e5f50f7b21667362b2f5bdb530fb06d Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Thu, 13 Oct 2022 15:30:08 +0100 Subject: [PATCH] arch-arm: Setup ThreadContext in GICv3 cpu interface Change-Id: If019b4b114031f880dff43e05658a162c201ea6a Signed-off-by: Giacomo Travaglini Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64912 Reviewed-by: Andreas Sandberg Maintainer: Andreas Sandberg Tested-by: kokoro --- src/dev/arm/gic_v3_cpu_interface.cc | 3 ++- src/dev/arm/gic_v3_cpu_interface.hh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dev/arm/gic_v3_cpu_interface.cc b/src/dev/arm/gic_v3_cpu_interface.cc index b089ba0bda..40ca1ccd3a 100644 --- a/src/dev/arm/gic_v3_cpu_interface.cc +++ b/src/dev/arm/gic_v3_cpu_interface.cc @@ -81,8 +81,9 @@ Gicv3CPUInterface::resetHppi(uint32_t intid) } void -Gicv3CPUInterface::setThreadContext(ThreadContext *tc) +Gicv3CPUInterface::setThreadContext(ThreadContext *_tc) { + tc = _tc; maintenanceInterrupt = gic->params().maint_int->get(tc); fatal_if(maintenanceInterrupt->num() >= redistributor->irqPending.size(), "Invalid maintenance interrupt number\n"); diff --git a/src/dev/arm/gic_v3_cpu_interface.hh b/src/dev/arm/gic_v3_cpu_interface.hh index dfc17afb38..e860373fb5 100644 --- a/src/dev/arm/gic_v3_cpu_interface.hh +++ b/src/dev/arm/gic_v3_cpu_interface.hh @@ -71,6 +71,7 @@ class Gicv3CPUInterface : public ArmISA::BaseISADevice, public Serializable uint32_t cpuId; ArmInterruptPin *maintenanceInterrupt; + ThreadContext *tc; BitUnion64(ICC_CTLR_EL1) Bitfield<63, 20> res0_3;