diff options
author | Ruslan Bukin <br@bsdpad.com> | 2015-04-29 22:35:23 -0500 |
---|---|---|
committer | Ruslan Bukin <br@bsdpad.com> | 2015-04-29 22:35:23 -0500 |
commit | 81f3211149c051e4f70b0b12eb3709dfc6e0395c (patch) | |
tree | 9b9d276586b948252ec6a39a2748dbca43fe92d3 /src/arch/arm/system.hh | |
parent | 52a3bc5e5c3cc694b3f8b29f38b0dd296b91350f (diff) | |
download | gem5-81f3211149c051e4f70b0b12eb3709dfc6e0395c.tar.xz |
arch, base, dev, kern, sym: FreeBSD support
This adds support for FreeBSD/aarch64 FS and SE mode (basic set of syscalls only)
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src/arch/arm/system.hh')
-rw-r--r-- | src/arch/arm/system.hh | 20 |
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 - |