Never allow the FPU to be switched on for integer-only tasks

(new gcc may use FP regs implicitely).
This commit is contained in:
Till Straumann
2006-06-19 19:49:11 +00:00
parent 677c3d81cf
commit efc0cd8757
2 changed files with 5 additions and 21 deletions

View File

@@ -1,3 +1,8 @@
2006-06-19 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S: Never allow the FPU to be switched on
for integer-only tasks (new gcc may use FP regs implicitely).
2006-03-08 Joel Sherrill <joel@OARcorp.com>
* shared/startup/linkcmds: Add .gnu.linkonce.b.* section.

View File

@@ -299,27 +299,6 @@ nested:
rfi
switch:
#if ( PPC_HAS_FPU != 0 )
#if ! defined( CPU_USE_DEFERRED_FP_SWITCH )
#error missing include file???
#endif
mfmsr r4
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
/* if the executing thread has FP enabled propagate
* this now so _Thread_Dispatch can save/restore the FPREGS
* NOTE: it is *crucial* to disable the FPU across the
* user ISR [independent of using the 'deferred'
* strategy or not]. We don't save FP regs across
* the user ISR and hence we prefer an exception to
* be raised rather than experiencing corruption.
*/
lwz r3, SRR1_FRAME_OFFSET(r1)
rlwimi r4, r3, 0, 18, 18 /* MSR_FP */
#else
ori r4, r4, MSR_FP
#endif
mtmsr r4
#endif
bl SYM (_Thread_Dispatch)
easy_exit: