Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/Makefile	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -179,9 +179,9 @@
 	generic/src/interrupt/interrupt.c \
 	generic/src/log/log.c \
+	generic/src/main/kinit.c \
 	generic/src/main/main.c \
-	generic/src/main/kinit.c \
+	generic/src/main/shutdown.c \
 	generic/src/main/uinit.c \
 	generic/src/main/version.c \
-	generic/src/main/shutdown.c \
 	generic/src/proc/current.c \
 	generic/src/proc/program.c \
@@ -203,5 +203,4 @@
 	generic/src/mm/backend_user.c \
 	generic/src/mm/slab.c \
-	generic/src/lib/halt.c \
 	generic/src/lib/mem.c \
 	generic/src/lib/memfnc.c \
Index: kernel/arch/mips32/src/debugger.c
===================================================================
--- kernel/arch/mips32/src/debugger.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/arch/mips32/src/debugger.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -42,5 +42,4 @@
 #include <arch.h>
 #include <arch/cp0.h>
-#include <halt.h>
 #include <symtab.h>
 
Index: kernel/arch/sparc64/src/smp/sun4v/smp.c
===================================================================
--- kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -43,5 +43,4 @@
 #include <config.h>
 #include <macros.h>
-#include <halt.h>
 #include <stdbool.h>
 #include <stddef.h>
Index: kernel/generic/include/arch.h
===================================================================
--- kernel/generic/include/arch.h	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/include/arch.h	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -38,4 +38,5 @@
 #include <arch/asm.h>   /* get_stack_base() */
 #include <config.h>
+#include <shutdown.h>
 
 /*
@@ -96,6 +97,4 @@
 extern void calibrate_delay_loop(void);
 
-extern void reboot(void);
-extern void arch_reboot(void);
 extern void *arch_construct_function(fncptr_t *, void *, void *);
 
Index: rnel/generic/include/halt.h
===================================================================
--- kernel/generic/include/halt.h	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/*
- * Copyright (c) 2001-2004 Jakub Jermar
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup kernel_generic
- * @{
- */
-/** @file
- */
-
-#ifndef KERN_HALT_H_
-#define KERN_HALT_H_
-
-#include <atomic.h>
-
-extern atomic_t haltstate;
-
-extern void halt(void) __attribute__((noreturn));
-
-#endif
-
-/** @}
- */
Index: kernel/generic/include/shutdown.h
===================================================================
--- kernel/generic/include/shutdown.h	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
+++ kernel/generic/include/shutdown.h	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2001-2004 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup kernel_generic
+ * @{
+ */
+/** @file
+ */
+
+#ifndef KERN_SHUTDOWN_H_
+#define KERN_SHUTDOWN_H_
+
+#include <atomic.h>
+
+extern atomic_t haltstate;
+
+extern void halt(void) __attribute__((noreturn));
+extern void reboot(void);
+extern void arch_reboot(void);
+
+#endif
+
+/** @}
+ */
Index: kernel/generic/src/console/chardev.c
===================================================================
--- kernel/generic/src/console/chardev.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/src/console/chardev.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -39,5 +39,5 @@
 #include <synch/spinlock.h>
 #include <stdio.h>
-#include <halt.h>
+#include <shutdown.h>
 #include <cpu.h>
 
Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/src/console/cmd.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -52,5 +52,4 @@
 #include <arch.h>
 #include <config.h>
-#include <halt.h>
 #include <str.h>
 #include <macros.h>
Index: kernel/generic/src/debug/panic.c
===================================================================
--- kernel/generic/src/debug/panic.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/src/debug/panic.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -36,5 +36,5 @@
 #include <stdio.h>
 #include <stacktrace.h>
-#include <halt.h>
+#include <shutdown.h>
 #include <typedefs.h>
 #include <mm/as.h>
Index: rnel/generic/src/lib/halt.c
===================================================================
--- kernel/generic/src/lib/halt.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ 	(revision )
@@ -1,82 +1,0 @@
-/*
- * Copyright (c) 2001-2004 Jakub Jermar
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup kernel_generic
- * @{
- */
-
-/**
- * @file
- * @brief Halt function.
- */
-
-#include <halt.h>
-#include <log.h>
-#include <cpu.h>
-#include <arch/asm.h>
-#include <arch.h>
-#include <console/kconsole.h>
-
-/** Halt flag */
-atomic_t haltstate = 0;
-
-/** Halt wrapper
- *
- * Set halt flag and halt the CPU.
- *
- */
-void halt(void)
-{
-#if (defined(CONFIG_DEBUG)) && (defined(CONFIG_KCONSOLE))
-	bool rundebugger = false;
-
-	if (!atomic_load(&haltstate)) {
-		atomic_store(&haltstate, 1);
-		rundebugger = true;
-	}
-#else
-	atomic_store(&haltstate, 1);
-#endif
-
-	interrupts_disable();
-
-#if (defined(CONFIG_DEBUG)) && (defined(CONFIG_KCONSOLE))
-	if ((rundebugger) && (kconsole_check_poll()))
-		kconsole("panic", "\nLast resort kernel console ready.\n", false);
-#endif
-
-	if (CPU)
-		log(LF_OTHER, LVL_NOTE, "cpu%u: halted", CPU->id);
-	else
-		log(LF_OTHER, LVL_NOTE, "cpu: halted");
-
-	cpu_halt();
-}
-
-/** @}
- */
Index: kernel/generic/src/main/shutdown.c
===================================================================
--- kernel/generic/src/main/shutdown.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/src/main/shutdown.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -1,4 +1,5 @@
 /*
  * Copyright (c) 2007 Martin Decky
+ * Copyright (c) 2001-2004 Jakub Jermar
  * All rights reserved.
  *
@@ -36,8 +37,47 @@
  */
 
+#include <shutdown.h>
+#include <log.h>
+#include <cpu.h>
+#include <arch/asm.h>
 #include <arch.h>
+#include <console/kconsole.h>
 #include <proc/task.h>
-#include <halt.h>
-#include <log.h>
+
+/** Halt flag */
+atomic_t haltstate = 0;
+
+/** Halt wrapper
+ *
+ * Set halt flag and halt the CPU.
+ *
+ */
+void halt(void)
+{
+#if (defined(CONFIG_DEBUG)) && (defined(CONFIG_KCONSOLE))
+	bool rundebugger = false;
+
+	if (!atomic_load(&haltstate)) {
+		atomic_store(&haltstate, 1);
+		rundebugger = true;
+	}
+#else
+	atomic_store(&haltstate, 1);
+#endif
+
+	interrupts_disable();
+
+#if (defined(CONFIG_DEBUG)) && (defined(CONFIG_KCONSOLE))
+	if ((rundebugger) && (kconsole_check_poll()))
+		kconsole("panic", "\nLast resort kernel console ready.\n", false);
+#endif
+
+	if (CPU)
+		log(LF_OTHER, LVL_NOTE, "cpu%u: halted", CPU->id);
+	else
+		log(LF_OTHER, LVL_NOTE, "cpu: halted");
+
+	cpu_halt();
+}
 
 void reboot(void)
Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision 2cc569a32f7a224374397a5bf949d29b469490ca)
+++ kernel/generic/src/proc/scheduler.c	(revision 40043e8d61ecdedef8f915d74b90ad59d8d19f85)
@@ -57,5 +57,5 @@
 #include <context.h>
 #include <fpu_context.h>
-#include <halt.h>
+#include <shutdown.h>
 #include <arch.h>
 #include <adt/list.h>
