gem5  v20.1.0.0
Public Member Functions | Public Attributes | List of all members
Prefetcher::Queued::DeferredPacket Struct Reference

#include <queued.hh>

Inheritance diagram for Prefetcher::Queued::DeferredPacket:
BaseTLB::Translation

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

Queuedowner
 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...
 
ThreadContexttc
 
bool ongoingTranslation
 

Detailed Description

Definition at line 57 of file queued.hh.

Constructor & Destructor Documentation

◆ DeferredPacket()

Prefetcher::Queued::DeferredPacket::DeferredPacket ( Queued o,
PrefetchInfo const &  pfi,
Tick  t,
int32_t  prio 
)
inline

Constructor.

Parameters
oQueuedPrefetcher in charge of this request
pfiPrefechInfo object associated to this packet
tTime when this prefetch becomes ready
pPacketPtr with the memory request of the prefetch
prioThis prefetch priority

Definition at line 81 of file queued.hh.

Member Function Documentation

◆ createPkt()

void Prefetcher::Queued::DeferredPacket::createPkt ( Addr  paddr,
unsigned  blk_size,
RequestorID  requestor_id,
bool  tag_prefetch,
Tick  t 
)

Create the associated memory packet.

Parameters
paddrphysical address of this packet
blk_sizeblock size used by the prefetcher
requestor_idRequestor ID of the access that generated this prefetch
tag_prefetchflag to indicate if the packet needs to be tagged
ttime 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().

◆ finish()

void Prefetcher::Queued::DeferredPacket::finish ( const Fault fault,
const RequestPtr req,
ThreadContext tc,
BaseTLB::Mode  mode 
)
overridevirtual

Implements BaseTLB::Translation.

Definition at line 86 of file queued.cc.

References NoFault.

◆ markDelayed()

void Prefetcher::Queued::DeferredPacket::markDelayed ( )
inlineoverridevirtual

Signal that the translation has been delayed due to a hw page table walk.

Implements BaseTLB::Translation.

Definition at line 123 of file queued.hh.

◆ operator<()

bool Prefetcher::Queued::DeferredPacket::operator< ( const DeferredPacket that) const
inline

Definition at line 91 of file queued.hh.

References priority.

◆ operator<=()

bool Prefetcher::Queued::DeferredPacket::operator<= ( const DeferredPacket that) const
inline

Definition at line 95 of file queued.hh.

◆ operator>()

bool Prefetcher::Queued::DeferredPacket::operator> ( const DeferredPacket that) const
inline

Definition at line 87 of file queued.hh.

References priority.

◆ setTranslationRequest()

void Prefetcher::Queued::DeferredPacket::setTranslationRequest ( const RequestPtr req)
inline

Sets the translation request needed to obtain the physical address of this request.

Parameters
reqThe Request with the virtual address of this request

Definition at line 118 of file queued.hh.

References translationRequest.

Referenced by Prefetcher::Queued::insert().

◆ startTranslation()

void Prefetcher::Queued::DeferredPacket::startTranslation ( BaseTLB tlb)

Issues the translation request to the provided TLB.

Parameters
tlbthe tlb that has to translate the address

Definition at line 75 of file queued.cc.

References BaseTLB::Read, Prefetcher::Base::tlb, and BaseTLB::translateTiming().

Member Data Documentation

◆ ongoingTranslation

bool Prefetcher::Queued::DeferredPacket::ongoingTranslation

Definition at line 71 of file queued.hh.

◆ owner

Queued* Prefetcher::Queued::DeferredPacket::owner

Owner of the packet.

Definition at line 59 of file queued.hh.

◆ pfInfo

PrefetchInfo Prefetcher::Queued::DeferredPacket::pfInfo

Prefetch info corresponding to this packet.

Definition at line 61 of file queued.hh.

Referenced by createPkt().

◆ pkt

PacketPtr Prefetcher::Queued::DeferredPacket::pkt

The memory packet generated by this prefetch.

Definition at line 65 of file queued.hh.

Referenced by createPkt().

◆ priority

int32_t Prefetcher::Queued::DeferredPacket::priority

The priority of this prefetch.

Definition at line 67 of file queued.hh.

Referenced by operator<(), and operator>().

◆ tc

ThreadContext* Prefetcher::Queued::DeferredPacket::tc

Definition at line 70 of file queued.hh.

Referenced by Prefetcher::Queued::insert().

◆ tick

Tick Prefetcher::Queued::DeferredPacket::tick

Time when this prefetch becomes ready.

Definition at line 63 of file queued.hh.

Referenced by createPkt().

◆ translationRequest

RequestPtr Prefetcher::Queued::DeferredPacket::translationRequest

Request used when a translation is needed.

Definition at line 69 of file queued.hh.

Referenced by setTranslationRequest().


The documentation for this struct was generated from the following files:

Generated on Wed Sep 30 2020 14:03:07 for gem5 by doxygen 1.8.17