#include "aplos.h" void panic(void) { struct cpu_regs r; dump_regs(&r); print(u8"--- PANIC ---\n"); print(u8"rax: %p rbx: %p rcx: %p rdx: %p\n", r.rax, r.rbx, r.rcx, r.rdx); print(u8"rsi: %p rdi: %p rsp: %p rbp: %p\n", r.rsi, r.rdi, r.rsp, r.rbp); print(u8"r8: %p r9: %p r10: %p r11: %p\n", r.r9, r.r9, r.r10, r.r11); print(u8"r12: %p r13: %p r14: %p r15: %p\n", r.r12, r.r13, r.r14, r.r15); print(u8"rip: %p cr0: %p cr2: %p cr3: %p\n", r.rip, r.cr0, r.cr2, r.cr3); print(u8"cr4: %p cr8: %p cs: %p ds: %p\n", r.cr4, r.cr8, r.cs, r.ds); print(u8"ss: %p es: %p fs: %p gs: %p\n", r.ss, r.es, r.fs, r.gs); print(u8"rflags: %p\n", r.rflags); halt(); }