| plan 9 kernel history: overview | file list | diff list |
1991/1106/ss/l.s (diff list | history)
| 1991/1105/sys/src/9/ss/l.s:119,125 – 1991/1106/sys/src/9/ss/l.s:119,125 (short | long | prev | next) | ||
| 1991/1006 | ||
| 1990/1226 | RETURN | |
| 1991/1106 | TEXT touser(SB), $0 | |
| 1991/1105 | MOVW $(SYSPSR&~PSREF), R8 MOVW R8, PSR | |
| 1990/1226 | OR R0, R0 | |
| 1991/1105/sys/src/9/ss/l.s:187,196 – 1991/1106/sys/src/9/ss/l.s:187,196 | ||
| 1991/0112 | MOVD R28, (4*28)(R1) MOVD R30, (4*30)(R1) | |
| 1990/1226 | /* SP and SB and u and m are already set; away we go */ | |
| 1991/1106 | MOVW R1, R7 /* pointer to Ureg */ | |
| 1990/1226 | SUB $8, R1 | |
| 1991/1106 | MOVW $SYSPSR, R8 MOVW R8, PSR | |
| 1990/1226 | OR R0, R0 OR R0, R0 OR R0, R0 | |
| 1991/1105/sys/src/9/ss/l.s:272,281 – 1991/1106/sys/src/9/ss/l.s:272,281 | ||
| 1990/1226 | /* now our registers R8-R31 are same as before trap */ MOVW R15, (4*15)(R1) /* SP and SB and u and m are already set; away we go */ | |
| 1991/1106 | MOVW R1, R7 /* pointer to Ureg */ | |
| 1990/1226 | SUB $8, R1 | |
| 1991/1106 | MOVW $SYSPSR, R8 MOVW R8, PSR | |
| 1990/1226 | JMPL syscall(SB) /* R7 contains return value from syscall */ | |