|
|
|
1991/0620/sys/src/9/pc/l.s:1,6 –
1991/0622/sys/src/9/pc/l.s:1,6
(short | long | prev | next)
|
|
1991/0614
| |
/*
|
|
1991/0619
| |
* boot first processor
|
|
1991/0622
| |
* boot processor
|
|
1991/0614
| |
*/
TEXT start(SB),$0
|
|
1991/0620/sys/src/9/pc/l.s:8,358 –
1991/0622/sys/src/9/pc/l.s:8,119
|
|
1991/0614
| |
CALL main(SB)
/* never returns */
|
|
1991/0619
| |
/*
|
|
1991/0620
| |
* standard traps
|
|
1991/0619
| |
*/
|
|
1991/0620
| |
divtrap:
|
|
1991/0622
| |
TEXT trap0(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $0
JMP alltrap
debtrap:
|
|
1991/0622
| |
TEXT trap1(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $1
JMP alltrap
nmitrap:
|
|
1991/0622
| |
TEXT trap2(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $2
JMP alltrap
bptrap:
|
|
1991/0622
| |
TEXT trap3(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $3
JMP alltrap
oftrap:
|
|
1991/0622
| |
TEXT trap4(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $4
JMP alltrap
boundtrap:
|
|
1991/0622
| |
TEXT trap5(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $5
JMP alltrap
invtrap:
|
|
1991/0622
| |
TEXT trap6(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $6
JMP alltrap
nocotrap:
|
|
1991/0622
| |
TEXT trap7(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $7
JMP alltrap
dfault:
|
|
1991/0622
| |
TEXT trap8(SB),$0
|
|
1991/0620
| |
PUSHL $8
JMP alltrap
csotrap:
|
|
1991/0622
| |
TEXT trap9(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $9
JMP alltrap
tsstrap:
|
|
1991/0622
| |
TEXT trap10(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $10
JMP alltrap
segtrap:
|
|
1991/0622
| |
TEXT trap11(SB),$0
|
|
1991/0620
| |
PUSHL $11
JMP alltrap
stacktrap:
|
|
1991/0622
| |
TEXT trap12(SB),$0
|
|
1991/0620
| |
PUSHL $12
JMP alltrap
prottrap:
|
|
1991/0622
| |
TEXT trap13(SB),$0
|
|
1991/0620
| |
PUSHL $13
JMP alltrap
pagefault:
|
|
1991/0622
| |
TEXT trap14(SB),$0
|
|
1991/0620
| |
PUSHL $14
JMP alltrap
cetrap:
|
|
1991/0622
| |
TEXT trap15(SB),$0
|
|
1991/0620
| |
PUSHL $0
PUSHL $15
JMP alltrap
|
|
1991/0614
| |
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
|
|
1991/0622
| |
TEXT invtrap(SB),$0
|
|
1991/0619
| |
PUSHL EAX
MOVL 4(ESP),EAX
/* JMP george /**/
|
|
1991/0622
| |
PUSHL $0
PUSHL $16
JMP alltrap
|
|
1991/0619
| |
|
|
1991/0614
| |
TEXT errcode(SB),$0
|
|
1991/0619
| |
XCHGL (ESP),EAX
/* fall through */
TEXT saveregs(SB),$0
george:
PUSHL EBX
MOVL $noerrcode(SB),EBX /* calculate trap number */
SUBL EAX,EBX /* ... */
SHRL $1,EBX /* ... */
PUSHL ECX
PUSHL EDX
PUSHL EBP
PUSHL ESI
PUSHL EDI
PUSHL EBX /* save trap number */
|
|
1991/0622
| |
alltrap:
PUSHAL
|
|
1991/0614
| |
CALL trap(SB)
|
|
1991/0619
| |
ADDL $4,ESP /* drop trap number */
POPL EDI
POPL ESI
POPL EBP
POPL EDX
POPL ECX
POPL EBX
POPL EAX
ADDL $4,ESP /* drop error code */
|
|
1991/0614
| |
IRET
|
|
1991/0619
| |
TEXT trap(SB),$0
RET
|
|
1991/0622
| |
POPAL
IRETL
|
|
1991/0619
| |
TEXT main(SB),$0
|