Lines Matching defs:wp_index

477   uint32_t control_value = 0, wp_index = 0, addr_word_offset = 0, byte_mask = 0;
539 // Iterate over stored watchpoints and find a free wp_index
540 wp_index = LLDB_INVALID_INDEX32;
543 wp_index = i; // Mark last free slot
549 if (wp_index == LLDB_INVALID_INDEX32)
553 m_hwp_regs[wp_index].real_addr = real_addr;
554 m_hwp_regs[wp_index].address = addr;
555 m_hwp_regs[wp_index].control = control_value;
558 error = WriteHardwareDebugRegs(eDREGTypeWATCH, wp_index);
561 m_hwp_regs[wp_index].address = 0;
562 m_hwp_regs[wp_index].control &= ~1;
567 return wp_index;
571 uint32_t wp_index) {
573 LLDB_LOG(log, "wp_index: {0}", wp_index);
581 if (wp_index >= m_max_hwp_supported)
585 lldb::addr_t tempAddr = m_hwp_regs[wp_index].address;
586 uint32_t tempControl = m_hwp_regs[wp_index].control;
589 m_hwp_regs[wp_index].control &= ~1;
590 m_hwp_regs[wp_index].address = 0;
593 error = WriteHardwareDebugRegs(eDREGTypeWATCH, wp_index);
596 m_hwp_regs[wp_index].control = tempControl;
597 m_hwp_regs[wp_index].address = tempAddr;
640 uint32_t NativeRegisterContextLinux_arm::GetWatchpointSize(uint32_t wp_index) {
642 LLDB_LOG(log, "wp_index: {0}", wp_index);
644 switch ((m_hwp_regs[wp_index].control >> 5) & 0x0f) {
657 bool NativeRegisterContextLinux_arm::WatchpointIsEnabled(uint32_t wp_index) {
659 LLDB_LOG(log, "wp_index: {0}", wp_index);
661 if ((m_hwp_regs[wp_index].control & 0x1) == 0x1)
668 NativeRegisterContextLinux_arm::GetWatchpointHitIndex(uint32_t &wp_index,
671 LLDB_LOG(log, "wp_index: {0}, trap_addr: {1:x}", wp_index, trap_addr);
676 for (wp_index = 0; wp_index < m_max_hwp_supported; ++wp_index) {
677 watch_size = GetWatchpointSize(wp_index);
678 watch_addr = m_hwp_regs[wp_index].address;
680 if (WatchpointIsEnabled(wp_index) && trap_addr >= watch_addr &&
682 m_hwp_regs[wp_index].hit_addr = trap_addr;
687 wp_index = LLDB_INVALID_INDEX32;
692 NativeRegisterContextLinux_arm::GetWatchpointAddress(uint32_t wp_index) {
694 LLDB_LOG(log, "wp_index: {0}", wp_index);
696 if (wp_index >= m_max_hwp_supported)
699 if (WatchpointIsEnabled(wp_index))
700 return m_hwp_regs[wp_index].real_addr;
706 NativeRegisterContextLinux_arm::GetWatchpointHitAddress(uint32_t wp_index) {
708 LLDB_LOG(log, "wp_index: {0}", wp_index);
710 if (wp_index >= m_max_hwp_supported)
713 if (WatchpointIsEnabled(wp_index))
714 return m_hwp_regs[wp_index].hit_addr;