Nucleus
Barry CPU specific segment c738dbb (3 years, 2 months ago)
diff --git a/task/syscall.c b/task/syscall.c
index 8e33ef4..effe6c2 100644
--- a/task/syscall.c
+++ b/task/syscall.c
@@ -113,7 +113,13 @@ syscall_handler(struct InterruptFrame *frame)
}
/* Call function */
- asm volatile("call *%1" : "=a" (ret) : "r" (syscall->function));
+ asm volatile(
+ "sti;"
+ "call *%1;"
+ "cli"
+ : "=a" (ret)
+ : "r" (syscall->function)
+ );
end:
exit_syscall_context();