gem5  v22.1.0.0
Public Member Functions | Private Attributes | Friends | List of all members
gem5::ArmISA::WatchPoint Class Reference

#include <self_debug.hh>

Public Member Functions

 WatchPoint (MiscRegIndex ctrl_index, MiscRegIndex val_index, SelfDebug *_conf, bool lva, bool aarch32)
 
bool compareAddress (ThreadContext *tc, Addr in_addr, uint8_t bas, uint8_t mask, unsigned size)
 
Addr getAddrfromReg (ThreadContext *tc)
 
bool isDoubleAligned (Addr addr)
 
void updateControl (DBGWCR val)
 
bool isEnabled (ThreadContext *tc, ExceptionLevel el, bool hmc, uint8_t ssc, uint8_t pac)
 
bool test (ThreadContext *tc, Addr addr, ExceptionLevel el, bool &wrt, bool atomic, unsigned size)
 

Private Attributes

MiscRegIndex ctrlRegIndex
 
MiscRegIndex valRegIndex
 
SelfDebugconf
 
bool enable
 
int maxAddrSize
 

Friends

class SelfDebug
 

Detailed Description

Definition at line 147 of file self_debug.hh.

Constructor & Destructor Documentation

◆ WatchPoint()

gem5::ArmISA::WatchPoint::WatchPoint ( MiscRegIndex  ctrl_index,
MiscRegIndex  val_index,
SelfDebug _conf,
bool  lva,
bool  aarch32 
)
inline

Definition at line 159 of file self_debug.hh.

References maxAddrSize.

Member Function Documentation

◆ compareAddress()

bool gem5::WatchPoint::compareAddress ( ThreadContext tc,
Addr  in_addr,
uint8_t  bas,
uint8_t  mask,
unsigned  size 
)

◆ getAddrfromReg()

Addr gem5::ArmISA::WatchPoint::getAddrfromReg ( ThreadContext tc)
inline

Definition at line 172 of file self_debug.hh.

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

Referenced by compareAddress().

◆ isDoubleAligned()

bool gem5::ArmISA::WatchPoint::isDoubleAligned ( Addr  addr)
inline

Definition at line 178 of file self_debug.hh.

References gem5::X86ISA::addr.

Referenced by compareAddress().

◆ isEnabled()

bool gem5::WatchPoint::isEnabled ( ThreadContext tc,
ExceptionLevel  el,
bool  hmc,
uint8_t  ssc,
uint8_t  pac 
)

◆ test()

bool gem5::WatchPoint::test ( ThreadContext tc,
Addr  addr,
ExceptionLevel  el,
bool &  wrt,
bool  atomic,
unsigned  size 
)

◆ updateControl()

void gem5::ArmISA::WatchPoint::updateControl ( DBGWCR  val)
inline

Definition at line 184 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 157 of file self_debug.hh.

Member Data Documentation

◆ conf

SelfDebug* gem5::ArmISA::WatchPoint::conf
private

Definition at line 152 of file self_debug.hh.

Referenced by isEnabled(), and test().

◆ ctrlRegIndex

MiscRegIndex gem5::ArmISA::WatchPoint::ctrlRegIndex
private

Definition at line 150 of file self_debug.hh.

Referenced by test().

◆ enable

bool gem5::ArmISA::WatchPoint::enable
private

Definition at line 153 of file self_debug.hh.

Referenced by updateControl().

◆ maxAddrSize

int gem5::ArmISA::WatchPoint::maxAddrSize
private

Definition at line 154 of file self_debug.hh.

Referenced by compareAddress(), getAddrfromReg(), and WatchPoint().

◆ valRegIndex

MiscRegIndex gem5::ArmISA::WatchPoint::valRegIndex
private

Definition at line 151 of file self_debug.hh.

Referenced by getAddrfromReg().


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

Generated on Wed Dec 21 2022 10:23:36 for gem5 by doxygen 1.9.1