summaryrefslogtreecommitdiff
path: root/src/kernel/trap/handler.cc
Commit message (Collapse)AuthorAgeFilesLines
* feat(file-system): implement read and write FAT32 File System and basic shellRichard Qin2026-01-041-1/+2
|
* Fix: critical malloc size calculation bugRichard Qin2026-01-031-7/+11
| | | | | | | | | | Summary: - Fixed an integer arithmetic error in malloc() where 'nunits' was initialized to 0, causing incorrect heap sizing. - This bug caused malloc to return pointers pointing to unmapped memory pages, leading to Store Page Fault (scause 15) at process boundaries. - Switched memory allocator logic to use byte-based size calculation instead of K&R style units to prevent off-by-one errors. Improvements: - Shell now starts successfully without segfaults.
* dev(sell): add simple libc and implement shellRichard Qin2026-01-021-0/+6
| | | | please see the log for detail.
* dev(device): implement VirtIORichard Qin2026-01-011-4/+9
| | | | See dev log for detail
* dev: PILC implementationRichard Qin2025-12-311-0/+17
|
* dev:Refactor Memory Management and Process ManagementRichard Qin2025-12-311-123/+119
|
* feat(syscall): Implement syscall dispatch and process lifecycle ↵Richard Qin2025-12-281-17/+18
| | | | (exit/wait/sleep)
* feat: Implement the first user program of the lume OSRichard Qin2025-12-271-0/+50
|
* feat: add preemptive scheduling, SBI timer support and FDT parser.Richard Qin2025-12-131-2/+1
|
* feat:Cooperative MultitaskingRichard Qin2025-12-111-1/+5
|
* feat: Add initial Supervisor Mode Trap HandlerRichard Qin2025-12-101-0/+123
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.