SE/FS: Include getMemPort in FS.

This commit is contained in:
Gabe Black 2011-10-16 05:06:40 -07:00
parent bcf664e5f9
commit 464c485d0c
7 changed files with 25 additions and 21 deletions

View file

@ -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(); }

View file

@ -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(); }

View file

@ -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(); }

View file

@ -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(); }

View file

@ -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(); }

View file

@ -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)

View file

@ -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;