LLDB mainline
|
#include <NativeRegisterContextDBReg_arm64.h>
Classes | |
struct | DREG |
Debug register info for hardware breakpoints and watchpoints management. More... | |
Public Types | |
enum | DREGType { eDREGTypeWATCH = 0 , eDREGTypeBREAK } |
Protected Member Functions | |
virtual llvm::Error | ReadHardwareDebugInfo ()=0 |
virtual llvm::Error | WriteHardwareDebugRegs (DREGType hwbType)=0 |
virtual lldb::addr_t | FixWatchpointHitAddress (lldb::addr_t hit_addr) |
Protected Attributes | |
std::array< struct DREG, 16 > | m_hbp_regs |
std::array< struct DREG, 16 > | m_hwp_regs |
uint32_t | m_max_hbp_supported |
uint32_t | m_max_hwp_supported |
Protected Attributes inherited from lldb_private::NativeRegisterContextRegisterInfo | |
std::unique_ptr< RegisterInfoInterface > | m_register_info_interface_up |
Protected Attributes inherited from lldb_private::NativeRegisterContext | |
NativeThreadProtocol & | m_thread |
Definition at line 18 of file NativeRegisterContextDBReg_arm64.h.
Enumerator | |
---|---|
eDREGTypeWATCH | |
eDREGTypeBREAK |
Definition at line 55 of file NativeRegisterContextDBReg_arm64.h.
bool NativeRegisterContextDBReg_arm64::BreakpointIsEnabled | ( | uint32_t | bp_index | ) |
Definition at line 202 of file NativeRegisterContextDBReg_arm64.cpp.
References g_enable_bit, and m_hbp_regs.
Referenced by ClearAllHardwareBreakpoints(), GetHardwareBreakHitIndex(), and SetHardwareBreakpoint().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 167 of file NativeRegisterContextDBReg_arm64.cpp.
References BreakpointIsEnabled(), lldb_private::Breakpoints, eDREGTypeBREAK, error(), lldb_private::GetLog(), LLDB_LOGF, m_hbp_regs, m_max_hbp_supported, ReadHardwareDebugInfo(), and WriteHardwareDebugRegs().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 355 of file NativeRegisterContextDBReg_arm64.cpp.
References eDREGTypeWATCH, error(), m_hwp_regs, m_max_hwp_supported, ReadHardwareDebugInfo(), WatchpointIsEnabled(), and WriteHardwareDebugRegs().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 106 of file NativeRegisterContextDBReg_arm64.cpp.
References lldb_private::Breakpoints, eDREGTypeBREAK, error(), lldb_private::GetLog(), LLDB_LOG, LLDB_LOG_ERROR, m_hbp_regs, m_max_hbp_supported, ReadHardwareDebugInfo(), and WriteHardwareDebugRegs().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 314 of file NativeRegisterContextDBReg_arm64.cpp.
References eDREGTypeWATCH, error(), lldb_private::GetLog(), LLDB_LOG, LLDB_LOG_ERROR, m_hwp_regs, m_max_hwp_supported, ReadHardwareDebugInfo(), lldb_private::Watchpoints, and WriteHardwareDebugRegs().
|
inlineprotectedvirtual |
Definition at line 82 of file NativeRegisterContextDBReg_arm64.h.
Referenced by GetWatchpointHitIndex().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 146 of file NativeRegisterContextDBReg_arm64.cpp.
References BreakpointIsEnabled(), lldb_private::Breakpoints, lldb_private::GetLog(), LLDB_INVALID_INDEX32, LLDB_LOGF, m_hbp_regs, and m_max_hbp_supported.
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 447 of file NativeRegisterContextDBReg_arm64.cpp.
References lldb_private::GetLog(), LLDB_INVALID_ADDRESS, LLDB_LOG, m_hwp_regs, m_max_hwp_supported, WatchpointIsEnabled(), and lldb_private::Watchpoints.
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 460 of file NativeRegisterContextDBReg_arm64.cpp.
References lldb_private::GetLog(), LLDB_INVALID_ADDRESS, LLDB_LOG, m_hwp_regs, m_max_hwp_supported, WatchpointIsEnabled(), and lldb_private::Watchpoints.
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 415 of file NativeRegisterContextDBReg_arm64.cpp.
References error(), FixWatchpointHitAddress(), lldb_private::GetLog(), GetWatchpointSize(), LLDB_INVALID_INDEX32, LLDB_LOG, m_hwp_regs, m_max_hwp_supported, ReadHardwareDebugInfo(), WatchpointIsEnabled(), and lldb_private::Watchpoints.
uint32_t NativeRegisterContextDBReg_arm64::GetWatchpointSize | ( | uint32_t | wp_index | ) |
Definition at line 387 of file NativeRegisterContextDBReg_arm64.cpp.
References lldb_private::GetLog(), LLDB_LOG, m_hwp_regs, and lldb_private::Watchpoints.
Referenced by GetWatchpointHitIndex().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 32 of file NativeRegisterContextDBReg_arm64.cpp.
References lldb_private::Breakpoints, error(), lldb_private::GetLog(), LLDB_LOG_ERROR, m_max_hbp_supported, and ReadHardwareDebugInfo().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 209 of file NativeRegisterContextDBReg_arm64.cpp.
References error(), lldb_private::GetLog(), LLDB_LOG_ERROR, m_max_hwp_supported, ReadHardwareDebugInfo(), and lldb_private::Watchpoints.
|
protectedpure virtual |
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 45 of file NativeRegisterContextDBReg_arm64.cpp.
References BreakpointIsEnabled(), lldb_private::Breakpoints, eDREGTypeBREAK, error(), g_enable_bit, g_pac_bits, lldb_private::GetLog(), GetSizeBits(), LLDB_INVALID_INDEX32, LLDB_LOG, LLDB_LOG_ERROR, m_hbp_regs, m_max_hbp_supported, ReadHardwareDebugInfo(), and WriteHardwareDebugRegs().
|
overridevirtual |
Reimplemented from lldb_private::NativeRegisterContext.
Definition at line 221 of file NativeRegisterContextDBReg_arm64.cpp.
References eDREGTypeWATCH, error(), g_enable_bit, g_pac_bits, lldb_private::GetLog(), GetSizeBits(), LLDB_INVALID_INDEX32, LLDB_LOG, LLDB_LOG_ERROR, m_hwp_regs, m_max_hwp_supported, ReadHardwareDebugInfo(), WatchpointIsEnabled(), lldb_private::Watchpoints, and WriteHardwareDebugRegs().
bool NativeRegisterContextDBReg_arm64::WatchpointIsEnabled | ( | uint32_t | wp_index | ) |
Definition at line 405 of file NativeRegisterContextDBReg_arm64.cpp.
References g_enable_bit, lldb_private::GetLog(), LLDB_LOG, m_hwp_regs, and lldb_private::Watchpoints.
Referenced by ClearAllHardwareWatchpoints(), GetWatchpointAddress(), GetWatchpointHitAddress(), GetWatchpointHitIndex(), and SetHardwareWatchpoint().
|
protectedpure virtual |
|
protected |
Definition at line 74 of file NativeRegisterContextDBReg_arm64.h.
Referenced by BreakpointIsEnabled(), ClearAllHardwareBreakpoints(), ClearHardwareBreakpoint(), GetHardwareBreakHitIndex(), and SetHardwareBreakpoint().
|
protected |
Definition at line 75 of file NativeRegisterContextDBReg_arm64.h.
Referenced by ClearAllHardwareWatchpoints(), ClearHardwareWatchpoint(), GetWatchpointAddress(), GetWatchpointHitAddress(), GetWatchpointHitIndex(), GetWatchpointSize(), SetHardwareWatchpoint(), and WatchpointIsEnabled().
|
protected |
Definition at line 77 of file NativeRegisterContextDBReg_arm64.h.
Referenced by ClearAllHardwareBreakpoints(), ClearHardwareBreakpoint(), GetHardwareBreakHitIndex(), NumSupportedHardwareBreakpoints(), and SetHardwareBreakpoint().
|
protected |
Definition at line 78 of file NativeRegisterContextDBReg_arm64.h.
Referenced by ClearAllHardwareWatchpoints(), ClearHardwareWatchpoint(), GetWatchpointAddress(), GetWatchpointHitAddress(), GetWatchpointHitIndex(), NumSupportedHardwareWatchpoints(), and SetHardwareWatchpoint().