File indexing completed on 2025-05-11 08:23:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #ifndef LIBBSP_SHARED_BSP_FATAL_H
0037 #define LIBBSP_SHARED_BSP_FATAL_H
0038
0039 #include <rtems.h>
0040
0041 #ifdef __cplusplus
0042 extern "C" {
0043 #endif
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 #define BSP_FATAL_CODE_BLOCK(idx) ((unsigned long) (idx) * 256UL)
0056
0057
0058
0059
0060 typedef enum {
0061
0062 BSP_FATAL_INTERRUPT_INITIALIZATION = BSP_FATAL_CODE_BLOCK(0),
0063 BSP_FATAL_SPURIOUS_INTERRUPT,
0064 BSP_FATAL_CONSOLE_MULTI_INIT,
0065 BSP_FATAL_CONSOLE_NO_MEMORY_0,
0066 BSP_FATAL_CONSOLE_NO_MEMORY_1,
0067 BSP_FATAL_CONSOLE_NO_MEMORY_2,
0068 BSP_FATAL_CONSOLE_NO_MEMORY_3,
0069 BSP_FATAL_CONSOLE_REGISTER_DEV_0,
0070 BSP_FATAL_CONSOLE_REGISTER_DEV_1,
0071 BSP_FATAL_CONSOLE_NO_DEV,
0072 BSP_FATAL_CONSOLE_INSTALL_0,
0073 BSP_FATAL_CONSOLE_INSTALL_1,
0074 BSP_FATAL_CONSOLE_REGISTER_DEV_2,
0075 BSP_FATAL_HEAP_EXTEND_ERROR,
0076 BSP_FATAL_MEMORY_ECC_ERROR,
0077
0078
0079 BSP_ARM_A9MPCORE_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(1),
0080 BSP_ARM_A9MPCORE_FATAL_CLOCK_IRQ_REMOVE,
0081 BSP_ARM_PL111_FATAL_REGISTER_DEV,
0082 BSP_ARM_PL111_FATAL_SEM_CREATE,
0083 BSP_ARM_PL111_FATAL_SEM_RELEASE,
0084 BSP_ARM_A9MPCORE_FATAL_CLOCK_SMP_INIT,
0085 BSP_ARM_ARMV7M_CPU_COUNTER_INIT,
0086 BSP_ARM_FATAL_GENERIC_TIMER_CLOCK_IRQ_INSTALL,
0087
0088
0089 LEON3_FATAL_NO_IRQMP_CONTROLLER = BSP_FATAL_CODE_BLOCK(2),
0090 LEON3_FATAL_CONSOLE_REGISTER_DEV,
0091 LEON3_FATAL_CLOCK_INITIALIZATION,
0092 LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR,
0093 LEON3_FATAL_INVALID_CACHE_CONFIG_SECONDARY_PROCESSOR,
0094
0095
0096 LPC24XX_FATAL_PL111_SET_UP = BSP_FATAL_CODE_BLOCK(3),
0097 LPC24XX_FATAL_PL111_PINS_SET_UP,
0098 LPC24XX_FATAL_PL111_PINS_TEAR_DOWN,
0099 LPC24XX_FATAL_PL111_TEAR_DOWN,
0100
0101
0102 MPC5200_FATAL_PCF8563_INVALID_YEAR = BSP_FATAL_CODE_BLOCK(4),
0103 MPC5200_FATAL_SLICETIMER_0_IRQ_INSTALL,
0104 MPC5200_FATAL_SLICETIMER_1_IRQ_INSTALL,
0105 MPC5200_FATAL_TM27_IRQ_INSTALL,
0106 MPC5200_FATAL_MSCAN_A_INIT,
0107 MPC5200_FATAL_MSCAN_B_INIT,
0108 MPC5200_FATAL_MSCAN_A_SET_MODE,
0109 MPC5200_FATAL_MSCAN_B_SET_MODE,
0110 MPC5200_FATAL_ATA_DISK_IO_INIT,
0111 MPC5200_FATAL_ATA_DISK_CREATE,
0112 MPC5200_FATAL_ATA_DMA_SINGLE_IRQ_INSTALL,
0113 MPC5200_FATAL_ATA_LOCK_CREATE,
0114 MPC5200_FATAL_ATA_LOCK_DESTROY,
0115
0116
0117 MPC55XX_FATAL_FMPLL_LOCK = BSP_FATAL_CODE_BLOCK(5),
0118 MPC55XX_FATAL_CLOCK_EMIOS_IRQ_INSTALL,
0119 MPC55XX_FATAL_CLOCK_EMIOS_PRESCALER,
0120 MPC55XX_FATAL_CLOCK_EMIOS_INTERVAL,
0121 MPC55XX_FATAL_CLOCK_PIT_IRQ_INSTALL,
0122 MPC55XX_FATAL_CONSOLE_GENERIC_COUNT,
0123 MPC55XX_FATAL_CONSOLE_GENERIC_REGISTER,
0124 MPC55XX_FATAL_CONSOLE_GENERIC_REGISTER_CONSOLE,
0125 MPC55XX_FATAL_CONSOLE_ESCI_BAUD,
0126 MPC55XX_FATAL_CONSOLE_ESCI_ATTRIBUTES,
0127 MPC55XX_FATAL_CONSOLE_ESCI_IRQ_INSTALL,
0128 MPC55XX_FATAL_CONSOLE_LINFLEX_BAUD,
0129 MPC55XX_FATAL_CONSOLE_LINFLEX_ATTRIBUTES,
0130 MPC55XX_FATAL_CONSOLE_LINFLEX_RX_IRQ_INSTALL,
0131 MPC55XX_FATAL_CONSOLE_LINFLEX_TX_IRQ_INSTALL,
0132 MPC55XX_FATAL_CONSOLE_LINFLEX_ERR_IRQ_INSTALL,
0133 MPC55XX_FATAL_CONSOLE_LINFLEX_RX_IRQ_REMOVE,
0134 MPC55XX_FATAL_CONSOLE_LINFLEX_TX_IRQ_REMOVE,
0135 MPC55XX_FATAL_CONSOLE_LINFLEX_ERR_IRQ_REMOVE,
0136 MPC55XX_FATAL_EDMA_IRQ_INSTALL,
0137 MPC55XX_FATAL_EDMA_IRQ_REMOVE,
0138
0139
0140 MRM332_FATAL_SPURIOUS_INTERRUPT = BSP_FATAL_CODE_BLOCK(6),
0141
0142
0143 PPC_FATAL_EXCEPTION_INITIALIZATION = BSP_FATAL_CODE_BLOCK(7),
0144
0145
0146 DWMAC_FATAL_TOO_MANY_RBUFS_CONFIGURED = BSP_FATAL_CODE_BLOCK(8),
0147
0148
0149 ARM_FATAL_L2C_310_UNEXPECTED_ID = BSP_FATAL_CODE_BLOCK(9),
0150 ARM_FATAL_L2C_310_UNEXPECTED_NUM_WAYS,
0151 ARM_FATAL_L2C_310_EXCLUSIVE_CONFIG,
0152
0153
0154 QORIQ_FATAL_SMP_IPI_HANDLER_INSTALL = BSP_FATAL_CODE_BLOCK(10),
0155 QORIQ_FATAL_FDT_NO_BUS_FREQUENCY,
0156 QORIQ_FATAL_FDT_NO_CLOCK_FREQUENCY,
0157 QORIQ_FATAL_FDT_NO_TIMEBASE_FREQUENCY,
0158 QORIQ_FATAL_RESTART_FAILED,
0159 QORIQ_FATAL_RESTART_INSTALL_INTERRUPT,
0160 QORIQ_FATAL_RESTART_INTERRUPT_FAILED,
0161 QORIQ_FATAL_CLOCK_INTERRUPT_INSTALL,
0162 QORIQ_FATAL_CLOCK_INTERRUPT_SET_PRIORITY,
0163
0164
0165 ATSAM_FATAL_XDMA_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(11),
0166 ATSAM_FATAL_PIO_IRQ_A,
0167 ATSAM_FATAL_PIO_IRQ_B,
0168 ATSAM_FATAL_PIO_IRQ_C,
0169 ATSAM_FATAL_PIO_IRQ_D,
0170 ATSAM_FATAL_PIO_IRQ_E,
0171 ATSAM_FATAL_PIO_CONFIGURE_IT,
0172
0173
0174 IMX_FATAL_GENERIC_TIMER_FREQUENCY = BSP_FATAL_CODE_BLOCK(12),
0175 IMX_FATAL_GPIO_UNEXPECTED_FDT,
0176
0177
0178 RISCV_FATAL_NO_TIMEBASE_FREQUENCY_IN_DEVICE_TREE = BSP_FATAL_CODE_BLOCK(13),
0179 RISCV_FATAL_NO_NS16550_REG_IN_DEVICE_TREE,
0180 RISCV_FATAL_NO_NS16550_CLOCK_FREQUENCY_IN_DEVICE_TREE,
0181 RISCV_FATAL_UNEXPECTED_INTERRUPT_EXCEPTION,
0182 RISCV_FATAL_CLOCK_IRQ_INSTALL,
0183 RISCV_FATAL_NO_CLINT_REG_IN_DEVICE_TREE,
0184 RISCV_FATAL_INVALID_HART_REG_IN_DEVICE_TREE,
0185 RISCV_FATAL_INVALID_CLINT_IRQS_EXTENDED_IN_DEVICE_TREE,
0186 RISCV_FATAL_NO_PLIC_REG_IN_DEVICE_TREE,
0187 RISCV_FATAL_INVALID_PLIC_NDEV_IN_DEVICE_TREE,
0188 RISCV_FATAL_TOO_LARGE_PLIC_NDEV_IN_DEVICE_TREE,
0189 RISCV_FATAL_UNUSED_0,
0190 RISCV_FATAL_NO_NS16550_INTERRUPTS_IN_DEVICE_TREE,
0191 RISCV_FATAL_NO_TLCLOCK_FREQUENCY_IN_DEVICE_TREE,
0192 RISCV_FATAL_CLOCK_SMP_INIT,
0193 RISCV_FATAL_NO_APBUART_REG_IN_DEVICE_TREE,
0194 RISCV_FATAL_NO_APBUART_INTERRUPTS_IN_DEVICE_TREE,
0195 RISCV_FATAL_NO_APBUART_CLOCK_FREQUENCY_IN_DEVICE_TREE,
0196
0197
0198 GRLIB_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT = BSP_FATAL_CODE_BLOCK(14),
0199
0200
0201 IMXRT_FATAL_NO_CONSOLE = BSP_FATAL_CODE_BLOCK(15),
0202 IMXRT_FATAL_LPUART_INVALID_FDT,
0203 IMXRT_FATAL_LPUART_ALLOC_FAILED,
0204 IMXRT_FATAL_LPUART_INSTALL_FAILED,
0205 IMXRT_FATAL_LPSPI_INVALID_FDT,
0206 IMXRT_FATAL_LPSPI_ALLOC_FAILED,
0207 IMXRT_FATAL_LPSPI_HW_INIT_FAILED,
0208 IMXRT_FATAL_LPSPI_REGISTER_FAILED,
0209 IMXRT_FATAL_LPI2C_INVALID_FDT,
0210 IMXRT_FATAL_LPI2C_ALLOC_FAILED,
0211 IMXRT_FATAL_LPI2C_HW_INIT_FAILED,
0212 IMXRT_FATAL_LPI2C_REGISTER_FAILED,
0213 IMXRT_FATAL_LPI2C_UNSUPPORTED_HARDWARE,
0214
0215
0216 MICROBLAZE_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(16),
0217
0218
0219 XIL_FATAL_TTC_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(17),
0220
0221
0222 TMS570_FATAL_RTI_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(18),
0223
0224
0225 AARCH64_FATAL_MMU_CANNOT_MAP_BLOCK = BSP_FATAL_CODE_BLOCK(19),
0226
0227
0228 STM32H7_FATAL_MMU_CANNOT_REGISTER_SPI = BSP_FATAL_CODE_BLOCK(20),
0229 } bsp_fatal_code;
0230
0231 RTEMS_NO_RETURN static inline void
0232 bsp_fatal( bsp_fatal_code code )
0233 {
0234 rtems_fatal( RTEMS_FATAL_SOURCE_BSP, (rtems_fatal_code) code );
0235 }
0236
0237
0238
0239 #ifdef __cplusplus
0240 }
0241 #endif
0242
0243 #endif