powerpc/85xx: Add workaround for erratum CPU-A003999
authorKumar Gala <galak@kernel.crashing.org>
Tue, 22 Nov 2011 12:51:15 +0000 (06:51 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Tue, 29 Nov 2011 14:48:05 +0000 (08:48 -0600)
commit43f082bb7fc1c24b32a4abc693869c7d14d42829
tree93f965962cb64edbac52e2ff28125641a68a9299
parenta63d9652757605ec5f7104addc5d38bf10ba8671
powerpc/85xx: Add workaround for erratum CPU-A003999

Erratum A-003999: Running Floating Point instructions requires special
initialization.

Impact:
Floating point arithmetic operations may result in an incorrect value.

Workaround:
Perform a read modify write to set bit 7 to a 1 in SPR 977 before
executing any floating point arithmetic operation. This bit can be set
when setting MSR[FP], and can be cleared when clearing MSR[FP].
Alternatively, the bit can be set once at boot time, and never cleared.
There will be no performance degradation due to setting this bit.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/cpu/mpc85xx/cmd_errata.c
arch/powerpc/cpu/mpc85xx/release.S
arch/powerpc/cpu/mpc85xx/start.S
arch/powerpc/include/asm/config_mpc85xx.h