summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/base.cc10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/cpu/base.cc b/src/cpu/base.cc
index 3e899d993..4845cbfaf 100644
--- a/src/cpu/base.cc
+++ b/src/cpu/base.cc
@@ -285,10 +285,9 @@ BaseCPU::registerThreadContexts()
for (int i = 0; i < threadContexts.size(); ++i) {
ThreadContext *tc = threadContexts[i];
-#if FULL_SYSTEM
system->registerThreadContext(tc);
-#else
- tc->getProcessPtr()->registerThreadContext(tc);
+#if !FULL_SYSTEM
+ tc->getProcessPtr()->assignThreadContext(tc->cpuId());
#endif
}
}
@@ -330,12 +329,7 @@ BaseCPU::takeOverFrom(BaseCPU *oldCPU, Port *ic, Port *dc)
CpuEvent::replaceThreadContext(oldTC, newTC);
assert(newTC->cpuId() == oldTC->cpuId());
-#if FULL_SYSTEM
system->replaceThreadContext(newTC, newTC->cpuId());
-#else
- assert(newTC->getProcessPtr() == oldTC->getProcessPtr());
- newTC->getProcessPtr()->replaceThreadContext(newTC, newTC->cpuId());
-#endif
if (DTRACE(Context))
ThreadContext::compare(oldTC, newTC);