RTEMS 6.1-rc5
Loading...
Searching...
No Matches
interr.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * COPYRIGHT (c) 1989-2009.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_SCORE_INTERR_H
39#define _RTEMS_SCORE_INTERR_H
40
41#include <rtems/score/cpu.h>
42
55#ifdef __cplusplus
56extern "C" {
57#endif
58
63typedef enum {
70
75
80
87
94
101
111
120
127
136
143
150
157
164
171
178 RTEMS_FATAL_SOURCE_LAST = 0x7fffffff
180
188typedef enum {
189 /* INTERNAL_ERROR_NO_CONFIGURATION_TABLE = 0, */
190 /* INTERNAL_ERROR_NO_CPU_TABLE = 1, */
191 INTERNAL_ERROR_TOO_LITTLE_WORKSPACE = 2,
192 /* INTERNAL_ERROR_WORKSPACE_ALLOCATION = 3, */
193 /* INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL = 4, */
194 INTERNAL_ERROR_THREAD_EXITTED = 5,
195 INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION = 6,
196 INTERNAL_ERROR_INVALID_NODE = 7,
197 INTERNAL_ERROR_NO_MPCI = 8,
198 INTERNAL_ERROR_BAD_PACKET = 9,
199 INTERNAL_ERROR_OUT_OF_PACKETS = 10,
200 INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS = 11,
201 INTERNAL_ERROR_OUT_OF_PROXIES = 12,
202 INTERNAL_ERROR_INVALID_GLOBAL_ID = 13,
203 /* INTERNAL_ERROR_BAD_STACK_HOOK = 14, */
204 /* INTERNAL_ERROR_BAD_ATTRIBUTES = 15, */
205 /* INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY = 16, */
206 /* INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL = 17, */
207 /* INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_FROM_BAD_STATE = 18, */
208 /* INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0 = 19, */
209 /* INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP = 20, */
210 /* INTERNAL_ERROR_GXX_KEY_ADD_FAILED = 21, */
211 /* INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED = 22, */
212 INTERNAL_ERROR_NO_MEMORY_FOR_HEAP = 23,
213 INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR = 24,
214 INTERNAL_ERROR_RESOURCE_IN_USE = 25,
215 /* INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL = 26, */
216 /* INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL = 27, */
217 INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK = 28,
218 INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE = 29,
219 INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL = 30,
220 INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT = 31,
221 INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED = 32,
222 INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED = 33,
223 /* INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED = 34, */
224 /* INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED = 35, */
225 INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED = 36,
226 INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED = 37,
227 INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT = 38,
228 INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL = 39,
229 INTERNAL_ERROR_NO_MEMORY_FOR_PER_CPU_DATA = 40,
230 INTERNAL_ERROR_TOO_LARGE_TLS_SIZE = 41,
231 INTERNAL_ERROR_RTEMS_INIT_TASK_CONSTRUCT_FAILED = 42,
232 INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED = 43,
233 INTERNAL_ERROR_NO_MEMORY_FOR_IDLE_TASK_STORAGE = 44,
234 INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL = 45,
235 INTERNAL_ERROR_CANNOT_DISABLE_DATA_CACHE = 46
237
238typedef CPU_Uint32ptr Internal_errors_t;
239
308 Internal_errors_Source the_source,
309 Internal_errors_t the_error
310);
311
321
322#ifdef __cplusplus
323}
324#endif
325
328#endif
329/* end of include file */
#define RTEMS_NO_RETURN
Tells the compiler in a function declaration that this function does not return.
Definition: basedefs.h:386
uintptr_t CPU_Uint32ptr
Definition: cpu.h:557
Internal_errors_Core_list
A list of errors which are generated internally by the executive core.
Definition: interr.h:188
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:63
RTEMS_NO_RETURN void _Internal_error(Internal_errors_Core_list core_error)
Terminates the system with an INTERNAL_ERROR_CORE fatal source and the specified core error code.
Definition: interr.c:79
RTEMS_NO_RETURN void _Terminate(Internal_errors_Source the_source, Internal_errors_t the_error)
Initiates the system termination.
Definition: interr.c:51
@ RTEMS_FATAL_SOURCE_APPLICATION
Fatal source for application specific errors.
Definition: interr.h:93
@ RTEMS_FATAL_SOURCE_EXCEPTION
Fatal source of the exceptions.
Definition: interr.h:135
@ RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE
Fatal source for invalid C program heap frees via free().
Definition: interr.h:156
@ RTEMS_FATAL_SOURCE_ASSERT
Fatal source of assert().
Definition: interr.h:119
@ INTERNAL_ERROR_CORE
Errors of the core system.
Definition: interr.h:69
@ RTEMS_FATAL_SOURCE_SMP
Fatal source of SMP domain.
Definition: interr.h:142
@ RTEMS_FATAL_SOURCE_LAST
The last available fatal source.
Definition: interr.h:178
@ RTEMS_FATAL_SOURCE_EXIT
Fatal source of exit().
Definition: interr.h:100
@ RTEMS_FATAL_SOURCE_PANIC
Fatal source of rtems_panic().
Definition: interr.h:149
@ RTEMS_FATAL_SOURCE_BDBUF
Fatal source for the block device cache.
Definition: interr.h:86
@ RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT
Fatal source for spurious interrupts.
Definition: interr.h:170
@ RTEMS_FATAL_SOURCE_BSP
Fatal source for BSP errors.
Definition: interr.h:110
@ INTERNAL_ERROR_POSIX_API
Errors of the POSIX API.
Definition: interr.h:79
@ INTERNAL_ERROR_RTEMS_API
Errors of the RTEMS API.
Definition: interr.h:74
@ RTEMS_FATAL_SOURCE_HEAP
Fatal source for heap errors.
Definition: interr.h:163
@ RTEMS_FATAL_SOURCE_STACK_CHECKER
Fatal source of the stack checker.
Definition: interr.h:126