29#ifndef __SIM_SYSCALL_EMUL_BUF_HH__
30#define __SIM_SYSCALL_EMUL_BUF_HH__
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Base class for BufferArg and TypedBufferArg, Not intended to be used directly.
bool copyIn(const PortProxy &memproxy)
copy data into simulator space (read from target memory)
const Addr addr
address of buffer in target address space
const int size
buffer size
BaseBufferArg(Addr _addr, int _size)
Allocate a buffer of size 'size' representing the memory at target address 'addr'.
uint8_t *const bufPtr
pointer to buffer in simulator space
bool copyOut(const PortProxy &memproxy)
copy data out of simulator space (write to target memory)
BufferArg represents an untyped buffer in target user space that is passed by reference to an (emulat...
BufferArg(Addr _addr, int _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.
This object is a proxy for a port or other object which implements the functional response protocol,...
void readBlob(Addr addr, void *p, uint64_t size) const
Higher level interfaces based on the above.
void writeBlob(Addr addr, const void *p, uint64_t size) const
Same as tryWriteBlob, but insists on success.
TypedBufferArg is a class template; instances of this template represent typed buffers in target user...
TypedBufferArg(Addr _addr, int _size=sizeof(T))
Allocate a buffer of type T representing the memory at target address 'addr'.
T & operator*()
Convert TypedBufferArg<T> to a reference to T that references the internal buffer value.
T * operator->()
Enable the use of '->' to reference fields where T is a struct type.
T & operator[](int i)
Enable the use of '[]' to reference fields where T is an array type.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.