# Authors: Kevin Lim
import m5
+from m5 import makeList
from m5.objects import *
from FullO3Config import *
from SysPaths import *
ide = IdeController(disks=[Parent.disk0, Parent.disk2],
pci_func=0, pci_dev=0, pci_bus=0)
-def MyLinuxAlphaSystem(cpu, mem_mode, linux_image, icache=None, dcache=None, l2cache=None):
+def makeLinuxAlphaSystem(cpu, mem_mode, linux_image, icache=None, dcache=None, l2cache=None):
self = LinuxAlphaSystem()
self.iobus = Bus(bus_id=0)
self.membus = Bus(bus_id=1)
self.cpu = cpu
self.mem_mode = mem_mode
connectCpu(self.cpu, self.membus, icache, dcache, l2cache)
- for each_cpu in listWrapper(self.cpu):
+ for each_cpu in makeList(self.cpu):
each_cpu.itb = AlphaITB()
each_cpu.dtb = AlphaDTB()
self.cpu.clock = '2GHz'
return self
-class TsunamiRoot(Root):
- pass
-
-def DualRoot(clientSystem, serverSystem):
+def makeDualRoot(clientSystem, serverSystem):
self = Root()
self.client = clientSystem
self.server = serverSystem
mem_mode = 'atomic'
if options.dual:
- root = DualRoot(
- MyLinuxAlphaSystem(cpu, mem_mode, linux_image),
- MyLinuxAlphaSystem(cpu2, mem_mode, linux_image))
+ root = makeDualRoot(
+ makeLinuxAlphaSystem(cpu, mem_mode, linux_image),
+ makeLinuxAlphaSystem(cpu2, mem_mode, linux_image))
root.client.readfile = script('netperf-stream-nt-client.rcS')
root.server.readfile = script('netperf-server.rcS')
else:
- root = TsunamiRoot(clock = '1THz', system = MyLinuxAlphaSystem(cpu, mem_mode, linux_image))
+ root = Root(clock = '1THz',
+ system = makeLinuxAlphaSystem(cpu, mem_mode, linux_image))
m5.instantiate(root)
print >>sys.stderr, 'panic:', string
sys.exit(1)
+def makeList(objOrList):
+ if isinstance(objOrList, list):
+ return objOrList
+ return [objOrList]
+
# Prepend given directory to system module search path. We may not
# need this anymore if we can structure our config library more like a
# Python package.