git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kernel - Split Mutexes/Semaphores out
[tpg/acess2.git]
/
Kernel
/
arch
/
x86_64
/
desctab.asm
diff --git
a/Kernel/arch/x86_64/desctab.asm
b/Kernel/arch/x86_64/desctab.asm
index
2d96180
..
6e8aa63
100644
(file)
--- a/
Kernel/arch/x86_64/desctab.asm
+++ b/
Kernel/arch/x86_64/desctab.asm
@@
-104,12
+104,6
@@
Desctab_Init:
; Start interrupts
sti
; 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
; 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
; 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
wrmsr
; Set IA32_STAR (Kernel/User CS)
mov ecx, 0xC0000081
@@
-255,7
+249,7
@@
ErrorCommon:
;PUSH_XMM
mov rdi, rsp
;PUSH_XMM
mov rdi, rsp
-
xchg bx, bx
+
;
xchg bx, bx
call Error_Handler
;POP_XMM
call Error_Handler
;POP_XMM
@@
-394,7
+388,7
@@
SyscallStub:
; R9
sub rsp, (6+2)*8
mov [rsp+0x00], rax ; Number
; R9
sub rsp, (6+2)*8
mov [rsp+0x00], rax ; Number
-; mov [rsp+0x08], rax ; Errno (
don't care real
ly)
+; mov [rsp+0x08], rax ; Errno (
output on
ly)
mov [rsp+0x10], rdi ; Arg1
mov [rsp+0x18], rsi ; Arg2
mov [rsp+0x20], rdx ; Arg3
mov [rsp+0x10], rdi ; Arg1
mov [rsp+0x18], rsi ; Arg2
mov [rsp+0x20], rdx ; Arg3
@@
-440,3
+434,5
@@
gaIRQ_Handlers:
times 16*NUM_IRQ_CALLBACKS dq 0
gaIRQ_DataPtrs:
times 16*NUM_IRQ_CALLBACKS dq 0
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