; Start interrupts
sti
- ; Initialise System Calls (SYSCALL/SYSRET)
- ; Set IA32_EFER.SCE
- mov ecx, 0xC0000080
- rdmsr
- or eax, 1
- wrmsr
; Set IA32_LSTAR (RIP of handler)
mov ecx, 0xC0000082 ; IA32_LSTAR
mov eax, SyscallStub - 0xFFFFFFFF00000000
; R9
sub rsp, (6+2)*8
mov [rsp+0x00], rax ; Number
-; mov [rsp+0x08], rax ; Errno (don't care really)
+; mov [rsp+0x08], rax ; Errno (output only)
mov [rsp+0x10], rdi ; Arg1
mov [rsp+0x18], rsi ; Arg2
mov [rsp+0x20], rdx ; Arg3