summaryrefslogtreecommitdiff
path: root/cpu/o3/lsq_impl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/o3/lsq_impl.hh')
-rw-r--r--cpu/o3/lsq_impl.hh19
1 files changed, 18 insertions, 1 deletions
diff --git a/cpu/o3/lsq_impl.hh b/cpu/o3/lsq_impl.hh
index 523517869..c43c19619 100644
--- a/cpu/o3/lsq_impl.hh
+++ b/cpu/o3/lsq_impl.hh
@@ -33,7 +33,6 @@ using namespace std;
template <class Impl>
LSQ<Impl>::LSQ(Params *params)
: LQEntries(params->LQEntries), SQEntries(params->SQEntries),
- loads(0), stores(0), storesToWB(0),
numThreads(params->numberOfThreads)
{
DPRINTF(LSQ, "Creating LSQ object.\n");
@@ -144,6 +143,24 @@ LSQ<Impl>::setPageTable(PageTable *pt_ptr)
#endif
template <class Impl>
+void
+LSQ<Impl>::switchOut()
+{
+ for (int tid = 0; tid < numThreads; tid++) {
+ thread[tid].switchOut();
+ }
+}
+
+template <class Impl>
+void
+LSQ<Impl>::takeOverFrom()
+{
+ for (int tid = 0; tid < numThreads; tid++) {
+ thread[tid].takeOverFrom();
+ }
+}
+
+template <class Impl>
int
LSQ<Impl>::entryAmount(int num_threads)
{