#include <shade/print.h>
#include <shade/platform/interrupts/isr.h>

void exception_handler(isr_xframe_t frame) {
    char s[256];
    itoa(err_count, s);
    print_str(" ");
    print_str(s);
    print_str(": cpu: check_exception ");
    itoa(frame.base_frame.vector, s);
    print_str(s);
    print_str(" err_code => ");
    itoa(frame.base_frame.error_code, s);
    print_str(s);
    print_str("\n");
    err_count++;
    if (err_count > ERR_MAX) {
        print_str("cpu: ierr hit err_max, halt");
        __asm__ __volatile__("cli; hlt");
    }
}