From d82e0d11d12cdc75ab3c7a51a36630f5bd0c0e11 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Wed, 3 Nov 2004 20:46:33 -0500 Subject: 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 --- cpu/simple_cpu/simple_cpu.cc | 14 +++----------- cpu/simple_cpu/simple_cpu.hh | 3 --- 2 files changed, 3 insertions(+), 14 deletions(-) (limited to 'cpu/simple_cpu') diff --git a/cpu/simple_cpu/simple_cpu.cc b/cpu/simple_cpu/simple_cpu.cc index 8ea5798ea..6af67eee0 100644 --- a/cpu/simple_cpu/simple_cpu.cc +++ b/cpu/simple_cpu/simple_cpu.cc @@ -124,7 +124,7 @@ SimpleCPU::SimpleCPU(const string &_name, MemInterface *icache_interface, MemInterface *dcache_interface, bool _def_reg, Tick freq) - : BaseCPU(_name, /* number_of_threads */ 1, + : BaseCPU(_name, /* number_of_threads */ 1, _def_reg, max_insts_any_thread, max_insts_all_threads, max_loads_any_thread, max_loads_all_threads, _system, freq), @@ -137,12 +137,11 @@ SimpleCPU::SimpleCPU(const string &_name, Process *_process, MemInterface *icache_interface, MemInterface *dcache_interface, bool _def_reg) - : BaseCPU(_name, /* number_of_threads */ 1, + : BaseCPU(_name, /* number_of_threads */ 1, _def_reg, max_insts_any_thread, max_insts_all_threads, max_loads_any_thread, max_loads_all_threads), #endif - tickEvent(this), xc(NULL), defer_registration(_def_reg), - cacheCompletionEvent(this) + tickEvent(this), xc(NULL), cacheCompletionEvent(this) { _status = Idle; #ifdef FULL_SYSTEM @@ -176,13 +175,6 @@ SimpleCPU::~SimpleCPU() { } -void SimpleCPU::init() -{ - if (!defer_registration) { - this->registerExecContexts(); - } -} - void SimpleCPU::switchOut() { diff --git a/cpu/simple_cpu/simple_cpu.hh b/cpu/simple_cpu/simple_cpu.hh index d0000dc5b..1610d6060 100644 --- a/cpu/simple_cpu/simple_cpu.hh +++ b/cpu/simple_cpu/simple_cpu.hh @@ -158,7 +158,6 @@ class SimpleCPU : public BaseCPU #endif virtual ~SimpleCPU(); - virtual void init(); // execution context ExecContext *xc; @@ -178,8 +177,6 @@ class SimpleCPU : public BaseCPU // L1 data cache MemInterface *dcacheInterface; - bool defer_registration; - // current instruction MachInst inst; -- cgit v1.2.3