gem5  v20.1.0.0
Classes | Functions | Variables
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 char * intRegNames [SparcISA::NumIntArchRegs]
 
Loggerdebug_logger = NULL
 
ObjectMatch ignore
 

Function Documentation

◆ disable()

void Trace::disable ( )

◆ enable()

void Trace::enable ( )

Enable/disable debug logging.

Definition at line 92 of file trace.cc.

References Debug::Flag::globalEnable().

Referenced by pybind_init_debug().

◆ getDebugLogger()

Logger * Trace::getDebugLogger ( )

Get the current global debug logger.

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

Definition at line 67 of file trace.cc.

References debug_logger.

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

◆ iSetStateToStr()

std::string 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 51 of file tarmac_record.cc.

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

◆ opModeToStr()

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

◆ output()

std::ostream & Trace::output ( )

◆ setDebugLogger()

void Trace::setDebugLogger ( Logger logger)

Delete the current global logger and assign a new one.

Definition at line 83 of file trace.cc.

References debug_logger, and warn.

Referenced by output().

Variable Documentation

◆ debug_logger

Logger* Trace::debug_logger = NULL

Definition at line 64 of file trace.cc.

Referenced by getDebugLogger(), and setDebugLogger().

◆ ignore

ObjectMatch Trace::ignore

Definition at line 103 of file trace.cc.

◆ intRegNames

const char* 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 39 of file nativetrace.cc.

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


Generated on Wed Sep 30 2020 14:03:14 for gem5 by doxygen 1.8.17