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(); }
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(); }
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(); }
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(); }
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;
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(); }
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)
{
}
if (profile)
profile->sample(profileNode, profilePC);
}
+#endif
-#else
TranslatingPort *
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)
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; }
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;