gem5 v24.1.0.1
|
#include <WriteMask.hh>
Public Types | |
typedef std::vector< std::pair< int, AtomicOpFunctor * > > | AtomicOpVector |
Public Member Functions | |
WriteMask () | |
WriteMask (int size) | |
WriteMask (int size, std::vector< bool > &mask) | |
WriteMask (int size, std::vector< bool > &mask, AtomicOpVector atomicOp) | |
~WriteMask () | |
int | getBlockSize () const |
void | setBlockSize (int size) |
void | clear () |
bool | test (int offset) const |
void | setMask (int offset, int len, bool val=true) |
void | fillMask () |
bool | getMask (int offset, int len) const |
bool | isOverlap (const WriteMask &readMask) const |
bool | containsMask (const WriteMask &readMask) const |
bool | isEmpty () const |
bool | isFull () const |
void | andMask (const WriteMask &writeMask) |
void | orMask (const WriteMask &writeMask) |
void | setInvertedMask (const WriteMask &writeMask) |
int | firstBitSet (bool val, int offset=0) const |
int | count (int offset=0) const |
void | print (std::ostream &out) const |
void | performAtomic (uint8_t *p, std::deque< uint8_t * > &atomicChangeLog, bool isAtomicNoReturn=true) const |
const AtomicOpVector & | getAtomicOps () const |
void | setAtomicOps (const AtomicOpVector &atomicOps) |
Private Attributes | |
int | mSize |
std::vector< bool > | mMask |
bool | mAtomic |
AtomicOpVector | mAtomicOp |
Definition at line 59 of file WriteMask.hh.
typedef std::vector<std::pair<int, AtomicOpFunctor* > > gem5::ruby::WriteMask::AtomicOpVector |
Definition at line 62 of file WriteMask.hh.
gem5::ruby::WriteMask::WriteMask | ( | ) |
Definition at line 41 of file WriteMask.cc.
|
inline |
Definition at line 66 of file WriteMask.hh.
|
inline |
Definition at line 70 of file WriteMask.hh.
|
inline |
Definition at line 74 of file WriteMask.hh.
|
inline |
Definition at line 78 of file WriteMask.hh.
|
inline |
Definition at line 189 of file WriteMask.hh.
References gem5::ArmISA::i, mAtomic, mAtomicOp, mMask, and mSize.
|
inline |
Definition at line 94 of file WriteMask.hh.
Referenced by setBlockSize().
|
inline |
Definition at line 152 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
|
inline |
Definition at line 239 of file WriteMask.hh.
References gem5::X86ISA::count, gem5::ArmISA::i, mMask, mSize, and gem5::ArmISA::offset.
|
inline |
Definition at line 117 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
|
inline |
Definition at line 229 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, mSize, gem5::ArmISA::offset, and gem5::X86ISA::val.
|
inline |
Definition at line 262 of file WriteMask.hh.
References mAtomicOp.
|
inline |
Definition at line 81 of file WriteMask.hh.
References mSize.
|
inline |
Definition at line 126 of file WriteMask.hh.
References gem5::ArmISA::i, gem5::ArmISA::len, mMask, mSize, and gem5::ArmISA::offset.
|
inline |
Definition at line 165 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 177 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 138 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
|
inline |
Definition at line 204 of file WriteMask.hh.
References gem5::ArmISA::i, mAtomic, mAtomicOp, mMask, and mSize.
void gem5::ruby::WriteMask::performAtomic | ( | uint8_t * | p, |
std::deque< uint8_t * > & | atomicChangeLog, | ||
bool | isAtomicNoReturn = true |
||
) | const |
Definition at line 59 of file WriteMask.cc.
References gem5::ArmISA::i, mAtomicOp, mSize, gem5::ArmISA::offset, and gem5::MipsISA::p.
void gem5::ruby::WriteMask::print | ( | std::ostream & | out | ) | const |
Definition at line 46 of file WriteMask.cc.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::operator<<().
|
inline |
Definition at line 268 of file WriteMask.hh.
References mAtomic, and mAtomicOp.
Referenced by gem5::ruby::RubyRequest::setWriteMask().
|
inline |
Definition at line 83 of file WriteMask.hh.
References clear(), and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 219 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
|
inline |
Definition at line 108 of file WriteMask.hh.
References gem5::ArmISA::i, gem5::ArmISA::len, mMask, mSize, gem5::ArmISA::offset, and gem5::X86ISA::val.
Referenced by gem5::ruby::RubyRequest::setWriteMask().
|
inline |
Definition at line 100 of file WriteMask.hh.
References mMask, mSize, and gem5::ArmISA::offset.
|
private |
Definition at line 277 of file WriteMask.hh.
Referenced by andMask(), orMask(), and setAtomicOps().
|
private |
Definition at line 278 of file WriteMask.hh.
Referenced by andMask(), getAtomicOps(), orMask(), performAtomic(), and setAtomicOps().
|
private |
Definition at line 276 of file WriteMask.hh.
Referenced by andMask(), clear(), containsMask(), count(), fillMask(), firstBitSet(), getMask(), isEmpty(), isFull(), isOverlap(), orMask(), print(), setInvertedMask(), setMask(), and test().
|
private |
Definition at line 275 of file WriteMask.hh.
Referenced by andMask(), clear(), containsMask(), count(), fillMask(), firstBitSet(), getBlockSize(), getMask(), isEmpty(), isFull(), isOverlap(), orMask(), performAtomic(), print(), setBlockSize(), setInvertedMask(), setMask(), and test().