forked from Minki/linux
MIPS: No branches in delay slots for huge pages in handle_tlbl
For the case PM_DEFAULT_MASK == 0, we were placing a branch in the delay slot of another branch. This leads to undefined behavior. Signed-off-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2775/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
d968275921
commit
0f4ccbc835
@ -1962,7 +1962,8 @@ static void __cpuinit build_r4000_tlb_load_handler(void)
|
||||
uasm_i_andi(&p, wr.r3, wr.r3, 2);
|
||||
uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround2);
|
||||
}
|
||||
|
||||
if (PM_DEFAULT_MASK == 0)
|
||||
uasm_i_nop(&p);
|
||||
/*
|
||||
* We clobbered C0_PAGEMASK, restore it. On the other branch
|
||||
* it is restored in build_huge_tlb_write_entry.
|
||||
|
Loading…
Reference in New Issue
Block a user