gem5
v20.1.0.0
|
#include <queued.hh>
Public Member Functions | |
DeferredPacket (Queued *o, PrefetchInfo const &pfi, Tick t, int32_t prio) | |
Constructor. More... | |
bool | operator> (const DeferredPacket &that) const |
bool | operator< (const DeferredPacket &that) const |
bool | operator<= (const DeferredPacket &that) const |
void | createPkt (Addr paddr, unsigned blk_size, RequestorID requestor_id, bool tag_prefetch, Tick t) |
Create the associated memory packet. More... | |
void | setTranslationRequest (const RequestPtr &req) |
Sets the translation request needed to obtain the physical address of this request. More... | |
void | markDelayed () override |
Signal that the translation has been delayed due to a hw page table walk. More... | |
void | finish (const Fault &fault, const RequestPtr &req, ThreadContext *tc, BaseTLB::Mode mode) override |
void | startTranslation (BaseTLB *tlb) |
Issues the translation request to the provided TLB. More... | |
Public Member Functions inherited from BaseTLB::Translation | |
virtual | ~Translation () |
virtual bool | squashed () const |
This function is used by the page table walker to determine if it should translate the a pending request or if the underlying request has been squashed. More... | |
Public Attributes | |
Queued * | owner |
Owner of the packet. More... | |
PrefetchInfo | pfInfo |
Prefetch info corresponding to this packet. More... | |
Tick | tick |
Time when this prefetch becomes ready. More... | |
PacketPtr | pkt |
The memory packet generated by this prefetch. More... | |
int32_t | priority |
The priority of this prefetch. More... | |
RequestPtr | translationRequest |
Request used when a translation is needed. More... | |
ThreadContext * | tc |
bool | ongoingTranslation |
|
inline |
void Prefetcher::Queued::DeferredPacket::createPkt | ( | Addr | paddr, |
unsigned | blk_size, | ||
RequestorID | requestor_id, | ||
bool | tag_prefetch, | ||
Tick | t | ||
) |
Create the associated memory packet.
paddr | physical address of this packet |
blk_size | block size used by the prefetcher |
requestor_id | Requestor ID of the access that generated this prefetch |
tag_prefetch | flag to indicate if the packet needs to be tagged |
t | time when the prefetch becomes ready |
Definition at line 53 of file queued.cc.
References Packet::allocate(), Prefetcher::Base::PrefetchInfo::getPC(), MemCmd::HardPFReq, Prefetcher::Base::PrefetchInfo::hasPC(), Prefetcher::Base::PrefetchInfo::isSecure(), pfInfo, pkt, ContextSwitchTaskId::Prefetcher, Packet::req, Request::SECURE, ArmISA::t, and tick.
Referenced by Prefetcher::Queued::insert().
|
overridevirtual |
|
inlineoverridevirtual |
Signal that the translation has been delayed due to a hw page table walk.
Implements BaseTLB::Translation.
|
inline |
|
inline |
|
inline |
|
inline |
Sets the translation request needed to obtain the physical address of this request.
req | The Request with the virtual address of this request |
Definition at line 118 of file queued.hh.
References translationRequest.
Referenced by Prefetcher::Queued::insert().
void Prefetcher::Queued::DeferredPacket::startTranslation | ( | BaseTLB * | tlb | ) |
Issues the translation request to the provided TLB.
tlb | the tlb that has to translate the address |
Definition at line 75 of file queued.cc.
References BaseTLB::Read, Prefetcher::Base::tlb, and BaseTLB::translateTiming().
bool Prefetcher::Queued::DeferredPacket::ongoingTranslation |
Queued* Prefetcher::Queued::DeferredPacket::owner |
PrefetchInfo Prefetcher::Queued::DeferredPacket::pfInfo |
Prefetch info corresponding to this packet.
Definition at line 61 of file queued.hh.
Referenced by createPkt().
PacketPtr Prefetcher::Queued::DeferredPacket::pkt |
The memory packet generated by this prefetch.
Definition at line 65 of file queued.hh.
Referenced by createPkt().
int32_t Prefetcher::Queued::DeferredPacket::priority |
The priority of this prefetch.
Definition at line 67 of file queued.hh.
Referenced by operator<(), and operator>().
ThreadContext* Prefetcher::Queued::DeferredPacket::tc |
Definition at line 70 of file queued.hh.
Referenced by Prefetcher::Queued::insert().
Tick Prefetcher::Queued::DeferredPacket::tick |
Time when this prefetch becomes ready.
Definition at line 63 of file queued.hh.
Referenced by createPkt().
RequestPtr Prefetcher::Queued::DeferredPacket::translationRequest |
Request used when a translation is needed.
Definition at line 69 of file queued.hh.
Referenced by setTranslationRequest().