From a4cb86aaf0970d97f586f3d7861d70c339b922c9 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Fri, 24 Jul 2015 23:17:12 +0200 Subject: [PATCH] system call have to check if a timer expires => maybe a reschedule is also required --- hermit/arch/x86/kernel/entry.asm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hermit/arch/x86/kernel/entry.asm b/hermit/arch/x86/kernel/entry.asm index 7d450174a..5c8c213b4 100644 --- a/hermit/arch/x86/kernel/entry.asm +++ b/hermit/arch/x86/kernel/entry.asm @@ -565,12 +565,21 @@ isrsyscall: ; during a system call, HermitCore allows interrupts sti + extern syscall_table call [rax*8+syscall_table] + push rax ; result, which we have to return + + extern check_timers + call check_timers + + extern check_scheduling + call check_scheduling + cli ; restore registers - ;add rsp, 8 ; ignore old value of rax + pop rax pop rsi pop rdi pop rcx