o3-smt: enforce numThreads parameter for SMT SE mode

This commit is contained in:
Korey Sewell 2009-07-25 00:50:27 -04:00
parent e7a3bda497
commit 44f80e7ca5
2 changed files with 8 additions and 4 deletions

View file

@ -124,6 +124,7 @@ if options.detailed:
(CPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(options)
CPUClass.clock = '2GHz'
CPUClass.numThreads = len(workloads)
np = options.num_cpus

View file

@ -51,14 +51,17 @@ DerivO3CPUParams::create()
// Full-system only supports a single thread for the moment.
ThreadID actual_num_threads = 1;
#else
if (workload.size() > numThreads) {
fatal("Workload Size (%i) > Max Supported Threads (%i) on This CPU",
workload.size(), numThreads);
} else if (workload.size() == 0) {
fatal("Must specify at least one workload!");
}
// In non-full-system mode, we infer the number of threads from
// the workload if it's not explicitly specified.
ThreadID actual_num_threads =
(numThreads >= workload.size()) ? numThreads : workload.size();
if (workload.size() == 0) {
fatal("Must specify at least one workload!");
}
#endif
numThreads = actual_num_threads;