From 8b65b57472d5086f2c035a09fdb07a40285beb4a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 28 Jul 2021 14:41:32 +0200 Subject: score: Canonicalize _CPU_Fatal_halt() Move _CPU_Fatal_halt() declaration to and make sure it is a proper declaration of a function which does not return. Fix the type of the error code. If necessary, add the implementation to cpu.c. Implementing _CPU_Fatal_halt() as a function makes it possible to wrap this function for example to fully test _Terminate(). --- cpukit/score/cpu/sh/cpu.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cpukit/score/cpu/sh/cpu.c') diff --git a/cpukit/score/cpu/sh/cpu.c b/cpukit/score/cpu/sh/cpu.c index c10086534b..558f95be4d 100644 --- a/cpukit/score/cpu/sh/cpu.c +++ b/cpukit/score/cpu/sh/cpu.c @@ -30,9 +30,9 @@ #include "config.h" #endif +#include #include #include -#include #include /* referenced in start.S */ @@ -76,6 +76,13 @@ void _CPU_Initialize(void) _CPU_ISR_Set_level( level ) ; } +void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error ) +{ + __asm__ volatile("mov.l %0,r0"::"m" (error)); + __asm__ volatile("mov #1, r4"); + __asm__ volatile("trapa #34"); +} + /* * _CPU_ISR_Get_level */ -- cgit v1.2.3