summaryrefslogtreecommitdiff
path: root/src/arch/arm/system.hh
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2016-02-16 13:21:04 -0600
committerAndreas Sandberg <andreas.sandberg@arm.com>2017-05-09 10:09:58 +0000
commitf65c190d0b0185ca2965d09149f33cb78555a1bf (patch)
treeb9d39c5fa71ee5002e257511c9a5731eaea7ab11 /src/arch/arm/system.hh
parent699773a867d1095790cce38744d9b2c38a1f551e (diff)
downloadgem5-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.hh12
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
*/