From: Alistair Popple Date: Wed, 6 Aug 2014 07:03:09 +0000 (+1000) Subject: powerpc/ppc476: Disable BTAC X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=97b3be1e9404f4c1645f3286428abd4d2052041e;p=deliverable%2Flinux.git 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 Signed-off-by: Benjamin Herrenschmidt --- diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S index c334f53453f7..b5061abbd2e0 100644 --- a/arch/powerpc/kernel/head_44x.S +++ b/arch/powerpc/kernel/head_44x.S @@ -1210,10 +1210,12 @@ clear_utlb_entry: /* We configure icbi to invalidate 128 bytes at a time since the * 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 oris r3,r3,0x0020 + ori r3,r3,0x0040 mtspr SPRN_CCR0,r3 isync