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:
Kevin Lim 2006-07-27 17:49:00 -04:00
parent 53e17d0368
commit 08c0919b43
3 changed files with 14 additions and 10 deletions

View file

@ -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

View file

@ -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)

View file

@ -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.