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

/* 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);
}