summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/or1k
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/or1k')
-rw-r--r--cpukit/score/cpu/or1k/cpu.c18
-rw-r--r--cpukit/score/cpu/or1k/include/rtems/score/cpu.h17
-rw-r--r--cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h2
3 files changed, 19 insertions, 18 deletions
diff --git a/cpukit/score/cpu/or1k/cpu.c b/cpukit/score/cpu/or1k/cpu.c
index 79cb76812f..785fb2a084 100644
--- a/cpukit/score/cpu/or1k/cpu.c
+++ b/cpukit/score/cpu/or1k/cpu.c
@@ -11,8 +11,8 @@
*
*/
+#include <rtems/score/cpuimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/cpu.h>
/* bsp_start_vector_table_begin is the start address of the vector table
* containing addresses to ISR Handlers. It's defined at the BSP linkcmds
@@ -28,6 +28,22 @@ 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;
+
+ _OR1KSIM_CPU_Halt();
+
+ while ( true ) {
+ /* Do nothing */
+ }
+}
+
+/* end of Fatal Error manager macros */
+
/**
* @brief Sets the hardware interrupt level by the level value.
*
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
index 5cd59df3f4..02a574affa 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
@@ -390,23 +390,6 @@ void _CPU_Context_Initialize(
/* end of Context handler macros */
-/* Fatal Error manager macros */
-
-/*
- * This routine copies _error into a known place -- typically a stack
- * location or a register, optionally disables interrupts, and
- * halts/stops the CPU.
- *
- */
-
-#include <inttypes.h>
-
-#define _CPU_Fatal_halt(_source, _error ) \
- _OR1KSIM_CPU_Halt(); \
- for(;;)
-
-/* end of Fatal Error manager macros */
-
#define CPU_USE_GENERIC_BITFIELD_CODE TRUE
#define CPU_USE_LIBC_INIT_FINI_ARRAY TRUE
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
index 76da91fdec..ace9273da9 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
@@ -35,6 +35,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 );