summaryrefslogtreecommitdiff
path: root/src/kernel/trap
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-01-02 10:09:37 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-01-02 10:09:37 +0800
commit1c8e37f63d413a559825020289178d442537449e (patch)
tree9779a712b5eec91035272e7646eb6811979d7eab /src/kernel/trap
parentd8eaa13f2efc1eeca4e5f230d5a2d535aaf27338 (diff)
downloadlume-1c8e37f63d413a559825020289178d442537449e.tar.gz
lume-1c8e37f63d413a559825020289178d442537449e.tar.xz
dev(sell): add simple libc and implement shell
please see the log for detail.
Diffstat (limited to 'src/kernel/trap')
-rw-r--r--src/kernel/trap/handler.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/kernel/trap/handler.cc b/src/kernel/trap/handler.cc
index c1626cc..3e73213 100644
--- a/src/kernel/trap/handler.cc
+++ b/src/kernel/trap/handler.cc
@@ -157,6 +157,12 @@ extern "C" void usertrap()
}
else if (scause == 15) // Store Page Fault
{
+ uint64 pte = VM::walkaddr(p->pagetable, stval);
+
+ // Drivers::uart_puts("[Debug] Faulting PTE:");
+ // Drivers::print_hex(pte);
+ // Drivers::uart_puts("\n");
+
if (VM::handle_cow_fault(p->pagetable, PGROUNDDOWN(stval)) != 0)
{
Drivers::uart_puts("usertrap: cow failed at ");