summaryrefslogtreecommitdiff
path: root/configs/test/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'configs/test/test.py')
-rw-r--r--configs/test/test.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/configs/test/test.py b/configs/test/test.py
index 0c6359148..8bdea16ac 100644
--- a/configs/test/test.py
+++ b/configs/test/test.py
@@ -1,9 +1,17 @@
+# Simple test script
+#
+# Alpha: "m5 test.py"
+# MIPS: "m5 test.py -a Mips -c hello_mips"
+
import os, optparse, sys
import m5
from m5.objects import *
+# parse command-line arguments
parser = optparse.OptionParser(option_list=m5.standardOptions)
+parser.add_option("-c", "--cmd", default="hello")
+parser.add_option("-a", "--arch", choices=["Alpha", "Mips"], default="Alpha")
parser.add_option("-t", "--timing", action="store_true")
(options, args) = parser.parse_args()
@@ -12,11 +20,15 @@ if args:
print "Error: script doesn't take any positional arguments"
sys.exit(1)
+# build configuration
this_dir = os.path.dirname(__file__)
-process = AlphaLiveProcess()
-process.executable = os.path.join(this_dir, 'hello')
-process.cmd = 'hello'
+print "arch =", options.arch
+process_class = eval(options.arch + "LiveProcess")
+
+process = process_class()
+process.executable = os.path.join(this_dir, options.cmd)
+process.cmd = options.cmd
magicbus = Bus()
mem = PhysicalMemory()
@@ -32,8 +44,10 @@ system = System(physmem = mem, cpu = cpu)
system.c1 = Connector(side_a = mem, side_b = magicbus)
root = Root(system = system)
+# instantiate configuration
m5.instantiate(root)
+# simulate until program terminates
exit_event = m5.simulate()
print 'Exiting @', m5.curTick(), 'because', exit_event.getCause()