|
gem5 [DEVELOP-FOR-25.0]
|
#include <insttracer.hh>
Classes | |
| union | Data |
Public Member Functions | |
| InstRecord (Tick _when, ThreadContext *_thread, const StaticInstPtr _staticInst, const PCStateBase &_pc, const StaticInstPtr _macroStaticInst=nullptr) | |
| virtual | ~InstRecord () |
| void | setWhen (Tick new_when) |
| void | setMem (Addr a, Addr s, unsigned f) |
| template<typename T, size_t N> | |
| void | setData (std::array< T, N > d) |
| void | setData (uint64_t d) |
| void | setData (uint32_t d) |
| void | setData (uint16_t d) |
| void | setData (uint8_t d) |
| void | setData (int64_t d) |
| void | setData (int32_t d) |
| void | setData (int16_t d) |
| void | setData (int8_t d) |
| void | setData (double d) |
| void | setData (const RegClass ®_class, RegVal val) |
| void | setData (const RegClass ®_class, const void *val) |
| void | setFetchSeq (InstSeqNum seq) |
| void | setCPSeq (InstSeqNum seq) |
| void | setPredicate (bool val) |
| void | setFaulting (bool val) |
| virtual void | dump ()=0 |
| Tick | getWhen () const |
| ThreadContext * | getThread () const |
| StaticInstPtr | getStaticInst () const |
| const PCStateBase & | getPCState () const |
| StaticInstPtr | getMacroStaticInst () const |
| Addr | getAddr () const |
| Addr | getSize () const |
| unsigned | getFlags () const |
| bool | getMemValid () const |
| uint64_t | getIntData () const |
| double | getFloatData () const |
| int | getDataStatus () const |
| InstSeqNum | getFetchSeq () const |
| bool | getFetchSeqValid () const |
| InstSeqNum | getCpSeq () const |
| bool | getCpSeqValid () const |
| bool | getFaulting () const |
Protected Types | |
| enum | DataStatus { DataInvalid = 0 , DataInt8 = 1 , DataInt16 = 2 , DataInt32 = 4 , DataInt64 = 8 , DataDouble = 3 , DataReg = 5 } |
| What size of data was written? More... | |
Protected Attributes | |
| Tick | when |
| ThreadContext * | thread |
| StaticInstPtr | staticInst |
| std::unique_ptr< PCStateBase > | pc |
| StaticInstPtr | macroStaticInst |
| Addr | addr = 0 |
| The address that was accessed. | |
| Addr | size = 0 |
| The size of the memory request. | |
| unsigned | flags = 0 |
| The flags that were assigned to the request. | |
| union gem5::trace::InstRecord::Data | data |
| InstSeqNum | fetch_seq = 0 |
| InstSeqNum | cp_seq = 0 |
| enum gem5::trace::InstRecord::DataStatus | dataStatus = DataInvalid |
| bool | mem_valid = false |
| Are the memory fields in the record valid? | |
| bool | fetch_seq_valid = false |
| Are the fetch sequence number fields valid? | |
| bool | cp_seq_valid = false |
| Are the commit sequence number fields valid? | |
| bool | predicate = true |
| is the predicate for execution this inst true or false (not execed)? | |
| bool | faulting = false |
| Did the execution of this instruction fault? | |
Definition at line 61 of file insttracer.hh.
|
inline |
Definition at line 160 of file insttracer.hh.
References macroStaticInst, pc, staticInst, thread, and when.
Referenced by gem5::trace::ExeTracerRecord::ExeTracerRecord(), gem5::trace::InstPBTraceRecord::InstPBTraceRecord(), gem5::trace::IntelTraceRecord::IntelTraceRecord(), and gem5::trace::TarmacBaseRecord::TarmacBaseRecord().
|
inlinevirtual |
Definition at line 167 of file insttracer.hh.
References data, DataReg, and dataStatus.
|
pure virtual |
|
inline |
Definition at line 296 of file insttracer.hh.
References addr.
Referenced by gem5::trace::TarmacTracerRecord::addMemEntry(), gem5::trace::TarmacTracerRecordV8::addMemEntry(), and gem5::trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 308 of file insttracer.hh.
References cp_seq.
|
inline |
Definition at line 309 of file insttracer.hh.
References cp_seq_valid.
|
inline |
Definition at line 303 of file insttracer.hh.
References dataStatus.
|
inline |
Definition at line 311 of file insttracer.hh.
References faulting.
|
inline |
Definition at line 305 of file insttracer.hh.
References fetch_seq.
|
inline |
Definition at line 306 of file insttracer.hh.
References fetch_seq_valid.
|
inline |
Definition at line 298 of file insttracer.hh.
References flags.
Referenced by gem5::trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 302 of file insttracer.hh.
References data.
|
inline |
Definition at line 301 of file insttracer.hh.
References data.
Referenced by gem5::trace::TarmacTracerRecord::addMemEntry(), and gem5::trace::TarmacTracerRecordV8::addMemEntry().
|
inline |
Definition at line 294 of file insttracer.hh.
References macroStaticInst.
Referenced by gem5::trace::ArmNativeTrace::check().
|
inline |
Definition at line 299 of file insttracer.hh.
References mem_valid.
Referenced by gem5::trace::TarmacTracerRecord::addMemEntry(), gem5::trace::TarmacTracerRecordV8::addMemEntry(), gem5::trace::InstPBTraceRecord::dump(), and gem5::trace::ExeTracerRecord::traceInst().
|
inline |
Definition at line 293 of file insttracer.hh.
References pc.
|
inline |
Definition at line 297 of file insttracer.hh.
References size.
Referenced by gem5::trace::TarmacTracerRecord::addMemEntry(), gem5::trace::TarmacTracerRecordV8::addMemEntry(), and gem5::trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 292 of file insttracer.hh.
References staticInst.
Referenced by gem5::trace::ArmNativeTrace::check(), and gem5::trace::X86NativeTrace::check().
|
inline |
Definition at line 291 of file insttracer.hh.
References thread.
Referenced by gem5::trace::ArmNativeTrace::check(), gem5::trace::SparcNativeTrace::check(), and gem5::trace::X86NativeTrace::check().
|
inline |
Definition at line 290 of file insttracer.hh.
References when.
|
inline |
Definition at line 277 of file insttracer.hh.
References cp_seq, and cp_seq_valid.
|
inline |
Definition at line 251 of file insttracer.hh.
References gem5::CCRegClass, data, DataDouble, DataInt64, DataReg, dataStatus, gem5::FloatRegClass, gem5::IntRegClass, gem5::MiscRegClass, gem5::RegClass::type(), and gem5::X86ISA::val.
Definition at line 232 of file insttracer.hh.
References gem5::CCRegClass, data, DataDouble, DataInt64, DataReg, dataStatus, gem5::FloatRegClass, gem5::IntRegClass, gem5::MiscRegClass, gem5::RegClass::type(), and gem5::X86ISA::val.
|
inline |
Definition at line 225 of file insttracer.hh.
References gem5::ArmISA::d, data, DataDouble, and dataStatus.
|
inline |
Definition at line 221 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 220 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 219 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 222 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 185 of file insttracer.hh.
References gem5::ArmISA::d, data, DataInt16, DataInt32, DataInt64, DataInt8, and dataStatus.
Referenced by gem5::amoMemAtomic(), gem5::RiscvISA::VCpyVsMicroInst::execute(), gem5::RiscvISA::VlFFTrimVlMicroOp::execute(), gem5::RiscvISA::VlSegDeIntrlvMicroInst::execute(), gem5::RiscvISA::VMaskMergeMicroInst::execute(), gem5::RiscvISA::VPinVdMicroInst::execute(), gem5::RiscvISA::VsSegIntrlvMicroInst::execute(), gem5::getMem(), gem5::X86ISA::getMem(), gem5::X86ISA::getMem(), gem5::readMemAtomic(), gem5::readMemAtomic(), gem5::X86ISA::readMemAtomic(), gem5::X86ISA::readMemAtomic(), gem5::writeMemAtomic(), gem5::writeMemAtomic(), gem5::X86ISA::writeMemAtomic(), gem5::X86ISA::writeMemAtomic(), gem5::writeMemTiming(), gem5::writeMemTiming(), gem5::X86ISA::writeMemTiming(), and gem5::X86ISA::writeMemTiming().
|
inline |
Definition at line 207 of file insttracer.hh.
References gem5::ArmISA::d, data, DataInt16, and dataStatus.
|
inline |
Definition at line 201 of file insttracer.hh.
References gem5::ArmISA::d, data, DataInt32, and dataStatus.
|
inline |
Definition at line 195 of file insttracer.hh.
References gem5::ArmISA::d, data, DataInt64, and dataStatus.
|
inline |
Definition at line 213 of file insttracer.hh.
References gem5::ArmISA::d, data, DataInt8, and dataStatus.
|
inline |
Definition at line 285 of file insttracer.hh.
References faulting, and gem5::X86ISA::val.
|
inline |
Definition at line 270 of file insttracer.hh.
References fetch_seq, and fetch_seq_valid.
Definition at line 175 of file insttracer.hh.
References gem5::ArmISA::a, addr, gem5::ArmISA::f, flags, mem_valid, gem5::ArmISA::s, and size.
|
inline |
Definition at line 283 of file insttracer.hh.
References predicate, and gem5::X86ISA::val.
|
inline |
Definition at line 173 of file insttracer.hh.
References when.
|
protected |
The address that was accessed.
Definition at line 86 of file insttracer.hh.
Referenced by gem5::trace::IntelTraceRecord::dump(), getAddr(), gem5::trace::TarmacParserRecord::readMemNoEffect(), setMem(), and gem5::trace::ExeTracerRecord::traceInst().
|
protected |
Definition at line 119 of file insttracer.hh.
Referenced by getCpSeq(), setCPSeq(), and gem5::trace::ExeTracerRecord::traceInst().
|
protected |
|
protected |
Did the execution of this instruction fault?
(requires ExecFaulting to be enabled)
Definition at line 157 of file insttracer.hh.
Referenced by getFaulting(), and setFaulting().
|
protected |
Definition at line 113 of file insttracer.hh.
Referenced by getFetchSeq(), setFetchSeq(), and gem5::trace::ExeTracerRecord::traceInst().
|
protected |
The flags that were assigned to the request.
Definition at line 88 of file insttracer.hh.
Referenced by getFlags(), gem5::trace::TarmacParserRecord::readMemNoEffect(), and setMem().
|
protected |
Definition at line 73 of file insttracer.hh.
Referenced by gem5::trace::ExeTracerRecord::dump(), gem5::trace::InstPBTraceRecord::dump(), gem5::trace::TarmacTracerRecord::dump(), getMacroStaticInst(), and InstRecord().
|
protected |
Definition at line 72 of file insttracer.hh.
Referenced by gem5::trace::InstPBTraceRecord::dump(), gem5::trace::IntelTraceRecord::dump(), gem5::trace::TarmacBaseRecord::dump(), gem5::trace::TarmacParserRecord::dump(), gem5::trace::TarmacTracerRecord::dump(), getPCState(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), gem5::trace::InstPBTraceRecord::InstPBTraceRecord(), InstRecord(), gem5::trace::TarmacBaseRecord::pcToISetState(), gem5::trace::TarmacParserRecord::printMismatchHeader(), gem5::trace::TarmacBaseRecord::RegEntry::RegEntry(), gem5::trace::TarmacBaseRecord::RegEntry::RegEntry(), gem5::trace::ExeTracerRecord::traceInst(), gem5::trace::TarmacTracerRecord::TraceInstEntry::TraceInstEntry(), and gem5::trace::TarmacTracerRecord::TraceRegEntry::TraceRegEntry().
|
protected |
is the predicate for execution this inst true or false (not execed)?
Definition at line 151 of file insttracer.hh.
Referenced by gem5::trace::TarmacTracerRecord::addInstEntry(), gem5::trace::TarmacTracerRecordV8::addInstEntry(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), setPredicate(), gem5::trace::ExeTracerRecord::traceInst(), gem5::trace::TarmacTracerRecord::TraceInstEntry::TraceInstEntry(), and gem5::trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8().
|
protected |
The size of the memory request.
Definition at line 87 of file insttracer.hh.
Referenced by getSize(), gem5::trace::TarmacParserRecord::TarmacParserRecordEvent::process(), gem5::trace::TarmacParserRecord::readMemNoEffect(), and setMem().
|
protected |
Definition at line 71 of file insttracer.hh.
Referenced by gem5::trace::TarmacTracerRecord::addRegEntry(), gem5::trace::TarmacTracerRecordV8::addRegEntry(), gem5::trace::ExeTracerRecord::dump(), gem5::trace::InstPBTraceRecord::dump(), gem5::trace::IntelTraceRecord::dump(), gem5::trace::NativeTraceRecord::dump(), gem5::trace::TarmacParserRecord::dump(), gem5::trace::TarmacTracerRecord::dump(), getStaticInst(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), InstRecord(), gem5::trace::TarmacParserRecord::printMismatchHeader(), gem5::trace::TarmacTracerRecord::TraceInstEntry::TraceInstEntry(), and gem5::trace::TarmacTracerRecord::TraceMemEntry::TraceMemEntry().
|
protected |
Definition at line 68 of file insttracer.hh.
Referenced by gem5::trace::InstPBTraceRecord::dump(), gem5::trace::TarmacParserRecord::dump(), gem5::trace::TarmacTracerRecord::dump(), getThread(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), gem5::trace::TarmacBaseRecord::InstEntry::InstEntry(), InstRecord(), gem5::trace::TarmacParserRecord::readMemNoEffect(), gem5::trace::ExeTracerRecord::traceInst(), gem5::trace::TarmacTracerRecord::TraceInstEntry::TraceInstEntry(), gem5::trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8(), gem5::trace::TarmacTracerRecordV8::TraceMemEntryV8::TraceMemEntryV8(), gem5::trace::TarmacTracerRecord::TraceRegEntry::updateCC(), gem5::trace::TarmacTracerRecord::TraceRegEntry::updateInt(), gem5::trace::TarmacTracerRecord::TraceRegEntry::updateMisc(), gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8::updatePred(), and gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8::updateVec().
|
protected |
Definition at line 64 of file insttracer.hh.
Referenced by gem5::trace::IntelTraceRecord::dump(), getWhen(), gem5::trace::InstPBTraceRecord::InstPBTraceRecord(), InstRecord(), setWhen(), and gem5::trace::ExeTracerRecord::traceInst().