gem5  v21.2.1.1
Public Member Functions | Public Attributes | List of all members
gem5::prefetch::Queued::DeferredPacket Struct Reference

#include <queued.hh>

Inheritance diagram for gem5::prefetch::Queued::DeferredPacket:
gem5::BaseMMU::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, BaseMMU::Mode mode) override
 
void startTranslation (BaseTLB *tlb)
 Issues the translation request to the provided TLB. More...
 
- Public Member Functions inherited from gem5::BaseMMU::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 63 of file queued.hh.

Constructor & Destructor Documentation

◆ DeferredPacket()

gem5::prefetch::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 88 of file queued.hh.

Member Function Documentation

◆ createPkt()

void gem5::prefetch::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 59 of file queued.cc.

References gem5::Packet::allocate(), gem5::prefetch::Base::PrefetchInfo::getPC(), gem5::MemCmd::HardPFReq, gem5::prefetch::Base::PrefetchInfo::hasPC(), gem5::prefetch::Base::PrefetchInfo::isSecure(), pfInfo, pkt, gem5::context_switch_task_id::Prefetcher, gem5::Packet::req, gem5::Request::SECURE, gem5::ArmISA::t, and tick.

Referenced by gem5::prefetch::Queued::insert().

◆ finish()

void gem5::prefetch::Queued::DeferredPacket::finish ( const Fault fault,
const RequestPtr req,
ThreadContext tc,
BaseMMU::Mode  mode 
)
overridevirtual

Implements gem5::BaseMMU::Translation.

Definition at line 92 of file queued.cc.

References gem5::NoFault.

◆ markDelayed()

void gem5::prefetch::Queued::DeferredPacket::markDelayed ( )
inlineoverridevirtual

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

Implements gem5::BaseMMU::Translation.

Definition at line 130 of file queued.hh.

◆ operator<()

bool gem5::prefetch::Queued::DeferredPacket::operator< ( const DeferredPacket that) const
inline

Definition at line 98 of file queued.hh.

References priority.

◆ operator<=()

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

Definition at line 102 of file queued.hh.

◆ operator>()

bool gem5::prefetch::Queued::DeferredPacket::operator> ( const DeferredPacket that) const
inline

Definition at line 94 of file queued.hh.

References priority.

◆ setTranslationRequest()

void gem5::prefetch::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 125 of file queued.hh.

References translationRequest.

Referenced by gem5::prefetch::Queued::insert().

◆ startTranslation()

void gem5::prefetch::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 81 of file queued.cc.

References gem5::BaseMMU::Read, gem5::prefetch::Base::tlb, and gem5::BaseTLB::translateTiming().

Member Data Documentation

◆ ongoingTranslation

bool gem5::prefetch::Queued::DeferredPacket::ongoingTranslation

Definition at line 78 of file queued.hh.

◆ owner

Queued* gem5::prefetch::Queued::DeferredPacket::owner

Owner of the packet.

Definition at line 66 of file queued.hh.

◆ pfInfo

PrefetchInfo gem5::prefetch::Queued::DeferredPacket::pfInfo

Prefetch info corresponding to this packet.

Definition at line 68 of file queued.hh.

Referenced by createPkt().

◆ pkt

PacketPtr gem5::prefetch::Queued::DeferredPacket::pkt

The memory packet generated by this prefetch.

Definition at line 72 of file queued.hh.

Referenced by createPkt().

◆ priority

int32_t gem5::prefetch::Queued::DeferredPacket::priority

The priority of this prefetch.

Definition at line 74 of file queued.hh.

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

◆ tc

ThreadContext* gem5::prefetch::Queued::DeferredPacket::tc

Definition at line 77 of file queued.hh.

Referenced by gem5::prefetch::Queued::insert().

◆ tick

Tick gem5::prefetch::Queued::DeferredPacket::tick

Time when this prefetch becomes ready.

Definition at line 70 of file queued.hh.

Referenced by createPkt().

◆ translationRequest

RequestPtr gem5::prefetch::Queued::DeferredPacket::translationRequest

Request used when a translation is needed.

Definition at line 76 of file queued.hh.

Referenced by setTranslationRequest().


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

Generated on Wed May 4 2022 12:15:49 for gem5 by doxygen 1.8.17