aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/boot/compressed
diff options
context:
space:
mode:
authorJinyang He <hejinyang@loongson.cn>2021-01-06 08:47:39 +0800
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2021-01-07 17:12:14 +0100
commitfdd85e04df3fdd55bb7f32786890fdfb200c40f0 (patch)
tree1885f0dfc2fe3cf011eceac1e68bb5d353f86a22 /arch/mips/boot/compressed
parentMIPS: Remove empty prom_free_prom_memory functions (diff)
downloadlinux-dev-fdd85e04df3fdd55bb7f32786890fdfb200c40f0.tar.xz
linux-dev-fdd85e04df3fdd55bb7f32786890fdfb200c40f0.zip
MIPS: zboot: Avoid endless loop in clear BSS.
Commit 2ee1503e546f ("MIPS: zboot: head.S clean up"). After .noreorder removed, clear BSS fall into endless loop. The bne instruction will add nop to the delay slot at compile time. So a0 register will not increment by 4. Fix it and clear BSS from _edata to (_end - 1). Signed-off-by: Jinyang He <hejinyang@loongson.cn> Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips/boot/compressed')
-rw-r--r--arch/mips/boot/compressed/head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/boot/compressed/head.S b/arch/mips/boot/compressed/head.S
index 070b2fbabae4..5795d0af1e1b 100644
--- a/arch/mips/boot/compressed/head.S
+++ b/arch/mips/boot/compressed/head.S
@@ -26,8 +26,8 @@
PTR_LA a0, _edata
PTR_LA a2, _end
1: sw zero, 0(a0)
+ addiu a0, a0, 4
bne a2, a0, 1b
- addiu a0, a0, 4
PTR_LA a0, (.heap) /* heap address */
PTR_LA sp, (.stack + 8192) /* stack address */