summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-03-17 18:25:12 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2018-03-17 18:25:12 +0100
commit2c1415277fb694e560bc4667ddfa4efcf9d5196a (patch)
treec17301b8932da4324363f0da59441feb7f4699cd /sys/src
parent108063bc3a1cba6a70d848a1c12cdd089e9ae4f3 (diff)
pc64: fix _intrr(), avoid the linker moving _intrr() arround
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/9/pc64/l.s10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/src/9/pc64/l.s b/sys/src/9/pc64/l.s
index 177502647..7143d3b69 100644
--- a/sys/src/9/pc64/l.s
+++ b/sys/src/9/pc64/l.s
@@ -902,10 +902,6 @@ TEXT forkret(SB), 1, $-4
BYTE $0x48; SYSRET /* SYSRETQ */
-TEXT noteret(SB), 1, $-4
- CLI
- JMP _intrestore
-
/*
* Interrupt/exception handling.
*/
@@ -951,8 +947,8 @@ _intrnested:
PUSHQ SP
CALL trap(SB)
-_intrestore:
TEXT _intrr(SB), 1, $-4
+_intrestore:
POPQ AX
POPQ AX
@@ -981,6 +977,10 @@ _iretnested:
ADDQ $40, SP
IRETQ
+TEXT noteret(SB), 1, $-4
+ CLI
+ JMP _intrestore
+
TEXT vectortable(SB), $0
CALL _strayintr(SB); BYTE $0x00 /* divide error */
CALL _strayintr(SB); BYTE $0x01 /* debug exception */