diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2006-06-19 19:49:11 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2006-06-19 19:49:11 +0000 |
commit | efc0cd8757de7449fa6fe62c6dc7d420e26df1b7 (patch) | |
tree | 1d63bbb3799203eb513422e80eab7e137c4bf7a8 /c | |
parent | More preps for VPATH builds. (diff) | |
download | rtems-efc0cd8757de7449fa6fe62c6dc7d420e26df1b7.tar.bz2 |
Never allow the FPU to be switched on for integer-only tasks
(new gcc may use FP regs implicitely).
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S | 21 |
2 files changed, 5 insertions, 21 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog index c11638e76e..aea6a064fa 100644 --- a/c/src/lib/libbsp/powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/ChangeLog @@ -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. diff --git a/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S b/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S index be3f92c1f5..4836c2a659 100644 --- a/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S +++ b/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S @@ -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: |