summaryrefslogtreecommitdiff
path: root/configs/test
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2006-06-10 00:22:42 -0400
committerSteve Reinhardt <stever@eecs.umich.edu>2006-06-10 00:22:42 -0400
commitcd6550473957258130a549ef74e2f18102b8c881 (patch)
tree4330f082c66906c78f94a25143bbc1370a736a41 /configs/test
parentf693b451a59949ef1a025fe8b391031d2234f1e1 (diff)
downloadgem5-cd6550473957258130a549ef74e2f18102b8c881.tar.xz
Update scripts for testing ALPHA_FS and MIPS_SE.
Minor fixes to ALPHA_FS and SPARC_SE. SPARC_SE still does not compile... looks like there are unresolved issues with ExecContext -> ThreadContext rename/reorg. configs/test/fs.py: Port to new script interface/model. configs/test/test.py: Add support for running MIPS test(s) too via command-line option. src/arch/alpha/ev5.cc: Fix include file. src/arch/sparc/regfile.hh: Make Bit64 a ULL constant to avoid compiler error. --HG-- extra : convert_revision : c46c179758271c4f00171faaa579915846bf4624
Diffstat (limited to 'configs/test')
-rw-r--r--configs/test/fs.py24
-rw-r--r--configs/test/test.py20
2 files changed, 39 insertions, 5 deletions
diff --git a/configs/test/fs.py b/configs/test/fs.py
index fdbf86abe..05b38991c 100644
--- a/configs/test/fs.py
+++ b/configs/test/fs.py
@@ -1,7 +1,18 @@
-from m5 import *
+import m5
+from m5.objects import *
import os
from SysPaths import *
+parser = optparse.OptionParser(option_list=m5.standardOptions)
+
+parser.add_option("-t", "--timing", action="store_true")
+
+(options, args) = parser.parse_args()
+
+if args:
+ print "Error: script doesn't take any positional arguments"
+ sys.exit(1)
+
# Base for tests is directory containing this file.
test_base = os.path.dirname(__file__)
@@ -181,7 +192,11 @@ class LinuxAlphaSystem(LinuxAlphaSystem):
read_only=True)
simple_disk = SimpleDisk(disk=Parent.raw_image)
intrctrl = IntrControl()
- cpu = AtomicSimpleCPU(mem=Parent.magicbus2)
+ if options.timing:
+ cpu = TimingSimpleCPU()
+ else:
+ cpu = AtomicSimpleCPU()
+ cpu.mem = Parent.magicbus2
sim_console = SimConsole(listener=ConsoleListener(port=3456))
kernel = binary('vmlinux')
pal = binary('ts_osfpal')
@@ -213,3 +228,8 @@ def DualRoot(ClientSystem, ServerSystem):
root = DualRoot(ClientSystem = LinuxAlphaSystem(readfile=script('netperf-stream-nt-client.rcS')),
ServerSystem = LinuxAlphaSystem(readfile=script('netperf-server.rcS')))
+m5.instantiate(root)
+
+exit_event = m5.simulate()
+
+print 'Exiting @', m5.curTick(), 'because', exit_event.getCause()
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()