Lines Matching refs:m_state

147     return m_state.context.gpr.__pc;  in GetPC()
155 m_state.context.gpr.__pc = (uint32_t)value; in SetPC()
164 return m_state.context.gpr.__sp; in GetSP()
171 if (!force && m_state.GetError(set, Read) == KERN_SUCCESS) in GetGPRState()
178 (thread_state_t)&m_state.context.gpr, &count); in GetGPRState()
179 uint32_t *r = &m_state.context.gpr.__r[0]; in GetGPRState()
188 m_state.SetError(set, Read, kret); in GetGPRState()
195 if (!force && m_state.GetError(set, Read) == KERN_SUCCESS) in GetVFPState()
204 (thread_state_t)&m_state.context.vfp, &count); in GetVFPState()
227 count, ((uint64_t *)&m_state.context.vfp.__v[0])[0], in GetVFPState()
228 ((uint64_t *)&m_state.context.vfp.__v[0])[1], in GetVFPState()
229 ((uint64_t *)&m_state.context.vfp.__v[1])[0], in GetVFPState()
230 ((uint64_t *)&m_state.context.vfp.__v[1])[1], in GetVFPState()
231 ((uint64_t *)&m_state.context.vfp.__v[2])[0], in GetVFPState()
232 ((uint64_t *)&m_state.context.vfp.__v[2])[1], in GetVFPState()
233 ((uint64_t *)&m_state.context.vfp.__v[3])[0], in GetVFPState()
234 ((uint64_t *)&m_state.context.vfp.__v[3])[1], in GetVFPState()
235 ((uint64_t *)&m_state.context.vfp.__v[4])[0], in GetVFPState()
236 ((uint64_t *)&m_state.context.vfp.__v[4])[1], in GetVFPState()
237 ((uint64_t *)&m_state.context.vfp.__v[5])[0], in GetVFPState()
238 ((uint64_t *)&m_state.context.vfp.__v[5])[1], in GetVFPState()
239 ((uint64_t *)&m_state.context.vfp.__v[6])[0], in GetVFPState()
240 ((uint64_t *)&m_state.context.vfp.__v[6])[1], in GetVFPState()
241 ((uint64_t *)&m_state.context.vfp.__v[7])[0], in GetVFPState()
242 ((uint64_t *)&m_state.context.vfp.__v[7])[1], in GetVFPState()
243 ((uint64_t *)&m_state.context.vfp.__v[8])[0], in GetVFPState()
244 ((uint64_t *)&m_state.context.vfp.__v[8])[1], in GetVFPState()
245 ((uint64_t *)&m_state.context.vfp.__v[9])[0], in GetVFPState()
246 ((uint64_t *)&m_state.context.vfp.__v[9])[1], in GetVFPState()
247 ((uint64_t *)&m_state.context.vfp.__v[10])[0], in GetVFPState()
248 ((uint64_t *)&m_state.context.vfp.__v[10])[1], in GetVFPState()
249 ((uint64_t *)&m_state.context.vfp.__v[11])[0], in GetVFPState()
250 ((uint64_t *)&m_state.context.vfp.__v[11])[1], in GetVFPState()
251 ((uint64_t *)&m_state.context.vfp.__v[12])[0], in GetVFPState()
252 ((uint64_t *)&m_state.context.vfp.__v[12])[1], in GetVFPState()
253 ((uint64_t *)&m_state.context.vfp.__v[13])[0], in GetVFPState()
254 ((uint64_t *)&m_state.context.vfp.__v[13])[1], in GetVFPState()
255 ((uint64_t *)&m_state.context.vfp.__v[14])[0], in GetVFPState()
256 ((uint64_t *)&m_state.context.vfp.__v[14])[1], in GetVFPState()
257 ((uint64_t *)&m_state.context.vfp.__v[15])[0], in GetVFPState()
258 ((uint64_t *)&m_state.context.vfp.__v[15])[1], in GetVFPState()
259 m_state.context.vfp.__fpsr, m_state.context.vfp.__fpcr); in GetVFPState()
265 (thread_state_t)&m_state.context.vfp, &count); in GetVFPState()
268 uint32_t *r = &m_state.context.vfp.__r[0]; in GetVFPState()
301 m_state.SetError(set, Read, kret); in GetVFPState()
308 if (!force && m_state.GetError(set, Read) == KERN_SUCCESS) in GetEXCState()
315 (thread_state_t)&m_state.context.exc, &count); in GetEXCState()
316 m_state.SetError(set, Read, kret); in GetEXCState()
336 if (!force && m_state.GetError(set, Read) == KERN_SUCCESS) in GetDBGState()
344 (thread_state_t)&m_state.dbg, &count); in GetDBGState()
349 (thread_state_t)&m_state.dbg, &count); in GetDBGState()
351 m_state.SetError(set, Read, kret); in GetDBGState()
360 (thread_state_t)&m_state.context.gpr, ARM_THREAD_STATE_COUNT); in SetGPRState()
361 m_state.SetError(set, Write, in SetGPRState()
363 m_state.InvalidateRegisterSetState(set); // Invalidate the current register in SetGPRState()
377 (thread_state_t)&m_state.context.vfp, count); in SetVFPState()
381 (thread_state_t)&m_state.context.vfp, count); in SetVFPState()
407 count, ((uint64_t *)&m_state.context.vfp.__v[0])[0], in SetVFPState()
408 ((uint64_t *)&m_state.context.vfp.__v[0])[1], in SetVFPState()
409 ((uint64_t *)&m_state.context.vfp.__v[1])[0], in SetVFPState()
410 ((uint64_t *)&m_state.context.vfp.__v[1])[1], in SetVFPState()
411 ((uint64_t *)&m_state.context.vfp.__v[2])[0], in SetVFPState()
412 ((uint64_t *)&m_state.context.vfp.__v[2])[1], in SetVFPState()
413 ((uint64_t *)&m_state.context.vfp.__v[3])[0], in SetVFPState()
414 ((uint64_t *)&m_state.context.vfp.__v[3])[1], in SetVFPState()
415 ((uint64_t *)&m_state.context.vfp.__v[4])[0], in SetVFPState()
416 ((uint64_t *)&m_state.context.vfp.__v[4])[1], in SetVFPState()
417 ((uint64_t *)&m_state.context.vfp.__v[5])[0], in SetVFPState()
418 ((uint64_t *)&m_state.context.vfp.__v[5])[1], in SetVFPState()
419 ((uint64_t *)&m_state.context.vfp.__v[6])[0], in SetVFPState()
420 ((uint64_t *)&m_state.context.vfp.__v[6])[1], in SetVFPState()
421 ((uint64_t *)&m_state.context.vfp.__v[7])[0], in SetVFPState()
422 ((uint64_t *)&m_state.context.vfp.__v[7])[1], in SetVFPState()
423 ((uint64_t *)&m_state.context.vfp.__v[8])[0], in SetVFPState()
424 ((uint64_t *)&m_state.context.vfp.__v[8])[1], in SetVFPState()
425 ((uint64_t *)&m_state.context.vfp.__v[9])[0], in SetVFPState()
426 ((uint64_t *)&m_state.context.vfp.__v[9])[1], in SetVFPState()
427 ((uint64_t *)&m_state.context.vfp.__v[10])[0], in SetVFPState()
428 ((uint64_t *)&m_state.context.vfp.__v[10])[1], in SetVFPState()
429 ((uint64_t *)&m_state.context.vfp.__v[11])[0], in SetVFPState()
430 ((uint64_t *)&m_state.context.vfp.__v[11])[1], in SetVFPState()
431 ((uint64_t *)&m_state.context.vfp.__v[12])[0], in SetVFPState()
432 ((uint64_t *)&m_state.context.vfp.__v[12])[1], in SetVFPState()
433 ((uint64_t *)&m_state.context.vfp.__v[13])[0], in SetVFPState()
434 ((uint64_t *)&m_state.context.vfp.__v[13])[1], in SetVFPState()
435 ((uint64_t *)&m_state.context.vfp.__v[14])[0], in SetVFPState()
436 ((uint64_t *)&m_state.context.vfp.__v[14])[1], in SetVFPState()
437 ((uint64_t *)&m_state.context.vfp.__v[15])[0], in SetVFPState()
438 ((uint64_t *)&m_state.context.vfp.__v[15])[1], in SetVFPState()
439 m_state.context.vfp.__fpsr, m_state.context.vfp.__fpcr); in SetVFPState()
443 uint32_t *r = &m_state.context.vfp.__r[0]; in SetVFPState()
476 m_state.SetError(set, Write, in SetVFPState()
478 m_state.InvalidateRegisterSetState(set); // Invalidate the current register in SetVFPState()
488 (thread_state_t)&m_state.context.exc, ARM_EXCEPTION_STATE_COUNT); in SetEXCState()
489 m_state.SetError(set, Write, in SetEXCState()
491 m_state.InvalidateRegisterSetState(set); // Invalidate the current register in SetEXCState()
502 (thread_state_t)&m_state.dbg, ARM_DEBUG_STATE32_COUNT); in SetDBGState()
506 (thread_state_t)&m_state.dbg, ARM_DEBUG_STATE32_COUNT); in SetDBGState()
516 (thread_state_t)&m_state.dbg, ARM_DEBUG_STATE_COUNT); in SetDBGState()
520 (thread_state_t)&m_state.dbg, ARM_DEBUG_STATE_COUNT); in SetDBGState()
529 m_state.SetError(set, Write, in SetDBGState()
531 m_state.InvalidateRegisterSetState(set); // Invalidate the current register in SetDBGState()
556 !IsWatchpointEnabled(m_state.dbg, m_watchpoint_hw_index)) { in ThreadWillResume()
598 m_state.InvalidateRegisterSetState(e_regSetALL); in ThreadDidStop()
681 if (m_state.context.gpr.__pc == m_hw_single_chained_step_addr) { in StepNotComplete()
721 __FUNCTION__, (uint64_t)m_state.context.gpr.__pc); in EnableHardwareSingleStep()
722 m_state.dbg.__mdscr_el1 |= in EnableHardwareSingleStep()
727 __FUNCTION__, (uint64_t)m_state.context.gpr.__pc); in EnableHardwareSingleStep()
728 m_state.dbg.__mdscr_el1 &= in EnableHardwareSingleStep()
737 m_dbg_save = m_state.dbg; in EnableHardwareSingleStep()
740 m_state.dbg.__bvr[i] = in EnableHardwareSingleStep()
741 m_state.context.gpr.__pc & in EnableHardwareSingleStep()
743 m_state.dbg.__bcr[i] = BCR_M_IMVA_MISMATCH | // Stop on address mismatch in EnableHardwareSingleStep()
746 if (m_state.context.gpr.__cpsr & 0x20) { in EnableHardwareSingleStep()
748 if (m_state.context.gpr.__pc & 2) in EnableHardwareSingleStep()
749 m_state.dbg.__bcr[i] |= BAS_IMVA_2_3; in EnableHardwareSingleStep()
751 m_state.dbg.__bcr[i] |= BAS_IMVA_0_1; in EnableHardwareSingleStep()
755 m_thread->Process()->Task().ReadMemory(m_state.context.gpr.__pc, in EnableHardwareSingleStep()
759 if (m_state.context.gpr.__pc & 2) { in EnableHardwareSingleStep()
763 m_hw_single_chained_step_addr = m_state.context.gpr.__pc + 2; in EnableHardwareSingleStep()
766 m_state.dbg.__bcr[i] |= BAS_IMVA_ALL; in EnableHardwareSingleStep()
772 m_state.dbg.__bcr[i] |= BAS_IMVA_ALL; // Stop when any address bits change in EnableHardwareSingleStep()
776 i, m_state.dbg.__bvr[i], i, m_state.dbg.__bcr[i]); in EnableHardwareSingleStep()
780 m_state.dbg.__bvr[j] = 0; in EnableHardwareSingleStep()
781 m_state.dbg.__bcr[j] = 0; in EnableHardwareSingleStep()
785 m_state.dbg = m_dbg_save; in EnableHardwareSingleStep()
999 if ((m_state.dbg.__bcr[i] & BCR_ENABLE) == 0) in EnableHardwareBreakpoint()
1006 m_state.dbg.__bvr[i] = addr & ~((nub_addr_t)3); in EnableHardwareBreakpoint()
1013 m_state.dbg.__bcr[i] = in EnableHardwareBreakpoint()
1024 m_state.dbg.__bvr[i], m_state.dbg.__bcr[i]); in EnableHardwareBreakpoint()
1027 m_state.dbg.__bcr[i] = in EnableHardwareBreakpoint()
1037 m_state.dbg.__bvr[i], m_state.dbg.__bcr[i]); in EnableHardwareBreakpoint()
1067 m_state.dbg.__bcr[hw_index] = 0; in DisableHardwareBreakpoint()
1071 hw_index, hw_index, m_state.dbg.__bvr[hw_index], in DisableHardwareBreakpoint()
1072 hw_index, m_state.dbg.__bcr[hw_index]); in DisableHardwareBreakpoint()
1212 if ((m_state.dbg.__wcr[i] & WCR_ENABLE) == 0) in EnableHardwareWatchpoint()
1228 m_state.dbg.__wvr[i] = aligned_wp_address; // DVA (Data Virtual Address) in EnableHardwareWatchpoint()
1229 m_state.dbg.__wcr[i] = byte_address_select | // Which bytes that follow in EnableHardwareWatchpoint()
1240 (uint64_t)m_state.dbg.__wvr[i], (uint32_t)m_state.dbg.__wcr[i]); in EnableHardwareWatchpoint()
1285 m_state.dbg.__wvr[hw_index] = m_disabled_watchpoints[hw_index].addr; in ReenableHardwareWatchpoint_helper()
1286 m_state.dbg.__wcr[hw_index] = m_disabled_watchpoints[hw_index].control; in ReenableHardwareWatchpoint_helper()
1291 hw_index, hw_index, (uint64_t)m_state.dbg.__wvr[hw_index], in ReenableHardwareWatchpoint_helper()
1292 hw_index, (uint64_t)m_state.dbg.__wcr[hw_index]); in ReenableHardwareWatchpoint_helper()
1322 m_disabled_watchpoints[hw_index].addr = m_state.dbg.__wvr[hw_index]; in DisableHardwareWatchpoint_helper()
1323 m_disabled_watchpoints[hw_index].control = m_state.dbg.__wcr[hw_index]; in DisableHardwareWatchpoint_helper()
1325 m_state.dbg.__wvr[hw_index] = 0; in DisableHardwareWatchpoint_helper()
1326 m_state.dbg.__wcr[hw_index] = 0; in DisableHardwareWatchpoint_helper()
1330 hw_index, hw_index, (uint64_t)m_state.dbg.__wvr[hw_index], in DisableHardwareWatchpoint_helper()
1331 hw_index, (uint64_t)m_state.dbg.__wcr[hw_index]); in DisableHardwareWatchpoint_helper()
1372 DBG &debug_state = m_state.dbg; in GetHardwareWatchpointHit()
1408 if (IsWatchpointEnabled(m_state.dbg, hw_index)) in GetWatchpointAddressByIndex()
1409 return GetWatchAddress(m_state.dbg, hw_index); in GetWatchpointAddressByIndex()
1844 value->value.uint32 = m_state.context.gpr.__r[reg]; in GetRegisterValue()
1857 ((uint32_t *)&m_state.context.vfp.__v[0]) + (reg - vfp_s0); in GetRegisterValue()
1860 value->value.uint32 = m_state.context.vfp.__r[reg]; in GetRegisterValue()
1866 ((uint64_t *)&m_state.context.vfp.__v[0]) + (reg - vfp_d0); in GetRegisterValue()
1871 value->value.v_sint32[0] = m_state.context.vfp.__r[s_reg_idx + 0]; in GetRegisterValue()
1872 value->value.v_sint32[1] = m_state.context.vfp.__r[s_reg_idx + 1]; in GetRegisterValue()
1878 (uint8_t *)&m_state.context.vfp.__v[reg - vfp_q0], 16); in GetRegisterValue()
1882 (uint8_t *)&m_state.context.vfp.__r[s_reg_idx], 16); in GetRegisterValue()
1888 value->value.uint32 = m_state.context.vfp.__fpsr; in GetRegisterValue()
1891 value->value.uint32 = m_state.context.vfp.__fpcr; in GetRegisterValue()
1896 value->value.uint32 = m_state.context.vfp.__fpscr; in GetRegisterValue()
1904 value->value.uint32 = (&m_state.context.exc.__exception)[reg]; in GetRegisterValue()
1956 m_state.context.gpr.__r[reg] = value->value.uint32; in SetRegisterValue()
1969 ((uint32_t *)&m_state.context.vfp.__v[0]) + (reg - vfp_s0); in SetRegisterValue()
1972 m_state.context.vfp.__r[reg] = value->value.uint32; in SetRegisterValue()
1978 ((uint64_t *)&m_state.context.vfp.__v[0]) + (reg - vfp_d0); in SetRegisterValue()
1983 m_state.context.vfp.__r[s_reg_idx + 0] = value->value.v_sint32[0]; in SetRegisterValue()
1984 m_state.context.vfp.__r[s_reg_idx + 1] = value->value.v_sint32[1]; in SetRegisterValue()
1989 memcpy((uint8_t *)&m_state.context.vfp.__v[reg - vfp_q0], in SetRegisterValue()
1993 memcpy((uint8_t *)&m_state.context.vfp.__r[s_reg_idx], in SetRegisterValue()
2000 m_state.context.vfp.__fpsr = value->value.uint32; in SetRegisterValue()
2003 m_state.context.vfp.__fpcr = value->value.uint32; in SetRegisterValue()
2008 m_state.context.vfp.__fpscr = value->value.uint32; in SetRegisterValue()
2016 (&m_state.context.exc.__exception)[reg] = value->value.uint32; in SetRegisterValue()
2070 return m_state.RegsAreValid(set); in RegisterSetStateIsValid()
2074 nub_size_t size = sizeof(m_state.context.gpr) + sizeof(m_state.context.vfp) + in GetRegisterContext()
2075 sizeof(m_state.context.exc); in GetRegisterContext()
2088 ::memcpy(p, &m_state.context.gpr, sizeof(m_state.context.gpr)); in GetRegisterContext()
2089 p += sizeof(m_state.context.gpr); in GetRegisterContext()
2090 ::memcpy(p, &m_state.context.vfp, sizeof(m_state.context.vfp)); in GetRegisterContext()
2091 p += sizeof(m_state.context.vfp); in GetRegisterContext()
2092 ::memcpy(p, &m_state.context.exc, sizeof(m_state.context.exc)); in GetRegisterContext()
2093 p += sizeof(m_state.context.exc); in GetRegisterContext()
2109 nub_size_t size = sizeof(m_state.context.gpr) + sizeof(m_state.context.vfp) + in SetRegisterContext()
2110 sizeof(m_state.context.exc); in SetRegisterContext()
2122 ::memcpy(&m_state.context.gpr, p, sizeof(m_state.context.gpr)); in SetRegisterContext()
2123 p += sizeof(m_state.context.gpr); in SetRegisterContext()
2124 ::memcpy(&m_state.context.vfp, p, sizeof(m_state.context.vfp)); in SetRegisterContext()
2125 p += sizeof(m_state.context.vfp); in SetRegisterContext()
2126 ::memcpy(&m_state.context.exc, p, sizeof(m_state.context.exc)); in SetRegisterContext()
2127 p += sizeof(m_state.context.exc); in SetRegisterContext()
2163 m_saved_register_states[save_id] = m_state.context; in SaveRegisterState()
2172 m_state.context.gpr = pos->second.gpr; in RestoreRegisterState()
2173 m_state.context.vfp = pos->second.vfp; in RestoreRegisterState()