gem5
v20.1.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.
|
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.