Lines Matching refs:esf
21 static void esf_dump(const struct arch_esf *esf) in esf_dump() argument
24 esf->basic.a1, esf->basic.a2, esf->basic.a3); in esf_dump()
26 esf->basic.a4, esf->basic.ip, esf->basic.lr); in esf_dump()
27 LOG_ERR(" xpsr: 0x%08x", esf->basic.xpsr); in esf_dump()
29 for (int i = 0; i < ARRAY_SIZE(esf->fpu.s); i += 4) { in esf_dump()
32 i, (uint32_t)esf->fpu.s[i], in esf_dump()
33 i + 1, (uint32_t)esf->fpu.s[i + 1], in esf_dump()
34 i + 2, (uint32_t)esf->fpu.s[i + 2], in esf_dump()
35 i + 3, (uint32_t)esf->fpu.s[i + 3]); in esf_dump()
38 for (int i = 0; i < ARRAY_SIZE(esf->fpu.d); i += 4) { in esf_dump()
41 i, (uint64_t)esf->fpu.d[i], in esf_dump()
42 i + 1, (uint64_t)esf->fpu.d[i + 1], in esf_dump()
43 i + 2, (uint64_t)esf->fpu.d[i + 2], in esf_dump()
44 i + 3, (uint64_t)esf->fpu.d[i + 3]); in esf_dump()
47 LOG_ERR("fpscr: 0x%08x", esf->fpu.fpscr); in esf_dump()
50 const struct _callee_saved *callee = esf->extra_info.callee; in esf_dump()
61 LOG_ERR("EXC_RETURN: 0x%0x", esf->extra_info.exc_return); in esf_dump()
65 esf->basic.pc); in esf_dump()
69 void z_arm_fatal_error(unsigned int reason, const struct arch_esf *esf) in z_arm_fatal_error() argument
72 if (esf != NULL) { in z_arm_fatal_error()
73 esf_dump(esf); in z_arm_fatal_error()
86 z_fatal_error(reason, esf); in z_arm_fatal_error()
106 void z_do_kernel_oops(const struct arch_esf *esf, _callee_saved_t *callee_regs, uint32_t exc_return) in z_do_kernel_oops() argument
112 unsigned int reason = esf->basic.r0; in z_do_kernel_oops()
114 z_arm_set_fault_sp(esf, exc_return); in z_do_kernel_oops()
117 if (z_arm_preempted_thread_in_user_mode(esf)) { in z_do_kernel_oops()
124 if (!((esf->basic.r0 == K_ERR_KERNEL_OOPS) || in z_do_kernel_oops()
125 (esf->basic.r0 == K_ERR_STACK_CHK_FAIL))) { in z_do_kernel_oops()
134 z_arm_fatal_error(reason, esf); in z_do_kernel_oops()
138 memcpy(&esf_copy, esf, offsetof(struct arch_esf, extra_info)); in z_do_kernel_oops()