diff --git a/kernel-src/arch/x86-64/isr.asm b/kernel-src/arch/x86-64/isr.asm index 8077e442..1521d632 100644 --- a/kernel-src/arch/x86-64/isr.asm +++ b/kernel-src/arch/x86-64/isr.asm @@ -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 diff --git a/kernel-src/arch/x86-64/syscall.asm b/kernel-src/arch/x86-64/syscall.asm index 78179f48..a281e967 100644 --- a/kernel-src/arch/x86-64/syscall.asm +++ b/kernel-src/arch/x86-64/syscall.asm @@ -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