gem5  v21.1.0.2
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
gem5::ArmISA::BrkPoint Class Reference

#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
 
SelfDebugconf
 
bool isCntxtAware
 
bool VMID16enabled
 
Addr activePc
 
bool enable
 
int maxAddrSize
 
bool onUse
 

Friends

class SelfDebug
 

Detailed Description

Definition at line 61 of file self_debug.hh.

Constructor & Destructor Documentation

◆ BrkPoint()

gem5::ArmISA::BrkPoint::BrkPoint ( MiscRegIndex  ctrl_index,
MiscRegIndex  val_index,
SelfDebug _conf,
bool  ctx_aw,
bool  lva,
bool  vmid16,
bool  aarch32 
)
inline

Definition at line 77 of file self_debug.hh.

References maxAddrSize, and onUse.

Member Function Documentation

◆ getAddrfromReg()

Addr gem5::ArmISA::BrkPoint::getAddrfromReg ( ThreadContext tc) const
inlineprotected

◆ getContextfromReg()

RegVal gem5::ArmISA::BrkPoint::getContextfromReg ( ThreadContext tc,
bool  ctxid1 
) const
inlineprotected

Definition at line 101 of file self_debug.hh.

References gem5::bits(), gem5::ThreadContext::readMiscReg(), and valRegIndex.

Referenced by testContextMatch().

◆ getControlReg()

const DBGBCR gem5::ArmISA::BrkPoint::getControlReg ( ThreadContext tc)
inline

Definition at line 120 of file self_debug.hh.

References ctrlRegIndex, and gem5::ThreadContext::readMiscReg().

Referenced by testLinkedBk().

◆ getVMIDfromReg()

vmid_t gem5::BrkPoint::getVMIDfromReg ( ThreadContext tc,
bool  vs 
)
protected

◆ isActive()

bool gem5::ArmISA::BrkPoint::isActive ( Addr  vaddr)
inline

Definition at line 129 of file self_debug.hh.

References activePc, and gem5::MipsISA::vaddr.

◆ isEnabled()

bool gem5::BrkPoint::isEnabled ( ThreadContext tc,
ExceptionLevel  el,
uint8_t  hmc,
uint8_t  ssc,
uint8_t  pmc 
)

◆ test()

bool gem5::BrkPoint::test ( ThreadContext tc,
Addr  pc,
ExceptionLevel  el,
DBGBCR  ctr,
bool  from_link 
)

◆ testAddrMatch()

bool gem5::BrkPoint::testAddrMatch ( ThreadContext tc,
Addr  pc,
uint8_t  bas 
)

◆ testAddrMissMatch()

bool gem5::BrkPoint::testAddrMissMatch ( ThreadContext tc,
Addr  pc,
uint8_t  bas 
)

◆ testContextMatch() [1/2]

bool gem5::BrkPoint::testContextMatch ( ThreadContext tc,
bool  ctx1 
)

Definition at line 421 of file self_debug.cc.

References testContextMatch().

◆ testContextMatch() [2/2]

bool gem5::BrkPoint::testContextMatch ( ThreadContext tc,
bool  ctx1,
bool  low_ctx 
)

◆ testLinkedBk()

bool gem5::BrkPoint::testLinkedBk ( ThreadContext tc,
Addr  vaddr,
ExceptionLevel  el 
)

Definition at line 211 of file self_debug.cc.

References gem5::ArmISA::el, enable, getControlReg(), test(), and gem5::MipsISA::vaddr.

Referenced by test().

◆ testVMIDMatch()

bool gem5::BrkPoint::testVMIDMatch ( ThreadContext tc)

◆ updateControl()

void gem5::ArmISA::BrkPoint::updateControl ( DBGBCR  val)
inline

Definition at line 141 of file self_debug.hh.

References enable, and gem5::X86ISA::val.

Referenced by gem5::ArmISA::SelfDebug::init().

Friends And Related Function Documentation

◆ SelfDebug

friend class SelfDebug
friend

Definition at line 75 of file self_debug.hh.

Member Data Documentation

◆ activePc

Addr gem5::ArmISA::BrkPoint::activePc
private

Definition at line 69 of file self_debug.hh.

Referenced by isActive().

◆ conf

SelfDebug* gem5::ArmISA::BrkPoint::conf
private

Definition at line 66 of file self_debug.hh.

Referenced by isEnabled(), test(), and testContextMatch().

◆ ctrlRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::ctrlRegIndex
private

Definition at line 64 of file self_debug.hh.

Referenced by getControlReg().

◆ enable

bool gem5::ArmISA::BrkPoint::enable
private

Definition at line 70 of file self_debug.hh.

Referenced by testLinkedBk(), and updateControl().

◆ isCntxtAware

bool gem5::ArmISA::BrkPoint::isCntxtAware
private

Definition at line 67 of file self_debug.hh.

Referenced by testContextMatch().

◆ maxAddrSize

int gem5::ArmISA::BrkPoint::maxAddrSize
private

Definition at line 71 of file self_debug.hh.

Referenced by BrkPoint(), getAddrfromReg(), testAddrMatch(), and testAddrMissMatch().

◆ onUse

bool gem5::ArmISA::BrkPoint::onUse
private

Definition at line 72 of file self_debug.hh.

Referenced by BrkPoint().

◆ valRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::valRegIndex
private

Definition at line 65 of file self_debug.hh.

Referenced by getAddrfromReg(), getContextfromReg(), and getVMIDfromReg().

◆ VMID16enabled

bool gem5::ArmISA::BrkPoint::VMID16enabled
private

Definition at line 68 of file self_debug.hh.

Referenced by getVMIDfromReg(), and testVMIDMatch().


The documentation for this class was generated from the following files:

Generated on Tue Sep 21 2021 12:28:27 for gem5 by doxygen 1.8.17