From 6ff6621f20eb6513e12c769f601dba0b47b47697 Mon Sep 17 00:00:00 2001 From: Kevin Lim Date: Wed, 4 Apr 2007 15:38:59 -0400 Subject: Pass ISA-specific O3 CPU as a constructor parameter instead of using setCPU functions. src/cpu/o3/alpha/cpu_impl.hh: Pass ISA-specific O3 CPU to FullO3CPU as a constructor parameter instead of using setCPU functions. --HG-- extra : convert_revision : 74f4b1f5fb6f95a56081f367cce7ff44acb5688a --- src/cpu/o3/iew_impl.hh | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'src/cpu/o3/iew_impl.hh') diff --git a/src/cpu/o3/iew_impl.hh b/src/cpu/o3/iew_impl.hh index d2948a525..62e656e93 100644 --- a/src/cpu/o3/iew_impl.hh +++ b/src/cpu/o3/iew_impl.hh @@ -39,10 +39,11 @@ #include "cpu/o3/iew.hh" template -DefaultIEW::DefaultIEW(Params *params) +DefaultIEW::DefaultIEW(O3CPU *_cpu, Params *params) : issueToExecQueue(params->backComSize, params->forwardComSize), - instQueue(params), - ldstQueue(params), + cpu(_cpu), + instQueue(_cpu, this, params), + ldstQueue(_cpu, this, params), fuPool(params->fuPool), commitToIEWDelay(params->commitToIEWDelay), renameToIEWDelay(params->renameToIEWDelay), @@ -64,9 +65,6 @@ DefaultIEW::DefaultIEW(Params *params) // Instruction queue needs the queue between issue and execute. instQueue.setIssueToExecuteQueue(&issueToExecQueue); - instQueue.setIEW(this); - ldstQueue.setIEW(this); - for (int i=0; i < numThreads; i++) { dispatchStatus[i] = Running; stalls[i].commit = false; @@ -276,17 +274,6 @@ DefaultIEW::initStage() toRename->iewInfo[tid].freeLSQEntries = ldstQueue.numFreeEntries(tid); } -} - -template -void -DefaultIEW::setCPU(O3CPU *cpu_ptr) -{ - cpu = cpu_ptr; - DPRINTF(IEW, "Setting CPU pointer.\n"); - - instQueue.setCPU(cpu_ptr); - ldstQueue.setCPU(cpu_ptr); cpu->activateStage(O3CPU::IEWIdx); } -- cgit v1.2.3