From 07fd81de3538a591d84a11f7bd5302cf0fc8056f Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sat, 11 Jul 2015 09:40:59 +0200 Subject: [PATCH] using the kernel stack by calling a system call TODO: this version isn't optimzed! --- hermit/arch/x86/kernel/entry.asm | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/hermit/arch/x86/kernel/entry.asm b/hermit/arch/x86/kernel/entry.asm index 0a452b529..23eca7f3e 100644 --- a/hermit/arch/x86/kernel/entry.asm +++ b/hermit/arch/x86/kernel/entry.asm @@ -565,29 +565,29 @@ align 8 isrsyscall: cli ; save register accross function call - ;push r11 - ;push rbp - ;push rdx - ;push rcx - ;push rbx - ;push rdi - ;push rsi + push r11 + push rbp + push rdx + push rcx + push rbx + push rdi + push rsi ; get kernel stack - ;call get_kernel_stack + call get_kernel_stack ; restore registers - ;pop rsi - ;pop rdi - ;pop rbx - ;pop rcx - ;pop rdx - ;pop rbp - ;pop r11 + pop rsi + pop rdi + pop rbx + pop rcx + pop rdx + pop rbp + pop r11 - ;xchg rsp, rax ; => rax contains original rsp + xchg rsp, rax ; => rax contains original rsp - ;push rax ; contains original rsp + push rax ; contains original rsp push r15 push r14 push r13 @@ -621,8 +621,8 @@ isrsyscall: pop r13 pop r14 pop r15 - ;pop r10 - ;mov rsp, r10 + pop r10 + mov rsp, r10 sti o64 sysret