diff options
| author | hachem <im@hachem.wtf> | 2026-09-12 04:08:33 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-12 04:09:21 +0200 |
| commit | 4f540af34d7a88547d60bed7bd28850e6d0e18ab (patch) | |
| tree | 2b98bc0010a00822169459ef0d37f2ddda6f3b99 /boot/idt.zig | |
| parent | c34524767c9eac650f16dbe9059c24af2acd1397 (diff) | |
feat: BAREEE METTALLLLLL REVOOOOO
Diffstat (limited to 'boot/idt.zig')
| -rw-r--r-- | boot/idt.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/boot/idt.zig b/boot/idt.zig index adff4b3..127fd8e 100644 --- a/boot/idt.zig +++ b/boot/idt.zig @@ -140,6 +140,13 @@ export fn exceptionHandler(frame: *Frame) callconv(.c) noreturn { serial.write(" cs="); writeHex(frame.cs); serial.write("\r\n rflags="); writeHex(frame.rflags); serial.write(" rsp="); writeHex(frame.rsp); + // page faults stash the offending address in CR2 + if (frame.vector == 14) { + const cr2 = asm volatile ("mov %%cr2, %[out]" + : [out] "=r" (-> u64), + ); + serial.write("\r\n cr2="); writeHex(cr2); + } serial.write("\r\n"); while (true) asm volatile ("hlt"); } |
