More restructuring of regression tests.
Moving work back to zizzer...
configs/common/FSConfig.py:
configs/test/fs.py:
Move CPU connections out of makeLinuxAlphaSystem()
src/python/m5/objects/BaseCPU.py:
Create default TLBs in full system.
Move utility cache functions here.
src/python/m5/objects/O3CPU.py:
Add _mem_ports
tests/run.py:
Add binpath()
Change maxtick default to 'forever'
tests/simple-atomic.py:
Use connectmemPorts()
tests/simple-timing.py:
Fix up.
--HG--
rename : tests/quick/eio1/ref/alpha/eio/detailed/config.ini => tests/quick/20.eio-short/ref/alpha/eio/detailed/config.ini
rename : tests/quick/eio1/ref/alpha/eio/detailed/config.out => tests/quick/20.eio-short/ref/alpha/eio/detailed/config.out
rename : tests/quick/eio1/ref/alpha/eio/detailed/m5stats.txt => tests/quick/20.eio-short/ref/alpha/eio/detailed/m5stats.txt
rename : tests/quick/eio1/ref/alpha/eio/detailed/stderr => tests/quick/20.eio-short/ref/alpha/eio/detailed/stderr
rename : tests/quick/eio1/ref/alpha/eio/detailed/stdout => tests/quick/20.eio-short/ref/alpha/eio/detailed/stdout
rename : tests/quick/eio1/ref/alpha/eio/simple-atomic/config.ini => tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/config.ini
rename : tests/quick/eio1/ref/alpha/eio/simple-atomic/config.out => tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/config.out
rename : tests/quick/eio1/ref/alpha/eio/simple-atomic/m5stats.txt => tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/m5stats.txt
rename : tests/quick/eio1/ref/alpha/eio/simple-atomic/stderr => tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/stderr
rename : tests/quick/eio1/ref/alpha/eio/simple-atomic/stdout => tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/stdout
rename : tests/quick/eio1/ref/alpha/eio/simple-timing/config.ini => tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.ini
rename : tests/quick/eio1/ref/alpha/eio/simple-timing/config.out => tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.out
rename : tests/quick/eio1/ref/alpha/eio/simple-timing/m5stats.txt => tests/quick/20.eio-short/ref/alpha/eio/simple-timing/m5stats.txt
rename : tests/quick/eio1/ref/alpha/eio/simple-timing/stderr => tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stderr
rename : tests/quick/eio1/ref/alpha/eio/simple-timing/stdout => tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stdout
rename : tests/quick/eio1/test.py => tests/quick/20.eio-short/test.py
rename : configs/test/hello => tests/test-progs/hello/bin/alpha/linux/hello
rename : configs/test/hello_mips => tests/test-progs/hello/bin/mips/linux/hello_mips
rename : configs/test/sparc_tests/hello_sparc => tests/test-progs/hello/bin/sparc/bin
extra : convert_revision : 1f891392ecc11ffcc3b3182fa673c401c0efc8a5
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from m5 import build_env
|
||||
from m5.config import *
|
||||
from AlphaTLB import AlphaDTB, AlphaITB
|
||||
from Bus import Bus
|
||||
|
||||
class BaseCPU(SimObject):
|
||||
type = 'BaseCPU'
|
||||
@@ -8,8 +10,8 @@ class BaseCPU(SimObject):
|
||||
|
||||
system = Param.System(Parent.any, "system object")
|
||||
if build_env['FULL_SYSTEM']:
|
||||
dtb = Param.AlphaDTB("Data TLB")
|
||||
itb = Param.AlphaITB("Instruction TLB")
|
||||
dtb = Param.AlphaDTB(AlphaDTB(), "Data TLB")
|
||||
itb = Param.AlphaITB(AlphaITB(), "Instruction TLB")
|
||||
cpu_id = Param.Int(-1, "CPU identifier")
|
||||
else:
|
||||
workload = VectorParam.Process("processes to run")
|
||||
@@ -27,3 +29,25 @@ class BaseCPU(SimObject):
|
||||
"defer registration with system (for sampling)")
|
||||
|
||||
clock = Param.Clock(Parent.clock, "clock speed")
|
||||
|
||||
_mem_ports = []
|
||||
|
||||
def connectMemPorts(self, bus):
|
||||
for p in self._mem_ports:
|
||||
exec('self.%s = bus.port' % p)
|
||||
|
||||
def addPrivateSplitL1Caches(self, ic, dc):
|
||||
assert(len(self._mem_ports) == 2)
|
||||
self.icache = ic
|
||||
self.dcache = dc
|
||||
self.icache_port = ic.cpu_side
|
||||
self.dcache_port = dc.cpu_side
|
||||
self._mem_ports = ['icache.mem_side', 'dcache.mem_side']
|
||||
|
||||
def addTwoLevelCacheHierarchy(self, ic, dc, l2c):
|
||||
self.addPrivateSplitL1Caches(ic, dc)
|
||||
self.toL2Bus = Bus()
|
||||
self.connectMemPorts(self.toL2Bus)
|
||||
self.l2cache = l2c
|
||||
self.l2cache.cpu_side = toL2Bus.port
|
||||
self._mem_ports = ['l2cache.mem_side']
|
||||
|
||||
@@ -22,6 +22,7 @@ class DerivO3CPU(BaseCPU):
|
||||
cachePorts = Param.Unsigned("Cache Ports")
|
||||
icache_port = Port("Instruction Port")
|
||||
dcache_port = Port("Data Port")
|
||||
_mem_ports = ['icache_port', 'dcache_port']
|
||||
|
||||
decodeToFetchDelay = Param.Unsigned(1, "Decode to fetch delay")
|
||||
renameToFetchDelay = Param.Unsigned(1 ,"Rename to fetch delay")
|
||||
|
||||
Reference in New Issue
Block a user