gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ArmISA::SelfDebug Class Reference

#include <self_debug.hh>

Public Member Functions

 SelfDebug ()
 
 ~SelfDebug ()
 
Fault testDebug (ThreadContext *tc, const RequestPtr &req, BaseMMU::Mode mode)
 
bool enabled () const
 
BrkPointgetBrkPoint (uint8_t index)
 
bool isDebugEnabledForEL64 (ThreadContext *tc, ExceptionLevel el, bool secure, bool mask)
 
bool isDebugEnabledForEL32 (ThreadContext *tc, ExceptionLevel el, bool secure, bool mask)
 
void activateDebug ()
 
bool isDebugEnabled (ThreadContext *tc)
 
void setbSDD (RegVal val)
 
void setMDSCRvals (RegVal val)
 
void setMDBGen (RegVal val)
 
void setenableTDETGE (HCR hcr, HDCR mdcr)
 
void updateOSLock (RegVal val)
 
void updateDBGBCR (int index, DBGBCR val)
 
void updateDBGWCR (int index, DBGWCR val)
 
void setDebugMask (bool mask)
 
bool isAArch32 () const
 
void setAArch32 (ThreadContext *tc)
 
SoftwareStepgetSstep ()
 
bool targetAArch32 (ThreadContext *tc)
 
void init (ThreadContext *tc)
 

Static Public Member Functions

static bool securityStateMatch (ThreadContext *tc, uint8_t ssc, bool hmc)
 

Protected Member Functions

Fault testBreakPoints (ThreadContext *tc, Addr vaddr)
 
Fault testWatchPoints (ThreadContext *tc, Addr vaddr, bool write, bool atomic, unsigned size, bool cm)
 
Fault triggerException (ThreadContext *tc, Addr vaddr)
 
Fault triggerWatchpointException (ThreadContext *tc, Addr vaddr, bool write, bool cm)
 

Private Attributes

std::vector< BrkPointarBrkPoints
 
std::vector< WatchPointarWatchPoints
 
SoftwareStepsoftStep
 
bool enableTdeTge
 
bool mde
 
bool sdd
 
bool kde
 
bool oslk
 
bool aarch32
 
bool to32
 

Detailed Description

Definition at line 241 of file self_debug.hh.

Constructor & Destructor Documentation

◆ SelfDebug()

gem5::ArmISA::SelfDebug::SelfDebug ( )
inline

Definition at line 259 of file self_debug.hh.

References enableTdeTge, kde, mde, oslk, sdd, and softStep.

◆ ~SelfDebug()

gem5::ArmISA::SelfDebug::~SelfDebug ( )
inline

Definition at line 266 of file self_debug.hh.

References softStep.

Member Function Documentation

◆ activateDebug()

void gem5::ArmISA::SelfDebug::activateDebug ( )
inline

Definition at line 314 of file self_debug.hh.

References arBrkPoints, and gem5::MipsISA::p.

◆ enabled()

bool gem5::ArmISA::SelfDebug::enabled ( ) const
inline

Definition at line 283 of file self_debug.hh.

References mde, and softStep.

Referenced by isDebugEnabledForEL32().

◆ getBrkPoint()

BrkPoint * gem5::ArmISA::SelfDebug::getBrkPoint ( uint8_t index)
inline

Definition at line 286 of file self_debug.hh.

References arBrkPoints, and gem5::MipsISA::index.

◆ getSstep()

SoftwareStep * gem5::ArmISA::SelfDebug::getSstep ( )
inline

Definition at line 403 of file self_debug.hh.

References softStep.

◆ init()

◆ isAArch32()

bool gem5::ArmISA::SelfDebug::isAArch32 ( ) const
inline

Definition at line 386 of file self_debug.hh.

References aarch32.

◆ isDebugEnabled()

◆ isDebugEnabledForEL32()

◆ isDebugEnabledForEL64()

bool gem5::SelfDebug::isDebugEnabledForEL64 ( ThreadContext * tc,
ExceptionLevel el,
bool secure,
bool mask )

◆ securityStateMatch()

static bool gem5::ArmISA::SelfDebug::securityStateMatch ( ThreadContext * tc,
uint8_t ssc,
bool hmc )
inlinestatic

◆ setAArch32()

void gem5::ArmISA::SelfDebug::setAArch32 ( ThreadContext * tc)
inline

◆ setbSDD()

void gem5::ArmISA::SelfDebug::setbSDD ( RegVal val)
inline

Definition at line 336 of file self_debug.hh.

References gem5::bits(), sdd, and gem5::X86ISA::val.

Referenced by init().

◆ setDebugMask()

void gem5::ArmISA::SelfDebug::setDebugMask ( bool mask)
inline

Definition at line 380 of file self_debug.hh.

References gem5::ArmISA::mask, and softStep.

◆ setenableTDETGE()

void gem5::ArmISA::SelfDebug::setenableTDETGE ( HCR hcr,
HDCR mdcr )
inline

Definition at line 356 of file self_debug.hh.

References enableTdeTge.

Referenced by init().

◆ setMDBGen()

void gem5::ArmISA::SelfDebug::setMDBGen ( RegVal val)
inline

Definition at line 350 of file self_debug.hh.

References gem5::bits(), mde, and gem5::X86ISA::val.

◆ setMDSCRvals()

void gem5::ArmISA::SelfDebug::setMDSCRvals ( RegVal val)
inline

Definition at line 342 of file self_debug.hh.

References gem5::bits(), kde, mde, softStep, and gem5::X86ISA::val.

Referenced by init().

◆ targetAArch32()

bool gem5::ArmISA::SelfDebug::targetAArch32 ( ThreadContext * tc)
inline

◆ testBreakPoints()

◆ testDebug()

◆ testWatchPoints()

Fault gem5::SelfDebug::testWatchPoints ( ThreadContext * tc,
Addr vaddr,
bool write,
bool atomic,
unsigned size,
bool cm )
protected

◆ triggerException()

Fault gem5::SelfDebug::triggerException ( ThreadContext * tc,
Addr vaddr )
protected

◆ triggerWatchpointException()

Fault gem5::SelfDebug::triggerWatchpointException ( ThreadContext * tc,
Addr vaddr,
bool write,
bool cm )
protected

◆ updateDBGBCR()

void gem5::ArmISA::SelfDebug::updateDBGBCR ( int index,
DBGBCR val )
inline

Definition at line 368 of file self_debug.hh.

References arBrkPoints, gem5::MipsISA::index, and gem5::X86ISA::val.

◆ updateDBGWCR()

void gem5::ArmISA::SelfDebug::updateDBGWCR ( int index,
DBGWCR val )
inline

Definition at line 374 of file self_debug.hh.

References arWatchPoints, gem5::MipsISA::index, and gem5::X86ISA::val.

◆ updateOSLock()

void gem5::ArmISA::SelfDebug::updateOSLock ( RegVal val)
inline

Definition at line 362 of file self_debug.hh.

References gem5::bits(), oslk, and gem5::X86ISA::val.

Referenced by init().

Member Data Documentation

◆ aarch32

bool gem5::ArmISA::SelfDebug::aarch32
private

Definition at line 255 of file self_debug.hh.

Referenced by init(), isAArch32(), isDebugEnabled(), setAArch32(), and targetAArch32().

◆ arBrkPoints

std::vector<BrkPoint> gem5::ArmISA::SelfDebug::arBrkPoints
private

Definition at line 244 of file self_debug.hh.

Referenced by activateDebug(), getBrkPoint(), init(), testBreakPoints(), and updateDBGBCR().

◆ arWatchPoints

std::vector<WatchPoint> gem5::ArmISA::SelfDebug::arWatchPoints
private

Definition at line 245 of file self_debug.hh.

Referenced by init(), testWatchPoints(), and updateDBGWCR().

◆ enableTdeTge

bool gem5::ArmISA::SelfDebug::enableTdeTge
private

Definition at line 248 of file self_debug.hh.

Referenced by isDebugEnabledForEL64(), SelfDebug(), and setenableTDETGE().

◆ kde

bool gem5::ArmISA::SelfDebug::kde
private

Definition at line 252 of file self_debug.hh.

Referenced by isDebugEnabledForEL64(), SelfDebug(), and setMDSCRvals().

◆ mde

bool gem5::ArmISA::SelfDebug::mde
private

◆ oslk

bool gem5::ArmISA::SelfDebug::oslk
private

◆ sdd

bool gem5::ArmISA::SelfDebug::sdd
private

Definition at line 251 of file self_debug.hh.

Referenced by isDebugEnabledForEL64(), SelfDebug(), and setbSDD().

◆ softStep

SoftwareStep* gem5::ArmISA::SelfDebug::softStep
private

◆ to32

bool gem5::ArmISA::SelfDebug::to32
private

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

Generated on Mon May 26 2025 09:19:29 for gem5 by doxygen 1.13.2