From 21d605d7d0d1924bb54ee26c4bae0b6280e3f629 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 | 50 -------------------------- bsps/sparc/shared/start/bsp_fatal_halt.c | 52 ---------------------------- 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/obj.yml | 1 - spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml | 16 --------- 11 files changed, 2 insertions(+), 159 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 ce628065b7..0000000000 --- a/bsps/sparc/leon3/start/bsp_fatal_halt.c +++ /dev/null @@ -1,50 +0,0 @@ -/* SPDX-License-Identifier: BSD-2-Clause */ - -/** - * @file - * @ingroup sparc_leon3 - * @brief LEON3 BSP Fatal_halt handler. - * - * COPYRIGHT (c) 2014. - * Aeroflex Gaisler AB. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#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 ebce8c1928..0000000000 --- a/bsps/sparc/shared/start/bsp_fatal_halt.c +++ /dev/null @@ -1,52 +0,0 @@ -/* SPDX-License-Identifier: BSD-2-Clause */ - -/** - * @file - * @ingroup RTEMSBSPsSPARCShared - * @brief ERC32/LEON2 BSP Fatal_halt handler. - * - * COPYRIGHT (c) 2014. - * Aeroflex Gaisler AB. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#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/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 304426b64e..3877b02c0a 100644 --- a/spec/build/bsps/sparc/erc32/bsperc32.yml +++ b/spec/build/bsps/sparc/erc32/bsperc32.yml @@ -36,8 +36,6 @@ links: uid: objsmp - role: build-dependency uid: optconirq -- role: build-dependency - uid: optpwrdwnhlt - role: build-dependency uid: ../grp - role: build-dependency @@ -70,5 +68,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 1c35dc61cc..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: -- enabled-by: true - value: false -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 d1ecdc0217..2c60711b9a 100644 --- a/spec/build/bsps/sparc/leon2/grp.yml +++ b/spec/build/bsps/sparc/leon2/grp.yml @@ -30,8 +30,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 c8d2995677..3c94389617 100644 --- a/spec/build/bsps/sparc/leon2/obj.yml +++ b/spec/build/bsps/sparc/leon2/obj.yml @@ -46,5 +46,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 1c35dc61cc..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: -- enabled-by: true - value: false -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 2e47d9fc30..65ecd20f5b 100644 --- a/spec/build/bsps/sparc/leon3/grp.yml +++ b/spec/build/bsps/sparc/leon3/grp.yml @@ -56,8 +56,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/obj.yml b/spec/build/bsps/sparc/leon3/obj.yml index b7cce4ae23..78b41c6bff 100644 --- a/spec/build/bsps/sparc/leon3/obj.yml +++ b/spec/build/bsps/sparc/leon3/obj.yml @@ -40,7 +40,6 @@ source: - bsps/sparc/leon3/console/printk_support.c - bsps/sparc/leon3/gnatsupp/gnatsupp.c - bsps/sparc/leon3/start/amba.c -- bsps/sparc/leon3/start/bsp_fatal_halt.c - bsps/sparc/leon3/start/bspclean.c - bsps/sparc/leon3/start/bspdelay.c - bsps/sparc/leon3/start/bspidle.S diff --git a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml deleted file mode 100644 index 1ddb90bc10..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: -- enabled-by: true - value: false -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