Signal halt properly.
diff --git a/init.c b/init.c
index d8b9b4c..4973756 100644
--- a/init.c
+++ b/init.c
@@ -211,5 +211,7 @@
   uart_init ();
   uart_puts (COM1, "Hello, World!\n");
 
-  while (1) ;
+  if (kernel_entry)
+    kernel_entry();
+  asm ("halt");
 }
diff --git a/pal.S b/pal.S
index a570293..b31b63e 100644
--- a/pal.S
+++ b/pal.S
@@ -399,6 +399,14 @@
 CallPal_Halt:
 	bsr	p7, UpdatePCB		// Save kernel data
 	lda	v0, HLT_K_SW_HALT
+
+	ldah	p0, 1			// Store 0xdead into CIA RESET reg
+	lda	p0, -(0x10000 - 0xdead)(p0)
+	lda	p1, 0x878
+	sll	p1, 28, p1
+	lda	p1, 0x900(p1)
+	stl_p	p0, 0(p1)
+
 	br	Sys_EnterConsole
 
 /*