diff options
author | Scott Wood <scottwood@freescale.com> | 2013-03-23 00:00:12 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-03-26 22:12:33 (GMT) |
commit | f4c0e693ccc3422c5b809e7cc8f59b7637e3b7ab (patch) | |
tree | fc94b78d6ef39714f13a7697febda9f66089cba8 /lib/string.c | |
parent | a3fcdacec909a20be8b1e8f07ec0419a0956204a (diff) | |
download | linux-fsl-qoriq-f4c0e693ccc3422c5b809e7cc8f59b7637e3b7ab.tar.xz |
powerpc/mpc85xx/e6500: work around CPU erratum A-006198
Erratum A-006198 says that a CPU can hang if a certain race
occurs between threads, involving CFX instructions (which includes
mtmsr). The workaround is to avoid using mtmsr to disable
MSR[EE/CE/DE]. To accomplish this, we use rfmci instead,
with some gymnastics to be resistant to races that overwrite
MCSRR0/MCSRR1.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
(cherry picked from commit 02f87072bc6a2a5102d6d203a84fdc1aba1d214f)
Change-Id: I61de1d7b753723a1046cdb0ee1e07b9d41f8f162
Reviewed-on: http://git.am.freescale.net:8181/693
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'lib/string.c')
0 files changed, 0 insertions, 0 deletions