gem5  v20.1.0.0
Public Member Functions | Private Attributes | Friends | List of all members
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 143 of file self_debug.hh.

Constructor & Destructor Documentation

◆ WatchPoint()

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

Definition at line 155 of file self_debug.hh.

References maxAddrSize.

Member Function Documentation

◆ compareAddress()

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

Definition at line 601 of file self_debug.cc.

References addr, ArmISA::bas, bits(), ArmISA::i, ArmISA::j, ArmISA::mask, and ArmISA::v.

◆ getAddrfromReg()

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

Definition at line 168 of file self_debug.hh.

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

◆ isDoubleAligned()

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

Definition at line 174 of file self_debug.hh.

References addr.

◆ isEnabled()

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

◆ test()

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

Definition at line 581 of file self_debug.cc.

References addr, ArmISA::atomic, ArmISA::el, ThreadContext::readMiscReg(), and ArmISA::v.

◆ updateControl()

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

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

Member Data Documentation

◆ conf

SelfDebug* ArmISA::WatchPoint::conf
private

Definition at line 148 of file self_debug.hh.

◆ ctrlRegIndex

MiscRegIndex ArmISA::WatchPoint::ctrlRegIndex
private

Definition at line 146 of file self_debug.hh.

◆ enable

bool ArmISA::WatchPoint::enable
private

Definition at line 149 of file self_debug.hh.

Referenced by updateControl().

◆ maxAddrSize

int ArmISA::WatchPoint::maxAddrSize
private

Definition at line 150 of file self_debug.hh.

Referenced by getAddrfromReg(), and WatchPoint().

◆ valRegIndex

MiscRegIndex ArmISA::WatchPoint::valRegIndex
private

Definition at line 147 of file self_debug.hh.

Referenced by getAddrfromReg().


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

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