9#ifndef lldb_NativeRegisterContextDBReg_h
10#define lldb_NativeRegisterContextDBReg_h
41 uint32_t watch_flags)
override;
80 return (size == 4) && !(addr & 0x3);
86 virtual std::optional<WatchpointDetails>
virtual lldb::addr_t FixWatchpointHitAddress(lldb::addr_t hit_addr)
uint32_t NumSupportedHardwareWatchpoints() override
const uint32_t m_hw_dbg_enable_bit
std::array< struct DREG, 16 > m_hbp_regs
Status ClearAllHardwareWatchpoints() override
Status ClearAllHardwareBreakpoints() override
bool ClearHardwareWatchpoint(uint32_t hw_index) override
virtual llvm::Error WriteHardwareDebugRegs(DREGType hwbType)=0
Status GetWatchpointHitIndex(uint32_t &wp_index, lldb::addr_t trap_addr) override
bool WatchpointIsEnabled(uint32_t wp_index)
virtual llvm::Error ReadHardwareDebugInfo()=0
bool BreakpointIsEnabled(uint32_t bp_index)
lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override
bool ValidateBreakpoint(size_t size, lldb::addr_t addr)
virtual uint32_t MakeWatchControlValue(size_t size, uint32_t watch_flags)=0
uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size, uint32_t watch_flags) override
virtual std::optional< WatchpointDetails > AdjustWatchpoint(const WatchpointDetails &details)=0
virtual uint32_t MakeBreakControlValue(size_t size)=0
virtual uint32_t GetWatchpointSize(uint32_t wp_index)=0
bool ClearHardwareBreakpoint(uint32_t hw_idx) override
NativeRegisterContextDBReg(uint32_t enable_bit)
uint32_t m_max_hbp_supported
uint32_t m_max_hwp_supported
uint32_t SetHardwareBreakpoint(lldb::addr_t addr, size_t size) override
uint32_t NumSupportedHardwareBreakpoints() override
std::array< struct DREG, 16 > m_hwp_regs
Status GetHardwareBreakHitIndex(uint32_t &bp_index, lldb::addr_t trap_addr) override
lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override
A class that represents a running process on the host machine.
Debug register info for hardware breakpoints and watchpoints management.