From 497e4a1b2f6f9181518e9887991c0464bd8f6bcf Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Wed, 10 Dec 2025 01:19:32 +0800 Subject: feat: Add initial Supervisor Mode Trap Handler Implement the initial mechanism for handling traps and exceptions in Supervisor Mode. Set up the stvec Control and Status Register (CSR) to direct all S-Mode Traps (Interrupts and Exceptions) to a unified assembly entry point. Implemented assembly code for saving and restoring the Trap Context (register state). Provides the foundational framework necessary for future Timer Interrupts and System Calls. --- build/kernel.elf | Bin 19104 -> 19384 bytes build/src/drivers/uart.o | Bin 2688 -> 3640 bytes build/src/kernel/main.o | Bin 7752 -> 7568 bytes build/src/kernel/trap/handler.o | Bin 0 -> 11952 bytes build/src/kernel/trap/trap.o | Bin 0 -> 1344 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/src/kernel/trap/handler.o create mode 100644 build/src/kernel/trap/trap.o (limited to 'build') diff --git a/build/kernel.elf b/build/kernel.elf index 6e2868c..9b56c35 100755 Binary files a/build/kernel.elf and b/build/kernel.elf differ diff --git a/build/src/drivers/uart.o b/build/src/drivers/uart.o index 6f45d67..035b61d 100644 Binary files a/build/src/drivers/uart.o and b/build/src/drivers/uart.o differ diff --git a/build/src/kernel/main.o b/build/src/kernel/main.o index 5188b34..f945e0a 100644 Binary files a/build/src/kernel/main.o and b/build/src/kernel/main.o differ diff --git a/build/src/kernel/trap/handler.o b/build/src/kernel/trap/handler.o new file mode 100644 index 0000000..322d37d Binary files /dev/null and b/build/src/kernel/trap/handler.o differ diff --git a/build/src/kernel/trap/trap.o b/build/src/kernel/trap/trap.o new file mode 100644 index 0000000..e7bde6b Binary files /dev/null and b/build/src/kernel/trap/trap.o differ -- cgit v1.2.3