diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-12-03 05:22:21 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-12-03 05:22:21 +0100 |
commit | f3842de5fd405859f0a2de9a6f9fed0311c4629c (patch) | |
tree | 54296a0438016951e0acafddfeabfaa6c513202e /sys/src/ape/lib/ap/mips | |
parent | 3b91c0fcc556960f767b70b59d5eb8f5e7ac00fa (diff) |
ape: initialize _tos and use _tos->pid for getpid()
Diffstat (limited to 'sys/src/ape/lib/ap/mips')
-rw-r--r-- | sys/src/ape/lib/ap/mips/main9.s | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sys/src/ape/lib/ap/mips/main9.s b/sys/src/ape/lib/ap/mips/main9.s index a3c224ace..03db87a98 100644 --- a/sys/src/ape/lib/ap/mips/main9.s +++ b/sys/src/ape/lib/ap/mips/main9.s @@ -1,5 +1,27 @@ - TEXT _main(SB), $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 $setR30(SB), R30 + + /* _tos = arg */ + MOVW R1, _tos(SB) +/* + MOVW $0,FCR31 + NOR R0,R0 + MOVD $0.5, F26 + SUBD F26, F26, F24 + ADDD F26, F26, F28 + ADDD F28, F28, F30 +*/ + MOVW $8(SP), R1 + MOVW R1, _privates(SB) + MOVW $NPRIVATES, R1 + MOVW R1, _nprivates(SB) + JAL _envsetup(SB) MOVW inargc-4(FP), R1 MOVW $inargv+0(FP), R2 |