From 3a646426aa421ab3e229ec483d8b29f2f56c29ac Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 19 Jul 2018 12:53:34 +0200 Subject: 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. --- cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'cpukit/score/cpu/no_cpu') diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h index c13180a06d..86d0ace0f3 100644 --- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h +++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h @@ -104,6 +104,16 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern ); */ void _CPU_Context_validate( uintptr_t pattern ); +/** + * @brief Emits an illegal instruction. + * + * This function is used only in test sptests/spfatal26. + */ +RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void ) +{ + __asm__ volatile ( ".word 0" ); +} + /** * @brief Emits a no operation instruction (nop). * -- cgit v1.2.3