summaryrefslogtreecommitdiff
path: root/kernel/src/arch/x86_64/panic.hpp
blob: d7c2580fd02de499c8e9cc8e3b752821f6754030 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
#include <cstdint>
#include <arch/x86_64/cpu/idt.hpp>

typedef struct stackframe {
    struct stackframe* rbp;
    uint64_t rip;
} __attribute__((packed)) stackframe_t;

namespace x86_64 {
    namespace panic {
        void print_ascii_art();
        void print_regs(x86_64::idt::int_frame_t* ctx);
        extern "C" void CPUKernelPanic(x86_64::idt::int_frame_t* frame);
    };
};