diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2012-10-17 01:01:21 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-10-17 01:01:21 +0200 |
commit | fb944c9ba3f4838a64929a1926822e987b4e44c0 (patch) | |
tree | 288de3517e82ae560d154c69cea57e98c96d2b51 /arch/mips/mm/tlb-r4k.c | |
parent | 01422ff49135e0b747132686405ea8a58f760997 (diff) | |
download | linux-fb944c9ba3f4838a64929a1926822e987b4e44c0.tar.gz linux-fb944c9ba3f4838a64929a1926822e987b4e44c0.tar.bz2 linux-fb944c9ba3f4838a64929a1926822e987b4e44c0.zip |
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) tlb_write_random(); else tlb_write_indexed(); + tlbw_use_hazard(); write_c0_pagemask(PM_DEFAULT_MASK); } else #endif |