summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared/include/fatal.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-17 11:40:18 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-19 09:59:39 +0100
commit33cb8bf64d7b7551ea3a2e7ced5d4b56cd32d6db (patch)
tree9aca7c789c974a8e3d7538cfad7d40c4c9aef37a /c/src/lib/libbsp/shared/include/fatal.h
parentscore: Delete INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP (diff)
downloadrtems-33cb8bf64d7b7551ea3a2e7ced5d4b56cd32d6db.tar.bz2
score: Add RTEMS_FATAL_SOURCE_BSP
Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
Diffstat (limited to 'c/src/lib/libbsp/shared/include/fatal.h')
-rw-r--r--c/src/lib/libbsp/shared/include/fatal.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/include/fatal.h b/c/src/lib/libbsp/shared/include/fatal.h
new file mode 100644
index 0000000000..16d20b84b7
--- /dev/null
+++ b/c/src/lib/libbsp/shared/include/fatal.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2012-2014 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstr. 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#ifndef LIBBSP_SHARED_BSP_FATAL_H
+#define LIBBSP_SHARED_BSP_FATAL_H
+
+#include <rtems.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define BSP_FATAL_CODE_BLOCK(idx) ((unsigned long) (idx) * 256UL)
+
+/**
+ * @brief BSP fatal error codes.
+ */
+typedef enum {
+ /* Generic BSP fatal codes */
+ BSP_FATAL_INTERRUPT_INITIALIZATION = BSP_FATAL_CODE_BLOCK(0),
+ BSP_FATAL_SPURIOUS_INTERRUPT,
+ BSP_FATAL_CONSOLE_MULTI_INIT,
+ BSP_FATAL_CONSOLE_NO_MEMORY_0,
+ BSP_FATAL_CONSOLE_NO_MEMORY_1,
+ BSP_FATAL_CONSOLE_NO_MEMORY_2,
+ BSP_FATAL_CONSOLE_NO_MEMORY_3,
+ BSP_FATAL_CONSOLE_REGISTER_DEV_0,
+ BSP_FATAL_CONSOLE_REGISTER_DEV_1,
+ BSP_FATAL_CONSOLE_NO_DEV,
+
+ /* ARM fatal codes */
+ BSP_ARM_A9MPCORE_FATAL_CLOCK_IRQ_INSTALL = BSP_FATAL_CODE_BLOCK(1),
+ BSP_ARM_A9MPCORE_FATAL_CLOCK_IRQ_REMOVE,
+ BSP_ARM_PL111_FATAL_REGISTER_DEV,
+ BSP_ARM_PL111_FATAL_SEM_CREATE,
+ BSP_ARM_PL111_FATAL_SEM_RELEASE,
+
+ /* LEON3 fatal codes */
+ LEON3_FATAL_CPU_COUNTER_INIT = BSP_FATAL_CODE_BLOCK(2),
+
+ /* LPC24XX fatal codes */
+ LPC24XX_FATAL_PL111_SET_UP = BSP_FATAL_CODE_BLOCK(3),
+ LPC24XX_FATAL_PL111_PINS_SET_UP,
+ LPC24XX_FATAL_PL111_PINS_TEAR_DOWN,
+ LPC24XX_FATAL_PL111_TEAR_DOWN,
+
+ /* MPC5200 fatal codes */
+ MPC5200_FATAL_PCF8563_INVALID_YEAR = BSP_FATAL_CODE_BLOCK(4),
+ MPC5200_FATAL_SLICETIMER_0_IRQ_INSTALL,
+ MPC5200_FATAL_SLICETIMER_1_IRQ_INSTALL,
+ MPC5200_FATAL_TM27_IRQ_INSTALL,
+ MPC5200_FATAL_MSCAN_A_INIT,
+ MPC5200_FATAL_MSCAN_B_INIT,
+ MPC5200_FATAL_MSCAN_A_SET_MODE,
+ MPC5200_FATAL_MSCAN_B_SET_MODE,
+ MPC5200_FATAL_ATA_DISK_IO_INIT,
+ MPC5200_FATAL_ATA_DISK_CREATE,
+ MPC5200_FATAL_ATA_DMA_SINGLE_IRQ_INSTALL,
+ MPC5200_FATAL_ATA_LOCK_CREATE,
+ MPC5200_FATAL_ATA_LOCK_DESTROY,
+
+ /* MPC55XX fatal codes */
+ MPC55XX_FATAL_FMPLL_LOCK = BSP_FATAL_CODE_BLOCK(5),
+ MPC55XX_FATAL_CLOCK_EMIOS_IRQ_INSTALL,
+ MPC55XX_FATAL_CLOCK_EMIOS_PRESCALER,
+ MPC55XX_FATAL_CLOCK_EMIOS_INTERVAL,
+ MPC55XX_FATAL_CLOCK_PIT_IRQ_INSTALL,
+ MPC55XX_FATAL_CONSOLE_GENERIC_COUNT,
+ MPC55XX_FATAL_CONSOLE_GENERIC_REGISTER,
+ MPC55XX_FATAL_CONSOLE_GENERIC_REGISTER_CONSOLE,
+ MPC55XX_FATAL_CONSOLE_ESCI_BAUD,
+ MPC55XX_FATAL_CONSOLE_ESCI_ATTRIBUTES,
+ MPC55XX_FATAL_CONSOLE_ESCI_IRQ_INSTALL,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_BAUD,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_ATTRIBUTES,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_RX_IRQ_INSTALL,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_TX_IRQ_INSTALL,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_ERR_IRQ_INSTALL,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_RX_IRQ_REMOVE,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_TX_IRQ_REMOVE,
+ MPC55XX_FATAL_CONSOLE_LINFLEX_ERR_IRQ_REMOVE,
+ MPC55XX_FATAL_EDMA_IRQ_INSTALL,
+ MPC55XX_FATAL_EDMA_IRQ_REMOVE,
+
+ /* MRM332 fatal codes */
+ MRM332_FATAL_SPURIOUS_INTERRUPT = BSP_FATAL_CODE_BLOCK(6),
+
+ /* PowerPC fatal codes */
+ PPC_FATAL_EXCEPTION_INITIALIZATION = BSP_FATAL_CODE_BLOCK(7)
+} bsp_fatal_code;
+
+RTEMS_COMPILER_NO_RETURN_ATTRIBUTE static inline void
+bsp_fatal( bsp_fatal_code code )
+{
+ rtems_fatal( RTEMS_FATAL_SOURCE_BSP, (rtems_fatal_code) code );
+}
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* LIBBSP_SHARED_BSP_FATAL_H */