[PATCH 31/34] bsps/sparc: Remove BSP_POWER_DOWN_AT_FATAL_HALT

Sebastian Huber sebastian.huber at embedded-brains.de
Wed May 31 16:31:06 UTC 2023


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 <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 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 <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 0beffd4162..ee21c1b005 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 d082feb5f7..95f659f792 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 d35c800e09..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 & Co. KG
-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 3d357d816c..6a62cf00ae 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 50ee715af2..a43975b449 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 d35c800e09..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 & Co. KG
-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 126ba0df65..d708a65735 100644
--- a/spec/build/bsps/sparc/leon3/grp.yml
+++ b/spec/build/bsps/sparc/leon3/grp.yml
@@ -54,8 +54,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 752ab9e149..6eb4df0ed7 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 4ef0aed429..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 & Co. KG
-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
-- 
2.35.3



More information about the devel mailing list