BarryServer : Git

All the code for all my projects
// BarryServer : Git / Nucleus / commit / c738dbb1e7e7a46a98436326234826eef71083e2 / task / syscall.c

// Related

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();