Skip to content

Commit 3d5f38f

Browse files
committed
arch: pass struct arch_csf to fatal handlers
Change `k_sys_fatal_error_handler()` & `z_fatal_error()` API to accept an additional `struct arch_csf` argument, which can be helpful to debug an error. Signed-off-by: Yong Cong Sin <[email protected]> Signed-off-by: Yong Cong Sin <[email protected]>
1 parent 4bdd54e commit 3d5f38f

File tree

44 files changed

+153
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+153
-49
lines changed

arch/arc/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void z_arc_fatal_error(unsigned int reason, const struct arch_esf *esf)
5050
}
5151
#endif /* CONFIG_EXCEPTION_DEBUG */
5252

53-
z_fatal_error(reason, esf);
53+
z_fatal_error(reason, esf, NULL);
5454
}
5555

5656
FUNC_NORETURN void arch_syscall_oops(void *ssf_ptr)

arch/arc/core/irq_manage.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ void z_irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags)
242242
void z_irq_spurious(const void *unused)
243243
{
244244
ARG_UNUSED(unused);
245-
z_fatal_error(K_ERR_SPURIOUS_IRQ, NULL);
245+
z_fatal_error(K_ERR_SPURIOUS_IRQ, NULL, NULL);
246246
}
247247

248248
#ifdef CONFIG_DYNAMIC_INTERRUPTS

arch/arm/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void z_arm_fatal_error(unsigned int reason, const struct arch_esf *esf)
8383
}
8484
#endif
8585

86-
z_fatal_error(reason, esf);
86+
z_fatal_error(reason, esf, NULL);
8787
}
8888

8989
/**

arch/arm64/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ void z_arm64_fatal_error(unsigned int reason, struct arch_esf *esf)
403403
#endif /* CONFIG_EXCEPTION_STACK_TRACE */
404404
#endif /* CONFIG_EXCEPTION_DEBUG */
405405

406-
z_fatal_error(reason, esf);
406+
z_fatal_error(reason, esf, NULL);
407407

408408
CODE_UNREACHABLE;
409409
}

arch/mips/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ FUNC_NORETURN void z_mips_fatal_error(unsigned int reason,
3434
LOG_ERR("BadVA : %08lx\n", esf->badvaddr);
3535
}
3636
#endif /* CONFIG_EXCEPTION_DEBUG */
37-
z_fatal_error(reason, esf);
37+
z_fatal_error(reason, esf, NULL);
3838
CODE_UNREACHABLE;
3939
}
4040

arch/nios2/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ FUNC_NORETURN void z_nios2_fatal_error(unsigned int reason,
3636
}
3737
#endif /* CONFIG_EXCEPTION_DEBUG */
3838

39-
z_fatal_error(reason, esf);
39+
z_fatal_error(reason, esf, NULL);
4040
CODE_UNREACHABLE;
4141
}
4242

arch/riscv/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ FUNC_NORETURN void z_riscv_fatal_error_csf(unsigned int reason, const struct arc
104104
z_riscv_unwind_stack(esf, csf);
105105
#endif /* CONFIG_EXCEPTION_STACK_TRACE */
106106

107-
z_fatal_error(reason, esf);
107+
z_fatal_error(reason, esf, csf);
108108
CODE_UNREACHABLE;
109109
}
110110

arch/sparc/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,6 @@ FUNC_NORETURN void z_sparc_fatal_error(unsigned int reason,
217217
}
218218
#endif /* CONFIG_EXCEPTION_DEBUG */
219219

220-
z_fatal_error(reason, esf);
220+
z_fatal_error(reason, esf, NULL);
221221
CODE_UNREACHABLE;
222222
}

arch/x86/core/fatal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ FUNC_NORETURN void z_x86_fatal_error(unsigned int reason,
416416
}
417417
#endif
418418
}
419-
z_fatal_error(reason, esf);
419+
z_fatal_error(reason, esf, NULL);
420420
CODE_UNREACHABLE;
421421
}
422422

arch/x86/core/intel64/irq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ static const struct device *const vtd = DEVICE_DT_GET_ONE(intel_vt_d);
3535
static void irq_spurious(const void *arg)
3636
{
3737
LOG_ERR("Spurious interrupt, vector %d\n", (uint32_t)(uint64_t)arg);
38-
z_fatal_error(K_ERR_SPURIOUS_IRQ, NULL);
38+
z_fatal_error(K_ERR_SPURIOUS_IRQ, NULL, NULL);
3939
}
4040

4141
void x86_64_irq_init(void)

0 commit comments

Comments
 (0)