From 12d79d49b38e880b014e4302ea2dfd6b3a74ce08 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 8 Aug 2021 11:54:03 +0200 Subject: 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. --- bsps/sparc/leon3/start/bsp_fatal_halt.c | 31 -------------------------- bsps/sparc/shared/start/bsp_fatal_halt.c | 33 ---------------------------- c/src/lib/libbsp/sparc/erc32/Makefile.am | 1 - c/src/lib/libbsp/sparc/leon2/Makefile.am | 1 - c/src/lib/libbsp/sparc/leon3/Makefile.am | 1 - cpukit/score/cpu/sparc/syscall.S | 2 ++ spec/build/bsps/sparc/erc32/bsperc32.yml | 3 --- spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml | 16 -------------- spec/build/bsps/sparc/leon2/grp.yml | 2 -- spec/build/bsps/sparc/leon2/obj.yml | 1 - spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml | 16 -------------- spec/build/bsps/sparc/leon3/grp.yml | 2 -- spec/build/bsps/sparc/leon3/objqual.yml | 1 - spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml | 16 -------------- 14 files changed, 2 insertions(+), 124 deletions(-) delete mode 100644 bsps/sparc/leon3/start/bsp_fatal_halt.c delete mode 100644 bsps/sparc/shared/start/bsp_fatal_halt.c delete mode 100644 spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml delete mode 100644 spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml delete mode 100644 spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml 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 -#include -#include - -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 -#include - -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/c/src/lib/libbsp/sparc/erc32/Makefile.am b/c/src/lib/libbsp/sparc/erc32/Makefile.am index 1c1c35a6b5..500bcfa043 100644 --- a/c/src/lib/libbsp/sparc/erc32/Makefile.am +++ b/c/src/lib/libbsp/sparc/erc32/Makefile.am @@ -33,7 +33,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/erc32/start/boardinit.S librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/erc32/start/bspidle.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/erc32/start/bspdelay.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_exit.c -librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_halt.c # gnatsupp librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/erc32/gnatsupp/gnatsupp.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/gnatcommon.c diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am index b2c55f83ad..a1eb29e19d 100644 --- a/c/src/lib/libbsp/sparc/leon2/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am @@ -33,7 +33,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/start/setvec.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/start/bspidle.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/start/bspdelay.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_exit.c -librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_halt.c # gnatsupp librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/gnatsupp/gnatsupp.c diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am index 464f225ab2..c226465451 100644 --- a/c/src/lib/libbsp/sparc/leon3/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am @@ -37,7 +37,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/bspdelay.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-empty.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/cpucounter.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_exit.c -librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/bsp_fatal_halt.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/drvmgr_def_drivers.c # gnatsupp 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 d7973fdde7..ecc91c1206 100644 --- a/spec/build/bsps/sparc/erc32/bsperc32.yml +++ b/spec/build/bsps/sparc/erc32/bsperc32.yml @@ -35,8 +35,6 @@ links: uid: objsmp - role: build-dependency uid: optconirq -- role: build-dependency - uid: optpwrdwnhlt - role: build-dependency uid: ../grp - role: build-dependency @@ -71,6 +69,5 @@ 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 - bsps/sparc/shared/start/bspgetworkarea.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 86c1d9c82f..0000000000 --- a/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml +++ /dev/null @@ -1,16 +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-family: [] -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 eba3c9ec5c..f1fb1f8b15 100644 --- a/spec/build/bsps/sparc/leon2/grp.yml +++ b/spec/build/bsps/sparc/leon2/grp.yml @@ -25,8 +25,6 @@ links: uid: objsmp - role: build-dependency uid: optconirq -- role: build-dependency - uid: optpwrdwnhlt - role: build-dependency uid: ../start - role: build-dependency diff --git a/spec/build/bsps/sparc/leon2/obj.yml b/spec/build/bsps/sparc/leon2/obj.yml index f1a5e52e82..024d68b4e6 100644 --- a/spec/build/bsps/sparc/leon2/obj.yml +++ b/spec/build/bsps/sparc/leon2/obj.yml @@ -47,6 +47,5 @@ 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 - bsps/sparc/shared/start/bspgetworkarea.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 86c1d9c82f..0000000000 --- a/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml +++ /dev/null @@ -1,16 +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-family: [] -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 @@ -53,8 +53,6 @@ links: uid: optleon3smp - role: build-dependency uid: optplbfreq -- role: build-dependency - uid: optpwrdwnhlt - role: build-dependency uid: ../start - role: build-dependency diff --git a/spec/build/bsps/sparc/leon3/objqual.yml b/spec/build/bsps/sparc/leon3/objqual.yml index f89c653563..e542dace8b 100644 --- a/spec/build/bsps/sparc/leon3/objqual.yml +++ b/spec/build/bsps/sparc/leon3/objqual.yml @@ -33,7 +33,6 @@ source: - bsps/shared/start/gettargethash-default.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 b620b889f1..0000000000 --- a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml +++ /dev/null @@ -1,16 +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-family: [] -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 -- cgit v1.2.3