| plan 9 kernel history: overview | file list | diff list |
1991/0614/pc/l.s (diff list | history)
| pc/l.s on 1991/0614 | ||
| 1991/0614 | /* * Boot first processor */ TEXT start(SB),$0 /* clear bss */ CALL main(SB) /* never returns */ TEXT traptab(SB),$0 CALL noerrcode(SB) /* divide */ CALL noerrcode(SB) /* debug */ CALL noerrcode(SB) /* non maskable interrupt */ CALL noerrcode(SB) /* breakpoint */ CALL noerrcode(SB) /* overflow */ CALL noerrcode(SB) /* bounds check */ CALL noerrcode(SB) /* invalid opcode */ CALL noerrcode(SB) /* coprocessor not available */ CALL errcode(SB) /* double fault */ CALL noerrcode(SB) /* coprocessor segment overrun */ CALL errcode(SB) /* invalid tss */ CALL errcode(SB) /* segment not present */ CALL errcode(SB) /* stack exception */ CALL errcode(SB) /* general protection exception */ CALL errcode(SB) /* page fault */ CALL noerrcode(SB) /* coprocessor error */ CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) CALL noerrcode(SB) TEXT noerrcode(SB),$0 PUSH EAX /* drop through */ TEXT errcode(SB),$0 PUSH EAX PUSH EBX PUSH ECX PUSH EDX PUSH EBP PUSH ESI PUSH EDI CALL trap(SB) POP EDI POP ESI POP EBP POP EDX POP ECX POP EBX POP EAX ADD $8,ESP /* jump over error code + return addr */ IRET | |