For now we don't need to generalize this approach or make any kind of facility like this available outside of testing.
(FYI: 0 is a "nop" on some architectures) Gedare On Thu, Jul 19, 2018 at 9:37 AM, Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > I thought about adding a _CPU_Illegal_instruction() function to > <rtems/score/cpu.h>. But, do you want such a toxic function in a header file > or librtemscpu.a? Now it is isolated in the test and can do no harm. > > On 19/07/18 15:35, Joel Sherrill wrote: >> >> This looks like a good approach. If 0 is a valid instruction on >> some architecture, we can add a conditional. >> >> On Thu, Jul 19, 2018 at 5:55 AM, Sebastian Huber >> <sebastian.hu...@embedded-brains.de >> <mailto:sebastian.hu...@embedded-brains.de>> wrote: >> >> On some architectures/simulators it is difficult to provoke an >> exception with misaligned or illegal data loads. Use an illegal >> instruction instead. >> >> Update #3433. >> --- >> testsuites/sptests/spfatal26/init.c | 10 +++++++++- >> 1 file changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/testsuites/sptests/spfatal26/init.c >> b/testsuites/sptests/spfatal26/init.c >> index 1848659d6a..7d635f3b84 100644 >> --- a/testsuites/sptests/spfatal26/init.c >> +++ b/testsuites/sptests/spfatal26/init.c >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. >> + * Copyright (c) 2012, 2018 embedded brains GmbH. All rights >> reserved. >> * >> * embedded brains GmbH >> * Obere Lagerstr. 30 >> @@ -24,6 +24,13 @@ >> >> const char rtems_test_name[] = "SPFATAL 26"; >> >> +static void provoke_illegal_instruction_exception( void ) >> +{ >> +#ifdef __riscv >> + __asm__ volatile (".word 0"); >> +#endif >> +} >> + >> static void provoke_aligment_or_data_access_exception( void ) >> { >> uintptr_t one = 1; >> @@ -53,6 +60,7 @@ static void Init( rtems_task_argument arg ) >> { >> TEST_BEGIN(); >> >> + provoke_illegal_instruction_exception(); >> provoke_aligment_or_data_access_exception(); >> >> rtems_test_assert( 0 ); >> -- 2.13.7 >> >> _______________________________________________ >> devel mailing list >> devel@rtems.org <mailto:devel@rtems.org> >> http://lists.rtems.org/mailman/listinfo/devel >> <http://lists.rtems.org/mailman/listinfo/devel> >> >> > > -- > Sebastian Huber, embedded brains GmbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : sebastian.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel