From d73e657e063e3d34db16fa4bce6c2ab1e5e22ec4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 21 Jun 2021 11:24:27 +0200 Subject: sparc: More reliable bad trap handling Statically initialize the trap table in start.S to jump to _SPARC_Bad_trap() for all unexpected traps. This enables a proper RTEMS fatal error handling right from the start. Do not rely on the stack and register settings which caused an unexpected trap. Use the ISR stack of the processor to do the fatal error handling. Save the full context which caused the trap. Fatal error handler may use it for error logging. Unify the _CPU_Exception_frame_print() implementations and move it to cpukit. Update #4459. --- spec/build/cpukit/cpusparc.yml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'spec/build/cpukit') diff --git a/spec/build/cpukit/cpusparc.yml b/spec/build/cpukit/cpusparc.yml index 10dabed494..2186505577 100644 --- a/spec/build/cpukit/cpusparc.yml +++ b/spec/build/cpukit/cpusparc.yml @@ -34,9 +34,11 @@ source: - cpukit/score/cpu/sparc/cpu.c - cpukit/score/cpu/sparc/cpu_asm.S - cpukit/score/cpu/sparc/sparc-access.S +- cpukit/score/cpu/sparc/sparc-bad-trap.S - cpukit/score/cpu/sparc/sparc-context-validate.S - cpukit/score/cpu/sparc/sparc-context-volatile-clobber.S - cpukit/score/cpu/sparc/sparc-counter-asm.S +- cpukit/score/cpu/sparc/sparc-exception-frame-print.c - cpukit/score/cpu/sparc/sparc-isr-install.c - cpukit/score/cpu/sparc/syscall.S - cpukit/score/cpu/sparc/window.S -- cgit v1.2.3