Go to the documentation of this file.
43 #ifndef __ARCH_ARM_TRACERS_TARMAC_RECORD_V8_HH__
44 #define __ARCH_ARM_TRACERS_TARMAC_RECORD_V8_HH__
84 virtual void print(std::ostream& outs,
86 const std::string &prefix =
"")
const override;
101 virtual void print(std::ostream& outs,
103 const std::string &prefix =
"")
const override;
131 uint8_t _size,
Addr _addr, uint64_t _data);
133 virtual void print(std::ostream& outs,
135 const std::string &prefix =
"")
const override;
147 _parent, _macroStaticInst)
164 #endif // __ARCH_ARM_TRACERS_TARMAC_RECORD_V8_HH__
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
TarmacTracer record for ARMv8 CPUs: The record is adding some data to the base TarmacTracer record.
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
void updateMisc(const TarmacContext &tarmCtx) override
void addInstEntry(std::vector< InstPtr > &queue, const TarmacContext &ptr)
Generates an Entry for the executed instruction.
bool predicate
is the predicate for execution this inst true or false (not execed)?
General data shared by all v8 entries.
TraceRegEntryV8(const TarmacContext &tarmCtx, const RegId ®)
TraceInstEntryV8(const TarmacContext &tarmCtx, bool predicate)
void addRegEntry(std::vector< RegPtr > &queue, const TarmacContext &ptr)
Generate a Record for every register being written.
void updateVec(const TarmacContext &tarmCtx) override
TarmacTracer Record: Record generated by the TarmacTracer for every executed instruction.
void addMemEntry(std::vector< MemPtr > &queue, const TarmacContext &ptr)
Generates an Entry for every memory access triggered.
Instruction entry for v8 records.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
This object type is encapsulating the informations needed by a Tarmac record to generate it's own ent...
uint64_t Tick
Tick count type.
std::string formatReg() const
Returning a string which contains the formatted register value: transformed in hex,...
TraceEntryV8(std::string _cpuName)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
Register entry for v8 records.
TraceMemEntryV8(const TarmacContext &tarmCtx, uint8_t _size, Addr _addr, uint64_t _data)
Tarmac Tracer: this tracer generates a new Tarmac Record for every instruction being executed in gem5...
void updateInt(const TarmacContext &tarmCtx) override
TarmacTracerRecordV8(Tick _when, ThreadContext *_thread, const StaticInstPtr _staticInst, const PCStateBase &_pc, TarmacTracer &_parent, const StaticInstPtr _macroStaticInst=NULL)
uint16_t regWidth
Size in bits of arch register.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void updatePred(const TarmacContext &tarmCtx) override
Register ID: describe an architectural register with its class and index.
Generated on Sun Jul 30 2023 01:56:50 for gem5 by doxygen 1.8.17