aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Beldan <karl.beldan@gmail.com>2017-06-27 15:22:16 -0400
committerRalf Baechle <ralf@linux-mips.org>2017-06-27 17:35:21 -0400
commit25d8b92e0af75d72ce8b99e63e5a449cc0888efa (patch)
tree72fa5534d97c8d3b7d03570278a7529cfc370aab
parentc0bc126f97fb929b3ae02c1c62322645d70eb408 (diff)
MIPS: head: Reorder instructions missing a delay slot
In this sequence the 'move' is assumed in the delay slot of the 'beq', but head.S is in reorder mode and the former gets pushed one 'nop' farther by the assembler. The corrected behavior made booting with an UHI supplied dtb erratic. Fixes: 15f37e158892 ("MIPS: store the appended dtb address in a variable") Signed-off-by: Karl Beldan <karl.beldan+oss@gmail.com> Reviewed-by: James Hogan <james.hogan@imgtec.com> Cc: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/16614/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index cf052204eb0a..d1bb506adc10 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -106,8 +106,8 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
106 beq t0, t1, dtb_found 106 beq t0, t1, dtb_found
107#endif 107#endif
108 li t1, -2 108 li t1, -2
109 beq a0, t1, dtb_found
110 move t2, a1 109 move t2, a1
110 beq a0, t1, dtb_found
111 111
112 li t2, 0 112 li t2, 0
113dtb_found: 113dtb_found: