x86_64: properly set kernel data segments on syscall/interrupt entry

This commit is contained in:
Matheus
2024-06-12 18:22:30 -03:00
parent 34596bb5e9
commit 797f2c118a
2 changed files with 9 additions and 0 deletions
+5
View File
@@ -41,6 +41,11 @@ isr_%+ i:
mov rdi,cr2
push rdi
; set up kernel segments
mov rdi, 0x10
mov ds, rdi
mov es, rdi
; save ctx pointer and interrupt vector number
mov rdi, i
mov rsi, rsp
+4
View File
@@ -211,6 +211,10 @@ arch_syscall_entry:
mov rbx, cr2
push rbx
mov rbx, 0x10
mov es, rbx
mov ds, rbx
; prepare arguments for the functions
push r9
mov r9, r8