gem5  v21.1.0.2
Classes | Functions | Variables
gem5::Trace Namespace Reference

Classes

class  ArmNativeTrace
 
class  ExeTracer
 
class  ExeTracerRecord
 
class  InstPBTrace
 
class  InstPBTraceRecord
 This in an instruction tracer that records the flow of instructions through multiple cpus and systems to a protobuf file specified by proto/inst.proto for further analysis. More...
 
class  InstRecord
 
class  InstTracer
 
class  IntelTrace
 
class  IntelTraceRecord
 
class  Logger
 Debug logging base class. More...
 
class  NativeTrace
 
class  NativeTraceRecord
 
class  OstreamLogger
 Logging wrapper for ostreams with the format: <when>: <name>: <message-body> More...
 
class  SparcNativeTrace
 
class  TarmacBaseRecord
 
class  TarmacContext
 This object type is encapsulating the informations needed by a Tarmac record to generate it's own entries. More...
 
class  TarmacParser
 Tarmac Parser: this tracer parses an existing Tarmac trace and it diffs it with gem5 simulation status, comparing results and reporting architectural mismatches if any. More...
 
class  TarmacParserRecord
 
class  TarmacTracer
 Tarmac Tracer: this tracer generates a new Tarmac Record for every instruction being executed in gem5. More...
 
class  TarmacTracerRecord
 TarmacTracer Record: Record generated by the TarmacTracer for every executed instruction. More...
 
class  TarmacTracerRecordV8
 TarmacTracer record for ARMv8 CPUs: The record is adding some data to the base TarmacTracer record. More...
 
class  X86NativeTrace
 

Functions

std::string iSetStateToStr (TarmacBaseRecord::ISetState isetstate)
 Returns the string representation of the instruction set being currently run according to the Tarmac format. More...
 
std::string opModeToStr (ArmISA::OperatingMode opMode)
 Returns the string representation of the ARM Operating Mode (CPSR.M[3:0] field) according to the Tarmac format. More...
 
LoggergetDebugLogger ()
 Get the current global debug logger. More...
 
std::ostream & output ()
 Get the ostream from the current global logger. More...
 
void setDebugLogger (Logger *logger)
 Delete the current global logger and assign a new one. More...
 
void enable ()
 Enable/disable debug logging. More...
 
void disable ()
 

Variables

static const GEM5_VAR_USED char * regNames []
 
static const char * intRegNames [SparcISA::NumIntArchRegs]
 
Loggerdebug_logger = NULL
 
ObjectMatch ignore
 

Function Documentation

◆ disable()

void gem5::Trace::disable ( )

◆ enable()

void gem5::Trace::enable ( )

Enable/disable debug logging.

Definition at line 94 of file trace.cc.

References gem5::debug::Flag::globalEnable().

Referenced by gem5::pybind_init_debug(), and TEST().

◆ getDebugLogger()

Logger * gem5::Trace::getDebugLogger ( )

Get the current global debug logger.

This takes ownership of the given logger which should be allocated using 'new'

Definition at line 69 of file trace.cc.

References debug_logger.

Referenced by gem5::ignore(), output(), TEST(), and gem5::Trace::ExeTracerRecord::traceInst().

◆ iSetStateToStr()

std::string gem5::Trace::iSetStateToStr ( TarmacBaseRecord::ISetState  isetstate)

Returns the string representation of the instruction set being currently run according to the Tarmac format.

Parameters
isetstateenum variable (ISetState) specifying an ARM instruction set.
Returns
instruction set in string format.

Definition at line 56 of file tarmac_record.cc.

Referenced by gem5::Trace::TarmacTracerRecordV8::TraceInstEntryV8::print(), and gem5::Trace::TarmacTracerRecord::TraceInstEntry::print().

◆ opModeToStr()

std::string gem5::Trace::opModeToStr ( ArmISA::OperatingMode  opMode)

◆ output()

std::ostream & gem5::Trace::output ( )

◆ setDebugLogger()

void gem5::Trace::setDebugLogger ( Logger logger)

Delete the current global logger and assign a new one.

Definition at line 85 of file trace.cc.

References debug_logger, and warn.

Referenced by gem5::output(), and TEST().

Variable Documentation

◆ debug_logger

Logger* gem5::Trace::debug_logger = NULL

Definition at line 66 of file trace.cc.

Referenced by getDebugLogger(), and setDebugLogger().

◆ ignore

ObjectMatch gem5::Trace::ignore

Definition at line 105 of file trace.cc.

◆ intRegNames

const char* gem5::Trace::intRegNames[SparcISA::NumIntArchRegs]
static
Initial value:
= {
"g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
"o0", "o1", "o2", "o3", "o4", "o5", "o6", "o7",
"l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
"i0", "i1", "i2", "i3", "i4", "i5", "i6", "i7",
}

Definition at line 41 of file nativetrace.cc.

Referenced by gem5::Trace::SparcNativeTrace::check().

◆ regNames

const GEM5_VAR_USED char* gem5::Trace::regNames[]
static
Initial value:
= {
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
"r8", "r9", "r10", "fp", "r12", "sp", "lr", "pc",
"cpsr", "f0", "f1", "f2", "f3", "f4", "f5", "f6",
"f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14",
"f15", "f16", "f17", "f18", "f19", "f20", "f21", "f22",
"f23", "f24", "f25", "f26", "f27", "f28", "f29", "f30",
"f31", "fpscr"
}

Definition at line 58 of file nativetrace.cc.

Referenced by gem5::Trace::ArmNativeTrace::check().


Generated on Tue Sep 21 2021 12:32:32 for gem5 by doxygen 1.8.17