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)
Register ID: describe an architectural register with its class and index.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
bool predicate
is the predicate for execution this inst true or false (not execed)?
This object type is encapsulating the informations needed by a Tarmac record to generate it's own ent...
TarmacTracer record for ARMv8 CPUs: The record is adding some data to the base TarmacTracer record.
void addInstEntry(std::vector< InstPtr > &queue, const TarmacContext &ptr)
Generates an Entry for the executed instruction.
void addRegEntry(std::vector< RegPtr > &queue, const TarmacContext &ptr)
Generate a Record for every register being written.
void addMemEntry(std::vector< MemPtr > &queue, const TarmacContext &ptr)
Generates an Entry for every memory access triggered.
TarmacTracerRecordV8(Tick _when, ThreadContext *_thread, const StaticInstPtr _staticInst, const PCStateBase &_pc, TarmacTracer &_parent, const StaticInstPtr _macroStaticInst=NULL)
TarmacTracer Record: Record generated by the TarmacTracer for every executed instruction.
Tarmac Tracer: this tracer generates a new Tarmac Record for every instruction being executed in gem5...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.
General data shared by all v8 entries.
TraceEntryV8(std::string _cpuName)
Instruction entry for v8 records.
TraceInstEntryV8(const TarmacContext &tarmCtx, bool predicate)
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
TraceMemEntryV8(const TarmacContext &tarmCtx, uint8_t _size, Addr _addr, uint64_t _data)
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
Register entry for v8 records.
void updateInt(const TarmacContext &tarmCtx) override
virtual void print(std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
TraceRegEntryV8(const TarmacContext &tarmCtx, const RegId ®)
uint16_t regWidth
Size in bits of arch register.
void updateMisc(const TarmacContext &tarmCtx) override
Register update functions.
std::string formatReg() const
Returning a string which contains the formatted register value: transformed in hex,...
void updateVec(const TarmacContext &tarmCtx) override
void updatePred(const TarmacContext &tarmCtx) override