gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::trace Namespace Reference

Classes

class  ArmCapstoneDisassembler
 
class  ArmNativeTrace
 
class  CapstoneDisassembler
 Capstone Disassembler: The disassembler relies on the capstone library to convert the StaticInst encoding into the disassembled string. More...
 
class  ExeTracer
 
class  ExeTracerRecord
 
class  InstDisassembler
 The base InstDisassembler class provides a one-API interface to disassemble the instruction passed as a first argument. More...
 
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.
 
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.
 
LoggergetDebugLogger ()
 Get the current global debug logger.
 
std::ostream & output ()
 Get the ostream from the current global logger.
 
void setDebugLogger (Logger *logger)
 Delete the current global logger and assign a new one.
 
void enable ()
 Enable/disable debug logging.
 
void disable ()
 

Variables

static const char * regNames []
 
static const char * intRegNames [SparcISA::int_reg::NumArchRegs]
 
Loggerdebug_logger = NULL
 
ObjectMatch ignore
 

Function Documentation

◆ disable()

void gem5::trace::disable ( )

◆ enable()

void gem5::trace::enable ( )

Enable/disable debug logging.

Definition at line 93 of file trace.cc.

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

Referenced by gem5::pybind_init_debug(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), 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 68 of file trace.cc.

References debug_logger.

Referenced by gem5::activate(), gem5::ignore(), output(), gem5::RegisterBank< BankByteOrder >::read(), TEST(), TEST(), TEST(), gem5::trace::ExeTracerRecord::traceInst(), and gem5::RegisterBank< BankByteOrder >::write().

◆ 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.

References gem5::trace::TarmacBaseRecord::ISET_A64, gem5::trace::TarmacBaseRecord::ISET_ARM, and gem5::trace::TarmacBaseRecord::ISET_THUMB.

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

◆ opModeToStr()

◆ output()

◆ setDebugLogger()

void gem5::trace::setDebugLogger ( Logger * logger)

Delete the current global logger and assign a new one.

Definition at line 84 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 65 of file trace.cc.

Referenced by getDebugLogger(), and setDebugLogger().

◆ ignore

ObjectMatch gem5::trace::ignore

Definition at line 104 of file trace.cc.

◆ intRegNames

const char* gem5::trace::intRegNames[SparcISA::int_reg::NumArchRegs]
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 42 of file nativetrace.cc.

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

◆ regNames

const 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 60 of file nativetrace.cc.

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


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