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.
This commit is contained in:
Sebastian Huber
2023-07-14 12:21:33 +02:00
parent 63626a5d2e
commit 3e0314e8be
11 changed files with 2 additions and 159 deletions
-50
View File
@@ -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
}
-52
View File
@@ -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
}
+2
View File
@@ -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
-3
View File
@@ -37,8 +37,6 @@ links:
uid: objsmp
- role: build-dependency
uid: optconirq
- role: build-dependency
uid: optpwrdwnhlt
- role: build-dependency
uid: ../grp
- role: build-dependency
@@ -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
@@ -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
-2
View File
@@ -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
-1
View File
@@ -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
@@ -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
-2
View File
@@ -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
-1
View File
@@ -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
@@ -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