summaryrefslogtreecommitdiff
path: root/src/arch/arm/system.hh
diff options
context:
space:
mode:
authorJairo Balart <jairo.balart@metempsy.com>2018-10-11 16:05:12 +0200
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2019-01-10 16:29:30 +0000
commit93c7fa573116aade8e8d6b0646e85874e6003567 (patch)
tree6e49e8be33c3514553017e055fc32a627cb68698 /src/arch/arm/system.hh
parent7d5696d1a9f0776f51ec20e81a413fcdcc748c4e (diff)
downloadgem5-93c7fa573116aade8e8d6b0646e85874e6003567.tar.xz
dev-arm: Add a GICv3 model
Change-Id: Ib0067fc743f84ff7be9f12d2fc33ddf63736bdd1 Reviewed-on: https://gem5-review.googlesource.com/c/13436 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Diffstat (limited to 'src/arch/arm/system.hh')
-rw-r--r--src/arch/arm/system.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/arm/system.hh b/src/arch/arm/system.hh
index c6974609e..1a6a64fe7 100644
--- a/src/arch/arm/system.hh
+++ b/src/arch/arm/system.hh
@@ -54,6 +54,7 @@
#include "sim/system.hh"
class GenericTimer;
+class BaseGic;
class ThreadContext;
class ArmSystem : public System
@@ -97,6 +98,7 @@ class ArmSystem : public System
* Pointer to the Generic Timer wrapper.
*/
GenericTimer *_genericTimer;
+ BaseGic *_gic;
/**
* Reset address (ARMv8)
@@ -192,9 +194,18 @@ class ArmSystem : public System
_genericTimer = generic_timer;
}
+ /** Sets the pointer to the GIC. */
+ void setGIC(BaseGic *gic)
+ {
+ _gic = gic;
+ }
+
/** Get a pointer to the system's generic timer model */
GenericTimer *getGenericTimer() const { return _genericTimer; }
+ /** Get a pointer to the system's GIC */
+ BaseGic *getGIC() const { return _gic; }
+
/** Returns true if the register width of the highest implemented exception
* level is 64 bits (ARMv8) */
bool highestELIs64() const { return _highestELIs64; }