summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/arm/main9.s
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-12-03 05:22:21 +0100
committercinap_lenrek <cinap_lenrek@gmx.de>2012-12-03 05:22:21 +0100
commitf3842de5fd405859f0a2de9a6f9fed0311c4629c (patch)
tree54296a0438016951e0acafddfeabfaa6c513202e /sys/src/ape/lib/ap/arm/main9.s
parent3b91c0fcc556960f767b70b59d5eb8f5e7ac00fa (diff)
ape: initialize _tos and use _tos->pid for getpid()
Diffstat (limited to 'sys/src/ape/lib/ap/arm/main9.s')
-rw-r--r--sys/src/ape/lib/ap/arm/main9.s17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/src/ape/lib/ap/arm/main9.s b/sys/src/ape/lib/ap/arm/main9.s
index cd04bea17..9913ea59d 100644
--- a/sys/src/ape/lib/ap/arm/main9.s
+++ b/sys/src/ape/lib/ap/arm/main9.s
@@ -2,8 +2,23 @@ arg=0
sp=13
sb=12
-TEXT _main(SB), 1, $16
+#define NPRIVATES 16
+
+GLOBL _tos(SB), $4
+GLOBL _privates(SB), $4
+GLOBL _nprivates(SB), $4
+
+TEXT _main(SB), 1, $(3*4+NPRIVATES*4)
+
MOVW $setR12(SB), R(sb)
+
+ /* _tos = arg */
+ MOVW R(arg), _tos(SB)
+ MOVW $private+8(SP), R1
+ MOVW R1, _privates(SB)
+ MOVW $NPRIVATES, R1
+ MOVW R1, _nprivates(SB)
+
BL _envsetup(SB)
MOVW $inargv+0(FP), R(arg)
MOVW R(arg), 8(R(sp))