mem-cache: Add multiple eviction stats
[gem5.git] / src / arch / arm / system.hh
index e09f4770608f9ba710d29a1782b9d8807539f846..90fed14a790f676d4d8a805441bbcba6855d2054 100644 (file)
@@ -130,14 +130,13 @@ class ArmSystem : public System
     /** SVE vector length at reset, in quadwords */
     const unsigned _sveVL;
 
-    /** True if Priviledge Access Never is implemented */
-    const unsigned _havePAN;
-
     /**
-     * Range for memory-mapped m5 pseudo ops. The range will be
-     * invalid/empty if disabled.
+     * True if LSE is implemented (ARMv8.1)
      */
-    const AddrRange _m5opRange;
+    const bool _haveLSE;
+
+    /** True if Priviledge Access Never is implemented */
+    const unsigned _havePAN;
 
     /**
      * True if the Semihosting interface is enabled.
@@ -244,6 +243,9 @@ class ArmSystem : public System
     /** Returns the SVE vector length at reset, in quadwords */
     unsigned sveVL() const { return _sveVL; }
 
+    /** Returns true if LSE is implemented (ARMv8.1) */
+    bool haveLSE() const { return _haveLSE; }
+
     /** Returns true if Priviledge Access Never is implemented */
     bool havePAN() const { return _havePAN; }
 
@@ -276,6 +278,13 @@ class ArmSystem : public System
     /** Is Arm Semihosting support enabled? */
     bool haveSemihosting() const { return semihosting != nullptr; }
 
+    /**
+     * Casts the provided System object into a valid ArmSystem, it fails
+     * otherwise.
+     * @param sys System object to cast
+     */
+    static ArmSystem *getArmSystem(System *sys);
+
     /**
      * Returns a valid ArmSystem pointer if using ARM ISA, it fails
      * otherwise.