You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
880 B
C
21 lines
880 B
C
/* Copyright (C) 2021,2022 fef <owo@fef.moe>. All rights reserved. */
|
|
|
|
#include <arch/trap.h>
|
|
|
|
#include <gay/kprintf.h>
|
|
#include <gay/systm.h>
|
|
|
|
void print_regs(const struct amd64_trap_frame *ctx)
|
|
{
|
|
kprintf("RIP = %04hx:0x%016lx\n", ctx->hw_frame.cs, ctx->hw_frame.rip);
|
|
kprintf("RFLAGS = 0x%016lx\n", ctx->hw_frame.rflags);
|
|
kprintf("RAX = 0x%016lx RDI = 0x%016lx\n", ctx->rax, ctx->rdi);
|
|
kprintf("RBX = 0x%016lx RSI = 0x%016lx\n", ctx->rbx, ctx->rsi);
|
|
kprintf("RCX = 0x%016lx RSP = 0x%016lx\n", ctx->rcx, ctx->hw_frame.rsp);
|
|
kprintf("RDX = 0x%016lx RBP = 0x%016lx\n", ctx->rdx, ctx->rbp);
|
|
kprintf("R8 = 0x%016lx R12 = 0x%016lx\n", ctx->r8, ctx->r12);
|
|
kprintf("R9 = 0x%016lx R13 = 0x%016lx\n", ctx->r9, ctx->r13);
|
|
kprintf("R10 = 0x%016lx R14 = 0x%016lx\n", ctx->r10, ctx->r14);
|
|
kprintf("R11 = 0x%016lx R15 = 0x%016lx\n", ctx->r11, ctx->r15);
|
|
}
|