gem5 v24.0.0.0
|
Register Entry. More...
#include <tarmac_record.hh>
Public Member Functions | |
TraceRegEntry (const TarmacContext &tarmCtx, const RegId ®) | |
void | update (const TarmacContext &tarmCtx) |
This updates the register entry using the update table. | |
virtual void | print (std::ostream &outs, int verbosity=0, const std::string &prefix="") const override |
Public Member Functions inherited from gem5::trace::TarmacBaseRecord::RegEntry | |
RegEntry ()=default | |
RegEntry (const PCStateBase &pc) | |
Public Member Functions inherited from gem5::Printable | |
Printable () | |
virtual | ~Printable () |
Public Attributes | |
bool | regValid |
True if register entry is valid. | |
RegId | regId |
Register ID. | |
std::string | regName |
Register name to be printed. | |
Public Attributes inherited from gem5::trace::TarmacBaseRecord::RegEntry | |
RegType | type |
RegIndex | index |
ISetState | isetstate |
std::vector< uint64_t > | values |
Protected Member Functions | |
virtual void | updateMisc (const TarmacContext &tarmCtx) |
Register update functions. | |
virtual void | updateCC (const TarmacContext &tarmCtx) |
virtual void | updateFloat (const TarmacContext &tarmCtx) |
virtual void | updateInt (const TarmacContext &tarmCtx) |
virtual void | updateVec (const TarmacContext &tarmCtx) |
virtual void | updatePred (const TarmacContext &tarmCtx) |
Additional Inherited Members | |
Public Types inherited from gem5::trace::TarmacBaseRecord::RegEntry | |
enum | RegElement { Lo = 0 , Hi = 1 , Max = 32 } |
Register Entry.
Definition at line 124 of file tarmac_record.hh.
gem5::trace::TarmacTracerRecord::TraceRegEntry::TraceRegEntry | ( | const TarmacContext & | tarmCtx, |
const RegId & | reg ) |
Definition at line 162 of file tarmac_record.cc.
|
overridevirtual |
Implements gem5::Printable.
Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 442 of file tarmac_record.cc.
References gem5::ccprintf(), and gem5::curTick().
void gem5::trace::TarmacTracerRecord::TraceRegEntry::update | ( | const TarmacContext & | tarmCtx | ) |
This updates the register entry using the update table.
It is a required step after the register entry generation. If unupdated, the entry will be marked as invalid. The entry update cannot be done automatically at TraceRegEntry construction: the entries are extended by consequent Tarmac Tracer versions (like V8), and virtual functions should be avoided during construction.
Definition at line 172 of file tarmac_record.cc.
References gem5::CCRegClass, gem5::FloatRegClass, gem5::IntRegClass, gem5::MiscRegClass, gem5::VecPredRegClass, and gem5::VecRegClass.
|
protectedvirtual |
Definition at line 227 of file tarmac_record.cc.
References gem5::ThreadContext::getReg(), gem5::ArmISA::cc_reg::RegName, gem5::trace::InstRecord::thread, and gem5::trace::TarmacContext::thread.
|
protectedvirtual |
Definition at line 237 of file tarmac_record.cc.
References panic.
|
protectedvirtual |
Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 245 of file tarmac_record.cc.
References gem5::ArmISA::FramePointerReg, gem5::ThreadContext::getReg(), gem5::ArmISA::MISCREG_CPSR, gem5::ArmISA::mode, gem5::ArmISA::MODE_USER, gem5::trace::opModeToStr(), gem5::ArmISA::int_reg::Pc, gem5::ThreadContext::readMiscRegNoEffect(), gem5::ArmISA::ReturnAddressReg, gem5::ArmISA::StackPointerReg, gem5::trace::InstRecord::thread, and gem5::trace::TarmacContext::thread.
|
protectedvirtual |
Register update functions.
Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 203 of file tarmac_record.cc.
References gem5::ArmISA::cc_reg::C, gem5::ArmISA::cc_reg::Ge, gem5::ThreadContext::getReg(), gem5::ArmISA::MISCREG_CPSR, gem5::ArmISA::miscRegName, gem5::ArmISA::cc_reg::Nz, gem5::ThreadContext::readMiscRegNoEffect(), gem5::trace::InstRecord::thread, gem5::trace::TarmacContext::thread, and gem5::ArmISA::cc_reg::V.
|
inlineprotectedvirtual |
Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 151 of file tarmac_record.hh.
|
inlineprotectedvirtual |
Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 150 of file tarmac_record.hh.
RegId gem5::trace::TarmacTracerRecord::TraceRegEntry::regId |
Register ID.
Definition at line 157 of file tarmac_record.hh.
std::string gem5::trace::TarmacTracerRecord::TraceRegEntry::regName |
Register name to be printed.
Definition at line 159 of file tarmac_record.hh.
bool gem5::trace::TarmacTracerRecord::TraceRegEntry::regValid |
True if register entry is valid.
Definition at line 155 of file tarmac_record.hh.