diff options
author | Jairo Balart <jairo.balart@metempsy.com> | 2018-10-11 16:05:12 +0200 |
---|---|---|
committer | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-01-10 16:29:30 +0000 |
commit | 93c7fa573116aade8e8d6b0646e85874e6003567 (patch) | |
tree | 6e49e8be33c3514553017e055fc32a627cb68698 /src/arch/arm/system.hh | |
parent | 7d5696d1a9f0776f51ec20e81a413fcdcc748c4e (diff) | |
download | gem5-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.hh | 11 |
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; } |