diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-15 22:49:12 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-15 22:49:12 -0400 |
commit | 14538777ff7645d51d27a239739c5335180ae947 (patch) | |
tree | c17ebbe980aef026118afcbf9ed328e1b099b8fe /kernel/cpu/idt.c | |
parent | expand memory manager work with userspace (more then one ctx) (diff) | |
download | comus-14538777ff7645d51d27a239739c5335180ae947.tar.gz comus-14538777ff7645d51d27a239739c5335180ae947.tar.bz2 comus-14538777ff7645d51d27a239739c5335180ae947.zip |
public cpu_print_regs fn
Diffstat (limited to 'kernel/cpu/idt.c')
-rw-r--r-- | kernel/cpu/idt.c | 65 |
1 files changed, 2 insertions, 63 deletions
diff --git a/kernel/cpu/idt.c b/kernel/cpu/idt.c index 4dbf4ba..250f939 100644 --- a/kernel/cpu/idt.c +++ b/kernel/cpu/idt.c @@ -70,67 +70,6 @@ void idt_init(void) __asm__ volatile("lidt %0" : : "m"(idtr)); } -static void isr_print_regs(regs_t *regs) -{ - kprintf("rax: %#016lx (%lu)\n", regs->rax, regs->rax); - kprintf("rbx: %#016lx (%lu)\n", regs->rbx, regs->rbx); - kprintf("rcx: %#016lx (%lu)\n", regs->rcx, regs->rcx); - kprintf("rdx: %#016lx (%lu)\n", regs->rdx, regs->rdx); - kprintf("rsi: %#016lx (%lu)\n", regs->rsi, regs->rsi); - kprintf("rdi: %#016lx (%lu)\n", regs->rdi, regs->rdi); - kprintf("rsp: %#016lx (%lu)\n", regs->rsp, regs->rsp); - kprintf("rbp: %#016lx (%lu)\n", regs->rbp, regs->rbp); - kprintf("r8 : %#016lx (%lu)\n", regs->r8, regs->r8); - kprintf("r9 : %#016lx (%lu)\n", regs->r9, regs->r9); - kprintf("r10: %#016lx (%lu)\n", regs->r10, regs->r10); - kprintf("r11: %#016lx (%lu)\n", regs->r11, regs->r11); - kprintf("r12: %#016lx (%lu)\n", regs->r12, regs->r12); - kprintf("r13: %#016lx (%lu)\n", regs->r13, regs->r13); - kprintf("r14: %#016lx (%lu)\n", regs->r14, regs->r14); - kprintf("r15: %#016lx (%lu)\n", regs->r15, regs->r15); - kprintf("rip: %#016lx (%lu)\n", regs->rip, regs->rip); - kprintf("rflags: %#016lx (%lu)\n", (uint64_t)regs->rflags.raw, - (uint64_t)regs->rflags.raw); - kputs("rflags: "); - if (regs->rflags.cf) - kputs("CF "); - if (regs->rflags.pf) - kputs("PF "); - if (regs->rflags.af) - kputs("AF "); - if (regs->rflags.zf) - kputs("ZF "); - if (regs->rflags.sf) - kputs("SF "); - if (regs->rflags.tf) - kputs("TF "); - if (regs->rflags.if_) - kputs("IF "); - if (regs->rflags.df) - kputs("DF "); - if (regs->rflags.of) - kputs("OF "); - if (regs->rflags.iopl) - kputs("IOPL "); - if (regs->rflags.nt) - kputs("NT "); - if (regs->rflags.md) - kputs("MD "); - if (regs->rflags.rf) - kputs("RF "); - if (regs->rflags.vm) - kputs("VM "); - if (regs->rflags.ac) - kputs("AC "); - if (regs->rflags.vif) - kputs("VIF "); - if (regs->rflags.vip) - kputs("VIP "); - if (regs->rflags.id) - kputs("ID "); - kputs("\n"); -} - #define EX_DEBUG 0x01 #define EX_BREAKPOINT 0x03 #define EX_PAGE_FAULT 0x0e @@ -171,7 +110,7 @@ char *EXCEPTIONS[] = { "Reserved", }; -void idt_exception_handler(uint64_t exception, uint64_t code, regs_t *state) +void idt_exception_handler(uint64_t exception, uint64_t code, struct cpu_regs *state) { uint64_t cr2; @@ -193,7 +132,7 @@ void idt_exception_handler(uint64_t exception, uint64_t code, regs_t *state) kputs("\n"); - isr_print_regs(state); + cpu_print_regs(state); kputs("\n"); |