gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
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
 
uint32_t getVMIDfromReg (ThreadContext *tc)
 

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 57 of file self_debug.hh.

Constructor & Destructor Documentation

◆ BrkPoint()

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

Definition at line 73 of file self_debug.hh.

References maxAddrSize, and onUse.

Member Function Documentation

◆ getAddrfromReg()

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

Definition at line 91 of file self_debug.hh.

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

◆ getContextfromReg()

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

Definition at line 97 of file self_debug.hh.

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

◆ getControlReg()

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

Definition at line 116 of file self_debug.hh.

References ctrlRegIndex, and ThreadContext::readMiscReg().

◆ getVMIDfromReg()

uint32_t BrkPoint::getVMIDfromReg ( ThreadContext tc)
inlineprotected

Definition at line 525 of file self_debug.cc.

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

◆ isActive()

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

Definition at line 125 of file self_debug.hh.

References activePc, and MipsISA::vaddr.

◆ isEnabled()

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

◆ test()

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

◆ testAddrMatch()

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

◆ testAddrMissMatch()

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

◆ testContextMatch() [1/2]

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

Definition at line 424 of file self_debug.cc.

◆ testContextMatch() [2/2]

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

◆ testLinkedBk()

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.

◆ testVMIDMatch()

bool BrkPoint::testVMIDMatch ( ThreadContext tc)

◆ updateControl()

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

Definition at line 137 of file self_debug.hh.

References enable, and X86ISA::val.

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

Friends And Related Function Documentation

◆ SelfDebug

friend class SelfDebug
friend

Definition at line 71 of file self_debug.hh.

Member Data Documentation

◆ activePc

Addr ArmISA::BrkPoint::activePc
private

Definition at line 65 of file self_debug.hh.

Referenced by isActive().

◆ conf

SelfDebug* ArmISA::BrkPoint::conf
private

Definition at line 62 of file self_debug.hh.

◆ ctrlRegIndex

MiscRegIndex ArmISA::BrkPoint::ctrlRegIndex
private

Definition at line 60 of file self_debug.hh.

Referenced by getControlReg().

◆ enable

bool ArmISA::BrkPoint::enable
private

Definition at line 66 of file self_debug.hh.

Referenced by updateControl().

◆ isCntxtAware

bool ArmISA::BrkPoint::isCntxtAware
private

Definition at line 63 of file self_debug.hh.

◆ maxAddrSize

int ArmISA::BrkPoint::maxAddrSize
private

Definition at line 67 of file self_debug.hh.

Referenced by BrkPoint(), and getAddrfromReg().

◆ onUse

bool ArmISA::BrkPoint::onUse
private

Definition at line 68 of file self_debug.hh.

Referenced by BrkPoint().

◆ valRegIndex

MiscRegIndex ArmISA::BrkPoint::valRegIndex
private

Definition at line 61 of file self_debug.hh.

Referenced by getAddrfromReg(), and getContextfromReg().

◆ VMID16enabled

bool ArmISA::BrkPoint::VMID16enabled
private

Definition at line 64 of file self_debug.hh.


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

Generated on Wed Sep 30 2020 14:02:35 for gem5 by doxygen 1.8.17