powerpc/book3e: Use way 3 for linear mapping bolted entry
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 14 Apr 2011 22:32:04 +0000 (22:32 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 27 Apr 2011 03:02:14 +0000 (13:02 +1000)
An erratum on A2 can lead to the bolted entry we insert for the linear
mapping being evicted, to avoid that write the bolted entry to way 3.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/exceptions-64e.S

index 9651acc3504a9338aedc99211650efca44879221..8fe0fc233f024200d3b9e686cb44e98ba6cb03c8 100644 (file)
@@ -864,8 +864,9 @@ have_hes:
         * that will have to be made dependent on whether we are running under
         * a hypervisor I suppose.
         */
-       ori     r3,r3,MAS0_HES | MAS0_WQ_ALLWAYS
-       mtspr   SPRN_MAS0,r3
+       ori     r11,r3,MAS0_WQ_ALLWAYS
+       oris    r11,r11,MAS0_ESEL(3)@h /* Use way 3: workaround A2 erratum 376 */
+       mtspr   SPRN_MAS0,r11
        lis     r3,(MAS1_VALID | MAS1_IPROT)@h
        ori     r3,r3,BOOK3E_PAGESZ_1GB << MAS1_TSIZE_SHIFT
        mtspr   SPRN_MAS1,r3