gem5  v20.0.0.2
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 Cycles handleLocalAccess (ThreadContext *thread, PacketPtr pkt)=0
 Memory mapped IPR accesses. More...
 
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 (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 230 of file lsq.hh.

Member Typedef Documentation

◆ FlagsStorage

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

Definition at line 233 of file lsq.hh.

◆ FlagsType

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

Definition at line 234 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 236 of file lsq.hh.

◆ State

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

Definition at line 265 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 303 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 315 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 426 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 406 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 686 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 643 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 521 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 634 of file lsq.hh.

◆ getVaddr()

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

◆ handleLocalAccess()

template<class Impl>
virtual Cycles LSQ< Impl >::LSQRequest::handleLocalAccess ( 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 349 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 449 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 531 of file lsq.hh.

References Flags< T >::isSet().

◆ isAtomic()

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

Definition at line 343 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 579 of file lsq.hh.

References Flags< T >::isSet().

◆ isDelayed()

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

Definition at line 284 of file lsq.hh.

References Flags< T >::isSet().

◆ isInTranslation()

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

Definition at line 585 of file lsq.hh.

◆ isLoad()

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

Definition at line 337 of file lsq.hh.

References Flags< T >::isSet().

◆ isMemAccessRequired()

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

Definition at line 618 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 612 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 371 of file lsq.hh.

References Flags< T >::isSet().

◆ isSent()

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

Definition at line 606 of file lsq.hh.

References Flags< T >::isSet().

◆ isSplit()

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

Definition at line 540 of file lsq.hh.

References Flags< T >::isSet(), LSQ< Impl >::recvTimingResp(), and LSQ< Impl >::thread.

◆ isTranslationBlocked()

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

Definition at line 598 of file lsq.hh.

References Flags< T >::isSet().

◆ isTranslationComplete()

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

Definition at line 591 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 302 of file lsq.hh.

◆ mainPacket()

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

Reimplemented in LSQ< Impl >::SplitDataRequest.

Definition at line 487 of file lsq.hh.

◆ mainRequest()

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

Reimplemented in LSQ< Impl >::SplitDataRequest.

Definition at line 494 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 283 of file lsq.hh.

References Flags< T >::set().

◆ packet()

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

Definition at line 484 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 571 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 649 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 562 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 386 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 473 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 476 of file lsq.hh.

◆ senderState() [1/2]

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

Definition at line 501 of file lsq.hh.

References ArmISA::st.

◆ senderState() [2/2]

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

Definition at line 511 of file lsq.hh.

◆ sendFragmentToTranslation()

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

Definition at line 973 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 443 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 275 of file lsq.hh.

◆ setStateToFault()

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

Definition at line 625 of file lsq.hh.

◆ setVirt()

template<class Impl>
void LSQ< Impl >::LSQRequest::setVirt ( 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 458 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 360 of file lsq.hh.

◆ squashTranslation()

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

Definition at line 675 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 465 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 472 of file lsq.hh.

◆ writebackDone()

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

Definition at line 665 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 658 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 295 of file lsq.hh.

◆ _amo_op

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

Definition at line 300 of file lsq.hh.

◆ _byteEnable

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

Definition at line 298 of file lsq.hh.

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

◆ _data

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

Definition at line 290 of file lsq.hh.

◆ _entryIdx

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

LQ/SQ entry idx.

Definition at line 281 of file lsq.hh.

◆ _fault

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

Definition at line 293 of file lsq.hh.

◆ _flags

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

Definition at line 297 of file lsq.hh.

◆ _inst

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

Definition at line 288 of file lsq.hh.

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

◆ _numOutstandingPackets

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

Definition at line 299 of file lsq.hh.

◆ _packets

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

Definition at line 291 of file lsq.hh.

◆ _port

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

Definition at line 287 of file lsq.hh.

◆ _requests

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

Definition at line 292 of file lsq.hh.

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

◆ _res

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

Definition at line 294 of file lsq.hh.

◆ _senderState

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

Definition at line 274 of file lsq.hh.

◆ _size

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

Definition at line 296 of file lsq.hh.

◆ _state

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

Definition at line 273 of file lsq.hh.

◆ _taskId

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

Definition at line 289 of file lsq.hh.

◆ flags

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

Definition at line 263 of file lsq.hh.

◆ numInTranslationFragments

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

Definition at line 278 of file lsq.hh.

◆ numTranslatedFragments

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

Definition at line 277 of file lsq.hh.


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

Generated on Mon Jun 8 2020 15:45:24 for gem5 by doxygen 1.8.13