powerpc/ppc476: Disable BTAC

This patch disables the branch target address CAM which under specific
circumstances may cause the processor to skip execution of 1-4
instructions. This fixes IBM Erratum #47.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Alistair Popple 2014-08-06 17:03:09 +10:00 committed by Benjamin Herrenschmidt
parent 763fe0addb
commit 97b3be1e94
1 changed files with 3 additions and 1 deletions

View File

@ -1210,10 +1210,12 @@ clear_utlb_entry:
/* We configure icbi to invalidate 128 bytes at a time since the /* We configure icbi to invalidate 128 bytes at a time since the
* current 32-bit kernel code isn't too happy with icache != dcache * current 32-bit kernel code isn't too happy with icache != dcache
* block size * block size. We also disable the BTAC as this can cause errors
* in some circumstances (see IBM Erratum 47).
*/ */
mfspr r3,SPRN_CCR0 mfspr r3,SPRN_CCR0
oris r3,r3,0x0020 oris r3,r3,0x0020
ori r3,r3,0x0040
mtspr SPRN_CCR0,r3 mtspr SPRN_CCR0,r3
isync isync