Go to the documentation of this file.
29 #ifndef __SIM_SYSCALL_EMUL_BUF_HH__
30 #define __SIM_SYSCALL_EMUL_BUF_HH__
168 #endif // __SIM_SYSCALL_EMUL_BUF_HH__
T & operator[](int i)
Enable the use of '[]' to reference fields where T is an array type.
T * operator->()
Enable the use of '->' to reference fields where T is a struct type.
Base class for BufferArg and TypedBufferArg, Not intended to be used directly.
void writeBlob(Addr addr, const void *p, int size) const
Same as tryWriteBlob, but insists on success.
TypedBufferArg(Addr _addr, int _size=sizeof(T))
Allocate a buffer of type T representing the memory at target address 'addr'.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool copyIn(PortProxy &memproxy)
copy data into simulator space (read from target memory)
void * bufferPtr()
Return a pointer to the internal simulator-space buffer.
T & operator*()
Convert TypedBufferArg<T> to a reference to T that references the internal buffer value.
This object is a proxy for a port or other object which implements the functional response protocol,...
BufferArg(Addr _addr, int _size)
Allocate a buffer of size 'size' representing the memory at target address 'addr'.
BaseBufferArg(Addr _addr, int _size)
Allocate a buffer of size 'size' representing the memory at target address 'addr'.
const int size
buffer size
TypedBufferArg is a class template; instances of this template represent typed buffers in target user...
const Addr addr
address of buffer in target address space
BufferArg represents an untyped buffer in target user space that is passed by reference to an (emulat...
void readBlob(Addr addr, void *p, int size) const
Higher level interfaces based on the above.
uint8_t *const bufPtr
pointer to buffer in simulator space
bool copyOut(PortProxy &memproxy)
copy data out of simulator space (write to target memory)
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17