gem5  v22.0.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
bool isCntxtAware
bool VMID16enabled
Addr activePc
bool enable
int maxAddrSize
bool onUse


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 

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

◆ getContextfromReg()

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

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)

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 

◆ isActive()

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

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 425 of file

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 212 of file

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)

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

Definition at line 75 of file self_debug.hh.

Member Data Documentation

◆ activePc

Addr gem5::ArmISA::BrkPoint::activePc

Definition at line 69 of file self_debug.hh.

Referenced by isActive().

◆ conf

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

Definition at line 66 of file self_debug.hh.

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

◆ ctrlRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::ctrlRegIndex

Definition at line 64 of file self_debug.hh.

Referenced by getControlReg().

◆ enable

bool gem5::ArmISA::BrkPoint::enable

Definition at line 70 of file self_debug.hh.

Referenced by testLinkedBk(), and updateControl().

◆ isCntxtAware

bool gem5::ArmISA::BrkPoint::isCntxtAware

Definition at line 67 of file self_debug.hh.

Referenced by testContextMatch().

◆ maxAddrSize

int gem5::ArmISA::BrkPoint::maxAddrSize

Definition at line 71 of file self_debug.hh.

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

◆ onUse

bool gem5::ArmISA::BrkPoint::onUse

Definition at line 72 of file self_debug.hh.

Referenced by BrkPoint().

◆ valRegIndex

MiscRegIndex gem5::ArmISA::BrkPoint::valRegIndex

Definition at line 65 of file self_debug.hh.

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

◆ VMID16enabled

bool gem5::ArmISA::BrkPoint::VMID16enabled

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 Thu Jul 28 2022 13:33:20 for gem5 by doxygen 1.8.17