59 void *
p, uint64_t size)
const
64 auto req = std::make_shared<Request>(
70 p =
static_cast<uint8_t *
>(
p) + gen.size();
76 const void *
p, uint64_t size)
const
81 auto req = std::make_shared<Request>(
87 p =
static_cast<const uint8_t *
>(
p) + gen.size();
93 uint8_t
v, uint64_t size)
const
96 uint8_t *buf =
new uint8_t[size];
98 std::memset(buf,
v, size);
Declaration and inline definition of ChunkGenerator object.
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void dataStatic(T *p)
Set the data pointer to the following value that should not be freed.
void dataStaticConst(const T *p)
Set the data pointer to the following value that should not be freed.
void memsetBlobPhys(Addr addr, Request::Flags flags, uint8_t v, uint64_t size) const
Fill size bytes starting at physical addr with byte value val.
const Addr _cacheLineSize
Granularity of any transactions issued through this proxy.
void readBlobPhys(Addr addr, Request::Flags flags, void *p, uint64_t size) const
Fixed functionality for use in base classes.
PortProxy(SendFunctionalFunc func, Addr cache_line_size)
bool tryWriteString(Addr addr, const char *str) const
Write the string str into guest memory at address addr.
virtual bool tryWriteBlob(Addr addr, const void *p, uint64_t size) const
Write size bytes from p to address.
virtual bool tryReadBlob(Addr addr, void *p, uint64_t size) const
Methods to override in base classes.
void writeBlobPhys(Addr addr, Request::Flags flags, const void *p, uint64_t size) const
Write size bytes from p to physical address.
bool tryReadString(std::string &str, Addr addr) const
Reads the string at guest address addr into the std::string str.
SendFunctionalFunc sendFunctional
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
@ funcRequestorId
This requestor id is used for functional requests that don't come from a particular device.
gem5::Flags< FlagsType > Flags
ThreadContext is the external interface to all thread state for anything outside of the CPU.
bool done() const
Are we done?
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
PortProxy Object Declaration.