xref: /plan9/sys/src/9/mtx/initcode (revision 6a9fc400c33447ef5e1cda7185cb4de2c8e8010e)
19a747e4fSDavid du Colombier#include "/sys/src/libc/9syscall/sys.h"
29a747e4fSDavid du Colombier
39a747e4fSDavid du Colombier/*
49a747e4fSDavid du Colombier *  we pass in the argument of the exec parameters as 0(FP)
59a747e4fSDavid du Colombier */
69a747e4fSDavid du Colombier
79a747e4fSDavid du ColombierTEXT	main(SB),$8
89a747e4fSDavid du Colombier
99a747e4fSDavid du Colombier	MOVW	$setSB(SB), R2
109a747e4fSDavid du Colombier	MOVW	$boot(SB), R3
119a747e4fSDavid du Colombier	ADD	$12, R1, R4	/* get a pointer to 0(FP) */
129a747e4fSDavid du Colombier	MOVW	R3, 4(R1)
139a747e4fSDavid du Colombier	MOVW	R4, 8(R1)
149a747e4fSDavid du Colombier	MOVW	$EXEC, R3
159a747e4fSDavid du Colombier	SYSCALL
169a747e4fSDavid du Colombier
179a747e4fSDavid du Colombier	/* should never get here */
189a747e4fSDavid du Colombierloop:
199a747e4fSDavid du Colombier	BR	loop
209a747e4fSDavid du Colombier
219a747e4fSDavid du ColombierDATA	boot+0(SB)/5,$"/boot"
22*6a9fc400SDavid du ColombierDATA	boot+5(SB)/5,$"/boot"
23*6a9fc400SDavid du ColombierDATA	bootv+0(SB)/4,$boot+6(SB)
24*6a9fc400SDavid du ColombierGLOBL	boot+0(SB),$11
259a747e4fSDavid du ColombierGLOBL	bootv+0(SB),$8
26