summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/score/cpu/powerpc/ChangeLog5
-rw-r--r--cpukit/score/cpu/powerpc/rtems/score/cpu.h6
2 files changed, 10 insertions, 1 deletions
diff --git a/cpukit/score/cpu/powerpc/ChangeLog b/cpukit/score/cpu/powerpc/ChangeLog
index d4a565da0c..de4e664d21 100644
--- a/cpukit/score/cpu/powerpc/ChangeLog
+++ b/cpukit/score/cpu/powerpc/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-09 Joel Sherrill <joel@OARcorp.com>
+
+ * rtems/score/cpu.h: Because gcc implicitly uses floating point turn on
+ floating point for all threads if there is a hardware FPU.
+
2006-07-12 Till Straumann <strauman@slac.stanford.edu>
* rtems/old-exceptions/cpu.h, rtems/powerpc/registers.h:
diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h
index 3739ccec63..b3115bb312 100644
--- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h
@@ -157,9 +157,13 @@
* If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed.
*
* If CPU_HARDWARE_FP is FALSE, then this should be FALSE as well.
+ *
+ * PowerPC Note: It appears the GCC can implicitly generate FPU
+ * and Altivec instructions when you least expect them. So make
+ * all tasks floating point.
*/
-#define CPU_ALL_TASKS_ARE_FP FALSE
+#define CPU_ALL_TASKS_ARE_FP CPU_HARDWARE_FP
/*
* Should the IDLE task have a floating point context?