diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-08-08 11:54:03 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-12-08 17:25:16 +0100 |
commit | d46d9f2d1a407ef66545efc6f1f7f33aa06556d9 (patch) | |
tree | 842c2c77ad8d58fb232ecce2fc40abffdf0a6cf1 | |
parent | 57b510f1651029a7d539164aede62b18f274b07e (diff) |
bsps/sparc: Remove BSP_POWER_DOWN_AT_FATAL_HALT
Remove the BSP_POWER_DOWN_AT_FATAL_HALT BSP option. Applications should
do the customization of the system termination with an initial fatal
extension.
-rw-r--r-- | bsps/sparc/leon3/start/bsp_fatal_halt.c | 31 | ||||
-rw-r--r-- | bsps/sparc/shared/start/bsp_fatal_halt.c | 33 | ||||
-rw-r--r-- | cpukit/score/cpu/sparc/syscall.S | 2 | ||||
-rw-r--r-- | spec/build/bsps/sparc/erc32/bsperc32.yml | 3 | ||||
-rw-r--r-- | spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml | 15 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon2/grp.yml | 2 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon2/obj.yml | 1 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml | 15 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon3/grp.yml | 2 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon3/objqual.yml | 1 | ||||
-rw-r--r-- | spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml | 15 |
11 files changed, 2 insertions, 118 deletions
diff --git a/bsps/sparc/leon3/start/bsp_fatal_halt.c b/bsps/sparc/leon3/start/bsp_fatal_halt.c deleted file mode 100644 index 750b4c20e9..0000000000 --- a/bsps/sparc/leon3/start/bsp_fatal_halt.c +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @file - * @ingroup sparc_leon3 - * @brief LEON3 BSP Fatal_halt handler. - * - * COPYRIGHT (c) 2014. - * Aeroflex Gaisler AB. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp.h> -#include <bsp/leon3.h> -#include <rtems/score/cpuimpl.h> - -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. - */ - sparc_syscall_exit(source, error); -#endif -} diff --git a/bsps/sparc/shared/start/bsp_fatal_halt.c b/bsps/sparc/shared/start/bsp_fatal_halt.c deleted file mode 100644 index f53275a073..0000000000 --- a/bsps/sparc/shared/start/bsp_fatal_halt.c +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @file - * @ingroup RTEMSBSPsSPARCShared - * @brief ERC32/LEON2 BSP Fatal_halt handler. - * - * COPYRIGHT (c) 2014. - * Aeroflex Gaisler AB. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp.h> -#include <rtems/score/cpuimpl.h> - -void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error ) -{ -#ifdef BSP_POWER_DOWN_AT_FATAL_HALT - /* Spin CPU on fatal error exit */ - uint32_t level = sparc_disable_interrupts(); - - __asm__ volatile ( "mov %0, %%g1 " : "=r" (level) : "0" (level) ); - - while (1) ; /* loop forever */ -#else - /* - * 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 -} diff --git a/cpukit/score/cpu/sparc/syscall.S b/cpukit/score/cpu/sparc/syscall.S index 737a501098..9bc73fb851 100644 --- a/cpukit/score/cpu/sparc/syscall.S +++ b/cpukit/score/cpu/sparc/syscall.S @@ -44,8 +44,10 @@ SYM(syscall): ta 0 ! syscall 1, halt with %g1,%g2,%g3 info PUBLIC(sparc_syscall_exit) + PUBLIC(_CPU_Fatal_halt) SYM(sparc_syscall_exit): +SYM(_CPU_Fatal_halt): mov SYS_exit, %g1 mov %o0, %g2 ! Additional exit code 1 diff --git a/spec/build/bsps/sparc/erc32/bsperc32.yml b/spec/build/bsps/sparc/erc32/bsperc32.yml index 366263456d..9528518899 100644 --- a/spec/build/bsps/sparc/erc32/bsperc32.yml +++ b/spec/build/bsps/sparc/erc32/bsperc32.yml @@ -38,8 +38,6 @@ links: - role: build-dependency uid: optconirq - role: build-dependency - uid: optpwrdwnhlt -- role: build-dependency uid: ../grp - role: build-dependency uid: ../start @@ -71,5 +69,4 @@ source: - bsps/sparc/shared/irq/bsp_isr_handler.c - bsps/sparc/shared/irq/irq-shared.c - bsps/sparc/shared/start/bsp_fatal_exit.c -- bsps/sparc/shared/start/bsp_fatal_halt.c type: build diff --git a/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml b/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml deleted file mode 100644 index 6627a5b071..0000000000 --- a/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -actions: -- get-boolean: null -- define-condition: null -build-type: option -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default: false -default-by-variant: [] -description: | - If defined, CPU is spinning on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc. -enabled-by: true -links: [] -name: BSP_POWER_DOWN_AT_FATAL_HALT -type: build diff --git a/spec/build/bsps/sparc/leon2/grp.yml b/spec/build/bsps/sparc/leon2/grp.yml index e8d169a014..ed9634a5a7 100644 --- a/spec/build/bsps/sparc/leon2/grp.yml +++ b/spec/build/bsps/sparc/leon2/grp.yml @@ -28,8 +28,6 @@ links: - role: build-dependency uid: optconirq - role: build-dependency - uid: optpwrdwnhlt -- role: build-dependency uid: ../start - role: build-dependency uid: ../../bspopts diff --git a/spec/build/bsps/sparc/leon2/obj.yml b/spec/build/bsps/sparc/leon2/obj.yml index dc036ec122..c1d5971299 100644 --- a/spec/build/bsps/sparc/leon2/obj.yml +++ b/spec/build/bsps/sparc/leon2/obj.yml @@ -47,5 +47,4 @@ source: - bsps/sparc/shared/irq/bsp_isr_handler.c - bsps/sparc/shared/irq/irq-shared.c - bsps/sparc/shared/start/bsp_fatal_exit.c -- bsps/sparc/shared/start/bsp_fatal_halt.c type: build diff --git a/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml deleted file mode 100644 index 6627a5b071..0000000000 --- a/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -actions: -- get-boolean: null -- define-condition: null -build-type: option -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default: false -default-by-variant: [] -description: | - If defined, CPU is spinning on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc. -enabled-by: true -links: [] -name: BSP_POWER_DOWN_AT_FATAL_HALT -type: build diff --git a/spec/build/bsps/sparc/leon3/grp.yml b/spec/build/bsps/sparc/leon3/grp.yml index f42166a66e..9b5b888016 100644 --- a/spec/build/bsps/sparc/leon3/grp.yml +++ b/spec/build/bsps/sparc/leon3/grp.yml @@ -54,8 +54,6 @@ links: - role: build-dependency uid: optplbfreq - role: build-dependency - uid: optpwrdwnhlt -- role: build-dependency uid: ../start - role: build-dependency uid: ../../bspopts diff --git a/spec/build/bsps/sparc/leon3/objqual.yml b/spec/build/bsps/sparc/leon3/objqual.yml index a6d711fb4a..0376957105 100644 --- a/spec/build/bsps/sparc/leon3/objqual.yml +++ b/spec/build/bsps/sparc/leon3/objqual.yml @@ -32,7 +32,6 @@ source: - bsps/shared/irq/irq-default-handler.c - bsps/sparc/leon3/clock/ckinit.c - bsps/sparc/leon3/console/printk_support.c -- bsps/sparc/leon3/start/bsp_fatal_halt.c - bsps/sparc/leon3/start/bspclean.c - bsps/sparc/leon3/start/bspidle.S - bsps/sparc/leon3/start/bspstart.c diff --git a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml deleted file mode 100644 index 8923870017..0000000000 --- a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -actions: -- get-boolean: null -- define-condition: null -build-type: option -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default: false -default-by-variant: [] -description: | - If defined, CPU is powered down on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc. -enabled-by: true -links: [] -name: BSP_POWER_DOWN_AT_FATAL_HALT -type: build |