Commit 2ee1503e authored by Jiaxun Yang's avatar Jiaxun Yang Committed by Thomas Bogendoerfer
Browse files

MIPS: zboot: head.S clean up



.cprestore is removed as we don't expect Position Independent
zboot ELF.

.noreorder is also removed and rest instructions are massaged
to improve readability.

t9 register is used for indirect jump as MIPS ABI requirement.

start label is removed as it already defined in LEAF.

Reported-by: default avatarPaul Cercueil <paul@crapouillou.net>
Signed-off-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: default avatarHuacai Chen <chenhuacai@kernel.org>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent cf8194e4
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -15,10 +15,7 @@
#include <asm/asm.h>
#include <asm/regdef.h>

	.set noreorder
	.cprestore
	LEAF(start)
start:
	/* Save boot rom start args */
	move	s0, a0
	move	s1, a1
@@ -35,21 +32,20 @@ start:
	PTR_LA	a0, (.heap)	     /* heap address */
	PTR_LA	sp, (.stack + 8192)  /* stack address */

	PTR_LA	ra, 2f
	PTR_LA	k0, decompress_kernel
	jr	k0
	 nop
	PTR_LA	t9, decompress_kernel
	jalr	t9

2:
	move	a0, s0
	move	a1, s1
	move	a2, s2
	move	a3, s3
	PTR_LI	k0, KERNEL_ENTRY
	jr	k0
	 nop
	PTR_LI	t9, KERNEL_ENTRY
	jalr	t9

3:
	b	3b
	 nop

	END(start)

	.comm .heap,BOOT_HEAP_SIZE,4