It is wrong to restore the floating point context here. The _Context_Switch() ends up in _Thread_Handler() which will call _Thread_Restore_fp(). In _Thread_Do_dispatch() the FP restore is after the context switch. --- testsuites/tmtests/tm26/task1.c | 3 --- 1 file changed, 3 deletions(-)
diff --git a/testsuites/tmtests/tm26/task1.c b/testsuites/tmtests/tm26/task1.c index 6cec7da..ee66218 100644 --- a/testsuites/tmtests/tm26/task1.c +++ b/testsuites/tmtests/tm26/task1.c @@ -439,9 +439,6 @@ rtems_task Low_task( thread_disable_dispatch(); benchmark_timer_initialize(); -#if (CPU_HARDWARE_FP == 1) || (CPU_SOFTWARE_FP == 1) - _Context_Restore_fp( &_Thread_Get_executing()->fp_context ); -#endif _Context_Switch( &executing->Registers, &_Thread_Get_executing()->Registers -- 2.1.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel