Page MenuHomeFreeBSD

D27534.diff
No OneTemporary

D27534.diff

Index: head/sys/riscv/riscv/trap.c
===================================================================
--- head/sys/riscv/riscv/trap.c
+++ head/sys/riscv/riscv/trap.c
@@ -179,6 +179,9 @@
vm_offset_t va;
struct proc *p;
int error, sig, ucode;
+#ifdef KDB
+ bool handled;
+#endif
#ifdef KDB
if (kdb_active) {
@@ -250,6 +253,15 @@
fatal:
dump_regs(frame);
+#ifdef KDB
+ if (debugger_on_trap) {
+ kdb_why = KDB_WHY_TRAP;
+ handled = kdb_trap(frame->tf_scause & SCAUSE_CODE, 0, frame);
+ kdb_why = KDB_WHY_UNSET;
+ if (handled)
+ return;
+ }
+#endif
panic("Fatal page fault at %#lx: %#016lx", frame->tf_sepc, stval);
}

File Metadata

Mime Type
text/plain
Expires
Fri, May 1, 6:42 AM (7 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32559345
Default Alt Text
D27534.diff (641 B)

Event Timeline