From 27fc7bda593c8bd2c24a334a368772b5f15d4e9e Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Thu, 11 Dec 2025 16:34:51 +0800 Subject: feat:Cooperative Multitasking --- src/kernel/trap/handler.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/kernel/trap') 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: -- cgit v1.2.3