diff options
Diffstat (limited to 'configs/test/test.py')
-rw-r--r-- | configs/test/test.py | 56 |
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) |