diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-06-02 21:43:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-06-09 09:05:50 +0200 |
commit | 335e5caa9a9e0f28acf94fe4c2871017fcd71794 (patch) | |
tree | 13eb37c82f52e2a0e6199eb03aad6590eeabc566 /cpukit/score/src/threadloadenv.c | |
parent | sptests/spcontext01: Improve output (diff) | |
download | rtems-335e5caa9a9e0f28acf94fe4c2871017fcd71794.tar.bz2 |
score: Add Thread_Control::is_fp
Store the floating-point unit property in the thread control block
regardless of the CPU_HARDWARE_FP and CPU_SOFTWARE_FP settings. Make
sure the floating-point unit is only enabled for the corresponding
multilibs. This helps targets which have a volatile only floating point
context like SPARC for example.
Diffstat (limited to 'cpukit/score/src/threadloadenv.c')
-rw-r--r-- | cpukit/score/src/threadloadenv.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/cpukit/score/src/threadloadenv.c b/cpukit/score/src/threadloadenv.c index c84e2b4388..43564af878 100644 --- a/cpukit/score/src/threadloadenv.c +++ b/cpukit/score/src/threadloadenv.c @@ -25,17 +25,14 @@ void _Thread_Load_environment( Thread_Control *the_thread ) { - bool is_fp; uint32_t isr_level; #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE ) if ( the_thread->Start.fp_context ) { the_thread->fp_context = the_thread->Start.fp_context; _Context_Initialize_fp( &the_thread->fp_context ); - is_fp = true; - } else + } #endif - is_fp = false; the_thread->is_preemptible = the_thread->Start.is_preemptible; the_thread->budget_algorithm = the_thread->Start.budget_algorithm; @@ -58,7 +55,7 @@ void _Thread_Load_environment( the_thread->Start.Initial_stack.size, isr_level, _Thread_Handler, - is_fp, + the_thread->is_fp, the_thread->Start.tls_area ); |