summaryrefslogtreecommitdiff
path: root/src/kernel/trap/handler.cc
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2025-12-11 16:34:51 +0800
committerRichard Qin <richard.qin.x@gmail.com>2025-12-11 16:34:51 +0800
commit27fc7bda593c8bd2c24a334a368772b5f15d4e9e (patch)
treecee97c7b0ba2701be3981b587902e03ba8b85e12 /src/kernel/trap/handler.cc
parent497e4a1b2f6f9181518e9887991c0464bd8f6bcf (diff)
downloadlume-27fc7bda593c8bd2c24a334a368772b5f15d4e9e.tar.gz
lume-27fc7bda593c8bd2c24a334a368772b5f15d4e9e.tar.xz
feat:Cooperative Multitasking
Diffstat (limited to 'src/kernel/trap/handler.cc')
-rw-r--r--src/kernel/trap/handler.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kernel/trap/handler.cc b/src/kernel/trap/handler.cc
index 9cc19d1..ecb6652 100644
--- a/src/kernel/trap/handler.cc
+++ b/src/kernel/trap/handler.cc
@@ -1,6 +1,9 @@
#include "kernel/trap.h"
#include "common/types.h"
#include "drivers/uart.h"
+#include "kernel/proc.h"
+#include "kernel/timer.h"
+
void panic(const char *s)
{
@@ -48,7 +51,8 @@ namespace Trap
case 5:
Drivers::uart_puts("[IRQ] Timer Interrupt\n");
-
+ Timer::set_next_trigger();
+ ProcManager::yield();
break;
case 9: