; Set IA32_FMASK (flags mask)
mov ecx, 0xC0000084
rdmsr
- mov eax, 0x202
+ mov eax, ~0x202
wrmsr
; Set IA32_STAR (Kernel/User CS)
mov ecx, 0xC0000081
;PUSH_XMM
mov rdi, rsp
- xchg bx, bx
+; xchg bx, bx
call Error_Handler
;POP_XMM
push rcx ; RIP
push r11 ; RFLAGS
- sti ; Start interrupts again
-
; RDI
; RSI
; RDX
; 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
times 16*NUM_IRQ_CALLBACKS dq 0
gaIRQ_DataPtrs:
times 16*NUM_IRQ_CALLBACKS dq 0
+
+; vim: ft=nasm