gem5  v21.1.0.2
Public Member Functions | List of all members
gem5::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 gem5::BufferArg:
gem5::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 gem5::BaseBufferArg
 BaseBufferArg (Addr _addr, int _size)
 Allocate a buffer of size 'size' representing the memory at target address 'addr'. More...
 
 ~BaseBufferArg ()
 
bool copyIn (const PortProxy &memproxy)
 copy data into simulator space (read from target memory) More...
 
bool copyOut (const PortProxy &memproxy)
 copy data out of simulator space (write to target memory) More...
 

Additional Inherited Members

- Protected Attributes inherited from gem5::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 107 of file syscall_emul_buf.hh.

Constructor & Destructor Documentation

◆ BufferArg()

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

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

Definition at line 114 of file syscall_emul_buf.hh.

Member Function Documentation

◆ bufferPtr()

void* gem5::BufferArg::bufferPtr ( )
inline

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

Generated on Tue Sep 21 2021 12:27:21 for gem5 by doxygen 1.8.17