diff --git a/src/cpu/SConsopts b/src/cpu/SConsopts index 6a182f10d5..2dec0d5c48 100644 --- a/src/cpu/SConsopts +++ b/src/cpu/SConsopts @@ -25,29 +25,12 @@ Import('*') -class CpuModel(object): - '''The CpuModel class encapsulates everything the ISA parser needs to - know about a particular CPU model.''' - - # Dict of available CPU model objects. Accessible as CpuModel.dict. - dict = {} - - # Constructor. Automatically adds models to CpuModel.dict. - def __init__(self, name, default=False): - self.name = name # name of model - - # This cpu is enabled by default - self.default = default - - # Add self to dict - if name in CpuModel.dict: - raise AttributeError("CpuModel '%s' already registered" % name) - CpuModel.dict[name] = self +all_cpus = set() +def CpuModel(name): + all_cpus.add(name) Export('CpuModel') def add_cpu_models_var(): - sticky_vars.Add(ListVariable('CPU_MODELS', 'CPU models', - sorted(n for n,m in CpuModel.dict.items() if m.default), - sorted(CpuModel.dict.keys()))) + sticky_vars.Add(ListVariable('CPU_MODELS', 'CPU models', [], all_cpus)) AfterSConsopts(add_cpu_models_var) diff --git a/src/cpu/minor/SConsopts b/src/cpu/minor/SConsopts index 1038bfab45..9169ee9cda 100644 --- a/src/cpu/minor/SConsopts +++ b/src/cpu/minor/SConsopts @@ -37,4 +37,4 @@ Import('*') -CpuModel('MinorCPU', default=True) +CpuModel('MinorCPU') diff --git a/src/cpu/o3/SConsopts b/src/cpu/o3/SConsopts index 49ab3bbe92..0c0c56c0ee 100644 --- a/src/cpu/o3/SConsopts +++ b/src/cpu/o3/SConsopts @@ -28,4 +28,4 @@ Import('*') -CpuModel('O3CPU', default=True) +CpuModel('O3CPU') diff --git a/src/cpu/simple/SConsopts b/src/cpu/simple/SConsopts index 2f3b2ed6f3..5ebdf3093d 100644 --- a/src/cpu/simple/SConsopts +++ b/src/cpu/simple/SConsopts @@ -28,5 +28,5 @@ Import('*') -CpuModel('AtomicSimpleCPU', default=True) -CpuModel('TimingSimpleCPU', default=True) +CpuModel('AtomicSimpleCPU') +CpuModel('TimingSimpleCPU')