/external/llvm-project/lldb/source/Plugins/Process/Utility/ |
D | NativeRegisterContextWatchpoint_x86.cpp | 19 static inline uint64_t GetStatusBit(uint32_t wp_index) { in GetStatusBit() argument 22 return 1 << wp_index; in GetStatusBit() 26 static inline uint64_t GetEnableBit(uint32_t wp_index) { in GetEnableBit() argument 31 return 1 << (2 * wp_index + 1); in GetEnableBit() 35 static inline uint64_t GetBothEnableBitMask(uint32_t wp_index) { in GetBothEnableBitMask() argument 38 return 3 << (2 * wp_index + 1); in GetBothEnableBitMask() 43 uint32_t wp_index) { in GetWatchTypeBits() argument 51 return watch_flags << (16 + 4 * wp_index); in GetWatchTypeBits() 55 static inline uint64_t GetWatchSizeBits(uint32_t size, uint32_t wp_index) { in GetWatchSizeBits() argument 67 return (size == 8 ? 0x2 : size - 1) << (18 + 4 * wp_index); in GetWatchSizeBits() [all …]
|
D | NativeRegisterContextWatchpoint_x86.h | 19 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 21 Status GetWatchpointHitIndex(uint32_t &wp_index, 24 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 26 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 28 Status ClearWatchpointHit(uint32_t wp_index) override; 34 uint32_t wp_index); 39 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
|
/external/llvm-project/lldb/source/Plugins/Process/Linux/ |
D | NativeRegisterContextLinux_arm.cpp | 486 uint32_t control_value = 0, wp_index = 0, addr_word_offset = 0, byte_mask = 0; in SetHardwareWatchpoint() local 549 wp_index = LLDB_INVALID_INDEX32; in SetHardwareWatchpoint() 552 wp_index = i; // Mark last free slot in SetHardwareWatchpoint() 558 if (wp_index == LLDB_INVALID_INDEX32) in SetHardwareWatchpoint() 562 m_hwp_regs[wp_index].real_addr = real_addr; in SetHardwareWatchpoint() 563 m_hwp_regs[wp_index].address = addr; in SetHardwareWatchpoint() 564 m_hwp_regs[wp_index].control = control_value; in SetHardwareWatchpoint() 567 error = WriteHardwareDebugRegs(eDREGTypeWATCH, wp_index); in SetHardwareWatchpoint() 570 m_hwp_regs[wp_index].address = 0; in SetHardwareWatchpoint() 571 m_hwp_regs[wp_index].control &= ~1; in SetHardwareWatchpoint() [all …]
|
D | NativeRegisterContextLinux_ppc64le.cpp | 527 uint32_t control_value = 0, wp_index = 0; in SetHardwareWatchpoint() local 571 wp_index = LLDB_INVALID_INDEX32; in SetHardwareWatchpoint() 574 wp_index = i; // Mark last free slot in SetHardwareWatchpoint() 580 if (wp_index == LLDB_INVALID_INDEX32) in SetHardwareWatchpoint() 584 m_hwp_regs[wp_index].real_addr = real_addr; in SetHardwareWatchpoint() 585 m_hwp_regs[wp_index].address = addr; in SetHardwareWatchpoint() 586 m_hwp_regs[wp_index].control = control_value; in SetHardwareWatchpoint() 587 m_hwp_regs[wp_index].mode = rw_mode; in SetHardwareWatchpoint() 593 m_hwp_regs[wp_index].address = 0; in SetHardwareWatchpoint() 594 m_hwp_regs[wp_index].control &= llvm::maskTrailingZeros<uint32_t>(1); in SetHardwareWatchpoint() [all …]
|
D | NativeRegisterContextLinux_arm64.cpp | 639 uint32_t control_value = 0, wp_index = 0; in SetHardwareWatchpoint() local 685 wp_index = LLDB_INVALID_INDEX32; in SetHardwareWatchpoint() 688 wp_index = i; // Mark last free slot in SetHardwareWatchpoint() 694 if (wp_index == LLDB_INVALID_INDEX32) in SetHardwareWatchpoint() 698 m_hwp_regs[wp_index].real_addr = real_addr; in SetHardwareWatchpoint() 699 m_hwp_regs[wp_index].address = addr; in SetHardwareWatchpoint() 700 m_hwp_regs[wp_index].control = control_value; in SetHardwareWatchpoint() 706 m_hwp_regs[wp_index].address = 0; in SetHardwareWatchpoint() 707 m_hwp_regs[wp_index].control &= ~1; in SetHardwareWatchpoint() 712 return wp_index; in SetHardwareWatchpoint() [all …]
|
D | NativeRegisterContextLinux_mips64.cpp | 733 Status NativeRegisterContextLinux_mips64::IsWatchpointHit(uint32_t wp_index, in IsWatchpointHit() argument 735 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointHit() 743 if (GetWatchHi(&watch_readback, wp_index) & (IRW)) { in IsWatchpointHit() 745 SetWatchHi(&watch_readback, wp_index, in IsWatchpointHit() 746 (GetWatchHi(&watch_readback, wp_index) & ~(IRW))); in IsWatchpointHit() 758 uint32_t &wp_index, lldb::addr_t trap_addr) { in GetWatchpointHitIndex() argument 760 for (wp_index = 0; wp_index < num_hw_wps; ++wp_index) { in GetWatchpointHitIndex() 762 Status error = IsWatchpointHit(wp_index, is_hit); in GetWatchpointHitIndex() 764 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 769 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() [all …]
|
D | NativeRegisterContextLinux_mips64.h | 36 lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override; 56 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 58 Status GetWatchpointHitIndex(uint32_t &wp_index, 61 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 63 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 69 uint32_t wp_index); 74 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
|
D | NativeRegisterContextLinux_s390x.cpp | 483 Status NativeRegisterContextLinux_s390x::IsWatchpointHit(uint32_t wp_index, in IsWatchpointHit() argument 487 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointHit() 516 uint32_t &wp_index, lldb::addr_t trap_addr) { in GetWatchpointHitIndex() argument 518 for (wp_index = 0; wp_index < num_hw_wps; ++wp_index) { in GetWatchpointHitIndex() 520 Status error = IsWatchpointHit(wp_index, is_hit); in GetWatchpointHitIndex() 522 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 528 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 532 Status NativeRegisterContextLinux_s390x::IsWatchpointVacant(uint32_t wp_index, in IsWatchpointVacant() argument 534 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointVacant() 543 uint32_t wp_index) { in ClearHardwareWatchpoint() argument [all …]
|
D | NativeRegisterContextLinux_ppc64le.h | 59 Status GetWatchpointHitIndex(uint32_t &wp_index, 62 lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override; 64 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 66 uint32_t GetWatchpointSize(uint32_t wp_index); 68 bool WatchpointIsEnabled(uint32_t wp_index);
|
D | NativeRegisterContextLinux_s390x.h | 45 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 47 Status GetWatchpointHitIndex(uint32_t &wp_index, 50 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 52 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 59 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
|
D | NativeRegisterContextLinux_arm.h | 66 Status GetWatchpointHitIndex(uint32_t &wp_index, 69 lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override; 71 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 73 uint32_t GetWatchpointSize(uint32_t wp_index); 75 bool WatchpointIsEnabled(uint32_t wp_index);
|
D | NativeThreadLinux.cpp | 155 uint32_t wp_index = in SetWatchpoint() local 157 if (wp_index == LLDB_INVALID_INDEX32) in SetWatchpoint() 159 m_watchpoint_index_map.insert({addr, wp_index}); in SetWatchpoint() 167 uint32_t wp_index = wp->second; in RemoveWatchpoint() local 169 if (m_reg_context_up->ClearHardwareWatchpoint(wp_index)) in RemoveWatchpoint() 349 void NativeThreadLinux::SetStoppedByWatchpoint(uint32_t wp_index) { in SetStoppedByWatchpoint() argument 352 lldbassert(wp_index != LLDB_INVALID_INDEX32 && "wp_index cannot be invalid"); in SetStoppedByWatchpoint() 355 ostr << m_reg_context_up->GetWatchpointAddress(wp_index) << " "; in SetStoppedByWatchpoint() 356 ostr << wp_index; in SetStoppedByWatchpoint() 369 ostr << " " << m_reg_context_up->GetWatchpointHitAddress(wp_index); in SetStoppedByWatchpoint()
|
D | NativeRegisterContextLinux_arm64.h | 74 Status GetWatchpointHitIndex(uint32_t &wp_index, 77 lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override; 79 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 81 uint32_t GetWatchpointSize(uint32_t wp_index); 83 bool WatchpointIsEnabled(uint32_t wp_index);
|
/external/llvm-project/lldb/source/Plugins/Process/Windows/Common/ |
D | NativeRegisterContextWindows_WoW64.cpp | 406 Status NativeRegisterContextWindows_WoW64::IsWatchpointHit(uint32_t wp_index, in IsWatchpointHit() argument 410 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointHit() 418 is_hit = reg_value.GetAsUInt32() & (1 << wp_index); in IsWatchpointHit() 424 uint32_t &wp_index, lldb::addr_t trap_addr) { in GetWatchpointHitIndex() argument 425 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 434 wp_index = i; in GetWatchpointHitIndex() 442 Status NativeRegisterContextWindows_WoW64::IsWatchpointVacant(uint32_t wp_index, in IsWatchpointVacant() argument 446 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointVacant() 454 is_vacant = !(reg_value.GetAsUInt32() & (1 << (2 * wp_index))); in IsWatchpointVacant() 460 uint32_t wp_index) { in ClearHardwareWatchpoint() argument [all …]
|
D | NativeRegisterContextWindows_i386.cpp | 416 Status NativeRegisterContextWindows_i386::IsWatchpointHit(uint32_t wp_index, in IsWatchpointHit() argument 420 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointHit() 428 is_hit = reg_value.GetAsUInt32() & (1 << wp_index); in IsWatchpointHit() 434 uint32_t &wp_index, lldb::addr_t trap_addr) { in GetWatchpointHitIndex() argument 435 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 444 wp_index = i; in GetWatchpointHitIndex() 452 Status NativeRegisterContextWindows_i386::IsWatchpointVacant(uint32_t wp_index, in IsWatchpointVacant() argument 456 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointVacant() 464 is_vacant = !(reg_value.GetAsUInt32() & (1 << (2 * wp_index))); in IsWatchpointVacant() 470 uint32_t wp_index) { in ClearHardwareWatchpoint() argument [all …]
|
D | NativeRegisterContextWindows_x86_64.cpp | 619 Status NativeRegisterContextWindows_x86_64::IsWatchpointHit(uint32_t wp_index, in IsWatchpointHit() argument 623 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointHit() 631 is_hit = reg_value.GetAsUInt64() & (1ULL << wp_index); in IsWatchpointHit() 637 uint32_t &wp_index, lldb::addr_t trap_addr) { in GetWatchpointHitIndex() argument 638 wp_index = LLDB_INVALID_INDEX32; in GetWatchpointHitIndex() 647 wp_index = i; in GetWatchpointHitIndex() 656 NativeRegisterContextWindows_x86_64::IsWatchpointVacant(uint32_t wp_index, in IsWatchpointVacant() argument 660 if (wp_index >= NumSupportedHardwareWatchpoints()) in IsWatchpointVacant() 668 is_vacant = !(reg_value.GetAsUInt64() & (1ULL << (2 * wp_index))); in IsWatchpointVacant() 674 uint32_t wp_index) { in ClearHardwareWatchpoint() argument [all …]
|
D | NativeRegisterContextWindows_WoW64.h | 41 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 43 Status GetWatchpointHitIndex(uint32_t &wp_index, 46 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 48 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 55 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 67 Status ApplyHardwareBreakpoint(uint32_t wp_index, lldb::addr_t addr,
|
D | NativeRegisterContextWindows_arm.h | 40 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 42 Status GetWatchpointHitIndex(uint32_t &wp_index, 45 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 47 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 53 uint32_t wp_index); 58 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
|
D | NativeRegisterContextWindows_arm64.h | 40 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 42 Status GetWatchpointHitIndex(uint32_t &wp_index, 45 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 47 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 53 uint32_t wp_index); 58 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
|
D | NativeRegisterContextWindows_i386.h | 41 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 43 Status GetWatchpointHitIndex(uint32_t &wp_index, 46 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 48 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 55 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 67 Status ApplyHardwareBreakpoint(uint32_t wp_index, lldb::addr_t addr,
|
D | NativeRegisterContextWindows_x86_64.h | 42 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; 44 Status GetWatchpointHitIndex(uint32_t &wp_index, 47 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; 49 bool ClearHardwareWatchpoint(uint32_t wp_index) override; 56 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; 71 Status ApplyHardwareBreakpoint(uint32_t wp_index, lldb::addr_t addr,
|
D | NativeThreadWindows.cpp | 142 uint32_t wp_index = in SetWatchpoint() local 144 if (wp_index == LLDB_INVALID_INDEX32) in SetWatchpoint() 146 m_watchpoint_index_map.insert({addr, wp_index}); in SetWatchpoint() 154 uint32_t wp_index = wp->second; in RemoveWatchpoint() local 156 if (m_reg_context_up->ClearHardwareWatchpoint(wp_index)) in RemoveWatchpoint()
|
/external/llvm-project/lldb/source/Plugins/Process/FreeBSDRemote/ |
D | NativeThreadFreeBSD.cpp | 113 void NativeThreadFreeBSD::SetStoppedByWatchpoint(uint32_t wp_index) { in SetStoppedByWatchpoint() argument 114 lldbassert(wp_index != LLDB_INVALID_INDEX32 && "wp_index cannot be invalid"); in SetStoppedByWatchpoint() 117 ostr << GetRegisterContext().GetWatchpointAddress(wp_index) << " "; in SetStoppedByWatchpoint() 118 ostr << wp_index; in SetStoppedByWatchpoint() 120 ostr << " " << GetRegisterContext().GetWatchpointHitAddress(wp_index); in SetStoppedByWatchpoint() 228 uint32_t wp_index = in SetWatchpoint() local 230 if (wp_index == LLDB_INVALID_INDEX32) in SetWatchpoint() 232 m_watchpoint_index_map.insert({addr, wp_index}); in SetWatchpoint() 240 uint32_t wp_index = wp->second; in RemoveWatchpoint() local 242 if (GetRegisterContext().ClearHardwareWatchpoint(wp_index)) in RemoveWatchpoint()
|
/external/llvm-project/lldb/source/Plugins/Process/NetBSD/ |
D | NativeThreadNetBSD.cpp | 118 void NativeThreadNetBSD::SetStoppedByWatchpoint(uint32_t wp_index) { in SetStoppedByWatchpoint() argument 119 lldbassert(wp_index != LLDB_INVALID_INDEX32 && "wp_index cannot be invalid"); in SetStoppedByWatchpoint() 122 ostr << GetRegisterContext().GetWatchpointAddress(wp_index) << " "; in SetStoppedByWatchpoint() 123 ostr << wp_index; in SetStoppedByWatchpoint() 125 ostr << " " << GetRegisterContext().GetWatchpointHitAddress(wp_index); in SetStoppedByWatchpoint() 245 uint32_t wp_index = in SetWatchpoint() local 247 if (wp_index == LLDB_INVALID_INDEX32) in SetWatchpoint() 249 m_watchpoint_index_map.insert({addr, wp_index}); in SetWatchpoint() 257 uint32_t wp_index = wp->second; in RemoveWatchpoint() local 259 if (GetRegisterContext().ClearHardwareWatchpoint(wp_index)) in RemoveWatchpoint()
|
/external/llvm-project/lldb/include/lldb/Host/common/ |
D | NativeRegisterContext.h | 84 virtual Status IsWatchpointHit(uint32_t wp_index, bool &is_hit); 86 virtual Status GetWatchpointHitIndex(uint32_t &wp_index, 89 virtual Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant); 91 virtual lldb::addr_t GetWatchpointAddress(uint32_t wp_index); 102 virtual lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index);
|