gem5 v24.0.0.0
|
gem5::Flags< T >::Flags (Type flags=0) | |
Initialize flags with a given value. | |
gem5::Flags< T >::operator const Type () const | |
const Flags< T > & | gem5::Flags< T >::operator= (T flags) |
bool | gem5::Flags< T >::isSet (Type mask) const |
Verifies whether any bit matching the given mask is set. | |
bool | gem5::Flags< T >::allSet (Type mask) const |
Verifies whether no bits matching the given mask are set. | |
bool | gem5::Flags< T >::noneSet (Type mask) const |
Verifies whether no bits matching the given mask are set. | |
void | gem5::Flags< T >::clear () |
Clear all flag's bits. | |
void | gem5::Flags< T >::clear (Type mask) |
Clear all flag's bits matching the given mask. | |
void | gem5::Flags< T >::set (Type mask) |
Set all flag's bits matching the given mask. | |
void | gem5::Flags< T >::set (Type mask, bool condition) |
Conditionally set or clear some bits of the flag, given a mask. | |
void | gem5::Flags< T >::replace (Type flags, Type mask) |
Replace the contents of the bits matching the mask with the corresponding bits in the provided flags. | |
These methods relate to the Flags interface.
|
inline |
Verifies whether no bits matching the given mask are set.
mask | The mask containing the bits to verify. |
Definition at line 91 of file flags.hh.
References gem5::Flags< T >::_flags, and gem5::ArmISA::mask.
|
inline |
Clear all flag's bits.
Definition at line 102 of file flags.hh.
References gem5::Flags< T >::_flags.
Referenced by gem5::Packet::clearBlockCached(), gem5::Request::clearCacheCoherenceFlags(), gem5::Event::clearFlags(), gem5::Event::clearFlags(), gem5::Request::clearFlags(), gem5::Packet::clearWriteThrough(), gem5::Packet::deleteData(), gem5::GPUComputeDriver::ioctl(), gem5::Packet::makeHtmTransactionalReqResponse(), gem5::Packet::makeResponse(), gem5::Packet::Packet(), gem5::Packet::Packet(), gem5::o3::LSQ::LSQRequest::packetNotSent(), gem5::EventQueue::serviceOne(), gem5::Flags< T >::set(), gem5::Request::setVirt(), and gem5::Event::unserialize().
|
inline |
Clear all flag's bits matching the given mask.
mask | The mask containing the bits to be cleared. |
Definition at line 109 of file flags.hh.
References gem5::Flags< T >::_flags.
|
inline |
|
inline |
Verifies whether any bit matching the given mask is set.
mask | The mask containing the bits to verify. |
Definition at line 83 of file flags.hh.
References gem5::Flags< T >::_flags, and gem5::ArmISA::mask.
Referenced by gem5::Event::acquire(), gem5::Packet::cacheResponding(), gem5::Packet::deleteData(), gem5::Request::extraDataValid(), gem5::Packet::getAddr(), gem5::Packet::getConstPtr(), gem5::Packet::getHtmTransactionUid(), gem5::Packet::getPtr(), gem5::Packet::getRaw(), gem5::Packet::getSize(), gem5::Request::getVaddr(), gem5::Request::hasContextId(), gem5::Request::hasHtmAbortCause(), gem5::Request::hasInstCount(), gem5::Request::hasInstSeqNum(), gem5::Request::hasPaddr(), gem5::Request::hasPC(), gem5::Packet::hasSharers(), gem5::Request::hasSize(), gem5::Request::hasStreamId(), gem5::Request::hasSubstreamId(), gem5::Request::hasVaddr(), gem5::Packet::htmTransactionFailedInCache(), gem5::Request::isAcquire(), gem5::o3::LSQ::LSQRequest::isAnyOutstandingRequest(), gem5::o3::LSQ::LSQRequest::isAtomic(), gem5::Request::isAtomic(), gem5::Request::isAtomicNoReturn(), gem5::Request::isAtomicReturn(), gem5::Packet::isBlockCached(), gem5::Request::isCacheClean(), gem5::Request::isCacheInvalidate(), gem5::Request::isCacheMaintenance(), gem5::o3::LSQ::LSQRequest::isComplete(), gem5::Request::isCondSwap(), gem5::o3::LSQ::LSQRequest::isDelayed(), gem5::OperandInfo::isDst(), gem5::OperandInfo::isExec(), gem5::Event::isExitEvent(), gem5::Packet::isExpressSnoop(), gem5::Event::isFlagSet(), gem5::OperandInfo::isFlatScratch(), gem5::Request::isGL2CacheFlush(), gem5::Request::isGLCSet(), gem5::Request::isHTMAbort(), gem5::Request::isHTMCancel(), gem5::Request::isHTMCommit(), gem5::Request::isHTMStart(), gem5::Packet::isHtmTransactional(), gem5::OperandInfo::isImm(), gem5::Request::isInstFetch(), gem5::Request::isInvL1(), gem5::Request::isInvL2(), gem5::Request::isKernel(), gem5::Request::isLLSC(), gem5::o3::LSQ::LSQRequest::isLoad(), gem5::Request::isLockedRMW(), gem5::Event::isManaged(), gem5::Request::isPrefetch(), gem5::Request::isPrefetchEx(), gem5::Request::isPriv(), gem5::Request::isPTWalk(), gem5::Request::isReadModifyWrite(), gem5::Request::isRelease(), gem5::o3::LSQ::LSQRequest::isReleased(), gem5::OperandInfo::isScalarReg(), gem5::Packet::isSecure(), gem5::Request::isSecure(), gem5::o3::LSQ::LSQRequest::isSent(), gem5::Request::isSLCSet(), gem5::o3::LSQ::LSQRequest::isSplit(), gem5::OperandInfo::isSrc(), gem5::Request::isStrictlyOrdered(), gem5::TraceCPU::ElasticDataGen::GraphNode::isStrictlyOrdered(), gem5::Request::isSwap(), gem5::Request::isTlbi(), gem5::Request::isTlbiExtSync(), gem5::Request::isTlbiExtSyncComp(), gem5::Request::isTlbiSync(), gem5::Request::isToPOC(), gem5::Request::isToPOU(), gem5::o3::LSQ::LSQRequest::isTranslationBlocked(), gem5::o3::LSQ::LSQRequest::isTranslationComplete(), gem5::Request::isUncacheable(), gem5::OperandInfo::isVcc(), gem5::OperandInfo::isVectorReg(), gem5::o3::LSQ::LSQRequest::needWBToRegister(), gem5::statistics::Text::noOutput(), gem5::statistics::DistPrint::operator()(), gem5::statistics::ScalarPrint::operator()(), gem5::statistics::VectorPrint::operator()(), gem5::Packet::Packet(), gem5::pybind_init_stats(), gem5::Event::release(), gem5::Packet::responderHadWritable(), gem5::Packet::satisfied(), gem5::Event::scheduled(), gem5::Packet::setAddr(), gem5::Packet::setCacheResponding(), gem5::Packet::setData(), gem5::Packet::setRaw(), gem5::Packet::setSatisfied(), gem5::Packet::setSize(), gem5::Event::squashed(), gem5::Packet::suppressFuncError(), gem5::Event::unserialize(), gem5::statistics::Text::visit(), gem5::o3::LSQ::LSQRequest::writebackScheduled(), and gem5::Packet::writeThrough().
|
inline |
Verifies whether no bits matching the given mask are set.
mask | The mask containing the bits to verify. |
Definition at line 99 of file flags.hh.
References gem5::Flags< T >::_flags, and gem5::ArmISA::mask.
Referenced by gem5::Packet::allocate(), gem5::Event::clearFlags(), gem5::Packet::dataDynamic(), gem5::Packet::dataStatic(), gem5::Packet::dataStaticConst(), gem5::Event::isFlagSet(), and gem5::Event::setFlags().
|
inline |
Definition at line 68 of file flags.hh.
References gem5::Flags< T >::_flags.
|
inline |
Definition at line 71 of file flags.hh.
References gem5::Flags< T >::_flags, and flags.
|
inline |
Replace the contents of the bits matching the mask with the corresponding bits in the provided flags.
This is equivalent to: flags.clear(mask); flags.set(flags & mask);
flags | Flags to extract new bits from. |
mask | Mask used to determine which bits are replaced. |
Definition at line 141 of file flags.hh.
References gem5::Flags< T >::_flags, flags, and gem5::ArmISA::mask.
|
inline |
Set all flag's bits matching the given mask.
mask | The mask containing the bits to be set. |
Definition at line 116 of file flags.hh.
References gem5::Flags< T >::_flags, and gem5::ArmISA::mask.
Referenced by gem5::Packet::allocate(), gem5::o3::LSQ::LSQRequest::complete(), gem5::Packet::copyResponderFlags(), gem5::Packet::dataDynamic(), gem5::Packet::dataStatic(), gem5::Packet::dataStaticConst(), gem5::ArmISA::TableWalker::doL1Descriptor(), gem5::ArmISA::TableWalker::doLongDescriptor(), gem5::o3::LSQ::SingleDataRequest::finish(), gem5::GPUComputeDriver::GPUComputeDriver(), gem5::Check::initiateCheck(), gem5::Check::initiatePrefetch(), gem5::o3::LSQ::LSQRequest::LSQRequest(), gem5::o3::LSQ::LSQRequest::LSQRequest(), gem5::o3::LSQ::LSQRequest::markDelayed(), gem5::OperandInfo::OperandInfo(), gem5::Packet::Packet(), gem5::Packet::Packet(), gem5::Packet::Packet(), gem5::o3::LSQ::LSQRequest::packetNotSent(), gem5::o3::LSQ::LSQRequest::packetSent(), gem5::ArmISA::TableWalker::processWalk(), gem5::ArmISA::TableWalker::processWalkAArch64(), gem5::ArmISA::TableWalker::processWalkLPAE(), gem5::o3::LSQ::LSQRequest::release(), gem5::Request::Request(), gem5::Packet::setBlockCached(), gem5::Request::setCacheCoherenceFlags(), gem5::Packet::setCacheResponding(), gem5::Request::setContext(), gem5::Packet::setExpressSnoop(), gem5::Request::setExtraData(), gem5::Event::setFlags(), gem5::Request::setFlags(), gem5::Packet::setHasSharers(), gem5::Request::setHtmAbortCause(), gem5::Packet::setHtmTransactional(), gem5::Packet::setHtmTransactionFailedInCache(), gem5::statistics::InfoAccess::setInit(), gem5::Request::setInstCount(), gem5::Request::setPaddr(), gem5::Request::setPC(), gem5::Request::setReqInstSeqNum(), gem5::Packet::setResponderHadWritable(), gem5::Packet::setSatisfied(), gem5::Packet::setSize(), gem5::Request::setStreamId(), gem5::Request::setSubstreamId(), gem5::Packet::setSuppressFuncError(), gem5::X86ISA::Walker::WalkerState::setupWalk(), gem5::Request::setVirt(), gem5::Packet::setWriteThrough(), gem5::o3::LSQ::SplitDataRequest::SplitDataRequest(), gem5::Event::squash(), gem5::o3::LSQ::LSQRequest::squashTranslation(), TEST(), TEST(), TEST(), TEST(), gem5::Event::unserialize(), gem5::o3::LSQ::LSQRequest::writebackDone(), and gem5::o3::LSQ::LSQRequest::writebackScheduled().
|
inline |
Conditionally set or clear some bits of the flag, given a mask.
mask | The mask containing the bits to be modified. |
condition | If true, set masked bits; otherwise, clear them. |
Definition at line 125 of file flags.hh.
References gem5::Flags< T >::clear(), gem5::ArmISA::mask, and gem5::ArmISA::set.