diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2009-03-18 23:55:41 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-03-23 22:47:32 -0400 |
commit | 2319f1239592d0de80414ad2338c2bd7384a2a41 (patch) | |
tree | 805de041dfc84ae9ca767c9767d833977654dbe0 /arch/powerpc/include/asm/mmu.h | |
parent | eb3436a0139a651a39dbb37a75b10a2cccd00ad5 (diff) |
powerpc/mm: e300c2/c3/c4 TLB errata workaround
Complete workaround for DTLB errata in e300c2/c3/c4 processors.
Due to the bug, the hardware-implemented LRU algorythm always goes to way
1 of the TLB. This fix implements the proposed software workaround in
form of a LRW table for chosing the TLB-way.
Based on patch from David Jander <david@protonic.nl>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/mmu.h')
-rw-r--r-- | arch/powerpc/include/asm/mmu.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index dc82dcd06aea..c073de4af849 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h | |||
@@ -46,6 +46,12 @@ | |||
46 | */ | 46 | */ |
47 | #define MMU_FTR_LOCK_BCAST_INVAL ASM_CONST(0x00100000) | 47 | #define MMU_FTR_LOCK_BCAST_INVAL ASM_CONST(0x00100000) |
48 | 48 | ||
49 | /* This indicates that the processor doesn't handle way selection | ||
50 | * properly and needs SW to track and update the LRU state. This | ||
51 | * is specific to an errata on e300c2/c3/c4 class parts | ||
52 | */ | ||
53 | #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000) | ||
54 | |||
49 | #ifndef __ASSEMBLY__ | 55 | #ifndef __ASSEMBLY__ |
50 | #include <asm/cputable.h> | 56 | #include <asm/cputable.h> |
51 | 57 | ||