summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
authorStephen Hines <hines@cs.fsu.edu>2008-02-05 23:44:13 -0500
committerStephen Hines <hines@cs.fsu.edu>2008-02-05 23:44:13 -0500
commit0ccf9a2c3751f160d7d51153ef468a60b4daf8d0 (patch)
tree3f5d77b729818492d27996adbc69b472f6fd4da7 /src/sim
parentca313e23033cd3f2ef827edf9a442ed1ae3d087f (diff)
downloadgem5-0ccf9a2c3751f160d7d51153ef468a60b4daf8d0.tar.xz
Add base ARM code to M5
--HG-- extra : convert_revision : d811bf87d1a0bfc712942ecd3db1b48fc75257af
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/process.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc
index d83b0247e..16037b2f4 100644
--- a/src/sim/process.cc
+++ b/src/sim/process.cc
@@ -61,6 +61,8 @@
#include "arch/sparc/solaris/process.hh"
#elif THE_ISA == MIPS_ISA
#include "arch/mips/linux/process.hh"
+#elif THE_ISA == ARM_ISA
+#include "arch/arm/linux/process.hh"
#elif THE_ISA == X86_ISA
#include "arch/x86/linux/process.hh"
#else
@@ -700,6 +702,17 @@ LiveProcess::create(LiveProcessParams * params)
default:
fatal("Unknown/unsupported operating system.");
}
+#elif THE_ISA == ARM_ISA
+ if (objFile->getArch() != ObjectFile::Arm)
+ fatal("Object file architecture does not match compiled ISA (ARM).");
+ switch (objFile->getOpSys()) {
+ case ObjectFile::Linux:
+ process = new ArmLinuxProcess(params, objFile);
+ break;
+
+ default:
+ fatal("Unknown/unsupported operating system.");
+ }
#else
#error "THE_ISA not set"
#endif