X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Fdesctab.asm;h=6e8aa6398ca7f64fa4491d7181793555b28035a0;hb=a2495c6ea4f4cab16b5d339ae511428e92e89e73;hp=8ee4352e509a54344d6a74794e5b0edaf0d787c7;hpb=b3445a17bf2340715d64d205e193807c0153c835;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/desctab.asm b/Kernel/arch/x86_64/desctab.asm index 8ee4352e..6e8aa639 100644 --- a/Kernel/arch/x86_64/desctab.asm +++ b/Kernel/arch/x86_64/desctab.asm @@ -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