| plan 9 kernel history: overview | file list | diff list |
1990/0504/power/l.s (diff list | history)
| 1990/0430/sys/src/9/power/l.s:147,192 – 1990/0504/sys/src/9/power/l.s:147,162 (short | long | prev | next) | ||
| 1990/0227 | MOVW 4(R2), R29 RET | |
| 1990/0430 |
| |
| 1990/0504 | TEXT gotopc(SB), $8 | |
| 1990/0419 | ||
| 1990/0430 | MOVW 0(FP), R7 /* save arguments for later */ | |
| 1990/0427 | MOVW _argc(SB), R4 MOVW _argv(SB), R5 | |
| 1990/0419 | ||
| 1990/0430 |
| |
| 1990/0504 | MOVW _env(SB), R6 MOVW R0, 4(SP) MOVW $(64*1024), R1 MOVW R1, 8(SP) JAL icflush(SB) | |
| 1990/0430 | JMP (R7) | |
| 1990/0227 | TEXT puttlb(SB), $4 | |
| 1990/0430/sys/src/9/power/l.s:502,515 – 1990/0504/sys/src/9/power/l.s:472,487 | ||
| 1990/0227 | MOVW R3, M(STATUS) | |
| 1990/0430 | RET | |
| 1990/0504 | /* * we avoid using R4, R5, R6, and R7 so gotopc can call us without saving them */ | |
| 1990/0430 | TEXT icflush(SB), $-4 /* icflush(physaddr, nbytes) */ | |
| 1990/0504 | MOVW M(STATUS), R10 MOVW 0(FP), R8 MOVW 4(FP), R9 | |
| 1990/0430 | MOVW $KSEG0, R3 | |
| 1990/0504 | OR R3, R8 | |
| 1990/0430 | MOVW $0, M(STATUS) MOVW $WBFLUSH, R1 /* wbflush */ MOVW 0(R1), R1 | |
| 1990/0430/sys/src/9/power/l.s:529,553 – 1990/0504/sys/src/9/power/l.s:501,525 | ||
| 1990/0430 | TEXT icflush1(SB), $-4 _icflush1: | |
| 1990/0504 | MOVBU R0, 0x00(R8) MOVBU R0, 0x04(R8) MOVBU R0, 0x08(R8) MOVBU R0, 0x0C(R8) MOVBU R0, 0x10(R8) MOVBU R0, 0x14(R8) MOVBU R0, 0x18(R8) MOVBU R0, 0x1C(R8) MOVBU R0, 0x20(R8) MOVBU R0, 0x24(R8) MOVBU R0, 0x28(R8) MOVBU R0, 0x2C(R8) MOVBU R0, 0x30(R8) MOVBU R0, 0x34(R8) MOVBU R0, 0x38(R8) MOVBU R0, 0x3C(R8) SUB $0x40, R9 ADD $0x40, R8 BGTZ R9, _icflush1 | |
| 1990/0430 | MOVW $icflush2(SB), R2 /* make sure PC is in uncached address space */ OR R3, R2 JMP (R2) | |
| 1990/0430/sys/src/9/power/l.s:556,562 – 1990/0504/sys/src/9/power/l.s:528,534 | ||
| 1990/0430 | MOVW $0, M(STATUS) /* swap back caches, de-isolate them, and stay splhi */ NOOP /* +++ */ | |
| 1990/0504 | MOVW R10, M(STATUS) | |
| 1990/0430 | RET TEXT dcflush(SB), $-4 /* dcflush(physaddr, nbytes) */ | |