gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
SETranslatingPortProxy Class Reference

#include <se_translating_port_proxy.hh>

Inheritance diagram for SETranslatingPortProxy:
PortProxy

Public Types

enum  AllocType { Always, Never, NextPage }
 

Public Member Functions

 SETranslatingPortProxy (MasterPort &port, Process *p, AllocType alloc)
 
virtual ~SETranslatingPortProxy ()
 
void setPageTable (PageTableBase *p)
 
void setProcess (Process *p)
 
bool tryReadBlob (Addr addr, uint8_t *p, int size) const
 
bool tryWriteBlob (Addr addr, const uint8_t *p, int size) const
 
bool tryMemsetBlob (Addr addr, uint8_t val, int size) const
 
bool tryWriteString (Addr addr, const char *str) const
 
bool tryReadString (std::string &str, Addr addr) const
 
virtual void readBlob (Addr addr, uint8_t *p, int size) const
 Read size bytes memory at address and store in p. More...
 
virtual void writeBlob (Addr addr, const uint8_t *p, int size) const
 Write size bytes from p to address. More...
 
virtual void memsetBlob (Addr addr, uint8_t val, int size) const
 Fill size bytes starting at addr with byte value val. More...
 
void writeString (Addr addr, const char *str) const
 
void readString (std::string &str, Addr addr) const
 
- Public Member Functions inherited from PortProxy
 PortProxy (MasterPort &port, unsigned int cacheLineSize)
 
virtual ~PortProxy ()
 
template<typename T >
read (Addr address) const
 Read sizeof(T) bytes from address and return as object T. More...
 
template<typename T >
void write (Addr address, T data) const
 Write object T to address. More...
 

Private Attributes

PageTableBasepTable
 
Processprocess
 
AllocType allocating
 

Detailed Description

Definition at line 67 of file se_translating_port_proxy.hh.

Member Enumeration Documentation

Enumerator
Always 
Never 
NextPage 

Definition at line 71 of file se_translating_port_proxy.hh.

Constructor & Destructor Documentation

SETranslatingPortProxy::SETranslatingPortProxy ( MasterPort port,
Process p,
AllocType  alloc 
)

Definition at line 58 of file se_translating_port_proxy.cc.

SETranslatingPortProxy::~SETranslatingPortProxy ( )
virtual

Definition at line 64 of file se_translating_port_proxy.cc.

Member Function Documentation

void SETranslatingPortProxy::memsetBlob ( Addr  addr,
uint8_t  v,
int  size 
) const
virtual

Fill size bytes starting at addr with byte value val.

Reimplemented from PortProxy.

Definition at line 155 of file se_translating_port_proxy.cc.

References fatal, and tryMemsetBlob().

Referenced by brkFunc().

void SETranslatingPortProxy::readBlob ( Addr  addr,
uint8_t *  p,
int  size 
) const
virtual

Read size bytes memory at address and store in p.

Reimplemented from PortProxy.

Definition at line 86 of file se_translating_port_proxy.cc.

References fatal, and tryReadBlob().

Referenced by RiscvProcess::argsInit(), BaseBufferArg::copyIn(), X86ISA::m5PageFault(), BaseRemoteGDB::read(), Process::replicatePage(), and writevFunc().

void SETranslatingPortProxy::readString ( std::string &  str,
Addr  addr 
) const

Definition at line 213 of file se_translating_port_proxy.cc.

References fatal, and tryReadString().

Referenced by RiscvProcess::argsInit().

void SETranslatingPortProxy::setPageTable ( PageTableBase p)
inline

Definition at line 86 of file se_translating_port_proxy.hh.

References MipsISA::p, and pTable.

Referenced by Process::clone().

void SETranslatingPortProxy::setProcess ( Process p)
inline

Definition at line 87 of file se_translating_port_proxy.hh.

References MipsISA::p, and process.

bool SETranslatingPortProxy::tryMemsetBlob ( Addr  addr,
uint8_t  val,
int  size 
) const
bool SETranslatingPortProxy::tryReadBlob ( Addr  addr,
uint8_t *  p,
int  size 
) const
bool SETranslatingPortProxy::tryReadString ( std::string &  str,
Addr  addr 
) const
bool SETranslatingPortProxy::tryWriteBlob ( Addr  addr,
const uint8_t *  p,
int  size 
) const
bool SETranslatingPortProxy::tryWriteString ( Addr  addr,
const char *  str 
) const
void SETranslatingPortProxy::writeBlob ( Addr  addr,
const uint8_t *  p,
int  size 
) const
virtual
void SETranslatingPortProxy::writeString ( Addr  addr,
const char *  str 
) const

Member Data Documentation

AllocType SETranslatingPortProxy::allocating
private

Definition at line 80 of file se_translating_port_proxy.hh.

Referenced by tryMemsetBlob(), and tryWriteBlob().

Process* SETranslatingPortProxy::process
private

Definition at line 79 of file se_translating_port_proxy.hh.

Referenced by setProcess(), tryMemsetBlob(), and tryWriteBlob().

PageTableBase* SETranslatingPortProxy::pTable
private

The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:19 for gem5 by doxygen 1.8.6