summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2011-10-16 05:06:40 -0700
committerGabe Black <gblack@eecs.umich.edu>2011-10-16 05:06:40 -0700
commit464c485d0c7189e886d241ec36294d8d6b7c196e (patch)
tree5b05f5b3659944290ac2508dadd8f46afca463fb /src
parentbcf664e5f922bf1f1cbdb4bed493a441f82df7f7 (diff)
downloadgem5-464c485d0c7189e886d241ec36294d8d6b7c196e.tar.xz
SE/FS: Include getMemPort in FS.
Diffstat (limited to 'src')
-rw-r--r--src/cpu/checker/thread_context.hh4
-rw-r--r--src/cpu/inorder/thread_context.hh4
-rwxr-xr-xsrc/cpu/o3/thread_context.hh4
-rw-r--r--src/cpu/ozone/cpu.hh4
-rw-r--r--src/cpu/thread_context.hh8
-rw-r--r--src/cpu/thread_state.cc16
-rw-r--r--src/cpu/thread_state.hh6
7 files changed, 25 insertions, 21 deletions
diff --git a/src/cpu/checker/thread_context.hh b/src/cpu/checker/thread_context.hh
index 52ca97e5f..94ba561f0 100644
--- a/src/cpu/checker/thread_context.hh
+++ b/src/cpu/checker/thread_context.hh
@@ -97,11 +97,11 @@ class CheckerThreadContext : public ThreadContext
TheISA::Kernel::Statistics *getKernelStats()
{ return actualTC->getKernelStats(); }
#else
- TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
-
Process *getProcessPtr() { return actualTC->getProcessPtr(); }
#endif
+ TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
+
VirtualPort *getVirtPort()
{ return actualTC->getVirtPort(); }
diff --git a/src/cpu/inorder/thread_context.hh b/src/cpu/inorder/thread_context.hh
index 2586d9372..9b071ee5d 100644
--- a/src/cpu/inorder/thread_context.hh
+++ b/src/cpu/inorder/thread_context.hh
@@ -143,12 +143,12 @@ class InOrderThreadContext : public ThreadContext
return this->thread->quiesceEvent;
}
#else
- TranslatingPort *getMemPort() { return thread->getMemPort(); }
-
/** Returns a pointer to this thread's process. */
Process *getProcessPtr() { return thread->getProcessPtr(); }
#endif
+ TranslatingPort *getMemPort() { return thread->getMemPort(); }
+
VirtualPort *getVirtPort();
FunctionalPort *getPhysPort() { return thread->getPhysPort(); }
diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh
index afc0d7270..2688e75e1 100755
--- a/src/cpu/o3/thread_context.hh
+++ b/src/cpu/o3/thread_context.hh
@@ -99,12 +99,12 @@ class O3ThreadContext : public ThreadContext
virtual void connectMemPorts(ThreadContext *tc) { thread->connectMemPorts(tc); }
#else
- virtual TranslatingPort *getMemPort() { return thread->getMemPort(); }
-
/** Returns a pointer to this thread's process. */
virtual Process *getProcessPtr() { return thread->getProcessPtr(); }
#endif
+ virtual TranslatingPort *getMemPort() { return thread->getMemPort(); }
+
virtual VirtualPort *getVirtPort();
virtual FunctionalPort *getPhysPort() { return thread->getPhysPort(); }
diff --git a/src/cpu/ozone/cpu.hh b/src/cpu/ozone/cpu.hh
index 63452d202..4860dd271 100644
--- a/src/cpu/ozone/cpu.hh
+++ b/src/cpu/ozone/cpu.hh
@@ -124,11 +124,11 @@ class OzoneCPU : public BaseCPU
TheISA::Kernel::Statistics *getKernelStats()
{ return thread->getKernelStats(); }
#else
- TranslatingPort *getMemPort() { return thread->getMemPort(); }
-
Process *getProcessPtr() { return thread->getProcessPtr(); }
#endif
+ TranslatingPort *getMemPort() { return thread->getMemPort(); }
+
VirtualPort *getVirtPort()
{ return thread->getVirtPort(); }
diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh
index eac214f77..f43940fe3 100644
--- a/src/cpu/thread_context.hh
+++ b/src/cpu/thread_context.hh
@@ -130,11 +130,11 @@ class ThreadContext
virtual void connectMemPorts(ThreadContext *tc) = 0;
#else
- virtual TranslatingPort *getMemPort() = 0;
-
virtual Process *getProcessPtr() = 0;
#endif
+ virtual TranslatingPort *getMemPort() = 0;
+
virtual VirtualPort *getVirtPort() = 0;
virtual FunctionalPort *getPhysPort() = 0;
@@ -300,11 +300,11 @@ class ProxyThreadContext : public ThreadContext
void connectMemPorts(ThreadContext *tc) { actualTC->connectMemPorts(tc); }
#else
- TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
-
Process *getProcessPtr() { return actualTC->getProcessPtr(); }
#endif
+ TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
+
VirtualPort *getVirtPort() { return actualTC->getVirtPort(); }
FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); }
diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc
index a0fd5d7a1..342574083 100644
--- a/src/cpu/thread_state.cc
+++ b/src/cpu/thread_state.cc
@@ -53,9 +53,10 @@ ThreadState::ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process)
profile(NULL), profileNode(NULL), profilePC(0), quiesceEvent(NULL),
kernelStats(NULL),
#else
- port(NULL), process(_process),
+ process(_process),
#endif
- virtPort(NULL), physPort(NULL), funcExeInst(0), storeCondFailures(0)
+ port(NULL), virtPort(NULL), physPort(NULL), funcExeInst(0),
+ storeCondFailures(0)
{
}
@@ -153,8 +154,8 @@ ThreadState::profileSample()
if (profile)
profile->sample(profileNode, profilePC);
}
+#endif
-#else
TranslatingPort *
ThreadState::getMemPort()
{
@@ -162,14 +163,17 @@ ThreadState::getMemPort()
return port;
/* Use this port to for syscall emulation writes to memory. */
- port = new TranslatingPort(csprintf("%s-%d-funcport", baseCpu->name(), _threadId),
- process, TranslatingPort::NextPage);
+ port = new TranslatingPort(csprintf("%s-%d-funcport", baseCpu->name(),
+ _threadId),
+#if !FULL_SYSTEM
+ process,
+#endif
+ TranslatingPort::NextPage);
connectToMemFunc(port);
return port;
}
-#endif
void
ThreadState::connectToMemFunc(Port *port)
diff --git a/src/cpu/thread_state.hh b/src/cpu/thread_state.hh
index 8fd99f7cf..1087c27c2 100644
--- a/src/cpu/thread_state.hh
+++ b/src/cpu/thread_state.hh
@@ -110,11 +110,11 @@ struct ThreadState {
TheISA::Kernel::Statistics *getKernelStats() { return kernelStats; }
#else
Process *getProcessPtr() { return process; }
+#endif
TranslatingPort *getMemPort();
void setMemPort(TranslatingPort *_port) { port = _port; }
-#endif
VirtualPort *getVirtPort() { return virtPort; }
@@ -187,11 +187,11 @@ struct ThreadState {
TheISA::Kernel::Statistics *kernelStats;
protected:
#else
- TranslatingPort *port;
-
Process *process;
#endif
+ TranslatingPort *port;
+
/** A functional port, outgoing only, for functional accesse to virtual
* addresses. */
VirtualPort *virtPort;