summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/aarch64
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/aarch64')
-rw-r--r--cpukit/score/cpu/aarch64/cpu.c16
-rw-r--r--cpukit/score/cpu/aarch64/include/rtems/score/cpu.h13
-rw-r--r--cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h2
3 files changed, 16 insertions, 15 deletions
diff --git a/cpukit/score/cpu/aarch64/cpu.c b/cpukit/score/cpu/aarch64/cpu.c
index 75b1125cf7..d09403a349 100644
--- a/cpukit/score/cpu/aarch64/cpu.c
+++ b/cpukit/score/cpu/aarch64/cpu.c
@@ -38,8 +38,7 @@
#include "config.h"
#endif
-#include <rtems/score/assert.h>
-#include <rtems/score/cpu.h>
+#include <rtems/score/cpuimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/tls.h>
@@ -195,3 +194,16 @@ void _CPU_Initialize( void )
{
/* Do nothing */
}
+
+void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error )
+{
+ ISR_Level level;
+
+ _CPU_ISR_Disable( level );
+ (void) level;
+ __asm__ volatile ("mov x0, %0\n"
+ : "=r" (error)
+ : "0" (error)
+ : "x0" );
+ while (1);
+}
diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
index 595f6c7351..dacc18638e 100644
--- a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
@@ -295,19 +295,6 @@ void _CPU_Context_Initialize(
*(*(_destination)) = _CPU_Null_fp_context; \
} while (0)
-#define _CPU_Fatal_halt( _source, _err ) \
- do { \
- uint64_t _level; \
- uint32_t _error = _err; \
- _CPU_ISR_Disable( _level ); \
- (void) _level; \
- __asm__ volatile ("mov x0, %0\n" \
- : "=r" (_error) \
- : "0" (_error) \
- : "x0" ); \
- while (1); \
- } while (0);
-
/**
* @brief CPU initialization.
*/
diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
index 4c3da6794a..0536ecd860 100644
--- a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
@@ -58,6 +58,8 @@
extern "C" {
#endif
+RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
+
void _CPU_Context_volatile_clobber( uintptr_t pattern );
void _CPU_Context_validate( uintptr_t pattern );