gem5 v24.0.0.0
Loading...
Searching...
No Matches
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, const CacheAccessor &_cache)
 Constructor.
 
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.
 
void setTranslationRequest (const RequestPtr &req)
 Sets the translation request needed to obtain the physical address of this request.
 
void markDelayed () override
 Signal that the translation has been delayed due to a hw page table walk.
 
void finish (const Fault &fault, const RequestPtr &req, ThreadContext *tc, BaseMMU::Mode mode) override
 
void startTranslation (BaseMMU *mmu)
 Issues the translation request to the provided MMU.
 
- 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.
 

Public Attributes

Queuedowner
 Owner of the packet.
 
PrefetchInfo pfInfo
 Prefetch info corresponding to this packet.
 
Tick tick
 Time when this prefetch becomes ready.
 
PacketPtr pkt
 The memory packet generated by this prefetch.
 
int32_t priority
 The priority of this prefetch.
 
RequestPtr translationRequest
 Request used when a translation is needed.
 
ThreadContexttc
 
bool ongoingTranslation
 
const CacheAccessorcache
 

Detailed Description

Definition at line 62 of file queued.hh.

Constructor & Destructor Documentation

◆ DeferredPacket()

gem5::prefetch::Queued::DeferredPacket::DeferredPacket ( Queued * o,
PrefetchInfo const & pfi,
Tick t,
int32_t prio,
const CacheAccessor & _cache )
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 58 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 91 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 131 of file queued.hh.

◆ operator<()

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

Definition at line 99 of file queued.hh.

References priority.

◆ operator<=()

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

Definition at line 103 of file queued.hh.

◆ operator>()

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

Definition at line 95 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 126 of file queued.hh.

References translationRequest.

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

◆ startTranslation()

void gem5::prefetch::Queued::DeferredPacket::startTranslation ( BaseMMU * mmu)

Issues the translation request to the provided MMU.

Parameters
mmuthe mmu that has to translate the address

Definition at line 80 of file queued.cc.

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

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

Member Data Documentation

◆ cache

const CacheAccessor* gem5::prefetch::Queued::DeferredPacket::cache

Definition at line 78 of file queued.hh.

◆ ongoingTranslation

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

Definition at line 77 of file queued.hh.

◆ owner

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

Owner of the packet.

Definition at line 65 of file queued.hh.

◆ pfInfo

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

Prefetch info corresponding to this packet.

Definition at line 67 of file queued.hh.

Referenced by createPkt().

◆ pkt

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

The memory packet generated by this prefetch.

Definition at line 71 of file queued.hh.

Referenced by createPkt().

◆ priority

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

The priority of this prefetch.

Definition at line 73 of file queued.hh.

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

◆ tc

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

Definition at line 76 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 69 of file queued.hh.

Referenced by createPkt().

◆ translationRequest

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

Request used when a translation is needed.

Definition at line 75 of file queued.hh.

Referenced by setTranslationRequest().


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

Generated on Tue Jun 18 2024 16:24:21 for gem5 by doxygen 1.11.0