cpu: Add support for CMOs in the cpu models
[gem5.git] / src / cpu / simple / BaseSimpleCPU.py
index ea2c642e644597557d4c3321ead89d4c231d24cd..7298724ea4f40a6530bfcc7c1bb5c1560968c807 100644 (file)
 from m5.defines import buildEnv
 from m5.params import *
 from BaseCPU import BaseCPU
-
-if buildEnv['USE_CHECKER']:
-    from DummyChecker import DummyChecker
+from DummyChecker import DummyChecker
+from BranchPredictor import *
 
 class BaseSimpleCPU(BaseCPU):
     type = 'BaseSimpleCPU'
     abstract = True
+    cxx_header = "cpu/simple/base.hh"
+
+    def addCheckerCpu(self):
+        if buildEnv['TARGET_ISA'] in ['arm']:
+            from ArmTLB import ArmTLB
+
+            self.checker = DummyChecker(workload = self.workload)
+            self.checker.itb = ArmTLB(size = self.itb.size)
+            self.checker.dtb = ArmTLB(size = self.dtb.size)
+        else:
+            print "ERROR: Checker only supported under ARM ISA!"
+            exit(1)
 
-    if buildEnv['USE_CHECKER']:
-        checker = Param.BaseCPU(DummyChecker(), "checker")
-        checker.itb = BaseCPU.itb
-        checker.dtb = BaseCPU.dtb
+    branchPred = Param.BranchPredictor(NULL, "Branch Predictor")