gem5 v24.0.0.0
|
#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 |
Definition at line 61 of file self_debug.hh.
|
inline |
Definition at line 77 of file self_debug.hh.
References maxAddrSize, and onUse.
|
inlineprotected |
Definition at line 95 of file self_debug.hh.
References gem5::bits(), maxAddrSize, gem5::ThreadContext::readMiscReg(), and valRegIndex.
Referenced by testAddrMatch(), and testAddrMissMatch().
|
inlineprotected |
Definition at line 101 of file self_debug.hh.
References gem5::bits(), gem5::ThreadContext::readMiscReg(), and valRegIndex.
Referenced by testContextMatch().
|
inline |
Definition at line 120 of file self_debug.hh.
References ctrlRegIndex, and gem5::ThreadContext::readMiscReg().
Referenced by testLinkedBk().
|
protected |
Definition at line 513 of file self_debug.cc.
References gem5::bits(), gem5::ThreadContext::readMiscReg(), valRegIndex, VMID16enabled, and gem5::ArmISA::vs.
Referenced by testVMIDMatch().
|
inline |
Definition at line 129 of file self_debug.hh.
References activePc, and gem5::MipsISA::vaddr.
bool gem5::BrkPoint::isEnabled | ( | ThreadContext * | tc, |
ExceptionLevel | el, | ||
uint8_t | hmc, | ||
uint8_t | ssc, | ||
uint8_t | pmc ) |
Definition at line 458 of file self_debug.cc.
References conf, gem5::ArmISA::el, gem5::ArmISA::EL0, gem5::ArmISA::EL1, gem5::ArmISA::EL2, gem5::ArmISA::EL3, gem5::ArmSystem::haveEL(), gem5::ArmISA::hmc, gem5::ArmISA::SelfDebug::isAArch32(), panic, gem5::ArmISA::pmc, gem5::ArmISA::SelfDebug::securityStateMatch(), gem5::ArmISA::ssc, and gem5::ArmISA::v.
bool gem5::BrkPoint::test | ( | ThreadContext * | tc, |
Addr | pc, | ||
ExceptionLevel | el, | ||
DBGBCR | ctr, | ||
bool | from_link ) |
Definition at line 211 of file self_debug.cc.
References conf, gem5::ArmISA::el, gem5::ArmISA::EL2Enabled(), gem5::ArmISA::ELIsInHost(), gem5::ArmISA::SelfDebug::getBrkPoint(), gem5::ArmISA::HaveExt(), gem5::ArmISA::isSecure(), gem5::MipsISA::pc, testAddrMatch(), testAddrMissMatch(), testContextMatch(), testLinkedBk(), testVMIDMatch(), and gem5::ArmISA::v.
Referenced by testLinkedBk().
bool gem5::BrkPoint::testAddrMatch | ( | ThreadContext * | tc, |
Addr | pc, | ||
uint8_t | bas ) |
Definition at line 370 of file self_debug.cc.
References gem5::ArmISA::bas, gem5::bits(), getAddrfromReg(), maxAddrSize, gem5::ArmISA::MISCREG_CPSR, gem5::MipsISA::pc, gem5::ThreadContext::readMiscReg(), and gem5::ArmISA::thumb.
Referenced by test().
bool gem5::BrkPoint::testAddrMissMatch | ( | ThreadContext * | tc, |
Addr | pc, | ||
uint8_t | bas ) |
Definition at line 389 of file self_debug.cc.
References gem5::ArmISA::bas, gem5::bits(), getAddrfromReg(), maxAddrSize, gem5::ArmISA::MISCREG_CPSR, gem5::MipsISA::pc, gem5::ThreadContext::readMiscReg(), and gem5::ArmISA::thumb.
Referenced by test().
bool gem5::BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
bool | ctx1 ) |
Definition at line 409 of file self_debug.cc.
References testContextMatch().
bool gem5::BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
bool | ctx1, | ||
bool | low_ctx ) |
Definition at line 415 of file self_debug.cc.
References gem5::bits(), conf, gem5::ArmISA::currEL(), gem5::ArmISA::el, gem5::ArmISA::EL2, gem5::ArmISA::EL3, getContextfromReg(), gem5::ArmISA::SelfDebug::isAArch32(), isCntxtAware, gem5::ArmISA::MISCREG_CONTEXTIDR, gem5::ArmISA::MISCREG_CONTEXTIDR_EL1, gem5::ArmISA::MISCREG_CONTEXTIDR_EL2, gem5::ThreadContext::readMiscReg(), and gem5::ArmISA::v.
Referenced by test(), and testContextMatch().
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().
bool gem5::BrkPoint::testVMIDMatch | ( | ThreadContext * | tc | ) |
Definition at line 439 of file self_debug.cc.
References gem5::bits(), gem5::ArmISA::currEL(), gem5::ArmISA::el, gem5::ArmISA::EL2, getVMIDfromReg(), gem5::ArmISA::MISCREG_VTCR_EL2, gem5::ArmISA::MISCREG_VTTBR_EL2, gem5::ThreadContext::readMiscReg(), gem5::ArmISA::v, VMID16enabled, and gem5::ArmISA::vs.
Referenced by test().
|
inline |
Definition at line 141 of file self_debug.hh.
References enable, and gem5::X86ISA::val.
Referenced by gem5::ArmISA::SelfDebug::init().
|
friend |
Definition at line 75 of file self_debug.hh.
|
private |
Definition at line 69 of file self_debug.hh.
Referenced by isActive().
|
private |
Definition at line 66 of file self_debug.hh.
Referenced by isEnabled(), test(), and testContextMatch().
|
private |
Definition at line 64 of file self_debug.hh.
Referenced by getControlReg().
|
private |
Definition at line 70 of file self_debug.hh.
Referenced by testLinkedBk(), and updateControl().
|
private |
Definition at line 67 of file self_debug.hh.
Referenced by testContextMatch().
|
private |
Definition at line 71 of file self_debug.hh.
Referenced by BrkPoint(), getAddrfromReg(), testAddrMatch(), and testAddrMissMatch().
|
private |
Definition at line 72 of file self_debug.hh.
Referenced by BrkPoint().
|
private |
Definition at line 65 of file self_debug.hh.
Referenced by getAddrfromReg(), getContextfromReg(), and getVMIDfromReg().
|
private |
Definition at line 68 of file self_debug.hh.
Referenced by getVMIDfromReg(), and testVMIDMatch().