return self
-def makeDualRoot(testSystem, driveSystem, dumpfile):
- self = Root()
+def makeDualRoot(full_system, testSystem, driveSystem, dumpfile):
+ self = Root(full_system = full_system)
self.testsys = testSystem
self.drivesys = driveSystem
self.etherlink = EtherLink()
drive_sys.kernel = binary(options.kernel)
drive_sys.init_param = options.init_param
- root = makeDualRoot(test_sys, drive_sys, options.etherdump)
+ root = makeDualRoot(True, test_sys, drive_sys, options.etherdump)
elif len(bm) == 1:
- root = Root(system=test_sys)
+ root = Root(full_system=True, system=test_sys)
else:
print "Error I don't know how to create more than 2 systems."
sys.exit(1)
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
if options.atomic:
root.system.mem_mode = 'atomic'
else:
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
cpu.interrupts.pio = system.piobus.port
cpu.interrupts.int_port = system.piobus.port
-root = Root(system = system)
+root = Root(full_system = True, system = system)
Simulation.run(options, root, system, FutureClass)
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
if options.fastmem:
system.cpu[0].physmem_port = system.physmem.port
-root = Root(system = system)
+root = Root(full_system = False, system = system)
Simulation.run(options, root, system, FutureClass)
# Define the root
# ----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
# --------------------
# Pick the correct Splash2 Benchmarks
# Define the root
# ----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
# --------------------
# Pick the correct Splash2 Benchmarks
# Authors: Nathan Binkert
from m5.SimObject import SimObject
+from m5.defines import buildEnv
from m5.params import *
from m5.util import fatal
type = 'Root'
+ full_system = Param.Bool("if this is a full system simulation")
+
# Time syncing prevents the simulation from running faster than real time.
time_sync_enable = Param.Bool(False, "whether time syncing is enabled")
time_sync_period = Param.Clock("100ms", "how often to sync with real time")
#ifndef __SIM_FULL_SYSTEM_HH__
#define __SIM_FULL_SYSTEM_HH__
-#include "config/full_system.hh"
-
-static const bool FullSystem = FULL_SYSTEM;
+extern bool FullSystem;
#endif // __SIM_FULL_SYSTEM_HH__
#include "base/misc.hh"
#include "debug/TimeSync.hh"
+#include "sim/full_system.hh"
#include "sim/root.hh"
Root *Root::_root = NULL;
timeSyncEnable(params()->time_sync_enable);
}
+bool FullSystem;
+
Root *
RootParams::create()
{
created = true;
+ FullSystem = full_system;
+
return new Root(this);
}
system.physmem.port = system.membus.port
cpu.connectAllPorts(system.membus)
-root = Root(system = system)
+root = Root(full_system = False, system = system)
# run simulation
# -----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
#root.trace.flags="Cache CachePort MemoryAccess"
#root.trace.cycle=1
# run simulation
# -----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
root.system.mem_mode = 'timing'
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
#root.trace.flags="Bus Cache"
#root.trace.flags = "BusAddrRanges"
system.physmem.port = system.membus.port
cpu.connectAllPorts(system.membus)
-root = Root(system = system)
+root = Root(full_system = False, system = system)
system.physmem.port = system.membus.port
cpu.connectAllPorts(system.membus)
-root = Root(system = system)
+root = Root(full_system = False, system = system)
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root(full_system = False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
# run simulation
# -----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
root.system.mem_mode = 'atomic'
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'atomic'
system.cpu.connectAllPorts(system.membus)
system.cpu.clock = '2GHz'
-root = Root(system = system)
+root = Root(full_system = False, system = system)
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system=False, system = system )
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
# run simulation
# -----------------------
-root = Root( system = system )
+root = Root( full_system = False, system = system )
root.system.mem_mode = 'timing'
# run simulation
# -----------------------
-root = Root(system = system)
+root = Root(full_system = False, system = system)
root.system.mem_mode = 'timing'
# Not much point in this being higher than the L1 latency
cpu.connectAllPorts(system.membus)
cpu.clock = '2GHz'
-root = Root(system = system)
+root = Root(full_system=False, system = system)
system.cpu = cpu
cpu.connectAllPorts(system.membus)
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('2GHz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.connectAllPorts(system.toL2Bus, system.membus)
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.connectAllPorts(system.toL2Bus, system.membus)
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
c.connectAllPorts(system.toL2Bus, system.membus)
c.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
cpu.connectAllPorts(system.toL2Bus, system.membus)
cpu.clock = '2GHz'
-root = Root(system=system)
+root = Root(full_system=True, system=system)
m5.ticks.setGlobalFrequency('1THz')
drive_sys.iobridge.slave = drive_sys.iobus.port
drive_sys.iobridge.master = drive_sys.membus.port
-root = makeDualRoot(test_sys, drive_sys, "ethertrace")
+root = makeDualRoot(True, test_sys, drive_sys, "ethertrace")
maxtick = 199999999