summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/threadloadenv.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-06-02 21:43:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-06-09 09:05:50 +0200
commit335e5caa9a9e0f28acf94fe4c2871017fcd71794 (patch)
tree13eb37c82f52e2a0e6199eb03aad6590eeabc566 /cpukit/score/src/threadloadenv.c
parentsptests/spcontext01: Improve output (diff)
downloadrtems-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.c7
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
);