Kernel - Slight reworks to timer code
[tpg/acess2.git] / Kernel / arch / x86_64 / desctab.asm
index 8ee4352..6e8aa63 100644 (file)
@@ -104,12 +104,6 @@ Desctab_Init:
        ; 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
@@ -118,7 +112,7 @@ Desctab_Init:
        ; 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
@@ -255,7 +249,7 @@ ErrorCommon:
        ;PUSH_XMM
        
        mov rdi, rsp
-       xchg bx, bx
+;      xchg bx, bx
        call Error_Handler
        
        ;POP_XMM
@@ -386,8 +380,6 @@ SyscallStub:
        push rcx        ; RIP
        push r11        ; RFLAGS
 
-       sti     ; Start interrupts again
-
        ; RDI
        ; RSI
        ; RDX
@@ -396,7 +388,7 @@ SyscallStub:
        ; 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
@@ -442,3 +434,5 @@ gaIRQ_Handlers:
        times   16*NUM_IRQ_CALLBACKS    dq      0
 gaIRQ_DataPtrs:
        times   16*NUM_IRQ_CALLBACKS    dq      0
+
+; vim: ft=nasm

UCC git Repository :: git.ucc.asn.au