22504f8b48
See configs/test.py for test config (using simple binary in my home directory on zizzer). base/chunk_generator.hh: Fix assertion for chunkSize == 0 (not a power of 2) base/intmath.hh: Fix roundDown to take integer alignments. cpu/base.cc: Register exec contexts regardless of state (not sure why this check was in here in the first place). mem/physical.cc: Add breaks to switch. python/m5/objects/BaseCPU.py: Default mem to Parent.any (e.g. get from System). python/m5/objects/Ethernet.py: python/m5/objects/Root.py: HierParams is gone. python/m5/objects/PhysicalMemory.py: mmu param is full-system only. sim/process.cc: Stack mapping request must be page-aligned and page-sized. Don't delete objFile object in create since we are counting on it being around for startup(). --HG-- extra : convert_revision : 90c43ee927e7d82a045d6e10302d965797d006f7
27 lines
1,023 B
Python
27 lines
1,023 B
Python
from m5 import *
|
|
class BaseCPU(SimObject):
|
|
type = 'BaseCPU'
|
|
abstract = True
|
|
|
|
if build_env['FULL_SYSTEM']:
|
|
dtb = Param.AlphaDTB("Data TLB")
|
|
itb = Param.AlphaITB("Instruction TLB")
|
|
system = Param.System(Parent.any, "system object")
|
|
cpu_id = Param.Int(-1, "CPU identifier")
|
|
else:
|
|
mem = Param.Memory(Parent.any, "memory")
|
|
workload = VectorParam.Process("processes to run")
|
|
|
|
max_insts_all_threads = Param.Counter(0,
|
|
"terminate when all threads have reached this inst count")
|
|
max_insts_any_thread = Param.Counter(0,
|
|
"terminate when any thread reaches this inst count")
|
|
max_loads_all_threads = Param.Counter(0,
|
|
"terminate when all threads have reached this load count")
|
|
max_loads_any_thread = Param.Counter(0,
|
|
"terminate when any thread reaches this load count")
|
|
|
|
defer_registration = Param.Bool(False,
|
|
"defer registration with system (for sampling)")
|
|
|
|
clock = Param.Clock(Parent.clock, "clock speed")
|