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

#include <self_debug.hh>

Public Member Functions

 BrkPoint (MiscRegIndex ctrl_index, MiscRegIndex val_index, SelfDebug *_conf, bool ctx_aw, bool lva, bool vmid16, bool aarch32)
 
bool testLinkedBk (ThreadContext *tc, Addr vaddr, ExceptionLevel el)
 
bool test (ThreadContext *tc, Addr pc, ExceptionLevel el, DBGBCR ctr, bool from_link)
 
bool testAddrMatch (ThreadContext *tc, Addr pc, uint8_t bas)
 
bool testAddrMissMatch (ThreadContext *tc, Addr pc, uint8_t bas)
 
bool testContextMatch (ThreadContext *tc, bool ctx1, bool low_ctx)
 
bool testContextMatch (ThreadContext *tc, bool ctx1)
 
bool testVMIDMatch (ThreadContext *tc)
 
const DBGBCR getControlReg (ThreadContext *tc)
 
bool isEnabled (ThreadContext *tc, ExceptionLevel el, uint8_t hmc, uint8_t ssc, uint8_t pmc)
 
bool isActive (Addr vaddr)
 
void updateControl (DBGBCR val)
 

Protected Member Functions

Addr getAddrfromReg (ThreadContext *tc) const
 
RegVal getContextfromReg (ThreadContext *tc, bool ctxid1) const
 
vmid_t getVMIDfromReg (ThreadContext *tc, bool vs)
 

Private Attributes

MiscRegIndex ctrlRegIndex
 
MiscRegIndex valRegIndex
 
SelfDebugconf
 
bool isCntxtAware
 
bool VMID16enabled
 
Addr activePc
 
bool enable
 
int maxAddrSize
 
bool onUse
 

Friends

class SelfDebug
 

Detailed Description

Definition at line 60 of file self_debug.hh.

Constructor & Destructor Documentation

◆ BrkPoint()

gem5::ArmISA::BrkPoint::BrkPoint ( MiscRegIndex ctrl_index,
MiscRegIndex val_index,
SelfDebug * _conf,
bool ctx_aw,
bool lva,
bool vmid16,
bool aarch32 )
inline

Member Function Documentation

◆ getAddrfromReg()

Addr gem5::ArmISA::BrkPoint::getAddrfromReg ( ThreadContext * tc) const
inlineprotected

◆ getContextfromReg()

RegVal gem5::ArmISA::BrkPoint::getContextfromReg ( ThreadContext * tc,
bool ctxid1 ) const
inlineprotected

Definition at line 100 of file self_debug.hh.

References gem5::bits(), gem5::ThreadContext::readMiscReg(), and valRegIndex.

Referenced by testContextMatch().

◆ getControlReg()

const DBGBCR gem5::ArmISA::BrkPoint::getControlReg ( ThreadContext * tc)
inline

Definition at line 119 of file self_debug.hh.

References ctrlRegIndex, and gem5::ThreadContext::readMiscReg().

Referenced by testLinkedBk().

◆ getVMIDfromReg()

vmid_t gem5::BrkPoint::getVMIDfromReg ( ThreadContext * tc,
bool vs )
protected

◆ isActive()

bool gem5::ArmISA::BrkPoint::isActive ( Addr vaddr)
inline

Definition at line 128 of file self_debug.hh.

References activePc, and gem5::MipsISA::vaddr.

◆ isEnabled()

◆ test()

◆ testAddrMatch()

bool gem5::BrkPoint::testAddrMatch ( ThreadContext * tc,
Addr pc,
uint8_t bas )

◆ testAddrMissMatch()

bool gem5::BrkPoint::testAddrMissMatch ( ThreadContext * tc,
Addr pc,
uint8_t bas )

◆ testContextMatch() [1/2]

bool gem5::BrkPoint::testContextMatch ( ThreadContext * tc,
bool ctx1 )

Definition at line 409 of file self_debug.cc.

References testContextMatch().

◆ testContextMatch() [2/2]

◆ testLinkedBk()

bool gem5::BrkPoint::testLinkedBk ( ThreadContext * tc,
Addr vaddr,
ExceptionLevel el )

Definition at line 204 of file self_debug.cc.

References gem5::ArmISA::el, enable, getControlReg(), test(), and gem5::MipsISA::vaddr.

◆ testVMIDMatch()

◆ updateControl()

void gem5::ArmISA::BrkPoint::updateControl ( DBGBCR val)
inline

Definition at line 140 of file self_debug.hh.

References enable, and gem5::X86ISA::val.

Referenced by gem5::ArmISA::SelfDebug::init().

Friends And Related Symbol Documentation

◆ SelfDebug

friend class SelfDebug
friend

Definition at line 74 of file self_debug.hh.

References SelfDebug.

Referenced by BrkPoint(), and SelfDebug.

Member Data Documentation

◆ activePc

Addr gem5::ArmISA::BrkPoint::activePc
private

Definition at line 68 of file self_debug.hh.

Referenced by BrkPoint(), and isActive().

◆ conf

SelfDebug* gem5::ArmISA::BrkPoint::conf
private

Definition at line 65 of file self_debug.hh.

Referenced by BrkPoint(), isEnabled(), test(), and testContextMatch().

◆ ctrlRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::ctrlRegIndex
private

Definition at line 63 of file self_debug.hh.

Referenced by BrkPoint(), and getControlReg().

◆ enable

bool gem5::ArmISA::BrkPoint::enable
private

Definition at line 69 of file self_debug.hh.

Referenced by BrkPoint(), testLinkedBk(), and updateControl().

◆ isCntxtAware

bool gem5::ArmISA::BrkPoint::isCntxtAware
private

Definition at line 66 of file self_debug.hh.

Referenced by BrkPoint(), and testContextMatch().

◆ maxAddrSize

int gem5::ArmISA::BrkPoint::maxAddrSize
private

Definition at line 70 of file self_debug.hh.

Referenced by BrkPoint(), getAddrfromReg(), testAddrMatch(), and testAddrMissMatch().

◆ onUse

bool gem5::ArmISA::BrkPoint::onUse
private

Definition at line 71 of file self_debug.hh.

Referenced by BrkPoint().

◆ valRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::valRegIndex
private

Definition at line 64 of file self_debug.hh.

Referenced by BrkPoint(), getAddrfromReg(), getContextfromReg(), and getVMIDfromReg().

◆ VMID16enabled

bool gem5::ArmISA::BrkPoint::VMID16enabled
private

Definition at line 67 of file self_debug.hh.

Referenced by BrkPoint(), getVMIDfromReg(), and testVMIDMatch().


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

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