Go to the documentation of this file.
55 PortProxy(tc->getCpuPtr()->getSendFunctional(),
56 tc->getSystemPtr()->cacheLineSize()), _tc(tc),
57 pageBytes(tc->getSystemPtr()->getPageBytes()),
85 auto req = std::make_shared<Request>(
93 req->getPaddr(), req->getFlags(),
p, gen.size());
95 p =
static_cast<uint8_t *
>(
p) + gen.size();
102 Addr addr,
const void *
p,
int size)
const
107 auto req = std::make_shared<Request>(
115 req->getPaddr(), req->getFlags(),
p, gen.size());
116 p =
static_cast<const uint8_t *
>(
p) + gen.size();
127 auto req = std::make_shared<Request>(
135 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.
void writeBlobPhys(Addr addr, Request::Flags flags, const void *p, int size) const
Write size bytes from p to physical address.
std::shared_ptr< Request > RequestPtr
virtual bool fixupAddr(Addr addr, BaseTLB::Mode mode) const
void memsetBlobPhys(Addr addr, Request::Flags flags, uint8_t v, int size) const
Fill size bytes starting at physical addr with byte value val.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
TranslatingPortProxy(ThreadContext *tc, Request::Flags _flags=0)
virtual Fault translateFunctional(const RequestPtr &req, ThreadContext *tc, Mode mode)
bool tryReadBlob(Addr addr, void *p, int size) const override
Version of tryReadblob that translates virt->phys and deals with page boundries.
virtual ContextID contextId() const =0
bool tryTLBs(RequestPtr req, BaseTLB::Mode) const
bool tryTLBsOnce(RequestPtr req, BaseTLB::Mode) const
void readBlobPhys(Addr addr, Request::Flags flags, void *p, int size) const
Fixed functionality for use in base classes.
constexpr decltype(nullptr) NoFault
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool done() const
Are we done? That is, did the last call to next() advance past the end of the region?
@ funcRequestorId
This requestor id is used for functional requests that don't come from a particular device.
This object is a proxy for a port or other object which implements the functional response protocol,...
bool tryWriteBlob(Addr addr, const void *p, int size) const override
Version of tryWriteBlob that translates virt->phys and deals with page boundries.
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
virtual BaseTLB * getDTBPtr()=0
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17