diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-28 14:41:32 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-28 21:04:20 +0200 |
commit | 8b65b57472d5086f2c035a09fdb07a40285beb4a (patch) | |
tree | a59df32bffd218107602471a541c10d66e1b509a /bsps/sparc/leon3/start/bsp_fatal_halt.c | |
parent | score: Move per-CPU jobs support (diff) | |
download | rtems-8b65b57472d5086f2c035a09fdb07a40285beb4a.tar.bz2 |
score: Canonicalize _CPU_Fatal_halt()
Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it
is a proper declaration of a function which does not return. Fix the type of
the error code. If necessary, add the implementation to cpu.c. Implementing
_CPU_Fatal_halt() as a function makes it possible to wrap this function for
example to fully test _Terminate().
Diffstat (limited to 'bsps/sparc/leon3/start/bsp_fatal_halt.c')
-rw-r--r-- | bsps/sparc/leon3/start/bsp_fatal_halt.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/bsps/sparc/leon3/start/bsp_fatal_halt.c b/bsps/sparc/leon3/start/bsp_fatal_halt.c index fa907a3363..5a6e3f490e 100644 --- a/bsps/sparc/leon3/start/bsp_fatal_halt.c +++ b/bsps/sparc/leon3/start/bsp_fatal_halt.c @@ -13,24 +13,19 @@ #include <bsp.h> #include <leon.h> +#include <rtems/score/cpuimpl.h> -#ifdef BSP_POWER_DOWN_AT_FATAL_HALT - -/* Power down LEON CPU on fatal error exit */ -void _CPU_Fatal_halt(uint32_t source, uint32_t error) +void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error ) { +#ifdef BSP_POWER_DOWN_AT_FATAL_HALT + /* Power down LEON CPU on fatal error exit */ sparc_disable_interrupts(); leon3_power_down_loop(); -} - #else - -/* return to debugger, simulator, hypervisor or similar by exiting - * with an error code. g1=1, g2=FATAL_SOURCE, G3=error-code. - */ -void _CPU_Fatal_halt(uint32_t source, uint32_t error) -{ + /* + * Return to debugger, simulator, hypervisor or similar by exiting + * with an error code. g1=1, g2=FATAL_SOURCE, G3=error-code. + */ sparc_syscall_exit(source, error); -} - #endif +} |