diff options
author | aiju <devnull@localhost> | 2017-06-12 17:09:11 +0000 |
---|---|---|
committer | aiju <devnull@localhost> | 2017-06-12 17:09:11 +0000 |
commit | 1cfa405d0a272cbd7df22d4b9767eb57e21cc21f (patch) | |
tree | efa9673435c4425f9d290186d7782dd35ec28ee4 /sys/src/9 | |
parent | 48c5da7a64804bf649ff815c778064dfe8c59711 (diff) |
pc64: set error code and trap fields in Ureg* on syscalls
Diffstat (limited to 'sys/src/9')
-rw-r--r-- | sys/src/9/pc64/l.s | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/9/pc64/l.s b/sys/src/9/pc64/l.s index 669ee2167..cb3cb343e 100644 --- a/sys/src/9/pc64/l.s +++ b/sys/src/9/pc64/l.s @@ -722,8 +722,10 @@ TEXT syscallentry(SB), 1, $-4 PUSHQ R11 /* old flags */ PUSHQ $UESEL /* old code segment */ PUSHQ CX /* old ip */ + PUSHQ $0 /* error code */ + PUSHQ $64 /* trap number (VectorSYSCALL) */ - SUBQ $(8 + 23*8-5*8), SP /* arg + sizeof(Ureg)-pushed */ + SUBQ $(8 + 23*8-7*8), SP /* arg + sizeof(Ureg)-pushed */ MOVQ RMACH, (15*8)(SP) /* old r15 */ MOVQ RUSER, (14*8)(SP) /* old r14 */ |