RTEMS CPU Kit with SuperCore  4.11.2
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 <stdbool.h>
23 #include <stdint.h>
24 
25 #include <rtems/system.h>
26 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
45 typedef enum {
52 
57 
62 
69 
76 
83 
93 
102 
109 
118 
125 
134 
138 typedef enum {
139  INTERNAL_ERROR_NO_CONFIGURATION_TABLE,
140  INTERNAL_ERROR_NO_CPU_TABLE,
141  INTERNAL_ERROR_TOO_LITTLE_WORKSPACE,
142  INTERNAL_ERROR_WORKSPACE_ALLOCATION,
143  INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL,
144  INTERNAL_ERROR_THREAD_EXITTED,
145  INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION,
146  INTERNAL_ERROR_INVALID_NODE,
147  INTERNAL_ERROR_NO_MPCI,
148  INTERNAL_ERROR_BAD_PACKET,
149  INTERNAL_ERROR_OUT_OF_PACKETS,
150  INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS,
151  INTERNAL_ERROR_OUT_OF_PROXIES,
152  INTERNAL_ERROR_INVALID_GLOBAL_ID,
153  INTERNAL_ERROR_BAD_STACK_HOOK,
154  INTERNAL_ERROR_BAD_ATTRIBUTES,
155  INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY,
156  OBSOLETE_INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL,
157  INTERNAL_ERROR_MUTEX_OBTAIN_FROM_BAD_STATE,
158  INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0,
159  OBSOLETE_INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP,
160  INTERNAL_ERROR_GXX_KEY_ADD_FAILED,
161  INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED,
162  INTERNAL_ERROR_NO_MEMORY_FOR_HEAP,
163  INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR,
164  INTERNAL_ERROR_RESOURCE_IN_USE
166 
167 typedef CPU_Uint32ptr Internal_errors_t;
168 
172 typedef struct {
178  Internal_errors_t the_error;
180 
185 
227 void _Terminate(
228  Internal_errors_Source the_source,
229  bool is_internal,
230  Internal_errors_t the_error
232 
233 #ifdef __cplusplus
234 }
235 #endif
236 
239 #endif
240 /* end of include file */
uintptr_t CPU_Uint32ptr
Type that can store a 32-bit integer or a pointer.
Definition: types.h:41
Fatal source of SMP domain.
Definition: interr.h:124
Fatal source for the block device cache.
Definition: interr.h:68
Fatal source for application specific errors.
Definition: interr.h:75
Fatal source for BSP errors.
Definition: interr.h:92
bool is_internal
This indicates if the error is internal of external.
Definition: interr.h:176
Fatal source of assert().
Definition: interr.h:101
Errors of the core system.
Definition: interr.h:51
Fatal source of the exceptions.
Definition: interr.h:117
void _Terminate(Internal_errors_Source the_source, bool is_internal, Internal_errors_t the_error)
Initiates system termination.
Definition: interr.c:31
The last available fatal source.
Definition: interr.h:132
Errors of the POSIX API.
Definition: interr.h:61
Internal_errors_Core_list
A list of errors which are generated internally by the executive core.
Definition: interr.h:138
Fatal source of exit().
Definition: interr.h:82
Fatal source of the stack checker.
Definition: interr.h:108
Internal_errors_Information _Internal_errors_What_happened
When a fatal error occurs, the error information is stored here.
Definition: interr.c:29
This type holds the fatal error information.
Definition: interr.h:172
#define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
The following macro is a compiler specific way to indicate that the method will NOT return to the cal...
Definition: basedefs.h:162
Information Included in Every Function in the Executive.
Internal_errors_Source the_source
This is the source of the error.
Definition: interr.h:174
Internal_errors_t the_error
This is the error code.
Definition: interr.h:178
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:45
Errors of the RTEMS API.
Definition: interr.h:56