Home | History | Annotate | Download | only in x86_64

Lines Matching refs:debug_state

542     DBG &debug_state = m_state.context.dbg;
546 if (IsWatchpointHit(debug_state, i))
551 ClearWatchpointHits(debug_state);
687 DNBArchImplX86_64::SetWatchpoint(DBG &debug_state, uint32_t hw_index, nub_addr_t addr, nub_size_t size, bool read, bool write)
711 debug_state.__dr7 |= (1 << (2*hw_index) |
715 debug_state.__dr0 = addr; break;
717 debug_state.__dr1 = addr; break;
719 debug_state.__dr2 = addr; break;
721 debug_state.__dr3 = addr; break;
729 DNBArchImplX86_64::ClearWatchpoint(DBG &debug_state, uint32_t hw_index)
731 debug_state.__dr7 &= ~(3 << (2*hw_index));
734 debug_state.__dr0 = 0; break;
736 debug_state.__dr1 = 0; break;
738 debug_state.__dr2 = 0; break;
740 debug_state.__dr3 = 0; break;
748 DNBArchImplX86_64::IsWatchpointVacant(const DBG &debug_state, uint32_t hw_index)
758 return (debug_state.__dr7 & (3 << (2*hw_index))) == 0;
763 DNBArchImplX86_64::ClearWatchpointHits(DBG &debug_state)
766 debug_state.__dr6 = 0;
771 DNBArchImplX86_64::IsWatchpointHit(const DBG &debug_state, uint32_t hw_index)
781 return (debug_state.__dr6 & (1 << hw_index));
785 DNBArchImplX86_64::GetWatchAddress(const DBG &debug_state, uint32_t hw_index)
789 return debug_state.__dr0;
791 return debug_state.__dr1;
793 return debug_state.__dr2;
795 return debug_state.__dr3;
860 DBG &debug_state = m_state.context.dbg;
863 if (IsWatchpointVacant(debug_state, i))
873 SetWatchpoint(debug_state, i, addr, size, read, write);
899 DBG &debug_state = m_state.context.dbg;
900 if (hw_index < num_hw_points && !IsWatchpointVacant(debug_state, hw_index))
905 ClearWatchpoint(debug_state, hw_index);
929 DBG &debug_state = m_state.context.dbg;
933 if (IsWatchpointHit(debug_state, i))
935 addr = GetWatchAddress(debug_state, i);