Go to the documentation of this file.
59 PortProxy(tc, tc->getSystemPtr()->cacheLineSize()), _tc(tc),
60 pageBytes(tc->getSystemPtr()->getPageBytes()),
87 auto req = std::make_shared<Request>(
95 req->getPaddr(), req->getFlags(),
p, gen.size());
97 p =
static_cast<uint8_t *
>(
p) + gen.size();
104 Addr addr,
const void *
p,
int size)
const
109 auto req = std::make_shared<Request>(
117 req->getPaddr(), req->getFlags(),
p, gen.size());
118 p =
static_cast<const uint8_t *
>(
p) + gen.size();
129 auto req = std::make_shared<Request>(
137 req->getPaddr(), req->getFlags(),
v, gen.size());
bool tryMemsetBlob(Addr address, uint8_t v, int size) const override
Fill size bytes starting at addr with byte value val.
constexpr decltype(nullptr) NoFault
virtual BaseMMU * getMMUPtr()=0
void memsetBlobPhys(Addr addr, Request::Flags flags, uint8_t v, int size) const
Fill size bytes starting at physical addr with byte value val.
virtual ContextID contextId() const =0
virtual bool fixupAddr(Addr addr, BaseMMU::Mode mode) const
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc, Mode mode)
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
bool done() const
Are we done? That is, did the last call to next() advance past the end of the region?
ThreadContext is the external interface to all thread state for anything outside of the CPU.
bool tryWriteBlob(Addr addr, const void *p, int size) const override
Version of tryWriteBlob that translates virt->phys and deals with page boundries.
std::shared_ptr< Request > RequestPtr
This object is a proxy for a port or other object which implements the functional response protocol,...
void writeBlobPhys(Addr addr, Request::Flags flags, const void *p, int size) const
Write size bytes from p to physical address.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool tryTLBs(RequestPtr req, BaseMMU::Mode) const
bool tryReadBlob(Addr addr, void *p, int size) const override
Version of tryReadblob that translates virt->phys and deals with page boundries.
@ funcRequestorId
This requestor id is used for functional requests that don't come from a particular device.
void readBlobPhys(Addr addr, Request::Flags flags, void *p, int size) const
Fixed functionality for use in base classes.
bool tryTLBsOnce(RequestPtr req, BaseMMU::Mode) const
TranslatingPortProxy(ThreadContext *tc, Request::Flags _flags=0)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Generated on Tue Sep 21 2021 12:25:47 for gem5 by doxygen 1.8.17