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;