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.py56
1 files changed, 22 insertions, 34 deletions
diff --git a/configs/test/test.py b/configs/test/test.py
index a2c9f8bb0..9d780547b 100644
--- a/configs/test/test.py
+++ b/configs/test/test.py
@@ -1,30 +1,27 @@
# Simple test script
#
# Alpha: "m5 test.py"
-# MIPS: "m5 test.py -a Mips -c hello_mips"
-
-import os, optparse, sys
+# MIPS: "m5 test.py -c hello_mips"
import m5
-from m5.objects import *
+import os, optparse, sys
+m5.AddToPath('../common')
+from SEConfig import *
from FullO3Config import *
+from m5.objects import *
-# parse command-line arguments
parser = optparse.OptionParser()
parser.add_option("-c", "--cmd", default="hello",
- help="The binary to run in syscall emulation mode.")
+ help="The binary to run in syscall emulation mode.")
parser.add_option("-o", "--options", default="",
- help="The options to pass to the binary, use \" \" around the entire\
- string.")
+ help="The options to pass to the binary, use \" \" around the entire\
+ string.")
parser.add_option("-i", "--input", default="",
- help="A file of input to give to the binary.")
-parser.add_option("-t", "--timing", action="store_true",
- help="Use simple timing CPU.")
-parser.add_option("-d", "--detailed", action="store_true",
- help="Use detailed CPU.")
-parser.add_option("-m", "--maxtick", type="int",
- help="Set the maximum number of ticks to run for")
+ help="A file of input to give to the binary.")
+parser.add_option("-d", "--detailed", action="store_true")
+parser.add_option("-t", "--timing", action="store_true")
+parser.add_option("-m", "--maxtick", type="int")
(options, args) = parser.parse_args()
@@ -32,7 +29,6 @@ if args:
print "Error: script doesn't take any positional arguments"
sys.exit(1)
-# build configuration
this_dir = os.path.dirname(__file__)
process = LiveProcess()
@@ -41,16 +37,7 @@ process.cmd = options.cmd + " " + options.options
if options.input != "":
process.input = options.input
-magicbus = Bus()
-mem = PhysicalMemory()
-
-if options.timing and options.detailed:
- print "Error: you may only specify one cpu model";
- sys.exit(1)
-
-if options.timing:
- cpu = TimingSimpleCPU()
-elif options.detailed:
+if options.detailed:
#check for SMT workload
workloads = options.cmd.split(';')
if len(workloads) > 1:
@@ -70,17 +57,18 @@ elif options.detailed:
process += [smt_process, ]
smt_idx += 1
+
+if options.timing:
+ cpu = TimingSimpleCPU()
+elif options.detailed:
cpu = DetailedO3CPU()
else:
cpu = AtomicSimpleCPU()
-cpu.workload = process
-cpu.mem = magicbus
-cpu.icache_port=magicbus.port
-cpu.dcache_port=magicbus.port
-
-system = System(physmem = mem, cpu = cpu)
-mem.port = magicbus.port
-root = Root(system = system)
+
+root = MySESystem(cpu, process)
+
+if options.timing or options.detailed:
+ root.system.mem_mode = 'timing'
# instantiate configuration
m5.instantiate(root)