1*d2fd7a44SDavid du Colombier#define NPRIVATES 16 2*d2fd7a44SDavid du Colombier 3*d2fd7a44SDavid du ColombierGLOBL _tos(SB), $4 4*d2fd7a44SDavid du ColombierGLOBL _privates(SB), $4 5*d2fd7a44SDavid du ColombierGLOBL _nprivates(SB), $4 6*d2fd7a44SDavid du Colombier 7*d2fd7a44SDavid du ColombierTEXT _mainp(SB), 1, $(3*4+NPRIVATES*4) 87dd7cddfSDavid du Colombier 97dd7cddfSDavid du Colombier MOVW $setSB(SB), R2 107dd7cddfSDavid du Colombier 11*d2fd7a44SDavid du Colombier /* _tos = arg */ 12*d2fd7a44SDavid du Colombier MOVW R3, _tos(SB) 13*d2fd7a44SDavid du Colombier MOVW $8(SP), R1 14*d2fd7a44SDavid du Colombier MOVW R1, _privates(SB) 15*d2fd7a44SDavid du Colombier MOVW $NPRIVATES, R1 16*d2fd7a44SDavid du Colombier MOVW R1, _nprivates(SB) 17*d2fd7a44SDavid du Colombier 18*d2fd7a44SDavid du Colombier /* _profmain(); */ 197dd7cddfSDavid du Colombier BL _envsetup(SB) 20*d2fd7a44SDavid du Colombier 21*d2fd7a44SDavid du Colombier /* _tos->prof.pp = _tos->prof.next; */ 22*d2fd7a44SDavid du Colombier MOVW _tos+0(SB),R1 23*d2fd7a44SDavid du Colombier MOVW 4(R1),R2 24*d2fd7a44SDavid du Colombier MOVW R2,(R1) 25*d2fd7a44SDavid du Colombier 26*d2fd7a44SDavid du Colombier /* main(argc, argv, environ); */ 277dd7cddfSDavid du Colombier MOVW inargc-4(FP), R3 287dd7cddfSDavid du Colombier MOVW $inargv+0(FP), R4 29*d2fd7a44SDavid du Colombier MOVW environ(SB), R5 307dd7cddfSDavid du Colombier MOVW R3, 4(R1) 317dd7cddfSDavid du Colombier MOVW R4, 8(R1) 32*d2fd7a44SDavid du Colombier MOVW R5, 12(R1) 337dd7cddfSDavid du Colombier BL main(SB) 349a747e4fSDavid du Colombierloop: 359a747e4fSDavid du Colombier MOVW R3, 4(R1) 369a747e4fSDavid du Colombier BL exit(SB) 37*d2fd7a44SDavid du Colombier MOVW $_profin(SB), R4 /* force loading of profile */ 389a747e4fSDavid du Colombier BR loop 39*d2fd7a44SDavid du Colombier 40*d2fd7a44SDavid du ColombierTEXT _savearg(SB), 1, $0 41*d2fd7a44SDavid du Colombier RETURN 42*d2fd7a44SDavid du Colombier 43*d2fd7a44SDavid du ColombierTEXT _callpc(SB), 1, $0 44*d2fd7a44SDavid du Colombier MOVW argp+0(FP), R3 45*d2fd7a44SDavid du Colombier MOVW 4(R3), R3 46*d2fd7a44SDavid du Colombier RETURN 47