gem5  v20.1.0.0
Public Member Functions | List of all members
BufferArg Class Reference

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>

Inheritance diagram for BufferArg:
BaseBufferArg

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 (PortProxy &memproxy)
 copy data into simulator space (read from target memory) More...
 
bool copyOut (PortProxy &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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ BufferArg()

BufferArg::BufferArg ( Addr  _addr,
int  _size 
)
inline

Allocate a buffer of size 'size' representing the memory at target address 'addr'.

Definition at line 110 of file syscall_emul_buf.hh.

Member Function Documentation

◆ bufferPtr()

void* BufferArg::bufferPtr ( )
inline

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

Generated on Wed Sep 30 2020 14:02:22 for gem5 by doxygen 1.8.17