SE/FS: Include getMemPort in FS.
This commit is contained in:
parent
bcf664e5f9
commit
464c485d0c
7 changed files with 25 additions and 21 deletions
|
@ -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(); }
|
||||
|
||||
|
|
|
@ -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(); }
|
||||
|
||||
|
|
|
@ -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(); }
|
||||
|
|
|
@ -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(); }
|
||||
|
||||
|
|
|
@ -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(); }
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue