[PATCH] sptests/spfatal26: Use an illegal instruction
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jul 19 13:37:31 UTC 2018
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.huber at embedded-brains.de
> <mailto:sebastian.huber at 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 at rtems.org <mailto:devel at 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.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list