diff options
Diffstat (limited to 'bsps/include/bsp/fatal.h')
-rw-r--r-- | bsps/include/bsp/fatal.h | 66 |
1 files changed, 54 insertions, 12 deletions
diff --git a/bsps/include/bsp/fatal.h b/bsps/include/bsp/fatal.h index 54ed4b2027..ffdb4bc8e1 100644 --- a/bsps/include/bsp/fatal.h +++ b/bsps/include/bsp/fatal.h @@ -1,15 +1,36 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSBSPsSharedFatal + * + * @brief This header file provides fatal codes for ::RTEMS_FATAL_SOURCE_BSP. + */ + /* - * Copyright (c) 2012, 2018 embedded brains GmbH. All rights reserved. + * Copyright (C) 2012, 2022 embedded brains GmbH & Co. KG * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <rtems@embedded-brains.de> + * 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. * - * 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. + * 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. */ #ifndef LIBBSP_SHARED_BSP_FATAL_H @@ -21,6 +42,16 @@ extern "C" { #endif /* __cplusplus */ +/** + * @defgroup RTEMSBSPsSharedFatal BSP-Specific Fatal Codes + * + * @ingroup RTEMSBSPsShared + * + * @brief This group contains fatal codes for ::RTEMS_FATAL_SOURCE_BSP. + * + * @{ + */ + #define BSP_FATAL_CODE_BLOCK(idx) ((unsigned long) (idx) * 256UL) /** @@ -41,6 +72,8 @@ typedef enum { BSP_FATAL_CONSOLE_INSTALL_0, BSP_FATAL_CONSOLE_INSTALL_1, BSP_FATAL_CONSOLE_REGISTER_DEV_2, + BSP_FATAL_MMU_ADDRESS_INVALID, + BSP_FATAL_HEAP_EXTEND_ERROR, /* ARM fatal codes */ BSP_ARM_A9MPCORE_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(1), @@ -56,9 +89,8 @@ typedef enum { LEON3_FATAL_NO_IRQMP_CONTROLLER = BSP_FATAL_CODE_BLOCK(2), LEON3_FATAL_CONSOLE_REGISTER_DEV, LEON3_FATAL_CLOCK_INITIALIZATION, - LEON3_FATAL_INVALID_CACHE_CONFIG_MAIN_PROCESSOR, + LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR, LEON3_FATAL_INVALID_CACHE_CONFIG_SECONDARY_PROCESSOR, - LEON3_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT, /* LPC24XX fatal codes */ LPC24XX_FATAL_PL111_SET_UP = BSP_FATAL_CODE_BLOCK(3), @@ -126,6 +158,8 @@ typedef enum { QORIQ_FATAL_RESTART_FAILED, QORIQ_FATAL_RESTART_INSTALL_INTERRUPT, QORIQ_FATAL_RESTART_INTERRUPT_FAILED, + QORIQ_FATAL_CLOCK_INTERRUPT_INSTALL, + QORIQ_FATAL_CLOCK_INTERRUPT_SET_PRIORITY, /* ATSAM fatal codes */ ATSAM_FATAL_XDMA_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(11), @@ -152,10 +186,13 @@ typedef enum { RISCV_FATAL_NO_PLIC_REG_IN_DEVICE_TREE, RISCV_FATAL_INVALID_PLIC_NDEV_IN_DEVICE_TREE, RISCV_FATAL_TOO_LARGE_PLIC_NDEV_IN_DEVICE_TREE, - RISCV_FATAL_INVALID_INTERRUPT_AFFINITY, + RISCV_FATAL_UNUSED_0, RISCV_FATAL_NO_NS16550_INTERRUPTS_IN_DEVICE_TREE, RISCV_FATAL_NO_TLCLOCK_FREQUENCY_IN_DEVICE_TREE, RISCV_FATAL_CLOCK_SMP_INIT, + RISCV_FATAL_NO_APBUART_REG_IN_DEVICE_TREE, + RISCV_FATAL_NO_APBUART_INTERRUPTS_IN_DEVICE_TREE, + RISCV_FATAL_NO_APBUART_CLOCK_FREQUENCY_IN_DEVICE_TREE, /* GRLIB fatal codes */ GRLIB_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT = BSP_FATAL_CODE_BLOCK(14), @@ -174,6 +211,9 @@ typedef enum { IMXRT_FATAL_LPI2C_HW_INIT_FAILED, IMXRT_FATAL_LPI2C_REGISTER_FAILED, IMXRT_FATAL_LPI2C_UNSUPPORTED_HARDWARE, + + /* MicroBlaze fatal codes */ + MICROBLAZE_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(16), } bsp_fatal_code; RTEMS_NO_RETURN static inline void @@ -182,6 +222,8 @@ bsp_fatal( bsp_fatal_code code ) rtems_fatal( RTEMS_FATAL_SOURCE_BSP, (rtems_fatal_code) code ); } +/** @} */ + #ifdef __cplusplus } #endif /* __cplusplus */ |