diff options
Diffstat (limited to 'cpukit/score/cpu/x86_64')
-rw-r--r-- | cpukit/score/cpu/x86_64/cpu.c | 13 | ||||
-rw-r--r-- | cpukit/score/cpu/x86_64/include/rtems/score/cpu.h | 8 | ||||
-rw-r--r-- | cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h | 2 |
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 */ |