xref: /plan9-contrib/sys/src/9/ppc/initcode (revision 458db83292ea45506704800dedf36a95598fc2ec)
1*458db832SDavid du Colombier#include "/sys/src/libc/9syscall/sys.h"
2*458db832SDavid du Colombier
3*458db832SDavid du Colombier/*
4*458db832SDavid du Colombier *  we pass in the argument of the exec parameters as 0(FP)
5*458db832SDavid du Colombier */
6*458db832SDavid du Colombier
7*458db832SDavid du ColombierTEXT	main(SB),$8
8*458db832SDavid du Colombier
9*458db832SDavid du Colombier	MOVW	$setSB(SB), R2
10*458db832SDavid du Colombier	MOVW	$boot(SB), R3
11*458db832SDavid du Colombier	ADD	$12, R1, R4	/* get a pointer to 0(FP) */
12*458db832SDavid du Colombier	MOVW	R3, 4(R1)
13*458db832SDavid du Colombier	MOVW	R4, 8(R1)
14*458db832SDavid du Colombier	MOVW	$EXEC, R3
15*458db832SDavid du Colombier	SYSCALL
16*458db832SDavid du Colombier
17*458db832SDavid du Colombier	/* should never get here */
18*458db832SDavid du Colombierloop:
19*458db832SDavid du Colombier	BR	loop
20*458db832SDavid du Colombier
21*458db832SDavid du ColombierDATA	boot+0(SB)/5,$"/boot"
22*458db832SDavid du ColombierDATA	boot+5(SB)/5,$"/boot"
23*458db832SDavid du ColombierDATA	bootv+0(SB)/4,$boot+6(SB)
24*458db832SDavid du ColombierGLOBL	boot+0(SB),$11
25*458db832SDavid du ColombierGLOBL	bootv+0(SB),$8
26