summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@gmail.com>2008-02-11 08:31:26 -0800
committerSteve Reinhardt <stever@gmail.com>2008-02-11 08:31:26 -0800
commit71835d42df8fb488380be8cc89be4298b268902a (patch)
tree7c2e91d34de4a2306f45234fefa13ded7ea5d83f /src/sim
parent2f7421b12b4a557ff1a2e4dcebcfd3484778fb95 (diff)
parent4c7eb211191055f72c6f157913cb384f47cf4334 (diff)
downloadgem5-71835d42df8fb488380be8cc89be4298b268902a.tar.xz
Automated merge with file:/home/stever/hg/m5-orig
--HG-- extra : convert_revision : 86a55cd98a9704f756a70aa0cbd2820cf92c821d
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/debug.cc4
-rw-r--r--src/sim/eventq.cc2
-rw-r--r--src/sim/eventq.hh4
-rw-r--r--src/sim/process.cc13
-rw-r--r--src/sim/sim_events.cc6
-rw-r--r--src/sim/sim_events.hh6
6 files changed, 24 insertions, 11 deletions
diff --git a/src/sim/debug.cc b/src/sim/debug.cc
index c189117bd..b4f4cd9dc 100644
--- a/src/sim/debug.cc
+++ b/src/sim/debug.cc
@@ -63,7 +63,7 @@ class DebugBreakEvent : public Event
DebugBreakEvent(EventQueue *q, Tick _when);
void process(); // process event
- virtual const char *description();
+ virtual const char *description() const;
};
//
@@ -87,7 +87,7 @@ DebugBreakEvent::process()
const char *
-DebugBreakEvent::description()
+DebugBreakEvent::description() const
{
return "debug break";
}
diff --git a/src/sim/eventq.cc b/src/sim/eventq.cc
index 65e115256..2c679be1e 100644
--- a/src/sim/eventq.cc
+++ b/src/sim/eventq.cc
@@ -230,7 +230,7 @@ dumpMainQueue()
const char *
-Event::description()
+Event::description() const
{
return "generic";
}
diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh
index 6fbba46d5..a454e5d64 100644
--- a/src/sim/eventq.hh
+++ b/src/sim/eventq.hh
@@ -219,7 +219,7 @@ class Event : public Serializable, public FastAlloc
/// Return a C string describing the event. This string should
/// *not* be dynamically allocated; just a const char array
/// describing the event class.
- virtual const char *description();
+ virtual const char *description() const;
/// Dump the current event data
void dump();
@@ -280,7 +280,7 @@ DelayFunction(Tick when, T *object)
: Event(&mainEventQueue), object(o)
{ setFlags(this->AutoDestroy); schedule(when); }
void process() { (object->*F)(); }
- const char *description() { return "delay"; }
+ const char *description() const { return "delay"; }
};
new DelayEvent(when, object);
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
diff --git a/src/sim/sim_events.cc b/src/sim/sim_events.cc
index 1949e88dd..09087ef84 100644
--- a/src/sim/sim_events.cc
+++ b/src/sim/sim_events.cc
@@ -65,7 +65,7 @@ SimLoopExitEvent::process()
const char *
-SimLoopExitEvent::description()
+SimLoopExitEvent::description() const
{
return "simulation loop exit";
}
@@ -123,7 +123,7 @@ CountedExitEvent::process()
const char *
-CountedExitEvent::description()
+CountedExitEvent::description() const
{
return "counted exit";
}
@@ -153,7 +153,7 @@ CheckSwapEvent::process()
}
const char *
-CheckSwapEvent::description()
+CheckSwapEvent::description() const
{
return "check swap";
}
diff --git a/src/sim/sim_events.hh b/src/sim/sim_events.hh
index 94e2540b1..58ec963c0 100644
--- a/src/sim/sim_events.hh
+++ b/src/sim/sim_events.hh
@@ -68,7 +68,7 @@ class SimLoopExitEvent : public Event
void process(); // process event
- virtual const char *description();
+ virtual const char *description() const;
};
class CountedDrainEvent : public SimLoopExitEvent
@@ -104,7 +104,7 @@ class CountedExitEvent : public Event
void process(); // process event
- virtual const char *description();
+ virtual const char *description() const;
};
//
@@ -122,7 +122,7 @@ class CheckSwapEvent : public Event
void process(); // process event
- virtual const char *description();
+ virtual const char *description() const;
};
#endif // __SIM_SIM_EVENTS_HH__