summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/68020
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/68020
parent3b91c0fcc556960f767b70b59d5eb8f5e7ac00fa (diff)
ape: initialize _tos and use _tos->pid for getpid()
Diffstat (limited to 'sys/src/ape/lib/ap/68020')
-rw-r--r--sys/src/ape/lib/ap/68020/main9.s14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/src/ape/lib/ap/68020/main9.s b/sys/src/ape/lib/ap/68020/main9.s
index 04e40c5e6..715331ff4 100644
--- a/sys/src/ape/lib/ap/68020/main9.s
+++ b/sys/src/ape/lib/ap/68020/main9.s
@@ -1,5 +1,17 @@
-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)
MOVL $a6base(SB), A6
+
+ /* _tos = arg */
+ MOVL R0, _tos(SB) /* return value of sys exec!! */
+ LEA private+8(SP), _privates(SB)
+ MOVL $NPRIVATES, _nprivates(SB)
+
PEA inargv+0(FP)
MOVL inargc-4(FP), TOS
BSR _envsetup(SB)