gem5
|
TranslatingPortProxy Object Declaration for FS. More...
#include "mem/port_proxy.hh"
Go to the source code of this file.
Classes | |
class | FSTranslatingPortProxy |
A TranslatingPortProxy in FS mode translates a virtual address to a physical address and then calls the read/write functions of the port. More... | |
Functions | |
void | CopyOut (ThreadContext *tc, void *dest, Addr src, size_t cplen) |
void | CopyIn (ThreadContext *tc, Addr dest, const void *source, size_t cplen) |
void | CopyStringOut (ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen) |
void | CopyStringIn (ThreadContext *tc, const char *src, Addr vaddr) |
TranslatingPortProxy Object Declaration for FS.
Port proxies are used when non structural entities need access to the memory system. Proxy objects replace the previous FunctionalPort, TranslatingPort and VirtualPort objects, which provided the same functionality as the proxies, but were instances of ports not corresponding to real structural ports of the simulated system. Via the port proxies all the accesses go through an actual port and thus are transparent to a potentially distributed memory and automatically adhere to the memory map of the system.
Definition in file fs_translating_port_proxy.hh.
void CopyIn | ( | ThreadContext * | tc, |
Addr | dest, | ||
const void * | source, | ||
size_t | cplen | ||
) |
Definition at line 133 of file fs_translating_port_proxy.cc.
References ThreadContext::getVirtProxy(), and FSTranslatingPortProxy::writeBlob().
Referenced by PseudoInst::readfile().
void CopyOut | ( | ThreadContext * | tc, |
void * | dest, | ||
Addr | src, | ||
size_t | cplen | ||
) |
Definition at line 126 of file fs_translating_port_proxy.cc.
References ThreadContext::getVirtProxy(), and FSTranslatingPortProxy::readBlob().
Referenced by Linux::ThreadInfo::curTaskInfo(), Linux::ThreadInfo::curTaskMm(), Linux::ThreadInfo::curTaskPID(), Linux::ThreadInfo::curTaskStart(), Linux::ThreadInfo::curTaskTGID(), MipsISA::StackTrace::decodePrologue(), X86ISA::StackTrace::decodePrologue(), AlphaISA::StackTrace::decodePrologue(), Linux::ThreadInfo::get_data(), Arguments::operator T *(), and PseudoInst::writefile().
void CopyStringIn | ( | ThreadContext * | tc, |
const char * | src, | ||
Addr | vaddr | ||
) |
Definition at line 158 of file fs_translating_port_proxy.cc.
References ChunkGenerator::done(), ThreadContext::getVirtProxy(), AlphaISA::PageBytes, and FSTranslatingPortProxy::writeBlob().
void CopyStringOut | ( | ThreadContext * | tc, |
char * | dst, | ||
Addr | vaddr, | ||
size_t | maxlen | ||
) |
Definition at line 140 of file fs_translating_port_proxy.cc.
References ThreadContext::getVirtProxy(), and FSTranslatingPortProxy::readBlob().
Referenced by PseudoInst::addsymbol(), Linux::ThreadInfo::curTaskName(), MipsISA::ProcessInfo::name(), X86ISA::ProcessInfo::name(), ArmISA::ProcessInfo::name(), AlphaISA::ProcessInfo::name(), Arguments::operator char *(), and PseudoInst::writefile().