gem5
|
BufferArg represents an untyped buffer in target user space that is passed by reference to an (emulated) system call. More...
#include <syscall_emul_buf.hh>
Public Member Functions | |
BufferArg (Addr _addr, int _size) | |
Allocate a buffer of size 'size' representing the memory at target address 'addr'. More... | |
void * | bufferPtr () |
Return a pointer to the internal simulator-space buffer. More... | |
Public Member Functions inherited from BaseBufferArg | |
BaseBufferArg (Addr _addr, int _size) | |
Allocate a buffer of size 'size' representing the memory at target address 'addr'. More... | |
~BaseBufferArg () | |
bool | copyIn (SETranslatingPortProxy &memproxy) |
copy data into simulator space (read from target memory) More... | |
bool | copyOut (SETranslatingPortProxy &memproxy) |
copy data out of simulator space (write to target memory) More... | |
Additional Inherited Members | |
Protected Attributes inherited from BaseBufferArg | |
const Addr | addr |
address of buffer in target address space More... | |
const int | size |
buffer size More... | |
uint8_t *const | bufPtr |
pointer to buffer in simulator space More... | |
BufferArg represents an untyped buffer in target user space that is passed by reference to an (emulated) system call.
Definition at line 103 of file syscall_emul_buf.hh.
|
inline |
Allocate a buffer of size 'size' representing the memory at target address 'addr'.
Definition at line 110 of file syscall_emul_buf.hh.
|
inline |
Return a pointer to the internal simulator-space buffer.
Definition at line 115 of file syscall_emul_buf.hh.
References BaseBufferArg::bufPtr.
Referenced by _llseekFunc(), cloneFunc(), execveFunc(), exitFutexWake(), futexFunc(), getcwdFunc(), gethostnameFunc(), SparcISA::getresuidFunc(), ClDriver::ioctl(), pipeImpl(), pwrite64Func(), readFunc(), readlinkFunc(), sysctlFunc(), and writeFunc().