diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-01-08 09:53:26 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-01-09 10:35:33 +0100 |
commit | 3bd3999936cfa8a77a545e513669e61877f9ccb6 (patch) | |
tree | fedf8ff5eb9a41a659f856b88df92e60fc65986a /testsuites/sptests/sp08/init.c | |
parent | rtems: Allow to set ISR level 0 in SMP config (diff) | |
download | rtems-3bd3999936cfa8a77a545e513669e61877f9ccb6.tar.bz2 |
Adjust interrupt mode tests for some CPU ports
In case the robust thread dispatch is enabled by the CPU port, then the
interrupt level must not be changed through the task mode.
Update #3000.
Diffstat (limited to 'testsuites/sptests/sp08/init.c')
-rw-r--r-- | testsuites/sptests/sp08/init.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/testsuites/sptests/sp08/init.c b/testsuites/sptests/sp08/init.c index 98a7fccdcf..2ed585ddd7 100644 --- a/testsuites/sptests/sp08/init.c +++ b/testsuites/sptests/sp08/init.c @@ -175,7 +175,7 @@ rtems_task Init( /* END OF RTEMS_PREEMPT */ /* BEGINNING OF RTEMS_INTERRUPT_LEVEL */ -#if !defined(RTEMS_SMP) +#if CPU_ENABLE_ROBUST_THREAD_DISPATCH == FALSE status = rtems_task_mode( RTEMS_INTERRUPT_LEVEL(3), RTEMS_INTERRUPT_MASK, @@ -197,13 +197,25 @@ rtems_task Init( "TA1 - rtems_task_mode - RTEMS_INTERRUPT_LEVEL( 5 ) - previous mode: ", previous_mode ); +#else + status = rtems_task_mode( + RTEMS_INTERRUPT_LEVEL( 1 ), + RTEMS_INTERRUPT_MASK, + &previous_mode + ); + fatal_directive_status( status, RTEMS_NOT_IMPLEMENTED, "rtems_task_mode" ); #endif /* END OF RTEMS_INTERRUPT_LEVEL */ /* BEGINNING OF COMBINATIONS */ status = rtems_task_mode( - RTEMS_INTERRUPT_LEVEL(3) | RTEMS_NO_ASR | +#if CPU_ENABLE_ROBUST_THREAD_DISPATCH == TRUE + RTEMS_INTERRUPT_LEVEL(0) | +#else + RTEMS_INTERRUPT_LEVEL(3) | +#endif + RTEMS_NO_ASR | RTEMS_TIMESLICE | RTEMS_NO_PREEMPT, RTEMS_INTERRUPT_MASK | RTEMS_ASR_MASK | RTEMS_TIMESLICE_MASK | RTEMS_PREEMPT_MASK, @@ -216,7 +228,12 @@ rtems_task Init( ); status = rtems_task_mode( - RTEMS_INTERRUPT_LEVEL(3) | RTEMS_NO_ASR | +#if CPU_ENABLE_ROBUST_THREAD_DISPATCH == TRUE + RTEMS_INTERRUPT_LEVEL(0) | +#else + RTEMS_INTERRUPT_LEVEL(3) | +#endif + RTEMS_NO_ASR | RTEMS_TIMESLICE | RTEMS_NO_PREEMPT, RTEMS_INTERRUPT_MASK | RTEMS_ASR_MASK | RTEMS_TIMESLICE_MASK | RTEMS_PREEMPT_MASK, |