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-11-10 10:06:12 +0100
commit4dcd8a583e8137d17ec2e081ab2eae04a1d663f3 (patch)
treeaa5be43ece9e9f93ac40064da0288a551654e109
parentf80a6327d9a3fc89acd9c601ce36bf3c4884e838 (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 304426b64e..3877b02c0a 100644
--- a/spec/build/bsps/sparc/erc32/bsperc32.yml
+++ b/spec/build/bsps/sparc/erc32/bsperc32.yml
@@ -37,8 +37,6 @@ links:
- role: build-dependency
uid: optconirq
- role: build-dependency
- uid: optpwrdwnhlt
-- role: build-dependency
uid: ../grp
- role: build-dependency
uid: ../start
@@ -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 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 d1ecdc0217..2c60711b9a 100644
--- a/spec/build/bsps/sparc/leon2/grp.yml
+++ b/spec/build/bsps/sparc/leon2/grp.yml
@@ -31,8 +31,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 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 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 2e47d9fc30..65ecd20f5b 100644
--- a/spec/build/bsps/sparc/leon3/grp.yml
+++ b/spec/build/bsps/sparc/leon3/grp.yml
@@ -57,8 +57,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 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 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