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/bsps/sparc/erc32/bsperc32.yml | 1 - spec/build/bsps/sparc/leon2/obj.yml | 1 - spec/build/bsps/sparc/leon3/obj.yml | 1 - 3 files changed, 3 deletions(-) (limited to 'spec/build/bsps') diff --git a/spec/build/bsps/sparc/erc32/bsperc32.yml b/spec/build/bsps/sparc/erc32/bsperc32.yml index 1df75fcc60..455aec13f6 100644 --- a/spec/build/bsps/sparc/erc32/bsperc32.yml +++ b/spec/build/bsps/sparc/erc32/bsperc32.yml @@ -65,7 +65,6 @@ source: - bsps/sparc/erc32/start/bspstart.c - bsps/sparc/erc32/start/erc32mec.c - bsps/sparc/erc32/start/setvec.c -- bsps/sparc/erc32/start/spurious.c - bsps/sparc/shared/gnatcommon.c - bsps/sparc/shared/irq/bsp_isr_handler.c - bsps/sparc/shared/irq/irq-shared.c diff --git a/spec/build/bsps/sparc/leon2/obj.yml b/spec/build/bsps/sparc/leon2/obj.yml index 92c07b6375..f1a5e52e82 100644 --- a/spec/build/bsps/sparc/leon2/obj.yml +++ b/spec/build/bsps/sparc/leon2/obj.yml @@ -41,7 +41,6 @@ source: - bsps/sparc/leon2/start/bspstart.c - bsps/sparc/leon2/start/cache.c - bsps/sparc/leon2/start/setvec.c -- bsps/sparc/leon2/start/spurious.c - bsps/sparc/shared/drvmgr/ambapp_bus_leon2.c - bsps/sparc/shared/drvmgr/leon2_amba_bus.c - bsps/sparc/shared/gnatcommon.c diff --git a/spec/build/bsps/sparc/leon3/obj.yml b/spec/build/bsps/sparc/leon3/obj.yml index 3b58835ec0..19ce633a2a 100644 --- a/spec/build/bsps/sparc/leon3/obj.yml +++ b/spec/build/bsps/sparc/leon3/obj.yml @@ -51,7 +51,6 @@ source: - bsps/sparc/leon3/start/drvmgr_def_drivers.c - bsps/sparc/leon3/start/eirq.c - bsps/sparc/leon3/start/setvec.c -- bsps/sparc/leon3/start/spurious.c - bsps/sparc/shared/gnatcommon.c - bsps/sparc/shared/irq/bsp_isr_handler.c - bsps/sparc/shared/irq/irq-shared.c -- cgit v1.2.3