summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-08-08 11:54:03 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-05-18 11:36:07 +0200
commita4dcd38d696212ab87537790a29cafa66193d3b8 (patch)
treed2d8ca0bf758f26e72b1dbefacf781abc13661e2
parentb8f065832f08fd2a57120b48f522650259dd3da0 (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.c31
-rw-r--r--bsps/sparc/shared/start/bsp_fatal_halt.c33
-rw-r--r--cpukit/score/cpu/sparc/syscall.S2
-rw-r--r--spec/build/bsps/sparc/erc32/bsperc32.yml3
-rw-r--r--spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml15
-rw-r--r--spec/build/bsps/sparc/leon2/grp.yml2
-rw-r--r--spec/build/bsps/sparc/leon2/obj.yml1
-rw-r--r--spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml15
-rw-r--r--spec/build/bsps/sparc/leon3/grp.yml2
-rw-r--r--spec/build/bsps/sparc/leon3/obj.yml1
-rw-r--r--spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml15
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 e028a803ed..02a05282e1 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 cc0f23e39b..0704658bd6 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 3181989f6b..0da07f7738 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/obj.yml b/spec/build/bsps/sparc/leon3/obj.yml
index 69684ca3a5..74d0b1268f 100644
--- a/spec/build/bsps/sparc/leon3/obj.yml
+++ b/spec/build/bsps/sparc/leon3/obj.yml
@@ -41,7 +41,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 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