RTEMS  5.0.0
interr.h
Go to the documentation of this file.
1 
10 /*
11  * COPYRIGHT (c) 1989-2009.
12  * On-Line Applications Research Corporation (OAR).
13  *
14  * The license and distribution terms for this file may be
15  * found in the file LICENSE in this distribution or at
16  * http://www.rtems.org/license/LICENSE.
17  */
18 
19 #ifndef _RTEMS_SCORE_INTERR_H
20 #define _RTEMS_SCORE_INTERR_H
21 
22 #include <rtems/score/cpu.h>
23 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
42 typedef enum {
49 
54 
59 
66 
73 
80 
90 
99 
106 
115 
122 
129 
136 
145 
153 typedef enum {
154  /* INTERNAL_ERROR_NO_CONFIGURATION_TABLE = 0, */
155  /* INTERNAL_ERROR_NO_CPU_TABLE = 1, */
156  INTERNAL_ERROR_TOO_LITTLE_WORKSPACE = 2,
157  INTERNAL_ERROR_WORKSPACE_ALLOCATION = 3,
158  /* INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL = 4, */
159  INTERNAL_ERROR_THREAD_EXITTED = 5,
160  INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION = 6,
161  INTERNAL_ERROR_INVALID_NODE = 7,
162  INTERNAL_ERROR_NO_MPCI = 8,
163  INTERNAL_ERROR_BAD_PACKET = 9,
164  INTERNAL_ERROR_OUT_OF_PACKETS = 10,
165  INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS = 11,
166  INTERNAL_ERROR_OUT_OF_PROXIES = 12,
167  INTERNAL_ERROR_INVALID_GLOBAL_ID = 13,
168  INTERNAL_ERROR_BAD_STACK_HOOK = 14,
169  /* INTERNAL_ERROR_BAD_ATTRIBUTES = 15, */
170  /* INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY = 16, */
171  /* INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL = 17, */
172  /* INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_FROM_BAD_STATE = 18, */
173  /* INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0 = 19, */
174  /* INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP = 20, */
175  INTERNAL_ERROR_GXX_KEY_ADD_FAILED = 21,
176  INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED = 22,
177  INTERNAL_ERROR_NO_MEMORY_FOR_HEAP = 23,
178  INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR = 24,
179  INTERNAL_ERROR_RESOURCE_IN_USE = 25,
180  INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL = 26,
181  /* INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL = 27, */
182  INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK = 28,
183  INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE = 29,
184  INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL = 30,
185  INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT = 31,
186  INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED = 32,
187  INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED = 33,
188  INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED = 34,
189  /* INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED = 35, */
190  INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED = 36,
191  INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED = 37,
192  INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT = 38,
193  INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL = 39,
194  INTERNAL_ERROR_NO_MEMORY_FOR_PER_CPU_DATA = 40
196 
197 typedef CPU_Uint32ptr Internal_errors_t;
198 
202 typedef struct {
206  Internal_errors_t the_error;
208 
213 
251 void _Terminate(
252  Internal_errors_Source the_source,
253  Internal_errors_t the_error
255 
265 
266 #ifdef __cplusplus
267 }
268 #endif
269 
272 #endif
273 /* end of include file */
Fatal source of SMP domain.
Definition: interr.h:121
Fatal source for the block device cache.
Definition: interr.h:65
Fatal source for application specific errors.
Definition: interr.h:72
Fatal source for BSP errors.
Definition: interr.h:89
Fatal source of assert().
Definition: interr.h:98
Errors of the core system.
Definition: interr.h:48
Fatal source of the exceptions.
Definition: interr.h:114
The last available fatal source.
Definition: interr.h:143
Fatal source for invalid C program heap frees via free().
Definition: interr.h:135
Errors of the POSIX API.
Definition: interr.h:58
void _Terminate(Internal_errors_Source the_source, Internal_errors_t the_error) RTEMS_NO_RETURN
Initiates system termination.
Definition: interr.c:30
Internal_errors_Core_list
A list of errors which are generated internally by the executive core.
Definition: interr.h:153
Fatal source of exit().
Definition: interr.h:79
Fatal source of the stack checker.
Definition: interr.h:105
Internal_errors_Information _Internal_errors_What_happened
Definition: interr.c:28
Definition: interr.h:202
#define RTEMS_NO_RETURN
Definition: basedefs.h:101
void _Internal_error(Internal_errors_Core_list core_error) RTEMS_NO_RETURN
Terminates the system with an INTERNAL_ERROR_CORE fatal source and the specified core error code...
Definition: interr.c:50
uintptr_t CPU_Uint32ptr
Definition: cpu.h:668
Internal_errors_Source the_source
Definition: interr.h:204
Internal_errors_t the_error
Definition: interr.h:206
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:42
Errors of the RTEMS API.
Definition: interr.h:53
Fatal source of rtems_panic().
Definition: interr.h:128