forked from Imagelibrary/rtems
Never allow the FPU to be switched on for integer-only tasks
(new gcc may use FP regs implicitely).
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user