Clean up some more config stuff.
configs/common/FSConfig.py: Clean up some code to make functions look less like classes. Also put makeList function (formerly listWrapper) into m5 itself. configs/test/fs.py: Update for changed code. src/python/m5/__init__.py: Put makeList into m5. --HG-- extra : convert_revision : 731806a7486f9abf986f52926126df666b024b1d
This commit is contained in:
parent
53e17d0368
commit
08c0919b43
3 changed files with 14 additions and 10 deletions
|
@ -27,6 +27,7 @@
|
||||||
# Authors: Kevin Lim
|
# Authors: Kevin Lim
|
||||||
|
|
||||||
import m5
|
import m5
|
||||||
|
from m5 import makeList
|
||||||
from m5.objects import *
|
from m5.objects import *
|
||||||
from FullO3Config import *
|
from FullO3Config import *
|
||||||
from SysPaths import *
|
from SysPaths import *
|
||||||
|
@ -49,7 +50,7 @@ class BaseTsunami(Tsunami):
|
||||||
ide = IdeController(disks=[Parent.disk0, Parent.disk2],
|
ide = IdeController(disks=[Parent.disk0, Parent.disk2],
|
||||||
pci_func=0, pci_dev=0, pci_bus=0)
|
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 = LinuxAlphaSystem()
|
||||||
self.iobus = Bus(bus_id=0)
|
self.iobus = Bus(bus_id=0)
|
||||||
self.membus = Bus(bus_id=1)
|
self.membus = Bus(bus_id=1)
|
||||||
|
@ -76,7 +77,7 @@ def MyLinuxAlphaSystem(cpu, mem_mode, linux_image, icache=None, dcache=None, l2c
|
||||||
self.cpu = cpu
|
self.cpu = cpu
|
||||||
self.mem_mode = mem_mode
|
self.mem_mode = mem_mode
|
||||||
connectCpu(self.cpu, self.membus, icache, dcache, l2cache)
|
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.itb = AlphaITB()
|
||||||
each_cpu.dtb = AlphaDTB()
|
each_cpu.dtb = AlphaDTB()
|
||||||
self.cpu.clock = '2GHz'
|
self.cpu.clock = '2GHz'
|
||||||
|
@ -88,10 +89,7 @@ def MyLinuxAlphaSystem(cpu, mem_mode, linux_image, icache=None, dcache=None, l2c
|
||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
class TsunamiRoot(Root):
|
def makeDualRoot(clientSystem, serverSystem):
|
||||||
pass
|
|
||||||
|
|
||||||
def DualRoot(clientSystem, serverSystem):
|
|
||||||
self = Root()
|
self = Root()
|
||||||
self.client = clientSystem
|
self.client = clientSystem
|
||||||
self.server = serverSystem
|
self.server = serverSystem
|
||||||
|
|
|
@ -36,13 +36,14 @@ else:
|
||||||
mem_mode = 'atomic'
|
mem_mode = 'atomic'
|
||||||
|
|
||||||
if options.dual:
|
if options.dual:
|
||||||
root = DualRoot(
|
root = makeDualRoot(
|
||||||
MyLinuxAlphaSystem(cpu, mem_mode, linux_image),
|
makeLinuxAlphaSystem(cpu, mem_mode, linux_image),
|
||||||
MyLinuxAlphaSystem(cpu2, mem_mode, linux_image))
|
makeLinuxAlphaSystem(cpu2, mem_mode, linux_image))
|
||||||
root.client.readfile = script('netperf-stream-nt-client.rcS')
|
root.client.readfile = script('netperf-stream-nt-client.rcS')
|
||||||
root.server.readfile = script('netperf-server.rcS')
|
root.server.readfile = script('netperf-server.rcS')
|
||||||
else:
|
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)
|
m5.instantiate(root)
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,11 @@ def panic(string):
|
||||||
print >>sys.stderr, 'panic:', string
|
print >>sys.stderr, 'panic:', string
|
||||||
sys.exit(1)
|
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
|
# Prepend given directory to system module search path. We may not
|
||||||
# need this anymore if we can structure our config library more like a
|
# need this anymore if we can structure our config library more like a
|
||||||
# Python package.
|
# Python package.
|
||||||
|
|
Loading…
Reference in a new issue