|
gem5
v21.0.1.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().