gem5 v25.0.0.1
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
SelfDebug * conf
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().

◆ 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 Sat Oct 18 2025 08:06:56 for gem5 by doxygen 1.14.0