summaryrefslogtreecommitdiffstats
path: root/lib/kpanic.c
blob: 97e42eb473ced0533360e8e04147ff6b412899d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "jove.h"
#include "io/log.h"

#include <stdarg.h>

__attribute__((noreturn))
void _kpanic(const char *file, int line, const char *fmt, ...)
{
    va_list ap;
    va_start(ap, fmt);
    klogf("!!! PANIC !!!\n%s:%i\n", file, line);
    kvlogf(fmt, ap);
    va_end(ap);
    for(;;) __asm__ volatile("hlt");
}