summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2012-01-16 04:27:10 -0800
committerGabe Black <gblack@eecs.umich.edu>2012-01-16 04:27:10 -0800
commitda2a4acc26ba264c3c4a12495776fd6a1c4fb133 (patch)
treef142100388b9d1403492c97b0d323728ce18ef8a /configs
parent241cc0c8402f1b9f2ec20d1cc152d96930959b2a (diff)
parenta7394ad6807bd5e85f680184bf308673ca00534a (diff)
downloadgem5-da2a4acc26ba264c3c4a12495776fd6a1c4fb133.tar.xz
Merge yet again with the main repository.
Diffstat (limited to 'configs')
-rw-r--r--configs/common/FSConfig.py9
-rw-r--r--configs/common/Options.py9
-rw-r--r--configs/common/Simulation.py10
-rw-r--r--configs/common/cpu2000.py2
-rw-r--r--configs/example/fs.py7
-rw-r--r--configs/ruby/Ruby.py6
6 files changed, 33 insertions, 10 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 3e0a3df2e..f54d63852 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -483,6 +483,15 @@ def makeDualRoot(testSystem, driveSystem, dumpfile):
self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface
self.etherlink.int1 = Parent.drivesys.tsunami.ethernet.interface
+ if hasattr(testSystem, 'realview'):
+ self.etherlink.int0 = Parent.testsys.realview.ethernet.interface
+ self.etherlink.int1 = Parent.drivesys.realview.ethernet.interface
+ elif hasattr(testSystem, 'tsunami'):
+ self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface
+ self.etherlink.int1 = Parent.drivesys.tsunami.ethernet.interface
+ else:
+ fatal("Don't know how to connect these system together")
+
if dumpfile:
self.etherdump = EtherDump(file=dumpfile)
self.etherlink.dump = Parent.etherdump
diff --git a/configs/common/Options.py b/configs/common/Options.py
index d5ea85090..1941875bc 100644
--- a/configs/common/Options.py
+++ b/configs/common/Options.py
@@ -27,7 +27,7 @@
# Authors: Lisa Hsu
# system options
-parser.add_option("-c", "--cpu-type", type="choice", default="atomic",
+parser.add_option("--cpu-type", type="choice", default="atomic",
choices = ["atomic", "timing", "detailed", "inorder"],
help = "type of cpu to run with")
parser.add_option("-n", "--num-cpus", type="int", default=1)
@@ -63,7 +63,8 @@ parser.add_option("--work-end-exit-count", action="store", type="int",
help="exit at specified work end count")
parser.add_option("--work-begin-exit-count", action="store", type="int",
help="exit at specified work begin count")
-
+parser.add_option("--init-param", action="store", type="int", default=0,
+ help="Parameter available in simulation with m5 initparam")
# Checkpointing options
###Note that performing checkpointing via python script files will override
@@ -84,6 +85,10 @@ parser.add_option("--work-end-checkpoint-count", action="store", type="int",
help="checkpoint at specified work end count")
parser.add_option("--work-cpus-checkpoint-count", action="store", type="int",
help="checkpoint and exit when active cpu count is reached")
+parser.add_option("--restore-with-cpu", action="store", type="choice",
+ default="atomic", choices = ["atomic", "timing",
+ "detailed", "inorder"],
+ help = "cpu type for restoring from a checkpoint")
# CPU Switching - default switch model goes from a checkpoint
diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py
index 1897fa8cb..434fe8369 100644
--- a/configs/common/Simulation.py
+++ b/configs/common/Simulation.py
@@ -60,7 +60,15 @@ def setCPUClass(options):
test_mem_mode = 'atomic'
if not atomic:
- if options.checkpoint_restore != None or options.fast_forward:
+ if options.checkpoint_restore != None:
+ if options.restore_with_cpu != options.cpu_type:
+ CPUClass = TmpClass
+ class TmpClass(AtomicSimpleCPU): pass
+ else:
+ if options.restore_with_cpu != "atomic":
+ test_mem_mode = 'timing'
+
+ elif options.fast_forward:
CPUClass = TmpClass
class TmpClass(AtomicSimpleCPU): pass
else:
diff --git a/configs/common/cpu2000.py b/configs/common/cpu2000.py
index a8cc0ce5f..443399234 100644
--- a/configs/common/cpu2000.py
+++ b/configs/common/cpu2000.py
@@ -731,7 +731,7 @@ class vpr_route(vpr):
'-first_iter_pres_fac', '4', '-initial_pres_fac', '8' ]
output = 'route_log.out'
-all = [ ammp, applu, apsi, art110, art470, equake, facerec, fma3d, galgel,
+all = [ ammp, applu, apsi, art, art110, art470, equake, facerec, fma3d, galgel,
lucas, mesa, mgrid, sixtrack, swim, wupwise, bzip2_source,
bzip2_graphic, bzip2_program, crafty, eon_kajiya, eon_cook,
eon_rushmeier, gap, gcc_166, gcc_200, gcc_expr, gcc_integrate,
diff --git a/configs/example/fs.py b/configs/example/fs.py
index 5945e5d9b..05e35c4ba 100644
--- a/configs/example/fs.py
+++ b/configs/example/fs.py
@@ -151,6 +151,8 @@ if options.kernel is not None:
if options.script is not None:
test_sys.readfile = options.script
+test_sys.init_param = options.init_param
+
test_sys.cpu = [TestCPUClass(cpu_id=i) for i in xrange(np)]
CacheConfig.config_cache(options, test_sys)
@@ -190,8 +192,8 @@ if len(bm) == 2:
elif buildEnv['TARGET_ISA'] == 'x86':
drive_sys = makeX86System(drive_mem_mode, np, bm[1])
elif buildEnv['TARGET_ISA'] == 'arm':
- drive_sys = makeArmSystem(drive_mem_mode,
- machine_options.machine_type, bm[1])
+ drive_sys = makeArmSystem(drive_mem_mode, options.machine_type, bm[1])
+
drive_sys.cpu = DriveCPUClass(cpu_id=0)
drive_sys.cpu.connectAllPorts(drive_sys.membus)
if options.fastmem:
@@ -199,6 +201,7 @@ if len(bm) == 2:
if options.kernel is not None:
drive_sys.kernel = binary(options.kernel)
+ drive_sys.init_param = options.init_param
root = makeDualRoot(test_sys, drive_sys, options.etherdump)
elif len(bm) == 1:
root = Root(system=test_sys)
diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index 1562c531c..a07bea1bb 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -67,7 +67,8 @@ def define_options(parser):
def create_system(options, system, piobus = None, dma_devices = []):
system.ruby = RubySystem(clock = options.clock,
- stats_filename = options.ruby_stats)
+ stats_filename = options.ruby_stats,
+ no_mem_vec = options.use_map)
ruby = system.ruby
protocol = buildEnv['PROTOCOL']
@@ -154,11 +155,8 @@ def create_system(options, system, piobus = None, dma_devices = []):
ruby_profiler = RubyProfiler(ruby_system = ruby,
num_of_sequencers = len(cpu_sequencers))
- ruby_tracer = RubyTracer(ruby_system = ruby)
-
ruby.network = network
ruby.profiler = ruby_profiler
- ruby.tracer = ruby_tracer
ruby.mem_size = total_mem_size
ruby._cpu_ruby_ports = cpu_sequencers
ruby.random_seed = options.random_seed