diff options
author | Nathan Binkert <binkertn@umich.edu> | 2004-11-03 20:46:33 -0500 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2004-11-03 20:46:33 -0500 |
commit | d82e0d11d12cdc75ab3c7a51a36630f5bd0c0e11 (patch) | |
tree | 64a77bbf08c9bfe7e7d21a8bf3ea5d2ff2a7495c /cpu/base_cpu.cc | |
parent | 129b885abd30e72c0b3e19787da385af4af6e53e (diff) | |
download | gem5-d82e0d11d12cdc75ab3c7a51a36630f5bd0c0e11.tar.xz |
make activation of exec contexts happen in startup
the registration stuff all moves into BaseCPU
cpu/base_cpu.cc:
Move the registration stuff into the BaseCPU since all
other CPUs use it.
cpu/base_cpu.hh:
Move the defer registration stuff into the BaseCPU since all
other CPUs use it.
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
registration stuff moved to base class
sim/system.cc:
the activation of exec contexts should happen at startup, not
when they are registered.
sim/system.hh:
the system now has a startup function
--HG--
extra : convert_revision : bb6a7c2da5a1ecf5fe7ede1078200bfe5245f8ef
Diffstat (limited to 'cpu/base_cpu.cc')
-rw-r--r-- | cpu/base_cpu.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/cpu/base_cpu.cc b/cpu/base_cpu.cc index 8a9c9a102..7fb8b414f 100644 --- a/cpu/base_cpu.cc +++ b/cpu/base_cpu.cc @@ -47,21 +47,22 @@ vector<BaseCPU *> BaseCPU::cpuList; int maxThreadsPerCPU = 1; #ifdef FULL_SYSTEM -BaseCPU::BaseCPU(const string &_name, int _number_of_threads, +BaseCPU::BaseCPU(const string &_name, int _number_of_threads, bool _def_reg, Counter max_insts_any_thread, Counter max_insts_all_threads, Counter max_loads_any_thread, Counter max_loads_all_threads, System *_system, Tick freq) - : SimObject(_name), frequency(freq), + : SimObject(_name), frequency(freq), deferRegistration(_def_reg), number_of_threads(_number_of_threads), system(_system) #else -BaseCPU::BaseCPU(const string &_name, int _number_of_threads, +BaseCPU::BaseCPU(const string &_name, int _number_of_threads, bool _def_reg, Counter max_insts_any_thread, Counter max_insts_all_threads, Counter max_loads_any_thread, Counter max_loads_all_threads) - : SimObject(_name), number_of_threads(_number_of_threads) + : SimObject(_name), deferRegistration(_def_reg), + number_of_threads(_number_of_threads) #endif { // add self to global list of CPUs @@ -126,6 +127,12 @@ BaseCPU::BaseCPU(const string &_name, int _number_of_threads, #endif } +void +BaseCPU::init() +{ + if (!deferRegistration) + registerExecContexts(); +} void BaseCPU::regStats() |