gem5 v24.0.0.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 61 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

Definition at line 77 of file self_debug.hh.

References maxAddrSize, and onUse.

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 101 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 120 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 129 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.

Referenced by test().

◆ testVMIDMatch()

◆ updateControl()

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

Definition at line 141 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 75 of file self_debug.hh.

Member Data Documentation

◆ activePc

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

Definition at line 69 of file self_debug.hh.

Referenced by isActive().

◆ conf

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

Definition at line 66 of file self_debug.hh.

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

◆ ctrlRegIndex

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

Definition at line 64 of file self_debug.hh.

Referenced by getControlReg().

◆ enable

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

Definition at line 70 of file self_debug.hh.

Referenced by testLinkedBk(), and updateControl().

◆ isCntxtAware

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

Definition at line 67 of file self_debug.hh.

Referenced by testContextMatch().

◆ maxAddrSize

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

Definition at line 71 of file self_debug.hh.

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

◆ onUse

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

Definition at line 72 of file self_debug.hh.

Referenced by BrkPoint().

◆ valRegIndex

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

Definition at line 65 of file self_debug.hh.

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

◆ VMID16enabled

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

Definition at line 68 of file self_debug.hh.

Referenced by getVMIDfromReg(), and testVMIDMatch().


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

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