summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/x86_64')
-rw-r--r--cpukit/score/cpu/x86_64/cpu.c13
-rw-r--r--cpukit/score/cpu/x86_64/include/rtems/score/cpu.h8
-rw-r--r--cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h2
3 files changed, 15 insertions, 8 deletions
diff --git a/cpukit/score/cpu/x86_64/cpu.c b/cpukit/score/cpu/x86_64/cpu.c
index 6846c431ef..0ad2d1ff3c 100644
--- a/cpukit/score/cpu/x86_64/cpu.c
+++ b/cpukit/score/cpu/x86_64/cpu.c
@@ -37,6 +37,7 @@
#include "config.h"
#endif
+#include <rtems/score/cpuimpl.h>
#include <rtems/score/idt.h>
#include <rtems/score/isr.h>
#include <rtems/score/tls.h>
@@ -48,3 +49,15 @@ void _CPU_Exception_frame_print(const CPU_Exception_frame *ctx)
void _CPU_Initialize(void)
{
}
+
+void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error )
+{
+ ISR_Level level;
+
+ _CPU_ISR_Disable( level );
+ (void) level;
+
+ while ( true ) {
+ /* Do nothing */
+ }
+}
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
index 056c0224a9..bea8e05e39 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
@@ -232,14 +232,6 @@ void _CPU_Context_Initialize(
/* end of Context handler macros */
-/* Fatal Error manager macros */
-
-#define _CPU_Fatal_halt( _source, _error ) \
- { \
- }
-
-/* end of Fatal Error manager macros */
-
#define CPU_USE_LIBC_INIT_FINI_ARRAY FALSE
/* Bitfield handler macros */
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
index 1730799952..d3a4b848e6 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
@@ -38,6 +38,8 @@
extern "C" {
#endif
+RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
+
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
{
/* TODO */