summaryrefslogtreecommitdiff
path: root/lib/bcd.c
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2013-03-23 00:00:12 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-03-26 22:12:33 (GMT)
commitf4c0e693ccc3422c5b809e7cc8f59b7637e3b7ab (patch)
treefc94b78d6ef39714f13a7697febda9f66089cba8 /lib/bcd.c
parenta3fcdacec909a20be8b1e8f07ec0419a0956204a (diff)
downloadlinux-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/bcd.c')
0 files changed, 0 insertions, 0 deletions