Index: abi/include/abi/sysinfo.h
===================================================================
--- abi/include/abi/sysinfo.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ abi/include/abi/sysinfo.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -37,4 +37,5 @@
 #define ABI_SYSINFO_H_
 
+#include <abi/bool.h>
 #include <abi/proc/task.h>
 #include <abi/proc/thread.h>
Index: kernel/arch/abs32le/include/arch/mm/km.h
===================================================================
--- kernel/arch/abs32le/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/abs32le/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_abs32le_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/abs32le/include/arch/mm/page.h
===================================================================
--- kernel/arch/abs32le/include/arch/mm/page.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/abs32le/include/arch/mm/page.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -37,4 +37,5 @@
 
 #include <arch/mm/frame.h>
+#include <stdbool.h>
 #include <trace.h>
 
Index: kernel/arch/amd64/include/arch/mm/km.h
===================================================================
--- kernel/arch/amd64/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/amd64/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_amd64_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/amd64/src/debug/stacktrace.c
===================================================================
--- kernel/arch/amd64/src/debug/stacktrace.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/amd64/src/debug/stacktrace.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -34,4 +34,5 @@
 
 #include <stacktrace.h>
+#include <stdbool.h>
 #include <syscall/copy.h>
 #include <typedefs.h>
Index: kernel/arch/arm32/include/arch/fpu_context.h
===================================================================
--- kernel/arch/arm32/include/arch/fpu_context.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/arm32/include/arch/fpu_context.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -37,4 +37,5 @@
 #define KERN_arm32_FPU_CONTEXT_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/arm32/include/arch/interrupt.h
===================================================================
--- kernel/arch/arm32/include/arch/interrupt.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/arm32/include/arch/interrupt.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -37,5 +37,5 @@
 #define KERN_arm32_INTERRUPT_H_
 
-#include <typedefs.h>
+#include <stdbool.h>
 #include <arch/exception.h>
 
Index: kernel/arch/arm32/include/arch/mm/km.h
===================================================================
--- kernel/arch/arm32/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/arm32/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_arm32_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/arm32/src/mm/km.c
===================================================================
--- kernel/arch/arm32/src/mm/km.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/arm32/src/mm/km.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -34,4 +34,5 @@
 #include <mm/km.h>
 #include <config.h>
+#include <stdbool.h>
 #include <typedefs.h>
 #include <macros.h>
Index: kernel/arch/ia32/include/arch/mm/km.h
===================================================================
--- kernel/arch/ia32/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/ia32/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_ia32_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/ia32/include/arch/mm/page.h
===================================================================
--- kernel/arch/ia32/include/arch/mm/page.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/ia32/include/arch/mm/page.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -37,4 +37,5 @@
 
 #include <arch/mm/frame.h>
+#include <stdbool.h>
 #include <trace.h>
 
Index: kernel/arch/ia64/include/arch/mm/km.h
===================================================================
--- kernel/arch/ia64/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/ia64/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_ia64_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/mips32/include/arch/debugger.h
===================================================================
--- kernel/arch/mips32/include/arch/debugger.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/mips32/include/arch/debugger.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -38,4 +38,5 @@
 #include <arch/exception.h>
 #include <typedefs.h>
+#include <stdbool.h>
 
 #define BKPOINTS_MAX 10
Index: kernel/arch/mips32/include/arch/mm/km.h
===================================================================
--- kernel/arch/mips32/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/mips32/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_mips32_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/mips32/include/arch/mm/tlb.h
===================================================================
--- kernel/arch/mips32/include/arch/mm/tlb.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/mips32/include/arch/mm/tlb.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,8 +36,9 @@
 #define KERN_mips32_TLB_H_
 
-#include <typedefs.h>
 #include <arch/mm/asid.h>
 #include <arch/exception.h>
+#include <stdbool.h>
 #include <trace.h>
+#include <typedefs.h>
 
 #if defined(PROCESSOR_R4000)
Index: kernel/arch/ppc32/include/arch/mm/km.h
===================================================================
--- kernel/arch/ppc32/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/ppc32/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_ppc32_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/sparc64/include/arch/mm/km.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/sparc64/include/arch/mm/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup sparc64mm	
+/** @addtogroup sparc64mm
  * @{
  */
Index: kernel/arch/sparc64/include/arch/mm/sun4u/km.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4u/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/sparc64/include/arch/mm/sun4u/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_sparc64_sun4u_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/sparc64/include/arch/mm/sun4v/km.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4v/km.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/sparc64/include/arch/mm/sun4v/km.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_sparc64_sun4v_KM_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/arch/sparc64/include/arch/mm/sun4v/tsb.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4v/tsb.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/arch/sparc64/include/arch/mm/sun4v/tsb.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -51,4 +51,5 @@
 #ifndef __ASM__
 
+#include <stdbool.h>
 #include <typedefs.h>
 #include <arch/mm/tte.h>
Index: kernel/genarch/include/genarch/fb/bfb.h
===================================================================
--- kernel/genarch/include/genarch/fb/bfb.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/genarch/include/genarch/fb/bfb.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_BFB_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/genarch/include/genarch/ofw/ofw_tree.h
===================================================================
--- kernel/genarch/include/genarch/ofw/ofw_tree.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/genarch/include/genarch/ofw/ofw_tree.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -30,4 +30,5 @@
 #define KERN_OFW_TREE_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/adt/avl.h
===================================================================
--- kernel/generic/include/adt/avl.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/adt/avl.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_AVLTREE_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 #include <trace.h>
Index: kernel/generic/include/config.h
===================================================================
--- kernel/generic/include/config.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/config.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -52,4 +52,5 @@
 #ifndef __ASM__
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/gsort.h
===================================================================
--- kernel/generic/include/gsort.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/gsort.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_GSORT_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/mm/reserve.h
===================================================================
--- kernel/generic/include/mm/reserve.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/mm/reserve.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_RESERVE_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/panic.h
===================================================================
--- kernel/generic/include/panic.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/panic.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_PANIC_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 #include <print.h>
Index: kernel/generic/include/stacktrace.h
===================================================================
--- kernel/generic/include/stacktrace.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/stacktrace.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_STACKTRACE_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/stdbool.h
===================================================================
--- kernel/generic/include/stdbool.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
+++ kernel/generic/include/stdbool.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2006 Martin Decky
+ * 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 generic
+ * @{
+ */
+/** @file
+ */
+
+#ifndef KERN_BOOL_H_
+#define KERN_BOOL_H_
+
+#include <abi/bool.h>
+
+#define false  0
+#define true   1
+
+#define __bool_true_false_are_defined 1
+
+#endif
+
+/** @}
+ */
Index: kernel/generic/include/str.h
===================================================================
--- kernel/generic/include/str.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/str.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,4 +36,5 @@
 #define KERN_STR_H_
 
+#include <stdbool.h>
 #include <typedefs.h>
 
Index: kernel/generic/include/sysinfo/sysinfo.h
===================================================================
--- kernel/generic/include/sysinfo/sysinfo.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/sysinfo/sysinfo.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -38,4 +38,5 @@
 
 #include <typedefs.h>
+#include <stdbool.h>
 #include <str.h>
 #include <abi/sysinfo.h>
Index: kernel/generic/include/typedefs.h
===================================================================
--- kernel/generic/include/typedefs.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/include/typedefs.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -39,10 +39,6 @@
 #include <arch/common.h>
 #include <arch/types.h>
-#include <abi/bool.h>
 
 #define NULL  ((void *) 0)
-
-#define false  0
-#define true   1
 
 typedef struct {
Index: kernel/generic/src/debug/stacktrace.c
===================================================================
--- kernel/generic/src/debug/stacktrace.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/src/debug/stacktrace.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -34,6 +34,6 @@
 
 #include <stacktrace.h>
+#include <stdbool.h>
 #include <interrupt.h>
-#include <typedefs.h>
 #include <symtab.h>
 #include <print.h>
Index: kernel/generic/src/sysinfo/stats.c
===================================================================
--- kernel/generic/src/sysinfo/stats.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/generic/src/sysinfo/stats.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -45,4 +45,5 @@
 #include <proc/thread.h>
 #include <interrupt.h>
+#include <stdbool.h>
 #include <str.h>
 #include <errno.h>
Index: kernel/test/debug/mips1_skip.c
===================================================================
--- kernel/test/debug/mips1_skip.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/test/debug/mips1_skip.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -28,4 +28,5 @@
 
 #include <test.h>
+#include <typedefs.h>
 
 const char *test_mips1(void)
Index: kernel/test/mm/purge1_skip.c
===================================================================
--- kernel/test/mm/purge1_skip.c	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/test/mm/purge1_skip.c	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -28,4 +28,5 @@
 
 #include <test.h>
+#include <typedefs.h>
 
 const char *test_purge1(void)
Index: kernel/test/test.h
===================================================================
--- kernel/test/test.h	(revision 78188e5873f47aad1ea0bb8b9e68b6f694b89dc4)
+++ kernel/test/test.h	(revision 525c5ac5b9fa9910f16d49c50efb5ca3369bc0e6)
@@ -36,5 +36,5 @@
 #define KERN_TEST_H_
 
-#include <typedefs.h>
+#include <stdbool.h>
 
 extern bool test_quiet;
