pc64: fix _intrr(), avoid the linker moving _intrr() arround
This commit is contained in:
parent
108063bc3a
commit
2c1415277f
1 changed files with 5 additions and 5 deletions
|
@ -902,10 +902,6 @@ TEXT forkret(SB), 1, $-4
|
||||||
|
|
||||||
BYTE $0x48; SYSRET /* SYSRETQ */
|
BYTE $0x48; SYSRET /* SYSRETQ */
|
||||||
|
|
||||||
TEXT noteret(SB), 1, $-4
|
|
||||||
CLI
|
|
||||||
JMP _intrestore
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Interrupt/exception handling.
|
* Interrupt/exception handling.
|
||||||
*/
|
*/
|
||||||
|
@ -951,8 +947,8 @@ _intrnested:
|
||||||
PUSHQ SP
|
PUSHQ SP
|
||||||
CALL trap(SB)
|
CALL trap(SB)
|
||||||
|
|
||||||
_intrestore:
|
|
||||||
TEXT _intrr(SB), 1, $-4
|
TEXT _intrr(SB), 1, $-4
|
||||||
|
_intrestore:
|
||||||
POPQ AX
|
POPQ AX
|
||||||
|
|
||||||
POPQ AX
|
POPQ AX
|
||||||
|
@ -981,6 +977,10 @@ _iretnested:
|
||||||
ADDQ $40, SP
|
ADDQ $40, SP
|
||||||
IRETQ
|
IRETQ
|
||||||
|
|
||||||
|
TEXT noteret(SB), 1, $-4
|
||||||
|
CLI
|
||||||
|
JMP _intrestore
|
||||||
|
|
||||||
TEXT vectortable(SB), $0
|
TEXT vectortable(SB), $0
|
||||||
CALL _strayintr(SB); BYTE $0x00 /* divide error */
|
CALL _strayintr(SB); BYTE $0x00 /* divide error */
|
||||||
CALL _strayintr(SB); BYTE $0x01 /* debug exception */
|
CALL _strayintr(SB); BYTE $0x01 /* debug exception */
|
||||||
|
|
Loading…
Reference in a new issue