29 lines
450 B
C
29 lines
450 B
C
/*
|
|
* kaboom.c
|
|
*/
|
|
|
|
#include "core.h"
|
|
|
|
#if defined(CORE_DEBUG) || defined(DEBUG_PORT)
|
|
|
|
#include <dprintf.h>
|
|
|
|
__export __noreturn __bad_SEG(const volatile void *p)
|
|
{
|
|
dprintf("SEG() passed an invalid pointer: %p\n", p);
|
|
kaboom();
|
|
}
|
|
|
|
#endif
|
|
|
|
#undef kaboom
|
|
|
|
__export __noreturn _kaboom(void)
|
|
{
|
|
extern void kaboom(void);
|
|
call16(kaboom, &zero_regs, NULL);
|
|
/* Do this if kaboom somehow returns... */
|
|
for (;;)
|
|
asm volatile("hlt");
|
|
}
|