• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * kaboom.c
3  */
4 
5 #include "core.h"
6 
7 #if defined(CORE_DEBUG) || defined(DEBUG_PORT)
8 
9 #include <dprintf.h>
10 
__bad_SEG(const volatile void * p)11 __export __noreturn __bad_SEG(const volatile void *p)
12 {
13     dprintf("SEG() passed an invalid pointer: %p\n", p);
14     kaboom();
15 }
16 
17 #endif
18 
19 #undef kaboom
20 
_kaboom(void)21 __export __noreturn _kaboom(void)
22 {
23     extern void kaboom(void);
24     call16(kaboom, &zero_regs, NULL);
25     /* Do this if kaboom somehow returns... */
26     for (;;)
27 	asm volatile("hlt");
28 }
29