gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::TracingExtension Class Reference

TracingExtension is an Extension of the Packet for recording the trace of the Packet. More...

#include <port.hh>

Inheritance diagram for gem5::TracingExtension:
gem5::Extension< Packet, TracingExtension > gem5::ExtensionBase

Public Member Functions

 TracingExtension ()=default
 
 TracingExtension (const std::stack< std::string > &q)
 
std::unique_ptr< ExtensionBaseclone () const override
 
void add (std::string request_port, std::string response_port, gem5::Addr addr)
 
void remove ()
 
bool empty ()
 
std::stack< std::string > & getTrace ()
 
std::string getTraceInString ()
 
- Public Member Functions inherited from gem5::Extension< Packet, TracingExtension >
 Extension ()
 
- Public Member Functions inherited from gem5::ExtensionBase
 ExtensionBase (const unsigned int id)
 
virtual ~ExtensionBase ()=default
 
unsigned int getExtensionID () const
 

Private Attributes

std::stack< std::string > trace_
 

Additional Inherited Members

- Static Public Member Functions inherited from gem5::ExtensionBase
static unsigned int maxNumExtensions ()
 
- Static Public Attributes inherited from gem5::Extension< Packet, TracingExtension >
static const unsigned int extensionID
 

Detailed Description

TracingExtension is an Extension of the Packet for recording the trace of the Packet.

The stack in the TracingExtension holds the name of the ports that the Packet has passed through.

Definition at line 77 of file port.hh.

Constructor & Destructor Documentation

◆ TracingExtension() [1/2]

gem5::TracingExtension::TracingExtension ( )
default

◆ TracingExtension() [2/2]

gem5::TracingExtension::TracingExtension ( const std::stack< std::string > & q)
inline

Definition at line 81 of file port.hh.

References gem5::ArmISA::q, and trace_.

Member Function Documentation

◆ add()

void gem5::TracingExtension::add ( std::string request_port,
std::string response_port,
gem5::Addr addr )
inline

Definition at line 89 of file port.hh.

References gem5::X86ISA::addr, gem5::csprintf(), and trace_.

◆ clone()

std::unique_ptr< ExtensionBase > gem5::TracingExtension::clone ( ) const
inlineoverridevirtual

Implements gem5::ExtensionBase.

Definition at line 83 of file port.hh.

References trace_.

◆ empty()

bool gem5::TracingExtension::empty ( )
inline

Definition at line 102 of file port.hh.

References trace_.

◆ getTrace()

std::stack< std::string > & gem5::TracingExtension::getTrace ( )
inline

Definition at line 103 of file port.hh.

References trace_.

◆ getTraceInString()

std::string gem5::TracingExtension::getTraceInString ( )
inline

Definition at line 104 of file port.hh.

References trace_.

Referenced by gem5::BaseXBar::findPort().

◆ remove()

void gem5::TracingExtension::remove ( )
inline

Definition at line 96 of file port.hh.

References trace_.

Member Data Documentation

◆ trace_

std::stack<std::string> gem5::TracingExtension::trace_
private

Definition at line 121 of file port.hh.

Referenced by add(), clone(), empty(), getTrace(), getTraceInString(), remove(), and TracingExtension().


The documentation for this class was generated from the following file:

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