summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sh/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-07-19 12:53:34 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-07-23 14:14:04 +0200
commit3a646426aa421ab3e229ec483d8b29f2f56c29ac (patch)
treedcd723d79a9c5670ef553d01d7e572f93c4e616f /cpukit/score/cpu/sh/include
parentscore: Add _CPU_Instruction_no_operation() (diff)
downloadrtems-3a646426aa421ab3e229ec483d8b29f2f56c29ac.tar.bz2
score: Add _CPU_Instruction_illegal()
On some architectures/simulators it is difficult to provoke an exception with misaligned or illegal data loads. Use an illegal instruction instead. Update #3433.
Diffstat (limited to 'cpukit/score/cpu/sh/include')
-rw-r--r--cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
index 5d8bd77161..78b87ef981 100644
--- a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
@@ -37,6 +37,11 @@ RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
}
}
+RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+{
+ __asm__ volatile ( ".word 0" );
+}
+
RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
{
__asm__ volatile ( "nop" );