summaryrefslogtreecommitdiff
path: root/src/arch/arm/system.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/system.hh')
-rw-r--r--src/arch/arm/system.hh20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/arch/arm/system.hh b/src/arch/arm/system.hh
index f906dc2d2..599734fd3 100644
--- a/src/arch/arm/system.hh
+++ b/src/arch/arm/system.hh
@@ -49,6 +49,7 @@
#include "dev/arm/generic_timer.hh"
#include "kern/linux/events.hh"
#include "params/ArmSystem.hh"
+#include "params/GenericArmSystem.hh"
#include "sim/sim_object.hh"
#include "sim/system.hh"
@@ -265,8 +266,25 @@ class ArmSystem : public System
/** Returns true if ASID is 16 bits for the system of a specific thread
* context while in AArch64 (ARMv8) */
static bool haveLargeAsid64(ThreadContext *tc);
+};
+class GenericArmSystem : public ArmSystem
+{
+ public:
+ typedef GenericArmSystemParams Params;
+ const Params *
+ params() const
+ {
+ return dynamic_cast<const Params *>(_params);
+ }
+
+ GenericArmSystem(Params *p) : ArmSystem(p) {};
+ virtual ~GenericArmSystem() {};
+
+ /**
+ * Initialise the system
+ */
+ virtual void initState();
};
#endif
-