diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2016-02-16 13:21:04 -0600 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-05-09 10:09:58 +0000 |
commit | f65c190d0b0185ca2965d09149f33cb78555a1bf (patch) | |
tree | b9d39c5fa71ee5002e257511c9a5731eaea7ab11 /src/arch/arm/system.hh | |
parent | 699773a867d1095790cce38744d9b2c38a1f551e (diff) | |
download | gem5-f65c190d0b0185ca2965d09149f33cb78555a1bf.tar.xz |
arm: Add support for memory-mapped m5ops
Add support for a memory mapped m5op interface. When enabled, the TLB
intercepts accesses in the 64KiB region designated by the
ArmTLB.m5ops_base parameter. An access to this range maps to a
specific m5op call. The upper 8 bits of the offset into the range
denote the m5op function to call and the lower 8 bits denote the
subfunction.
Change-Id: I55fd8ac1afef4c3cc423b973870c9fe600a843a2
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/2964
Diffstat (limited to 'src/arch/arm/system.hh')
-rw-r--r-- | src/arch/arm/system.hh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/arch/arm/system.hh b/src/arch/arm/system.hh index ee286d23a..97769337a 100644 --- a/src/arch/arm/system.hh +++ b/src/arch/arm/system.hh @@ -116,6 +116,12 @@ class ArmSystem : public System */ const bool _haveLargeAsid64; + /** + * Range for memory-mapped m5 pseudo ops. The range will be + * invalid/empty if disabled. + */ + const AddrRange _m5opRange; + protected: /** * Get a boot loader that matches the kernel. @@ -216,6 +222,12 @@ class ArmSystem : public System return mask(physAddrRange()); } + /** + * Range used by memory-mapped m5 pseudo-ops if enabled. Returns + * an invalid/empty range if disabled. + */ + const AddrRange &m5opRange() const { return _m5opRange; } + /** Returns true if the system of a specific thread context implements the * Security Extensions */ |