gem5
v21.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 |
uint32_t | getVMIDfromReg (ThreadContext *tc) |
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 57 of file self_debug.hh.
|
inline |
Definition at line 73 of file self_debug.hh.
References maxAddrSize, and onUse.
|
inlineprotected |
Definition at line 91 of file self_debug.hh.
References bits(), maxAddrSize, ThreadContext::readMiscReg(), and valRegIndex.
Referenced by testAddrMatch(), and testAddrMissMatch().
|
inlineprotected |
Definition at line 97 of file self_debug.hh.
References bits(), ThreadContext::readMiscReg(), and valRegIndex.
Referenced by testContextMatch().
|
inline |
Definition at line 116 of file self_debug.hh.
References ctrlRegIndex, and ThreadContext::readMiscReg().
Referenced by testLinkedBk().
|
inlineprotected |
Definition at line 524 of file self_debug.cc.
References bits(), ThreadContext::readMiscReg(), valRegIndex, and VMID16enabled.
Referenced by testVMIDMatch().
|
inline |
Definition at line 125 of file self_debug.hh.
References activePc, and MipsISA::vaddr.
bool BrkPoint::isEnabled | ( | ThreadContext * | tc, |
ExceptionLevel | el, | ||
uint8_t | hmc, | ||
uint8_t | ssc, | ||
uint8_t | pmc | ||
) |
Definition at line 469 of file self_debug.cc.
References conf, ArmISA::el, ArmISA::EL0, ArmISA::EL1, ArmISA::EL2, ArmISA::EL3, ArmSystem::haveEL(), ArmISA::hmc, ArmISA::SelfDebug::isAArch32(), panic, ArmISA::pmc, ArmISA::SelfDebug::securityStateMatch(), ArmISA::ssc, and ArmISA::v.
bool BrkPoint::test | ( | ThreadContext * | tc, |
Addr | pc, | ||
ExceptionLevel | el, | ||
DBGBCR | ctr, | ||
bool | from_link | ||
) |
Definition at line 220 of file self_debug.cc.
References conf, ArmISA::el, ArmISA::EL2Enabled(), ArmISA::ELIsInHost(), ArmISA::SelfDebug::getBrkPoint(), ArmISA::HaveSecureEL2Ext(), ArmISA::HaveVirtHostExt(), ArmISA::isSecure(), MipsISA::pc, testAddrMatch(), testAddrMissMatch(), testContextMatch(), testLinkedBk(), testVMIDMatch(), and ArmISA::v.
Referenced by testLinkedBk().
bool BrkPoint::testAddrMatch | ( | ThreadContext * | tc, |
Addr | pc, | ||
uint8_t | bas | ||
) |
Definition at line 384 of file self_debug.cc.
References ArmISA::bas, bits(), getAddrfromReg(), maxAddrSize, ArmISA::MISCREG_CPSR, MipsISA::pc, ThreadContext::readMiscReg(), and ArmISA::thumb.
Referenced by test().
bool BrkPoint::testAddrMissMatch | ( | ThreadContext * | tc, |
Addr | pc, | ||
uint8_t | bas | ||
) |
Definition at line 403 of file self_debug.cc.
References ArmISA::bas, bits(), getAddrfromReg(), maxAddrSize, ArmISA::MISCREG_CPSR, MipsISA::pc, ThreadContext::readMiscReg(), and ArmISA::thumb.
Referenced by test().
bool BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
bool | ctx1 | ||
) |
Definition at line 423 of file self_debug.cc.
References testContextMatch().
bool BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
bool | ctx1, | ||
bool | low_ctx | ||
) |
Definition at line 429 of file self_debug.cc.
References bits(), conf, ArmISA::currEL(), ArmISA::el, ArmISA::EL2, ArmISA::EL3, getContextfromReg(), ArmISA::SelfDebug::isAArch32(), isCntxtAware, ArmISA::MISCREG_CONTEXTIDR, ArmISA::MISCREG_CONTEXTIDR_EL1, ArmISA::MISCREG_CONTEXTIDR_EL2, ThreadContext::readMiscReg(), and ArmISA::v.
Referenced by test(), and testContextMatch().
bool BrkPoint::testLinkedBk | ( | ThreadContext * | tc, |
Addr | vaddr, | ||
ExceptionLevel | el | ||
) |
Definition at line 209 of file self_debug.cc.
References ArmISA::el, enable, getControlReg(), test(), and MipsISA::vaddr.
Referenced by test().
bool BrkPoint::testVMIDMatch | ( | ThreadContext * | tc | ) |
Definition at line 453 of file self_debug.cc.
References bits(), ArmISA::currEL(), ArmISA::el, ArmISA::EL2, getVMIDfromReg(), ArmISA::MISCREG_VTTBR_EL2, ThreadContext::readMiscReg(), ArmISA::v, and VMID16enabled.
Referenced by test().
|
inline |
Definition at line 137 of file self_debug.hh.
References enable, and X86ISA::val.
Referenced by ArmISA::SelfDebug::init().
|
friend |
Definition at line 71 of file self_debug.hh.
|
private |
Definition at line 65 of file self_debug.hh.
Referenced by isActive().
|
private |
Definition at line 62 of file self_debug.hh.
Referenced by isEnabled(), test(), and testContextMatch().
|
private |
Definition at line 60 of file self_debug.hh.
Referenced by getControlReg().
|
private |
Definition at line 66 of file self_debug.hh.
Referenced by testLinkedBk(), and updateControl().
|
private |
Definition at line 63 of file self_debug.hh.
Referenced by testContextMatch().
|
private |
Definition at line 67 of file self_debug.hh.
Referenced by BrkPoint(), getAddrfromReg(), testAddrMatch(), and testAddrMissMatch().
|
private |
Definition at line 68 of file self_debug.hh.
Referenced by BrkPoint().
|
private |
Definition at line 61 of file self_debug.hh.
Referenced by getAddrfromReg(), getContextfromReg(), and getVMIDfromReg().
|
private |
Definition at line 64 of file self_debug.hh.
Referenced by getVMIDfromReg(), and testVMIDMatch().