|
gem5
v20.1.0.5
|
#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.
|
inlineprotected |
Definition at line 97 of file self_debug.hh.
References bits(), ThreadContext::readMiscReg(), and valRegIndex.
|
inline |
Definition at line 116 of file self_debug.hh.
References ctrlRegIndex, and ThreadContext::readMiscReg().
|
inlineprotected |
Definition at line 525 of file self_debug.cc.
References bits(), and ThreadContext::readMiscReg().
|
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 470 of file self_debug.cc.
References ArmISA::el, ArmISA::EL0, ArmISA::EL1, ArmISA::EL2, ArmISA::EL3, ArmSystem::haveEL(), ArmISA::hmc, 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 221 of file self_debug.cc.
References ArmISA::el, ArmISA::EL2Enabled(), ArmISA::ELIsInHost(), ArmISA::HaveSecureEL2Ext(), ArmISA::HaveVirtHostExt(), ArmISA::isSecure(), MipsISA::pc, and ArmISA::v.
| bool BrkPoint::testAddrMatch | ( | ThreadContext * | tc, |
| Addr | pc, | ||
| uint8_t | bas | ||
| ) |
Definition at line 385 of file self_debug.cc.
References ArmISA::bas, bits(), ArmISA::MISCREG_CPSR, MipsISA::pc, ThreadContext::readMiscReg(), and ArmISA::thumb.
| bool BrkPoint::testAddrMissMatch | ( | ThreadContext * | tc, |
| Addr | pc, | ||
| uint8_t | bas | ||
| ) |
Definition at line 404 of file self_debug.cc.
References ArmISA::bas, bits(), ArmISA::MISCREG_CPSR, MipsISA::pc, ThreadContext::readMiscReg(), and ArmISA::thumb.
| bool BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
| bool | ctx1 | ||
| ) |
Definition at line 424 of file self_debug.cc.
| bool BrkPoint::testContextMatch | ( | ThreadContext * | tc, |
| bool | ctx1, | ||
| bool | low_ctx | ||
| ) |
Definition at line 430 of file self_debug.cc.
References bits(), ArmISA::currEL(), ArmISA::el, ArmISA::EL2, ArmISA::EL3, ArmISA::MISCREG_CONTEXTIDR, ArmISA::MISCREG_CONTEXTIDR_EL1, ArmISA::MISCREG_CONTEXTIDR_EL2, ThreadContext::readMiscReg(), and ArmISA::v.
| bool BrkPoint::testLinkedBk | ( | ThreadContext * | tc, |
| Addr | vaddr, | ||
| ExceptionLevel | el | ||
| ) |
Definition at line 210 of file self_debug.cc.
References ArmISA::el, X86ISA::enable, and MipsISA::vaddr.
| bool BrkPoint::testVMIDMatch | ( | ThreadContext * | tc | ) |
Definition at line 454 of file self_debug.cc.
References bits(), ArmISA::currEL(), ArmISA::el, ArmISA::EL2, ArmISA::MISCREG_VTTBR_EL2, ThreadContext::readMiscReg(), and ArmISA::v.
|
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.
|
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 updateControl().
|
private |
Definition at line 63 of file self_debug.hh.
|
private |
Definition at line 67 of file self_debug.hh.
Referenced by BrkPoint(), and getAddrfromReg().
|
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(), and getContextfromReg().
|
private |
Definition at line 64 of file self_debug.hh.