diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2012-10-16 19:01:21 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-10-16 19:01:21 -0400 |
commit | fb944c9ba3f4838a64929a1926822e987b4e44c0 (patch) | |
tree | 288de3517e82ae560d154c69cea57e98c96d2b51 /arch/mips/mm/tlb-r4k.c | |
parent | 01422ff49135e0b747132686405ea8a58f760997 (diff) |
MIPS: hugetlbfs: Fix hazard between tlb write and pagemask restoration.
On some CPU the write to pagemask might complete before the TLB write
instruction reads from the pagemask register.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mm/tlb-r4k.c')
-rw-r--r-- | arch/mips/mm/tlb-r4k.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c index 87b9cfcc30ff..4b9b935a070e 100644 --- a/arch/mips/mm/tlb-r4k.c +++ b/arch/mips/mm/tlb-r4k.c | |||
@@ -320,6 +320,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte) | |||
320 | tlb_write_random(); | 320 | tlb_write_random(); |
321 | else | 321 | else |
322 | tlb_write_indexed(); | 322 | tlb_write_indexed(); |
323 | tlbw_use_hazard(); | ||
323 | write_c0_pagemask(PM_DEFAULT_MASK); | 324 | write_c0_pagemask(PM_DEFAULT_MASK); |
324 | } else | 325 | } else |
325 | #endif | 326 | #endif |