summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Binkert <nate@binkert.org>2009-01-19 20:36:49 -0800
committerNathan Binkert <nate@binkert.org>2009-01-19 20:36:49 -0800
commitdbac448b088eea12d8b20400c7a770e57e28d771 (patch)
treee1b7dd83c108a161ca2928c10a5fb8276f98cd71
parent81b8c0c79a0ed55f2d81fc66bf7e4667f708c1de (diff)
downloadgem5-dbac448b088eea12d8b20400c7a770e57e28d771.tar.xz
thread_context: move getSystemPtr so SE mode can get to it.
There was really no reason that it should be FS only.
-rwxr-xr-xsrc/cpu/o3/thread_context.hh2
-rwxr-xr-xsrc/cpu/o3/thread_context_impl.hh3
-rw-r--r--src/cpu/simple_thread.hh2
-rw-r--r--src/cpu/thread_context.hh4
4 files changed, 5 insertions, 6 deletions
diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh
index 8682e071e..6de773ff1 100755
--- a/src/cpu/o3/thread_context.hh
+++ b/src/cpu/o3/thread_context.hh
@@ -86,10 +86,10 @@ class O3ThreadContext : public ThreadContext
virtual int threadId() { return thread->threadId(); }
virtual void setThreadId(int id) { return thread->setThreadId(id); }
-#if FULL_SYSTEM
/** Returns a pointer to the system. */
virtual System *getSystemPtr() { return cpu->system; }
+#if FULL_SYSTEM
/** Returns a pointer to physical memory. */
virtual PhysicalMemory *getPhysMemPtr() { return cpu->physmem; }
diff --git a/src/cpu/o3/thread_context_impl.hh b/src/cpu/o3/thread_context_impl.hh
index 735827ebc..12b2d1b31 100755
--- a/src/cpu/o3/thread_context_impl.hh
+++ b/src/cpu/o3/thread_context_impl.hh
@@ -54,9 +54,8 @@ void
O3ThreadContext<Impl>::takeOverFrom(ThreadContext *old_context)
{
// some things should already be set up
-#if FULL_SYSTEM
assert(getSystemPtr() == old_context->getSystemPtr());
-#else
+#if !FULL_SYSTEM
assert(getProcessPtr() == old_context->getProcessPtr());
#endif
diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh
index 4831b701a..678bb42bb 100644
--- a/src/cpu/simple_thread.hh
+++ b/src/cpu/simple_thread.hh
@@ -201,9 +201,9 @@ class SimpleThread : public ThreadState
TheISA::DTB *getDTBPtr() { return dtb; }
-#if FULL_SYSTEM
System *getSystemPtr() { return system; }
+#if FULL_SYSTEM
FunctionalPort *getPhysPort() { return physPort; }
/** Return a virtual port. This port cannot be cached locally in an object.
diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh
index 9ee5250a3..7c3f11c12 100644
--- a/src/cpu/thread_context.hh
+++ b/src/cpu/thread_context.hh
@@ -129,9 +129,9 @@ class ThreadContext
virtual TheISA::DTB *getDTBPtr() = 0;
-#if FULL_SYSTEM
virtual System *getSystemPtr() = 0;
+#if FULL_SYSTEM
virtual TheISA::Kernel::Statistics *getKernelStats() = 0;
virtual FunctionalPort *getPhysPort() = 0;
@@ -318,9 +318,9 @@ class ProxyThreadContext : public ThreadContext
TheISA::DTB *getDTBPtr() { return actualTC->getDTBPtr(); }
-#if FULL_SYSTEM
System *getSystemPtr() { return actualTC->getSystemPtr(); }
+#if FULL_SYSTEM
TheISA::Kernel::Statistics *getKernelStats()
{ return actualTC->getKernelStats(); }