gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
LSQ< Impl >::LSQRequest Class Referenceabstract

Memory operation metadata. More...

#include <lsq.hh>

Inheritance diagram for LSQ< Impl >::LSQRequest:
BaseTLB::Translation LSQ< Impl >::SingleDataRequest LSQ< Impl >::SplitDataRequest

Public Member Functions

virtual bool recvTimingResp (PacketPtr pkt)=0
 
virtual void sendPacketToCache ()=0
 
virtual void buildPackets ()=0
 
virtual void handleIprWrite (ThreadContext *thread, PacketPtr pkt)=0
 Memory mapped IPR accesses. More...
 
virtual Cycles handleIprRead (ThreadContext *thread, PacketPtr pkt)=0
 
virtual bool isCacheBlockHit (Addr blockAddr, Addr cacheBlockMask)=0
 Test if the request accesses a particular cache line. More...
 
void packetSent ()
 Update the status to reflect that a packet was sent. More...
 
void packetNotSent ()
 Update the status to reflect that a packet was not sent. More...
 
void sendFragmentToTranslation (int i)
 
bool isComplete ()
 
bool isInTranslation ()
 
bool isTranslationComplete ()
 
bool isTranslationBlocked ()
 
bool isSent ()
 
bool isPartialFault ()
 
bool isMemAccessRequired ()
 
void setStateToFault ()
 
void freeLSQEntry ()
 The LSQ entry is cleared. More...
 
void discard ()
 The request is discarded (e.g. More...
 
void packetReplied ()
 
void writebackScheduled ()
 
void writebackDone ()
 
void squashTranslation ()
 
void complete ()
 
void setContext (const ContextID &context_id)
 Convenience getters/setters. More...
 
const DynInstPtrinstruction ()
 
void setVirt (int asid, Addr vaddr, unsigned size, Request::Flags flags_, MasterID mid, Addr pc)
 Set up virtual request. More...
 
void taskId (const uint32_t &v)
 
uint32_t taskId () const
 
RequestPtr request (int idx=0)
 
const RequestPtr request (int idx=0) const
 
Addr getVaddr (int idx=0) const
 
virtual void initiateTranslation ()=0
 
PacketPtr packet (int idx=0)
 
virtual PacketPtr mainPacket ()
 
virtual RequestPtr mainRequest ()
 
void senderState (LSQSenderState *st)
 
const LSQSenderStatesenderState () const
 
void discardSenderState ()
 Mark senderState as discarded. More...
 
bool isAnyOutstandingRequest ()
 Test if there is any in-flight translation or mem access request. More...
 
bool isSplit () const
 
- Public Member Functions inherited from BaseTLB::Translation
virtual ~Translation ()
 
virtual void finish (const Fault &fault, const RequestPtr &req, ThreadContext *tc, Mode mode)=0
 

Public Attributes

LSQUnit_port
 
const DynInstPtr _inst
 
uint32_t _taskId
 
PacketDataPtr _data
 
std::vector< PacketPtr_packets
 
std::vector< RequestPtr_requests
 
std::vector< Fault_fault
 
uint64_t * _res
 
const Addr _addr
 
const uint32_t _size
 
const Request::Flags _flags
 
std::vector< bool > _byteEnable
 
uint32_t _numOutstandingPackets
 
AtomicOpFunctorPtr _amo_op
 

Protected Types

enum  Flag : FlagsStorage {
  IsLoad = 0x00000001, WbStore = 0x00000002, Delayed = 0x00000004, IsSplit = 0x00000008,
  TranslationStarted = 0x00000010, TranslationFinished = 0x00000020, Sent = 0x00000040, Retry = 0x00000080,
  Complete = 0x00000100, TranslationSquashed = 0x00000200, Discarded = 0x00000400, LSQEntryFreed = 0x00000800,
  WritebackScheduled = 0x00001000, WritebackDone = 0x00002000, IsAtomic = 0x00004000
}
 
enum  State {
  State::NotIssued, State::Translation, State::Request, State::Fault,
  State::PartialFault
}
 
typedef uint32_t FlagsStorage
 
typedef ::Flags< FlagsStorageFlagsType
 

Protected Member Functions

void setState (const State &newState)
 
void markDelayed () override
 Signal that the translation has been delayed due to a hw page table walk. More...
 
bool isDelayed ()
 
LSQUnitlsqUnit ()
 
 LSQRequest (LSQUnit *port, const DynInstPtr &inst, bool isLoad)
 
 LSQRequest (LSQUnit *port, const DynInstPtr &inst, bool isLoad, const Addr &addr, const uint32_t &size, const Request::Flags &flags_, PacketDataPtr data=nullptr, uint64_t *res=nullptr, AtomicOpFunctorPtr amo_op=nullptr)
 
bool isLoad () const
 
bool isAtomic () const
 
void install ()
 Install the request in the LQ/SQ. More...
 
virtual bool squashed () const override
 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...
 
bool isReleased ()
 Test if the LSQRequest has been released, i.e. More...
 
void release (Flag reason)
 Release the LSQRequest. More...
 
void addRequest (Addr addr, unsigned size, const std::vector< bool > &byte_enable)
 Helper function used to add a (sub)request, given its address addr, size size and byte-enable mask byteEnable. More...
 
virtual ~LSQRequest ()
 Destructor. More...
 

Protected Attributes

FlagsType flags
 
State _state
 
LSQSenderState_senderState
 
uint32_t numTranslatedFragments
 
uint32_t numInTranslationFragments
 
uint32_t _entryIdx
 LQ/SQ entry idx. More...
 

Detailed Description

template<class Impl>
class LSQ< Impl >::LSQRequest

Memory operation metadata.

This class holds the information about a memory operation. It lives from initiateAcc to resource deallocation at commit or squash. LSQRequest objects are owned by the LQ/SQ Entry in the LSQUnit that holds the operation. It is also used by the LSQSenderState. In addition, the LSQRequest is a TranslationState, therefore, upon squash, there must be a defined ownership transferal in case the LSQ resources are deallocated before the TLB is done using the TranslationState. If that happens, the LSQRequest will be self-owned, and responsible to detect that its services are no longer required and self-destruct.

Lifetime of a LSQRequest: +-----------------—+ |LSQ creates and owns| +-----------------—+ | +-----------------—+ | Initate translation| +-----------------—+ | ___^___ ___/ ___ ______/ Squashed? \ | ___ ___/ | ___ ___/ | v | | | +-----------------—+ | | Translation done | | +-----------------—+ | | | +-----------------—+ | | Send packet |<---—+ | +-----------------—+ | | | | | ___^___ | | ___/ ___ | | ____/ Squashed? \ | | | ___ ___/ | | | ___ ___/ | | | v | | | | | | | ___^___ | | | ___/ ___ | | | / Done? __________| | | ___ ___/ | | ___ ___/

v
+-----------------—+

| | | Manage stuff | | | | Free resources | | | +-----------------—+ | | | | +-----------------—+ | | | senderState owns | | +->| onRecvTimingResp | | | free resources | | +-----------------—+ | | +-------------------—+ | | self owned (Trans) | +–>| on TranslationFinish | | free resources | +-------------------—+

Definition at line 232 of file lsq.hh.

Member Typedef Documentation

◆ FlagsStorage

template<class Impl>
typedef uint32_t LSQ< Impl >::LSQRequest::FlagsStorage
protected

Definition at line 235 of file lsq.hh.

◆ FlagsType

template<class Impl>
typedef ::Flags<FlagsStorage> LSQ< Impl >::LSQRequest::FlagsType
protected

Definition at line 236 of file lsq.hh.

Member Enumeration Documentation

◆ Flag

template<class Impl>
enum LSQ::LSQRequest::Flag : FlagsStorage
protected
Enumerator
IsLoad 
WbStore 

True if this is a store/atomic that writes registers (SC).

Delayed 
IsSplit 
TranslationStarted 

True if any translation has been sent to TLB.

TranslationFinished 

True if there are un-replied outbound translations.

Sent 
Retry 
Complete 
TranslationSquashed 

Ownership tracking flags.

Translation squashed.

Discarded 

Request discarded.

LSQEntryFreed 

LSQ resources freed.

WritebackScheduled 

Store written back.

WritebackDone 
IsAtomic 

True if this is an atomic request.

Definition at line 238 of file lsq.hh.

◆ State

template<class Impl>
enum LSQ::LSQRequest::State
strongprotected
Enumerator
NotIssued 
Translation 
Request 
Fault 
PartialFault 

Definition at line 267 of file lsq.hh.

Constructor & Destructor Documentation

◆ LSQRequest() [1/2]

template<class Impl>
LSQ< Impl >::LSQRequest::LSQRequest ( LSQUnit port,
const DynInstPtr inst,
bool  isLoad 
)
inlineprotected

Definition at line 305 of file lsq.hh.

References Flags< T >::set().

◆ LSQRequest() [2/2]

template<class Impl>
LSQ< Impl >::LSQRequest::LSQRequest ( LSQUnit port,
const DynInstPtr inst,
bool  isLoad,
const Addr addr,
const uint32_t &  size,
const Request::Flags flags_,
PacketDataPtr  data = nullptr,
uint64_t *  res = nullptr,
AtomicOpFunctorPtr  amo_op = nullptr 
)
inlineprotected

Definition at line 317 of file lsq.hh.

References Flags< T >::set().

◆ ~LSQRequest()

template<class Impl>
virtual LSQ< Impl >::LSQRequest::~LSQRequest ( )
inlineprotectedvirtual

Destructor.

The LSQRequest owns the request. If the packet has already been sent, the sender state will be deleted upon receiving the reply.

Definition at line 428 of file lsq.hh.

References MipsISA::r.

Member Function Documentation

◆ addRequest()

template<class Impl>
void LSQ< Impl >::LSQRequest::addRequest ( Addr  addr,
unsigned  size,
const std::vector< bool > &  byte_enable 
)
inlineprotected

Helper function used to add a (sub)request, given its address addr, size size and byte-enable mask byteEnable.

The request is only added if the mask is empty or if there is at least an active element in it.

Definition at line 408 of file lsq.hh.

References addr, isAnyActiveElement(), and LSQ< Impl >::LSQSenderState::request().

◆ buildPackets()

template<class Impl>
virtual void LSQ< Impl >::LSQRequest::buildPackets ( )
pure virtual

◆ complete()

template<class Impl>
void LSQ< Impl >::LSQRequest::complete ( )
inline

Definition at line 688 of file lsq.hh.

References Flags< T >::set().

◆ discard()

template<class Impl>
void LSQ< Impl >::LSQRequest::discard ( )
inline

The request is discarded (e.g.

partial store-load forwarding)

Definition at line 645 of file lsq.hh.

◆ discardSenderState()

template<class Impl>
void LSQ< Impl >::LSQRequest::discardSenderState ( )
inline

Mark senderState as discarded.

This will cause to discard response packets from the cache.

Definition at line 523 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::deleteRequest().

◆ freeLSQEntry()

template<class Impl>
void LSQ< Impl >::LSQRequest::freeLSQEntry ( )
inline

The LSQ entry is cleared.

Definition at line 636 of file lsq.hh.

◆ getVaddr()

template<class Impl>
Addr LSQ< Impl >::LSQRequest::getVaddr ( int  idx = 0) const
inline

◆ handleIprRead()

template<class Impl>
virtual Cycles LSQ< Impl >::LSQRequest::handleIprRead ( ThreadContext thread,
PacketPtr  pkt 
)
pure virtual

◆ handleIprWrite()

template<class Impl>
virtual void LSQ< Impl >::LSQRequest::handleIprWrite ( ThreadContext thread,
PacketPtr  pkt 
)
pure virtual

Memory mapped IPR accesses.

Implemented in LSQ< Impl >::SplitDataRequest, and LSQ< Impl >::SingleDataRequest.

◆ initiateTranslation()

template<class Impl>
virtual void LSQ< Impl >::LSQRequest::initiateTranslation ( )
pure virtual

◆ install()

template<class Impl>
void LSQ< Impl >::LSQRequest::install ( )
inlineprotected

Install the request in the LQ/SQ.

Definition at line 351 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::isLoad, LSQUnit< Impl >::loadQueue, and LSQUnit< Impl >::storeQueue.

◆ instruction()

template<class Impl>
const DynInstPtr& LSQ< Impl >::LSQRequest::instruction ( )
inline

Definition at line 451 of file lsq.hh.

◆ isAnyOutstandingRequest()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isAnyOutstandingRequest ( )
inline

Test if there is any in-flight translation or mem access request.

Definition at line 533 of file lsq.hh.

References Flags< T >::isSet().

◆ isAtomic()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isAtomic ( ) const
inlineprotected

Definition at line 345 of file lsq.hh.

References Flags< T >::isSet().

◆ isCacheBlockHit()

template<class Impl>
virtual bool LSQ< Impl >::LSQRequest::isCacheBlockHit ( Addr  blockAddr,
Addr  cacheBlockMask 
)
pure virtual

Test if the request accesses a particular cache line.

Implemented in LSQ< Impl >::SplitDataRequest, and LSQ< Impl >::SingleDataRequest.

◆ isComplete()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isComplete ( )
inline

Definition at line 581 of file lsq.hh.

References Flags< T >::isSet().

◆ isDelayed()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isDelayed ( )
inlineprotected

Definition at line 286 of file lsq.hh.

References Flags< T >::isSet().

◆ isInTranslation()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isInTranslation ( )
inline

Definition at line 587 of file lsq.hh.

◆ isLoad()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isLoad ( ) const
inlineprotected

Definition at line 339 of file lsq.hh.

References Flags< T >::isSet().

◆ isMemAccessRequired()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isMemAccessRequired ( )
inline

Definition at line 620 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::isLoad.

Referenced by LSQ< Impl >::pushRequest().

◆ isPartialFault()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isPartialFault ( )
inline

Definition at line 614 of file lsq.hh.

◆ isReleased()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isReleased ( )
inlineprotected

Test if the LSQRequest has been released, i.e.

self-owned. An LSQRequest manages itself when the resources on the LSQ are freed but the translation is still going on and the LSQEntry was freed.

Definition at line 373 of file lsq.hh.

References Flags< T >::isSet().

◆ isSent()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isSent ( )
inline

Definition at line 608 of file lsq.hh.

References Flags< T >::isSet().

◆ isSplit()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isSplit ( ) const
inline

◆ isTranslationBlocked()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isTranslationBlocked ( )
inline

Definition at line 600 of file lsq.hh.

References Flags< T >::isSet().

◆ isTranslationComplete()

template<class Impl>
bool LSQ< Impl >::LSQRequest::isTranslationComplete ( )
inline

Definition at line 593 of file lsq.hh.

References Flags< T >::isSet().

Referenced by LSQ< Impl >::pushRequest().

◆ lsqUnit()

template<class Impl>
LSQUnit* LSQ< Impl >::LSQRequest::lsqUnit ( )
inlineprotected

Definition at line 304 of file lsq.hh.

◆ mainPacket()

template<class Impl>
virtual PacketPtr LSQ< Impl >::LSQRequest::mainPacket ( )
inlinevirtual

Reimplemented in LSQ< Impl >::SplitDataRequest.

Definition at line 489 of file lsq.hh.

◆ mainRequest()

template<class Impl>
virtual RequestPtr LSQ< Impl >::LSQRequest::mainRequest ( )
inlinevirtual

Reimplemented in LSQ< Impl >::SplitDataRequest.

Definition at line 496 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::request().

◆ markDelayed()

template<class Impl>
void LSQ< Impl >::LSQRequest::markDelayed ( )
inlineoverrideprotectedvirtual

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

Implements BaseTLB::Translation.

Definition at line 285 of file lsq.hh.

References Flags< T >::set().

◆ packet()

template<class Impl>
PacketPtr LSQ< Impl >::LSQRequest::packet ( int  idx = 0)
inline

Definition at line 486 of file lsq.hh.

◆ packetNotSent()

template<class Impl>
void LSQ< Impl >::LSQRequest::packetNotSent ( )
inline

Update the status to reflect that a packet was not sent.

When a packet fails to be sent, we mark the request as needing a retry. Note that Retry flag is sticky.

Definition at line 573 of file lsq.hh.

References Flags< T >::clear(), ArmISA::i, and Flags< T >::set().

◆ packetReplied()

template<class Impl>
void LSQ< Impl >::LSQRequest::packetReplied ( )
inline

Definition at line 651 of file lsq.hh.

◆ packetSent()

template<class Impl>
void LSQ< Impl >::LSQRequest::packetSent ( )
inline

Update the status to reflect that a packet was sent.

Definition at line 564 of file lsq.hh.

References Flags< T >::set().

◆ recvTimingResp()

template<class Impl>
virtual bool LSQ< Impl >::LSQRequest::recvTimingResp ( PacketPtr  pkt)
pure virtual

◆ release()

template<class Impl>
void LSQ< Impl >::LSQRequest::release ( Flag  reason)
inlineprotected

Release the LSQRequest.

Notify the sender state that the request it points to is not valid anymore. Understand if the request is orphan (self-managed) and if so, mark it as freed, else destroy it, as this means the end of its life cycle. An LSQRequest is orphan when its resources are released but there is any in-flight translation request to the TLB or access request to the memory.

Definition at line 388 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::deleteRequest(), and Flags< T >::set().

◆ request() [1/2]

template<class Impl>
RequestPtr LSQ< Impl >::LSQRequest::request ( int  idx = 0)
inline

Definition at line 475 of file lsq.hh.

Referenced by LSQ< Impl >::pushRequest(), LSQ< Impl >::read(), and LSQ< Impl >::write().

◆ request() [2/2]

template<class Impl>
const RequestPtr LSQ< Impl >::LSQRequest::request ( int  idx = 0) const
inline

Definition at line 478 of file lsq.hh.

◆ senderState() [1/2]

template<class Impl>
void LSQ< Impl >::LSQRequest::senderState ( LSQSenderState st)
inline

Definition at line 503 of file lsq.hh.

References ArmISA::st.

◆ senderState() [2/2]

template<class Impl>
const LSQSenderState* LSQ< Impl >::LSQRequest::senderState ( ) const
inline

Definition at line 513 of file lsq.hh.

◆ sendFragmentToTranslation()

template<class Impl >
void LSQ< Impl >::LSQRequest::sendFragmentToTranslation ( int  i)

Definition at line 975 of file lsq_impl.hh.

References BaseTLB::Read, and BaseTLB::Write.

◆ sendPacketToCache()

template<class Impl>
virtual void LSQ< Impl >::LSQRequest::sendPacketToCache ( )
pure virtual

◆ setContext()

template<class Impl>
void LSQ< Impl >::LSQRequest::setContext ( const ContextID context_id)
inline

Convenience getters/setters.

Set up Context numbers.

Definition at line 445 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::request(), and LSQ< Impl >::LSQRequest::setContext().

Referenced by LSQ< Impl >::LSQRequest::setContext().

◆ setState()

template<class Impl>
void LSQ< Impl >::LSQRequest::setState ( const State newState)
inlineprotected

Definition at line 277 of file lsq.hh.

◆ setStateToFault()

template<class Impl>
void LSQ< Impl >::LSQRequest::setStateToFault ( )
inline

Definition at line 627 of file lsq.hh.

◆ setVirt()

template<class Impl>
void LSQ< Impl >::LSQRequest::setVirt ( int  asid,
Addr  vaddr,
unsigned  size,
Request::Flags  flags_,
MasterID  mid,
Addr  pc 
)
inline

Set up virtual request.

For a previously allocated Request objects.

Definition at line 460 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::request(), and LSQ< Impl >::LSQRequest::setVirt().

Referenced by LSQ< Impl >::LSQRequest::setVirt().

◆ squashed()

template<class Impl>
virtual bool LSQ< Impl >::LSQRequest::squashed ( ) const
inlineoverrideprotectedvirtual

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.

@ return Is the instruction that requested this translation squashed?

Reimplemented from BaseTLB::Translation.

Definition at line 362 of file lsq.hh.

◆ squashTranslation()

template<class Impl>
void LSQ< Impl >::LSQRequest::squashTranslation ( )
inline

Definition at line 677 of file lsq.hh.

References Flags< T >::set().

◆ taskId() [1/2]

template<class Impl>
void LSQ< Impl >::LSQRequest::taskId ( const uint32_t &  v)
inline

Definition at line 467 of file lsq.hh.

References MipsISA::r, and ArmISA::v.

Referenced by LSQ< Impl >::pushRequest().

◆ taskId() [2/2]

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::taskId ( ) const
inline

Definition at line 474 of file lsq.hh.

◆ writebackDone()

template<class Impl>
void LSQ< Impl >::LSQRequest::writebackDone ( )
inline

Definition at line 667 of file lsq.hh.

References Flags< T >::set().

Referenced by LSQ< Impl >::LSQSenderState::writebackDone().

◆ writebackScheduled()

template<class Impl>
void LSQ< Impl >::LSQRequest::writebackScheduled ( )
inline

Definition at line 660 of file lsq.hh.

References Flags< T >::isSet(), and Flags< T >::set().

Member Data Documentation

◆ _addr

template<class Impl>
const Addr LSQ< Impl >::LSQRequest::_addr

Definition at line 297 of file lsq.hh.

◆ _amo_op

template<class Impl>
AtomicOpFunctorPtr LSQ< Impl >::LSQRequest::_amo_op

Definition at line 302 of file lsq.hh.

◆ _byteEnable

template<class Impl>
std::vector<bool> LSQ< Impl >::LSQRequest::_byteEnable

Definition at line 300 of file lsq.hh.

Referenced by LSQ< Impl >::pushRequest().

◆ _data

template<class Impl>
PacketDataPtr LSQ< Impl >::LSQRequest::_data

Definition at line 292 of file lsq.hh.

◆ _entryIdx

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::_entryIdx
protected

LQ/SQ entry idx.

Definition at line 283 of file lsq.hh.

◆ _fault

template<class Impl>
std::vector<Fault> LSQ< Impl >::LSQRequest::_fault

Definition at line 295 of file lsq.hh.

◆ _flags

template<class Impl>
const Request::Flags LSQ< Impl >::LSQRequest::_flags

Definition at line 299 of file lsq.hh.

◆ _inst

template<class Impl>
const DynInstPtr LSQ< Impl >::LSQRequest::_inst

Definition at line 290 of file lsq.hh.

Referenced by LSQ< Impl >::SingleDataRequest::finish().

◆ _numOutstandingPackets

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::_numOutstandingPackets

Definition at line 301 of file lsq.hh.

◆ _packets

template<class Impl>
std::vector<PacketPtr> LSQ< Impl >::LSQRequest::_packets

Definition at line 293 of file lsq.hh.

◆ _port

template<class Impl>
LSQUnit& LSQ< Impl >::LSQRequest::_port

Definition at line 289 of file lsq.hh.

◆ _requests

template<class Impl>
std::vector<RequestPtr> LSQ< Impl >::LSQRequest::_requests

Definition at line 294 of file lsq.hh.

Referenced by LSQ< Impl >::SingleDataRequest::isCacheBlockHit().

◆ _res

template<class Impl>
uint64_t* LSQ< Impl >::LSQRequest::_res

Definition at line 296 of file lsq.hh.

◆ _senderState

template<class Impl>
LSQSenderState* LSQ< Impl >::LSQRequest::_senderState
protected

Definition at line 276 of file lsq.hh.

◆ _size

template<class Impl>
const uint32_t LSQ< Impl >::LSQRequest::_size

Definition at line 298 of file lsq.hh.

◆ _state

template<class Impl>
State LSQ< Impl >::LSQRequest::_state
protected

Definition at line 275 of file lsq.hh.

◆ _taskId

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::_taskId

Definition at line 291 of file lsq.hh.

◆ flags

template<class Impl>
FlagsType LSQ< Impl >::LSQRequest::flags
protected

Definition at line 265 of file lsq.hh.

◆ numInTranslationFragments

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::numInTranslationFragments
protected

Definition at line 280 of file lsq.hh.

◆ numTranslatedFragments

template<class Impl>
uint32_t LSQ< Impl >::LSQRequest::numTranslatedFragments
protected

Definition at line 279 of file lsq.hh.


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

Generated on Fri Feb 28 2020 16:27:12 for gem5 by doxygen 1.8.13