Index: kernel/arch/arm32/include/asm.h
===================================================================
--- kernel/arch/arm32/include/asm.h	(revision 3a2f8aa1cef1886a9586c9987617553007802c3f)
+++ kernel/arch/arm32/include/asm.h	(revision 210e50a2e64696e25acdb6745a857a8b4862ecdd)
@@ -96,5 +96,5 @@
 }
 
-extern void cpu_halt(void);
+extern void cpu_halt(void) __attribute__((noreturn));
 extern void asm_delay_loop(uint32_t t);
 extern void userspace_asm(uintptr_t ustack, uintptr_t uspace_uarg,
Index: kernel/arch/arm32/src/arm32.c
===================================================================
--- kernel/arch/arm32/src/arm32.c	(revision 3a2f8aa1cef1886a9586c9987617553007802c3f)
+++ kernel/arch/arm32/src/arm32.c	(revision 210e50a2e64696e25acdb6745a857a8b4862ecdd)
@@ -155,5 +155,6 @@
 void cpu_halt(void)
 {
-	machine_cpu_halt();
+	while (true)
+		machine_cpu_halt();
 }
 
@@ -162,5 +163,5 @@
 {
 	/* not implemented */
-	while (1);
+	while (true);
 }
 
