summaryrefslogtreecommitdiff
path: root/src/cpu/o3/rob_impl.hh
diff options
context:
space:
mode:
authorFaissal Sleiman <Faissal.Sleiman@arm.com>2013-10-31 13:41:13 -0500
committerFaissal Sleiman <Faissal.Sleiman@arm.com>2013-10-31 13:41:13 -0500
commit397dc784fd44860cf9f58ebf453769e5e2bd830b (patch)
treef0b648277015ecf7d5ce0f5d06f2b11379c5e225 /src/cpu/o3/rob_impl.hh
parent15938e049267d87e4272aa863741e56eba883117 (diff)
downloadgem5-397dc784fd44860cf9f58ebf453769e5e2bd830b.tar.xz
cpu: Construct ROB with cpu params struct instead of each variable
Most other structures/stages get passed the cpu params struct.
Diffstat (limited to 'src/cpu/o3/rob_impl.hh')
-rw-r--r--src/cpu/o3/rob_impl.hh15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/cpu/o3/rob_impl.hh b/src/cpu/o3/rob_impl.hh
index c8ceb2909..c047981a7 100644
--- a/src/cpu/o3/rob_impl.hh
+++ b/src/cpu/o3/rob_impl.hh
@@ -49,20 +49,19 @@
#include "cpu/o3/rob.hh"
#include "debug/Fetch.hh"
#include "debug/ROB.hh"
+#include "params/DerivO3CPU.hh"
using namespace std;
template <class Impl>
-ROB<Impl>::ROB(O3CPU *_cpu, unsigned _numEntries, unsigned _squashWidth,
- std::string _smtROBPolicy, unsigned _smtROBThreshold,
- ThreadID _numThreads)
+ROB<Impl>::ROB(O3CPU *_cpu, DerivO3CPUParams *params)
: cpu(_cpu),
- numEntries(_numEntries),
- squashWidth(_squashWidth),
+ numEntries(params->numROBEntries),
+ squashWidth(params->squashWidth),
numInstsInROB(0),
- numThreads(_numThreads)
+ numThreads(params->numThreads)
{
- std::string policy = _smtROBPolicy;
+ std::string policy = params->smtROBPolicy;
//Convert string to lowercase
std::transform(policy.begin(), policy.end(), policy.begin(),
@@ -93,7 +92,7 @@ ROB<Impl>::ROB(O3CPU *_cpu, unsigned _numEntries, unsigned _squashWidth,
robPolicy = Threshold;
DPRINTF(Fetch, "ROB sharing policy set to Threshold\n");
- int threshold = _smtROBThreshold;;
+ int threshold = params->smtROBThreshold;;
//Divide up by threshold amount
for (ThreadID tid = 0; tid < numThreads; tid++) {