summaryrefslogtreecommitdiff
path: root/src/cpu/thread_state.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-05-02 01:54:15 -0700
committerGabe Black <gabeblack@google.com>2019-05-30 14:20:03 +0000
commit74e494e1a28562245d9733df61739ea3cc32f92d (patch)
treebeb64021da7679ffcd96d84244ce5c8263ab1ebd /src/cpu/thread_state.cc
parent39896bd265cfab20ab512cf4bceed7b38eca9d91 (diff)
downloadgem5-74e494e1a28562245d9733df61739ea3cc32f92d.tar.xz
cpu: Store the translating proxy with the same pointer in SE or FS mode.
Only one is active at a time, so they can share the same pointer. Change-Id: Ie4ae1f0ffbf9448f6730f9c7d072bc85d6d423da Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18580 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Gabe Black <gabeblack@google.com> Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Diffstat (limited to 'src/cpu/thread_state.cc')
-rw-r--r--src/cpu/thread_state.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc
index c9fc56487..3396c75c7 100644
--- a/src/cpu/thread_state.cc
+++ b/src/cpu/thread_state.cc
@@ -49,7 +49,7 @@ ThreadState::ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process)
_contextId(0), _threadId(_tid), lastActivate(0), lastSuspend(0),
profile(NULL), profileNode(NULL), profilePC(0), quiesceEvent(NULL),
kernelStats(NULL), process(_process), physProxy(NULL), virtProxy(NULL),
- proxy(NULL), funcExeInst(0), storeCondFailures(0)
+ funcExeInst(0), storeCondFailures(0)
{
}
@@ -59,8 +59,6 @@ ThreadState::~ThreadState()
delete physProxy;
if (virtProxy != NULL)
delete virtProxy;
- if (proxy != NULL)
- delete proxy;
}
void
@@ -118,8 +116,8 @@ ThreadState::initMemProxies(ThreadContext *tc)
assert(virtProxy == NULL);
virtProxy = new FSTranslatingPortProxy(tc);
} else {
- assert(proxy == NULL);
- proxy = new SETranslatingPortProxy(baseCpu->getDataPort(),
+ assert(virtProxy == NULL);
+ virtProxy = new SETranslatingPortProxy(baseCpu->getDataPort(),
process,
SETranslatingPortProxy::NextPage);
}
@@ -145,8 +143,8 @@ PortProxy &
ThreadState::getMemProxy()
{
assert(!FullSystem);
- assert(proxy != NULL);
- return *proxy;
+ assert(virtProxy != NULL);
+ return *virtProxy;
}
void