RTEMS
interr.c
Go to the documentation of this file.
1 
9 /*
10  * COPYRIGHT (c) 1989-1999.
11  * On-Line Applications Research Corporation (OAR).
12  *
13  * The license and distribution terms for this file may be
14  * found in the file LICENSE in this distribution or at
15  * http://www.rtems.org/license/LICENSE.
16  */
17 
18 #ifdef HAVE_CONFIG_H
19 #include "config.h"
20 #endif
21 
22 #include <rtems/score/interr.h>
23 #include <rtems/score/smpimpl.h>
24 #include <rtems/score/sysstate.h>
26 
27 System_state_Codes _System_state_Current;
28 
30 
32  Internal_errors_Source the_source,
33  Internal_errors_t the_error
34 )
35 {
36  _User_extensions_Fatal( the_source, the_error );
37 
40 
42 
44 
45  _CPU_Fatal_halt( the_source, the_error );
46 
47  /* will not return from this routine */
48  while (true);
49 }
50 
52 {
53  _Terminate( INTERNAL_ERROR_CORE, core_error );
54 }
Constants and Prototypes Related to the Internal Error Handler.
Internal_errors_Core_list
A list of errors which are generated internally by the executive core.
Definition: interr.h:165
The system reached its terminal state.
Definition: sysstate.h:60
System_state_Codes
System states.
Definition: sysstate.h:40
void _Terminate(Internal_errors_Source the_source, Internal_errors_t the_error)
Initiates system termination.
Definition: interr.c:31
static __inline__ void _System_state_Set(System_state_Codes state)
Sets the current system state to the given state.
Definition: sysstate.h:78
static void _User_extensions_Fatal(Internal_errors_Source source, Internal_errors_t error)
Forwards all visitors that there was a fatal failure.
Definition: userextimpl.h:438
User Extension Handler API.
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:47
Internal_errors_Information _Internal_errors_What_happened
Definition: interr.c:29
void _SMP_Request_shutdown(void)
Requests a shutdown of all processors.
Definition: smp.c:205
Errors of the core system.
Definition: interr.h:53
void _CPU_Fatal_halt(uint32_t source, uint32_t error)
System State Handler API.
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:51
Internal_errors_Source the_source
Definition: interr.h:217
Internal_errors_t the_error
Definition: interr.h:219
SuperCore SMP Implementation.