|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
00001 00010 /* 00011 * COPYRIGHT (c) 1989-2009. 00012 * On-Line Applications Research Corporation (OAR). 00013 * 00014 * The license and distribution terms for this file may be 00015 * found in the file LICENSE in this distribution or at 00016 * http://www.rtems.com/license/LICENSE. 00017 */ 00018 00019 #ifndef _RTEMS_SCORE_INTERR_H 00020 #define _RTEMS_SCORE_INTERR_H 00021 00022 #include <stdbool.h> 00023 #include <stdint.h> 00024 00025 #include <rtems/system.h> 00026 00037 #ifdef __cplusplus 00038 extern "C" { 00039 #endif 00040 00045 typedef enum { 00046 INTERNAL_ERROR_CORE, 00047 INTERNAL_ERROR_RTEMS_API, 00048 INTERNAL_ERROR_POSIX_API, 00049 00055 RTEMS_FATAL_SOURCE_BDBUF, 00056 00062 RTEMS_FATAL_SOURCE_APPLICATION, 00063 00069 RTEMS_FATAL_SOURCE_EXIT, 00070 00079 RTEMS_FATAL_SOURCE_BSP_GENERIC, 00080 00086 RTEMS_FATAL_SOURCE_BSP_SPECIFIC, 00087 00095 RTEMS_FATAL_SOURCE_ASSERT, 00096 00102 RTEMS_FATAL_SOURCE_STACK_CHECKER, 00103 00111 RTEMS_FATAL_SOURCE_EXCEPTION, 00112 00119 RTEMS_FATAL_SOURCE_LAST = 0xffffffff 00120 } Internal_errors_Source; 00121 00125 typedef enum { 00126 INTERNAL_ERROR_NO_CONFIGURATION_TABLE, 00127 INTERNAL_ERROR_NO_CPU_TABLE, 00128 INTERNAL_ERROR_TOO_LITTLE_WORKSPACE, 00129 INTERNAL_ERROR_WORKSPACE_ALLOCATION, 00130 INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL, 00131 INTERNAL_ERROR_THREAD_EXITTED, 00132 INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION, 00133 INTERNAL_ERROR_INVALID_NODE, 00134 INTERNAL_ERROR_NO_MPCI, 00135 INTERNAL_ERROR_BAD_PACKET, 00136 INTERNAL_ERROR_OUT_OF_PACKETS, 00137 INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS, 00138 INTERNAL_ERROR_OUT_OF_PROXIES, 00139 INTERNAL_ERROR_INVALID_GLOBAL_ID, 00140 INTERNAL_ERROR_BAD_STACK_HOOK, 00141 INTERNAL_ERROR_BAD_ATTRIBUTES, 00142 INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY, 00143 INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL, 00144 INTERNAL_ERROR_MUTEX_OBTAIN_FROM_BAD_STATE, 00145 INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0, 00146 INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP, 00147 INTERNAL_ERROR_GXX_KEY_ADD_FAILED, 00148 INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED, 00149 INTERNAL_ERROR_NO_MEMORY_FOR_HEAP, 00150 INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR 00151 } Internal_errors_Core_list; 00152 00153 typedef uint32_t Internal_errors_t; 00154 00158 typedef struct { 00160 Internal_errors_Source the_source; 00162 bool is_internal; 00164 Internal_errors_t the_error; 00165 } Internal_errors_Information; 00166 00170 extern Internal_errors_Information _Internal_errors_What_happened; 00171 00208 void _Internal_error_Occurred( 00209 Internal_errors_Source the_source, 00210 bool is_internal, 00211 Internal_errors_t the_error 00212 ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; 00213 00214 #ifdef __cplusplus 00215 } 00216 #endif 00217 00220 #endif 00221 /* end of include file */
1.7.5