se.py revision 2715
16019Shines@cs.fsu.edu# Simple test script 212299Sandreas.sandberg@arm.com# 37097Sgblack@eecs.umich.edu# Alpha: "m5 test.py" 47097Sgblack@eecs.umich.edu# MIPS: "m5 test.py -a Mips -c hello_mips" 57097Sgblack@eecs.umich.edu 67097Sgblack@eecs.umich.eduimport os, optparse, sys 77097Sgblack@eecs.umich.eduimport m5 87097Sgblack@eecs.umich.edufrom m5.objects import * 97097Sgblack@eecs.umich.edu 107097Sgblack@eecs.umich.edu# parse command-line arguments 117097Sgblack@eecs.umich.eduparser = optparse.OptionParser(option_list=m5.standardOptions) 127097Sgblack@eecs.umich.edu 137097Sgblack@eecs.umich.eduparser.add_option("-c", "--cmd", default="hello") 146019Shines@cs.fsu.eduparser.add_option("-t", "--timing", action="store_true") 156019Shines@cs.fsu.edu 166019Shines@cs.fsu.edu(options, args) = parser.parse_args() 176019Shines@cs.fsu.edu 186019Shines@cs.fsu.eduif args: 196019Shines@cs.fsu.edu print "Error: script doesn't take any positional arguments" 206019Shines@cs.fsu.edu sys.exit(1) 216019Shines@cs.fsu.edu 226019Shines@cs.fsu.edu# build configuration 236019Shines@cs.fsu.eduthis_dir = os.path.dirname(__file__) 246019Shines@cs.fsu.edu 256019Shines@cs.fsu.eduprocess = LiveProcess() 266019Shines@cs.fsu.eduprocess.executable = os.path.join(this_dir, options.cmd) 276019Shines@cs.fsu.eduprocess.cmd = options.cmd 286019Shines@cs.fsu.edu 296019Shines@cs.fsu.edumagicbus = Bus() 306019Shines@cs.fsu.edumem = PhysicalMemory() 316019Shines@cs.fsu.edu 326019Shines@cs.fsu.eduif options.timing: 336019Shines@cs.fsu.edu cpu = TimingSimpleCPU() 346019Shines@cs.fsu.eduelse: 356019Shines@cs.fsu.edu cpu = AtomicSimpleCPU() 366019Shines@cs.fsu.educpu.workload = process 376019Shines@cs.fsu.educpu.mem = magicbus 386019Shines@cs.fsu.edu 396019Shines@cs.fsu.edusystem = System(physmem = mem, cpu = cpu) 406019Shines@cs.fsu.edusystem.c1 = Connector(side_a = mem, side_b = magicbus) 416019Shines@cs.fsu.eduroot = Root(system = system) 426019Shines@cs.fsu.edu 436019Shines@cs.fsu.edu# instantiate configuration 446019Shines@cs.fsu.edum5.instantiate(root) 456019Shines@cs.fsu.edu 467720Sgblack@eecs.umich.edu# simulate until program terminates 476251Sgblack@eecs.umich.eduexit_event = m5.simulate() 4812334Sgabeblack@google.com 496214Snate@binkert.orgprint 'Exiting @', m5.curTick(), 'because', exit_event.getCause() 509023Sgblack@eecs.umich.edu 516019Shines@cs.fsu.edu