gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
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, uint64_t _size)
 Allocate a buffer of size 'size' representing the memory at target address 'addr'.
 
void * bufferPtr ()
 Return a pointer to the internal simulator-space buffer.
 
- Public Member Functions inherited from gem5::BaseBufferArg
 BaseBufferArg (Addr _addr, uint64_t _size)
 Allocate a buffer of size 'size' representing the memory at target address 'addr'.
 
 ~BaseBufferArg ()
 
bool copyIn (const PortProxy &memproxy)
 copy data into simulator space (read from target memory)
 
bool copyOut (const PortProxy &memproxy)
 copy data out of simulator space (write to target memory)
 

Additional Inherited Members

- Protected Attributes inherited from gem5::BaseBufferArg
const Addr addr
 address of buffer in target address space
 
const uint64_t size
 buffer size
 
uint8_t *const bufPtr
 pointer to buffer in simulator space
 

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,
uint64_t _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.

References gem5::BaseBufferArg::BaseBufferArg().

Member Function Documentation

◆ bufferPtr()


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

Generated on Mon May 26 2025 09:19:19 for gem5 by doxygen 1.13.2