Index: generic/src/console/console.c
===================================================================
--- generic/src/console/console.c	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
+++ generic/src/console/console.c	(revision 5753fbb46440d4f6fb6f2bbc7cfe0f3b24ba615a)
@@ -37,4 +37,5 @@
 #include <func.h>
 #include <print.h>
+#include <arch/atomic.h>
 
 /** Standard input character device. */
@@ -53,5 +54,5 @@
 	ipl_t ipl;
 
-	if (haltstate) {
+	if (atomic_get(&haltstate)) {
 		/* If we are here, we are hopefully on the processor, that 
 		 * issued the 'halt' command, so proceed to read the character
@@ -61,5 +62,9 @@
 			return chardev->op->read(chardev);
 		/* no other way of interacting with user, halt */
-		printf("cpu: halted - no kconsole\n");
+		if (CPU)
+			printf("cpu%d: ", CPU->id);
+		else
+			printf("cpu: ");
+		printf("halted - no kconsole\n");
 		cpu_halt();
 	}
