| plan 9 kernel history: overview | file list | diff list |
1999/0514/alphapc/l.s (diff list | history)
| 1999/0415/sys/src/9/alphapc/l.s:151,156 – 1999/0426/sys/src/9/alphapc/l.s:151,165 (short | long) | ||
| 1999/0415 | CALL_PAL $PALwrfen RET | |
| 1999/0426 | TEXT rpcc(SB), $0 MOVL R0, R1 MOVL $0, R0 WORD $0x6000C000 /* RPCC R0 */ BEQ R1, _ret MOVQ R0, (R1) _ret: RET | |
| 1999/0415 | /* * Exception handlers. The stack frame looks like this: * | |
| 1999/0426/sys/src/9/alphapc/l.s:2,13 – 1999/0514/sys/src/9/alphapc/l.s:2,13 (short | long) | ||
| 1999/0415 | #define SP R30 | |
| 1999/0514 | #define HI_IPL 6 /* use 7 to disable mchecks */ | |
| 1999/0415 | TEXT _main(SB), $-8 MOVQ $setSB(SB), R29 MOVQ R29, R16 | |
| 1999/0514 | CALL_PAL $PALwrkgp | |
| 1999/0415 | MOVQ $mach0(SB), R(MACH) MOVQ $(BY2PG-8)(R(MACH)), R30 MOVQ R31, R(USER) | |
| 1999/0426/sys/src/9/alphapc/l.s:18,48 – 1999/0514/sys/src/9/alphapc/l.s:18,80 | ||
| 1999/0415 | MOVQ R31, (R1) ADDQ $8, R1 CMPUGT R1, R2, R3 | |
| 1999/0514 | BEQ R3, clrbss | |
| 1999/0415 |
| |
| 1999/0514 | MOVL R0, bootconf(SB) /* passed in from boot loader */ | |
| 1999/0415 |
| |
| 1999/0514 | _fpinit: MOVQ R0, R16 CALL_PAL $PALwrfen | |
| 1999/0415 | MOVQ $1, R1 | |
| 1999/0514 | SLLQ $59, R1 /* normal rounding mode */ | |
| 1999/0415 | MOVQ R1, (R30) MOVT (R30), F1 | |
| 1999/0514 | EXCB | |
| 1999/0415 | MOVT F1, FPCR | |
| 1999/0514 | EXCB | |
| 1999/0415 | MOVT $0.5, F28 ADDT F28, F28, F29 ADDT F29, F29, F30 | |
| 1999/0514 | SUBT F28, F28, F0 MOVT F0, F1 MOVT F0, F2 MOVT F0, F3 MOVT F0, F4 MOVT F0, F5 MOVT F0, F6 MOVT F0, F7 MOVT F0, F8 MOVT F0, F9 MOVT F0, F10 MOVT F0, F11 MOVT F0, F12 MOVT F0, F13 MOVT F0, F14 MOVT F0, F15 MOVT F0, F16 MOVT F0, F17 MOVT F0, F18 MOVT F0, F19 MOVT F0, F20 MOVT F0, F21 MOVT F0, F22 MOVT F0, F23 MOVT F0, F24 MOVT F0, F25 MOVT F0, F26 MOVT F0, F27 | |
| 1999/0415 | JSR main(SB) MOVQ $_divq(SB), R31 /* touch _divq etc.; doesn't need to execute */ | |
| 1999/0514 | MOVQ $_divl(SB), R31 /* touch _divl etc.; doesn't need to execute */ | |
| 1999/0415 | RET TEXT setpcb(SB), $-8 MOVQ R30, (R0) | |
| 1999/0514 | AND $0x7FFFFFFF, R0, R16 /* make address physical */ CALL_PAL $PALswpctx | |
| 1999/0415 | RET GLOBL mach0(SB), $(MAXMACH*BY2PG) | |
| 1999/0426/sys/src/9/alphapc/l.s:53,59 – 1999/0514/sys/src/9/alphapc/l.s:85,91 | ||
| 1999/0415 | TEXT splhi(SB), $0 | |
| 1999/0514 | MOVL R26, 4(R(MACH)) /* save PC in m->splpc */ | |
| 1999/0415 | MOVQ $HI_IPL, R16 CALL_PAL $PALswpipl RET | |
| 1999/0426/sys/src/9/alphapc/l.s:64,72 – 1999/0514/sys/src/9/alphapc/l.s:96,104 | ||
| 1999/0415 | RET TEXT splx(SB), $0 | |
| 1999/0514 | MOVL R26, 4(R(MACH)) /* save PC in m->splpc */ | |
| 1999/0415 |
| |
| 1999/0514 | TEXT splxpc(SB), $0 /* for iunlock */ | |
| 1999/0415 | MOVQ R0, R16 CALL_PAL $PALswpipl RET | |
| 1999/0426/sys/src/9/alphapc/l.s:76,83 – 1999/0514/sys/src/9/alphapc/l.s:108,115 | ||
| 1999/0415 | TEXT islo(SB), $0 CALL_PAL $PALrdps | |
| 1999/0514 | AND $IPL, R0 XOR $IPL, R0 | |
| 1999/0415 | RET TEXT mb(SB), $-8 | |
| 1999/0426/sys/src/9/alphapc/l.s:96,102 – 1999/0514/sys/src/9/alphapc/l.s:128,134 | ||
| 1999/0415 | TEXT swpctx(SB), $-8 MOVQ R0, R16 | |
| 1999/0514 | AND $0x7FFFFFFF, R16 /* make address physical */ | |
| 1999/0415 | CALL_PAL $PALswpctx RET | |
| 1999/0426/sys/src/9/alphapc/l.s:108,124 – 1999/0514/sys/src/9/alphapc/l.s:140,155 | ||
| 1999/0415 | TEXT wrvptptr(SB), $-8 MOVQ R0, R16 | |
| 1999/0514 | CALL_PAL $PALwrvptptr | |
| 1999/0415 | RET TEXT cserve(SB), $-8 MOVQ R0, R16 MOVL 4(FP), R17 | |
| 1999/0514 | CALL_PAL $PALcserve | |
| 1999/0415 | RET TEXT setlabel(SB), $-8 | |
| 1999/0426/sys/src/9/alphapc/l.s:125,131 – 1999/0514/sys/src/9/alphapc/l.s:156,161 | ||
| 1999/0415 | RET TEXT gotolabel(SB), $-8 | |
| 1999/0426/sys/src/9/alphapc/l.s:238,244 – 1999/0514/sys/src/9/alphapc/l.s:268,274 | ||
| 1999/0415 | CALL_PAL $PALswpipl CALL_PAL $PALrdusp | |
| 1999/0514 | MOVQ R0, (4*BY2WD+30*BY2V)(R30) /* save USP */ | |
| 1999/0415 | MOVQ $mach0(SB), R(MACH) MOVQ $(4*BY2WD)(R30), R0 | |
| 1999/0426/sys/src/9/alphapc/l.s:245,251 – 1999/0514/sys/src/9/alphapc/l.s:275,281 | ||
| 1999/0415 | JSR trap(SB) trapret: MOVQ (4*BY2WD+30*BY2V)(R30), R16 /* USP */ | |
| 1999/0514 | CALL_PAL $PALwrusp /* ... */ | |
| 1999/0415 | MOVQ (4*BY2WD+4*BY2V)(R30), R0 MOVQ (4*BY2WD+5*BY2V)(R30), R1 MOVQ (4*BY2WD+6*BY2V)(R30), R2 | |
| 1999/0426/sys/src/9/alphapc/l.s:286,299 – 1999/0514/sys/src/9/alphapc/l.s:316,329 | ||
| 1999/0415 | MOVQ $HI_IPL, R16 CALL_PAL $PALswpipl MOVQ $mach0(SB), R(MACH) | |
| 1999/0514 | CALL_PAL $PALrdusp MOVQ R0, (4*BY2WD+30*BY2V)(R30) /* save USP */ | |
| 1999/0415 | MOVQ R26, (4*BY2WD+27*BY2V)(R30) /* save last return address */ | |
| 1999/0514 | MOVQ $(4*BY2WD)(R30), R0 /* pass address of Ureg */ JSR syscall(SB) | |
| 1999/0415 | systrapret: MOVQ (4*BY2WD+30*BY2V)(R30), R16 /* USP */ | |
| 1999/0514 | CALL_PAL $PALwrusp /* consider doing this in execregs... */ | |
| 1999/0415 | MOVQ (4*BY2WD+27*BY2V)(R30), R26 /* restore last return address */ ADDQ $(4*BY2WD+31*BY2V), R30 CALL_PAL $PALretsys | |
| 1999/0426/sys/src/9/alphapc/l.s:305,319 – 1999/0514/sys/src/9/alphapc/l.s:335,349 | ||
| 1999/0415 | TEXT touser(SB), $-8 MOVQ R0, R16 | |
| 1999/0514 | CALL_PAL $PALwrusp /* set USP to value passed */ SUBQ $(6*BY2V), R30 /* create frame for retsys */ MOVQ $(UTZERO+32), R26 /* header appears in text */ MOVQ R26, (1*BY2V)(R30) /* PC -- only reg that matters */ | |
| 1999/0415 | CALL_PAL $PALretsys TEXT rfnote(SB), $0 | |
| 1999/0514 | SUBL $(2*BY2WD), R0, SP JMP trapret | |
| 1999/0415 | TEXT savefpregs(SB), $-8 MOVT F0, 0x00(R0) | |
| 1999/0514/sys/src/9/alphapc/l.s:1,6 – 1999/0515/sys/src/9/alphapc/l.s:1,6 (short | long) | ||
| 1999/0415 | #include "mem.h" | |
| 1999/0515 | #define SP R30 | |
| 1999/0415 | ||
| 1999/0514 | #define HI_IPL 6 /* use 7 to disable mchecks */ | |
| 1999/0415 | ||
| 1999/0514/sys/src/9/alphapc/l.s:23,70 – 1999/0515/sys/src/9/alphapc/l.s:23,67 | ||
| 1999/0514 | MOVL R0, bootconf(SB) /* passed in from boot loader */ | |
| 1999/0415 | ||
| 1999/0514 | _fpinit: | |
| 1999/0515 | MOVQ $1, R16 | |
| 1999/0514 | CALL_PAL $PALwrfen | |
| 1999/0415 |
| |
| 1999/0514 |
| |
| 1999/0515 | MOVQ initfpcr(SB), R1 /* MOVQ $0x2800800000000000, R1 */ | |
| 1999/0415 | MOVQ R1, (R30) MOVT (R30), F1 | |
| 1999/0514 |
| |
| 1999/0415 | MOVT F1, FPCR | |
| 1999/0514 |
| |
| 1999/0415 | MOVT $0.5, F28 ADDT F28, F28, F29 ADDT F29, F29, F30 | |
| 1999/0514 |
| |
| 1999/0515 | MOVT F31, F1 MOVT F31, F2 MOVT F31, F3 MOVT F31, F4 MOVT F31, F5 MOVT F31, F6 MOVT F31, F7 MOVT F31, F8 MOVT F31, F9 MOVT F31, F10 MOVT F31, F11 MOVT F31, F12 MOVT F31, F13 MOVT F31, F14 MOVT F31, F15 MOVT F31, F16 MOVT F31, F17 MOVT F31, F18 MOVT F31, F19 MOVT F31, F20 MOVT F31, F21 MOVT F31, F22 MOVT F31, F23 MOVT F31, F24 MOVT F31, F25 MOVT F31, F26 MOVT F31, F27 | |
| 1999/0514 | ||
| 1999/0415 | JSR main(SB) MOVQ $_divq(SB), R31 /* touch _divq etc.; doesn't need to execute */ | |
| 1999/0514/sys/src/9/alphapc/l.s:380,388 – 1999/0515/sys/src/9/alphapc/l.s:377,391 | ||
| 1999/0415 | MOVT F31, 0xF8(R0) MOVT FPCR, F0 MOVT F0, 0x100(R0) | |
| 1999/0515 | MOVQ $0, R16 CALL_PAL $PALwrfen /* disable */ | |
| 1999/0415 | RET TEXT restfpregs(SB), $-8 | |
| 1999/0515 | MOVQ $1, R16 CALL_PAL $PALwrfen /* enable */ | |
| 1999/0415 | MOVT 0x100(R0), F0 MOVT F0, FPCR MOVT 0x00(R0), F0 | |
| 1999/0515/sys/src/9/alphapc/l.s:169,178 – 1999/0714/sys/src/9/alphapc/l.s:169,174 (short | long) | ||
|
Remove getcallerpc.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1999/0415 | tas2: RET | |
| 1999/0714/sys/src/9/alphapc/l.s:80,85 – 2000/0108/sys/src/9/alphapc/l.s:80,88 (short | long) | ||
| 1999/0415 | TEXT firmware(SB), $-8 CALL_PAL $PALhalt | |
| 2000/0108 | TEXT xxfirmware(SB), $-8 CALL_PAL $PALhalt | |
| 1999/0415 | TEXT splhi(SB), $0 | |
| 1999/0514 | MOVL R26, 4(R(MACH)) /* save PC in m->splpc */ | |
| 2000/0108/sys/src/9/alphapc/l.s:11,16 – 2000/0125/sys/src/9/alphapc/l.s:11,17 (short | long) | ||
| 1999/0415 | MOVQ $mach0(SB), R(MACH) MOVQ $(BY2PG-8)(R(MACH)), R30 MOVQ R31, R(USER) | |
| 2000/0125 | MOVQ R31, 0(R(MACH)) | |
| 1999/0415 | MOVQ $edata(SB), R1 MOVQ $end(SB), R2 | |
| 2000/0125/sys/src/9/alphapc/l.s:110,116 – 2002/0426/sys/src/9/alphapc/l.s:110,116 (short | long) | ||
| 1999/0415 | TEXT islo(SB), $0 CALL_PAL $PALrdps | |
| 1999/0514 | AND $IPL, R0 | |
| 2002/0426 | XOR $HI_IPL, R0 | |
| 1999/0415 | RET TEXT mb(SB), $-8 | |