void kprintf(const char* format, ...) { va_list ap; va_start(ap, format); _kprintf(format, ap); va_end(ap); }
void kprintf(char *msg, ...) { __gnuc_va_list ap; va_start(ap, msg); _kprintf(msg, ap); va_end(ap); }
void panic(char *fmt, ...) { __gnuc_va_list ap; kprintf("panic: "); va_start(ap, fmt); _kprintf(fmt, ap); va_end(ap); kprintf("\nhalting now ...\n"); /* halt now! */ asm("halt"); }