]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/arm/main9p.s
pool: do poolcheck when free nodes get corrupted instead of assert
[plan9front.git] / sys / src / libc / arm / main9p.s
1 #define NPRIVATES       16
2
3 arg=0
4 sp=13
5 sb=12
6
7 TEXT    _mainp(SB), 1, $(16 + NPRIVATES*4)
8         MOVW    $setR12(SB), R(sb)
9         MOVW    R(arg), _tos(SB)
10
11         MOVW    $p-64(SP), R1
12         MOVW    R1, _privates(SB)
13         MOVW    $NPRIVATES, R1
14         MOVW    R1, _nprivates(SB)
15
16         BL      _profmain(SB)
17         MOVW    _tos(SB), R1
18         MOVW    4(R1), R0
19         MOVW    R0, 0(R1)
20
21         MOVW    $inargv+0(FP), R(arg)
22         MOVW    R(arg), 8(R(sp))
23         MOVW    inargc-4(FP), R(arg)
24         MOVW    R(arg), 4(R(sp))
25         BL      main(SB)
26 loop:
27         MOVW    $_exitstr<>(SB), R(arg)
28         MOVW    R(arg), 4(R(sp))
29         BL      exits(SB)
30         MOVW    $_div(SB), R(arg)       /* force loading of div */
31         MOVW    $_profin(SB), R(arg)    /* force loading of profile */
32         B       loop
33
34 TEXT    _savearg(SB), 1, $0
35         RET
36
37 TEXT    _callpc(SB), 1, $-4
38         MOVW    0(R13), R(arg)
39         RET
40
41 DATA    _exitstr<>+0(SB)/4, $"main"
42 GLOBL   _exitstr<>+0(SB), $5