180ee5cbfSDavid du Colombierarg=0 280ee5cbfSDavid du Colombiersp=13 380ee5cbfSDavid du Colombiersb=12 480ee5cbfSDavid du Colombier 5*d2fd7a44SDavid du Colombier#define NPRIVATES 16 680ee5cbfSDavid du Colombier 7*d2fd7a44SDavid du ColombierGLOBL _tos(SB), $4 8*d2fd7a44SDavid du ColombierGLOBL _privates(SB), $4 9*d2fd7a44SDavid du ColombierGLOBL _nprivates(SB), $4 10*d2fd7a44SDavid du Colombier 11*d2fd7a44SDavid du ColombierTEXT _mainp(SB), 1, $(3*4+NPRIVATES*4) 12*d2fd7a44SDavid du Colombier 13*d2fd7a44SDavid du Colombier MOVW $setR12(SB), R(sb) 14*d2fd7a44SDavid du Colombier 15*d2fd7a44SDavid du Colombier /* _tos = arg */ 16*d2fd7a44SDavid du Colombier MOVW R(arg), _tos(SB) 17*d2fd7a44SDavid du Colombier MOVW $private+8(SP), R1 18*d2fd7a44SDavid du Colombier MOVW R1, _privates(SB) 19*d2fd7a44SDavid du Colombier MOVW $NPRIVATES, R1 20*d2fd7a44SDavid du Colombier MOVW R1, _nprivates(SB) 21*d2fd7a44SDavid du Colombier 22*d2fd7a44SDavid du Colombier /* _profmain(); */ 2380ee5cbfSDavid du Colombier BL _profmain(SB) 24*d2fd7a44SDavid du Colombier 25*d2fd7a44SDavid du Colombier /* _tos->prof.pp = _tos->prof.next; */ 26*d2fd7a44SDavid du Colombier MOVW _tos+0(SB),R1 27*d2fd7a44SDavid du Colombier MOVW 4(R1), R2 28*d2fd7a44SDavid du Colombier MOVW R2, 0(R1) 29*d2fd7a44SDavid du Colombier 3080ee5cbfSDavid du Colombier BL _envsetup(SB) 31*d2fd7a44SDavid du Colombier 32*d2fd7a44SDavid du Colombier /* main(argc, argv, environ); */ 3380ee5cbfSDavid du Colombier MOVW $inargv+0(FP), R(arg) 3480ee5cbfSDavid du Colombier MOVW R(arg), 8(R(sp)) 3580ee5cbfSDavid du Colombier MOVW inargc-4(FP), R(arg) 3680ee5cbfSDavid du Colombier MOVW R(arg), 4(R(sp)) 37*d2fd7a44SDavid du Colombier MOVW environ(SB), R(arg) 38*d2fd7a44SDavid du Colombier MOVW R(arg), 8(R(sp)) 3980ee5cbfSDavid du Colombier BL main(SB) 4080ee5cbfSDavid du Colombierloop: 4180ee5cbfSDavid du Colombier MOVW R(arg), 4(R(sp)) 42*d2fd7a44SDavid du Colombier BL exit(SB) 4380ee5cbfSDavid du Colombier MOVW $_div(SB), R(arg) /* force loading of div */ 4480ee5cbfSDavid du Colombier MOVW $_profin(SB), R(arg) /* force loading of profile */ 4580ee5cbfSDavid du Colombier B loop 4680ee5cbfSDavid du Colombier 4780ee5cbfSDavid du ColombierTEXT _savearg(SB), 1, $0 4880ee5cbfSDavid du Colombier RET 4980ee5cbfSDavid du Colombier 5080ee5cbfSDavid du ColombierTEXT _callpc(SB), 1, $0 5180ee5cbfSDavid du Colombier MOVW argp-4(FP), R(arg) 5280ee5cbfSDavid du Colombier RET 53