diff options
Diffstat (limited to 'cpukit/score/cpu/sparc/syscall.S')
-rw-r--r-- | cpukit/score/cpu/sparc/syscall.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/score/cpu/sparc/syscall.S b/cpukit/score/cpu/sparc/syscall.S index 4f4ef32c53..737a501098 100644 --- a/cpukit/score/cpu/sparc/syscall.S +++ b/cpukit/score/cpu/sparc/syscall.S @@ -218,9 +218,10 @@ SYM(syscall_lazy_fp_switch): .Lfp_save_done: /* Restore the floating point context if necessary */ + st %g0, [%l4 + %lo(SPARC_THREAD_CONTROL_REGISTERS_FP_CONTEXT_OFFSET)] cmp %l6, 0 be .Lfp_restore_done - st %g0, [%l4 + %lo(SPARC_THREAD_CONTROL_REGISTERS_FP_CONTEXT_OFFSET)] + nop ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F0_F1], %f0 ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F2_F3], %f2 ldd [%l6 + SPARC_FP_CONTEXT_OFFSET_F4_F5], %f4 |