gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::trace::TarmacTracerRecord::TraceRegEntry Struct Reference

Register Entry. More...

#include <tarmac_record.hh>

Inheritance diagram for gem5::trace::TarmacTracerRecord::TraceRegEntry:
gem5::trace::TarmacBaseRecord::RegEntry gem5::Printable gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8

Public Member Functions

 TraceRegEntry (const TarmacContext &tarmCtx, const RegId &reg)
 
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 }
 

Detailed Description

Register Entry.

Definition at line 124 of file tarmac_record.hh.

Constructor & Destructor Documentation

◆ TraceRegEntry()

gem5::trace::TarmacTracerRecord::TraceRegEntry::TraceRegEntry ( const TarmacContext & tarmCtx,
const RegId & reg )

Definition at line 162 of file tarmac_record.cc.

Member Function Documentation

◆ print()

void gem5::trace::TarmacTracerRecord::TraceRegEntry::print ( std::ostream & outs,
int verbosity = 0,
const std::string & prefix = "" ) const
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().

◆ update()

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.

◆ updateCC()

void gem5::trace::TarmacTracerRecord::TraceRegEntry::updateCC ( const TarmacContext & tarmCtx)
protectedvirtual

◆ updateFloat()

void gem5::trace::TarmacTracerRecord::TraceRegEntry::updateFloat ( const TarmacContext & tarmCtx)
protectedvirtual

Definition at line 237 of file tarmac_record.cc.

References panic.

◆ updateInt()

◆ updateMisc()

◆ updatePred()

virtual void gem5::trace::TarmacTracerRecord::TraceRegEntry::updatePred ( const TarmacContext & tarmCtx)
inlineprotectedvirtual

Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.

Definition at line 151 of file tarmac_record.hh.

◆ updateVec()

virtual void gem5::trace::TarmacTracerRecord::TraceRegEntry::updateVec ( const TarmacContext & tarmCtx)
inlineprotectedvirtual

Reimplemented in gem5::trace::TarmacTracerRecordV8::TraceRegEntryV8.

Definition at line 150 of file tarmac_record.hh.

Member Data Documentation

◆ regId

RegId gem5::trace::TarmacTracerRecord::TraceRegEntry::regId

Register ID.

Definition at line 157 of file tarmac_record.hh.

◆ regName

std::string gem5::trace::TarmacTracerRecord::TraceRegEntry::regName

Register name to be printed.

Definition at line 159 of file tarmac_record.hh.

◆ regValid

bool gem5::trace::TarmacTracerRecord::TraceRegEntry::regValid

True if register entry is valid.

Definition at line 155 of file tarmac_record.hh.


The documentation for this struct was generated from the following files:

Generated on Tue Jun 18 2024 16:24:24 for gem5 by doxygen 1.11.0