| plan 9 kernel history: overview | file list | diff list |
1991/0625/pc/l.s (diff list | history)
| pc/l.s on 1991/0625 | ||
| 1991/0625 | #include "mem.h" | |
| 1991/0614 | ||
| 1991/0625 | GLOBL gdtptr(SB),$6 DATA gdtptr+0(SB)/2, $(6*8) DATA gdtptr+2(SB)/4, $gdt(SB) | |
| 1991/0614 | /* | |
| 1991/0622 | * boot processor | |
| 1991/0614 | */ TEXT start(SB),$0 | |
| 1991/0625 | CLI /* disable interrupts */ MOVW $NULLSEL,IDTR /* force shutdown on error */ /* point data segment at low memory */ XORL AX,AX MOVW AX,DS /* load gdt address (valid after paging) */ LEAL gdtptr(SB),AX MOVL -KZERO(AX),GDTR | |
| 1991/0614 | CALL main(SB) /* never returns */ | |
| 1991/0619 | /* | |
| 1991/0623 | * first 16 ``standard'' traps | |
| 1991/0619 | */ | |
| 1991/0622 | TEXT trap0(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $0 JMP alltrap | |
| 1991/0622 | TEXT trap1(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $1 JMP alltrap | |
| 1991/0622 | TEXT trap2(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $2 JMP alltrap | |
| 1991/0622 | TEXT trap3(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $3 JMP alltrap | |
| 1991/0622 | TEXT trap4(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $4 JMP alltrap | |
| 1991/0622 | TEXT trap5(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $5 JMP alltrap | |
| 1991/0622 | TEXT trap6(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $6 JMP alltrap | |
| 1991/0622 | TEXT trap7(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $7 JMP alltrap | |
| 1991/0622 | TEXT trap8(SB),$0 | |
| 1991/0620 | PUSHL $8 JMP alltrap | |
| 1991/0622 | TEXT trap9(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $9 JMP alltrap | |
| 1991/0622 | TEXT trap10(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $10 JMP alltrap | |
| 1991/0622 | TEXT trap11(SB),$0 | |
| 1991/0620 | PUSHL $11 JMP alltrap | |
| 1991/0622 | TEXT trap12(SB),$0 | |
| 1991/0620 | PUSHL $12 JMP alltrap | |
| 1991/0622 | TEXT trap13(SB),$0 | |
| 1991/0620 | PUSHL $13 JMP alltrap | |
| 1991/0622 | TEXT trap14(SB),$0 | |
| 1991/0620 | PUSHL $14 JMP alltrap | |
| 1991/0622 | TEXT trap15(SB),$0 | |
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0620 | PUSHL $15 JMP alltrap | |
| 1991/0614 | ||
| 1991/0623 | /* * invalid trap */ | |
| 1991/0622 | TEXT invtrap(SB),$0 | |
| 1991/0619 | ||
| 1991/0623 | PUSHL $0 /* put on an error code */ | |
| 1991/0622 | PUSHL $16 JMP alltrap | |
| 1991/0619 | ||
| 1991/0623 | /* * common trap code */ | |
| 1991/0622 | alltrap: | |
| 1991/0623 | ||
| 1991/0625 | PUSHL DS | |
| 1991/0622 | PUSHAL | |
| 1991/0625 | MOVL $KDSEL, AX MOVW AX, DS | |
| 1991/0614 | CALL trap(SB) | |
| 1991/0622 | POPAL | |
| 1991/0625 | POPL DS ADDL $8,SP /* pop the trap and error codes */ | |
| 1991/0622 | IRETL | |