Index: kernel/arch/abs32le/include/arch/atomic.h
===================================================================
--- kernel/arch/abs32le/include/arch/atomic.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/abs32le/include/arch/atomic.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 
 #include <typedefs.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <preemption.h>
 #include <verify.h>
Index: kernel/arch/amd64/include/arch/atomic.h
===================================================================
--- kernel/arch/amd64/include/arch/atomic.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/amd64/include/arch/atomic.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 #define KERN_amd64_ATOMIC_H_
 
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <preemption.h>
 #include <trace.h>
Index: kernel/arch/arm32/include/arch/mm/page.h
===================================================================
--- kernel/arch/arm32/include/arch/mm/page.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/arm32/include/arch/mm/page.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -40,5 +40,5 @@
 #include <mm/mm.h>
 #include <arch/exception.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/cp15.h>
 #include <trace.h>
Index: kernel/arch/arm32/src/exception.c
===================================================================
--- kernel/arch/arm32/src/exception.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/arm32/src/exception.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -40,5 +40,5 @@
 #include <arch/mm/page_fault.h>
 #include <arch/cp15.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <print.h>
 #include <syscall/syscall.h>
Index: kernel/arch/ia32/include/arch/atomic.h
===================================================================
--- kernel/arch/ia32/include/arch/atomic.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia32/include/arch/atomic.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 
 #include <typedefs.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <preemption.h>
 #include <trace.h>
Index: kernel/arch/ia64/include/arch/mm/page.h
===================================================================
--- kernel/arch/ia64/include/arch/mm/page.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/include/arch/mm/page.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -89,5 +89,5 @@
 #include <arch/mm/frame.h>
 #include <arch/interrupt.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/mm/asid.h>
 #include <typedefs.h>
Index: kernel/arch/ia64/src/drivers/it.c
===================================================================
--- kernel/arch/ia64/src/drivers/it.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/src/drivers/it.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -39,5 +39,5 @@
 #include <arch/register.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <time/clock.h>
 #include <ddi/irq.h>
Index: kernel/arch/ia64/src/interrupt.c
===================================================================
--- kernel/arch/ia64/src/interrupt.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/src/interrupt.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -43,5 +43,5 @@
 #include <typedefs.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/register.h>
 #include <arch.h>
Index: kernel/arch/ia64/src/mm/as.c
===================================================================
--- kernel/arch/ia64/src/mm/as.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/src/mm/as.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -41,5 +41,5 @@
 #include <genarch/mm/asid_fifo.h>
 #include <mm/asid.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 
 /** Architecture dependent address space init. */
Index: kernel/arch/ia64/src/mm/page.c
===================================================================
--- kernel/arch/ia64/src/mm/page.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/src/mm/page.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -47,5 +47,5 @@
 #include <panic.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <align.h>
 
Index: kernel/arch/ia64/src/mm/tlb.c
===================================================================
--- kernel/arch/ia64/src/mm/tlb.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/ia64/src/mm/tlb.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -44,5 +44,5 @@
 #include <arch/mm/page.h>
 #include <arch/mm/vhpt.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/interrupt.h>
 #include <arch/pal/pal.h>
Index: kernel/arch/mips32/src/debugger.c
===================================================================
--- kernel/arch/mips32/src/debugger.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/mips32/src/debugger.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -34,5 +34,5 @@
 
 #include <arch/debugger.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <console/kconsole.h>
 #include <console/cmd.h>
Index: kernel/arch/sparc64/include/arch/asm.h
===================================================================
--- kernel/arch/sparc64/include/arch/asm.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/include/arch/asm.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -41,5 +41,5 @@
 #include <config.h>
 #include <arch/stack.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <trace.h>
 
Index: kernel/arch/sparc64/include/arch/atomic.h
===================================================================
--- kernel/arch/sparc64/include/arch/atomic.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/include/arch/atomic.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -36,5 +36,5 @@
 #define KERN_sparc64_ATOMIC_H_
 
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <typedefs.h>
 #include <preemption.h>
Index: kernel/arch/sparc64/include/arch/mm/sun4u/mmu.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4u/mmu.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/include/arch/mm/sun4u/mmu.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -90,5 +90,5 @@
 
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <stdint.h>
 
Index: kernel/arch/sparc64/include/arch/mm/sun4u/tlb.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4u/tlb.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/include/arch/mm/sun4u/tlb.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -98,5 +98,5 @@
 #include <arch/mm/page.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <typedefs.h>
 #include <trace.h>
Index: kernel/arch/sparc64/include/arch/mm/sun4v/tlb.h
===================================================================
--- kernel/arch/sparc64/include/arch/mm/sun4v/tlb.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/include/arch/mm/sun4v/tlb.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -47,5 +47,5 @@
 #include <arch/mm/page.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <typedefs.h>
 #include <arch/register.h>
Index: kernel/arch/sparc64/src/mm/sun4u/tsb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4u/tsb.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/mm/sun4u/tsb.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -36,5 +36,5 @@
 #include <arch/mm/tlb.h>
 #include <arch/mm/page.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <assert.h>
 #include <mm/as.h>
Index: kernel/arch/sparc64/src/mm/sun4v/tsb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4v/tsb.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/mm/sun4v/tsb.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 #include <arch/mm/tlb.h>
 #include <arch/mm/page.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <assert.h>
 #include <mm/as.h>
Index: kernel/arch/sparc64/src/smp/sun4u/ipi.c
===================================================================
--- kernel/arch/sparc64/src/smp/sun4u/ipi.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/smp/sun4u/ipi.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -45,5 +45,5 @@
 #include <arch/interrupt.h>
 #include <arch/trap/interrupt.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <preemption.h>
 #include <time/delay.h>
Index: kernel/arch/sparc64/src/trap/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/interrupt.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/trap/interrupt.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -44,5 +44,5 @@
 #include <debug.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/drivers/tick.h>
 #include <print.h>
Index: kernel/arch/sparc64/src/trap/sun4u/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/sun4u/interrupt.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/trap/sun4u/interrupt.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -41,5 +41,5 @@
 #include <debug.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <log.h>
 #include <arch.h>
Index: kernel/arch/sparc64/src/trap/sun4v/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/sun4v/interrupt.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/arch/sparc64/src/trap/sun4v/interrupt.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -41,5 +41,5 @@
 #include <debug.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <log.h>
 #include <arch.h>
Index: kernel/genarch/src/mm/page_ht.c
===================================================================
--- kernel/genarch/src/mm/page_ht.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/genarch/src/mm/page_ht.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -45,5 +45,5 @@
 #include <typedefs.h>
 #include <arch/asm.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <synch/spinlock.h>
 #include <arch.h>
Index: kernel/genarch/src/mm/page_pt.c
===================================================================
--- kernel/genarch/src/mm/page_pt.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/genarch/src/mm/page_pt.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -44,5 +44,5 @@
 #include <arch/mm/page.h>
 #include <arch/mm/as.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <typedefs.h>
 #include <arch/asm.h>
Index: kernel/generic/include/barrier.h
===================================================================
--- kernel/generic/include/barrier.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
+++ kernel/generic/include/barrier.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2012 Adam Hraska
+ * 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.
+ */
+
+#ifndef KERN_COMPILER_BARRIER_H_
+#define KERN_COMPILER_BARRIER_H_
+
+#include <arch/barrier.h>
+
+#define compiler_barrier() asm volatile ("" ::: "memory")
+
+/** Forces the compiler to access (ie load/store) the variable only once. */
+#define ACCESS_ONCE(var) (*((volatile typeof(var)*)&(var)))
+
+#endif /* KERN_COMPILER_BARRIER_H_ */
Index: rnel/generic/include/compiler/barrier.h
===================================================================
--- kernel/generic/include/compiler/barrier.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * Copyright (c) 2012 Adam Hraska
- * 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.
- */
-
-#ifndef KERN_COMPILER_BARRIER_H_
-#define KERN_COMPILER_BARRIER_H_
-
-#define compiler_barrier() asm volatile ("" ::: "memory")
-
-/** Forces the compiler to access (ie load/store) the variable only once. */
-#define ACCESS_ONCE(var) (*((volatile typeof(var)*)&(var)))
-
-#endif /* KERN_COMPILER_BARRIER_H_ */
Index: kernel/generic/include/preemption.h
===================================================================
--- kernel/generic/include/preemption.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/include/preemption.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 #include <arch.h>
 #include <assert.h>
-#include <compiler/barrier.h>
+#include <barrier.h>
 
 #define PREEMPTION_INC         (1 << 0)
Index: kernel/generic/include/synch/rcu.h
===================================================================
--- kernel/generic/include/synch/rcu.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/include/synch/rcu.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 #include <assert.h>
 #include <synch/rcu_types.h>
-#include <compiler/barrier.h>
+#include <barrier.h>
 
 
Index: kernel/generic/include/synch/spinlock.h
===================================================================
--- kernel/generic/include/synch/spinlock.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/include/synch/spinlock.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 
 #include <stdbool.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <assert.h>
 #include <preemption.h>
Index: kernel/generic/src/adt/cht.c
===================================================================
--- kernel/generic/src/adt/cht.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/adt/cht.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -292,6 +292,6 @@
 #include <assert.h>
 #include <mm/slab.h>
-#include <arch/barrier.h>
-#include <compiler/barrier.h>
+#include <barrier.h>
+#include <barrier.h>
 #include <atomic.h>
 #include <synch/rcu.h>
Index: kernel/generic/src/mm/backend_elf.c
===================================================================
--- kernel/generic/src/mm/backend_elf.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/mm/backend_elf.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -51,5 +51,5 @@
 #include <macros.h>
 #include <arch.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 
 static bool elf_create(as_area_t *);
Index: kernel/generic/src/mm/page.c
===================================================================
--- kernel/generic/src/mm/page.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/mm/page.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -66,5 +66,5 @@
 #include <mm/as.h>
 #include <mm/frame.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <typedefs.h>
 #include <arch/asm.h>
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/proc/task.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -46,5 +46,5 @@
 #include <synch/waitq.h>
 #include <arch.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <adt/avl.h>
 #include <adt/btree.h>
Index: kernel/generic/src/smp/smp_call.c
===================================================================
--- kernel/generic/src/smp/smp_call.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/smp/smp_call.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 
 #include <smp/smp_call.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch/asm.h>  /* interrupt_disable */
 #include <arch.h>
Index: kernel/generic/src/synch/rcu.c
===================================================================
--- kernel/generic/src/synch/rcu.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/synch/rcu.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -134,5 +134,5 @@
 #include <cpu.h>
 #include <smp/smp_call.h>
-#include <compiler/barrier.h>
+#include <barrier.h>
 #include <atomic.h>
 #include <arch.h>
Index: kernel/generic/src/synch/smc.c
===================================================================
--- kernel/generic/src/synch/smc.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/synch/smc.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -39,5 +39,5 @@
 #include <macros.h>
 #include <errno.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <synch/smc.h>
 #include <mm/as.h>
Index: kernel/generic/src/synch/spinlock.c
===================================================================
--- kernel/generic/src/synch/spinlock.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/synch/spinlock.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 #include <synch/spinlock.h>
 #include <atomic.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <arch.h>
 #include <preemption.h>
Index: kernel/generic/src/time/clock.c
===================================================================
--- kernel/generic/src/time/clock.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ kernel/generic/src/time/clock.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -54,5 +54,5 @@
 #include <proc/thread.h>
 #include <sysinfo/sysinfo.h>
-#include <arch/barrier.h>
+#include <barrier.h>
 #include <mm/frame.h>
 #include <ddi/ddi.h>
Index: uspace/app/rcutest/rcutest.c
===================================================================
--- uspace/app/rcutest/rcutest.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/app/rcutest/rcutest.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -46,5 +46,5 @@
 #include <fibril.h>
 #include <fibril_synch.h>
-#include <compiler/barrier.h>
+#include <barrier.h>
 #include <str.h>
 
Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/audio/sb16/dsp.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -39,5 +39,5 @@
 #include <device/hw_res.h>
 #include <libarch/ddi.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <macros.h>
 #include <str_error.h>
Index: uspace/drv/bus/usb/ehci/endpoint_list.c
===================================================================
--- uspace/drv/bus/usb/ehci/endpoint_list.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/ehci/endpoint_list.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 #include <assert.h>
 #include <errno.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 
 #include <usb/debug.h>
Index: uspace/drv/bus/usb/ehci/hw_struct/mem_access.h
===================================================================
--- uspace/drv/bus/usb/ehci/hw_struct/mem_access.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/ehci/hw_struct/mem_access.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -36,5 +36,5 @@
 
 #include <byteorder.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 
 #define EHCI_MEM32_WR(reg, val) reg = host2uint32_t_le(val)
Index: uspace/drv/bus/usb/ohci/endpoint_list.c
===================================================================
--- uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 #include <assert.h>
 #include <errno.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 
 #include <usb/debug.h>
Index: uspace/drv/bus/usb/uhci/transfer_list.c
===================================================================
--- uspace/drv/bus/usb/uhci/transfer_list.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/uhci/transfer_list.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 #include <assert.h>
 #include <errno.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdint.h>
 #include <usb/debug.h>
Index: uspace/drv/bus/usb/xhci/hw_struct/trb.h
===================================================================
--- uspace/drv/bus/usb/xhci/hw_struct/trb.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/xhci/hw_struct/trb.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -40,5 +40,5 @@
 
 #include "common.h"
-#include <libarch/barrier.h>
+#include <barrier.h>
 
 /**
Index: uspace/drv/bus/usb/xhci/trb_ring.c
===================================================================
--- uspace/drv/bus/usb/xhci/trb_ring.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/bus/usb/xhci/trb_ring.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -32,5 +32,5 @@
 #include <as.h>
 #include <align.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <usb/debug.h>
 #include "hw_struct/trb.h"
Index: uspace/drv/nic/rtl8139/driver.c
===================================================================
--- uspace/drv/nic/rtl8139/driver.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/nic/rtl8139/driver.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -32,5 +32,5 @@
 #include <align.h>
 #include <byteorder.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <as.h>
 #include <ddf/log.h>
Index: uspace/drv/nic/rtl8169/driver.c
===================================================================
--- uspace/drv/nic/rtl8169/driver.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/nic/rtl8169/driver.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -33,5 +33,5 @@
 #include <align.h>
 #include <byteorder.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdbool.h>
 
Index: uspace/drv/time/cmos-rtc/cmos-rtc.c
===================================================================
--- uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -39,5 +39,5 @@
 #include <ddi.h>
 #include <as.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdio.h>
 #include <ddf/driver.h>
Index: uspace/lib/c/generic/async/client.c
===================================================================
--- uspace/lib/c/generic/async/client.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/generic/async/client.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -111,5 +111,5 @@
 #include <errno.h>
 #include <sys/time.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdbool.h>
 #include <stdlib.h>
Index: uspace/lib/c/generic/async/ports.c
===================================================================
--- uspace/lib/c/generic/async/ports.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/generic/async/ports.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -42,5 +42,5 @@
 #include <errno.h>
 #include <sys/time.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdbool.h>
 #include <stdlib.h>
Index: uspace/lib/c/generic/smp_memory_barrier.c
===================================================================
--- uspace/lib/c/generic/smp_memory_barrier.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/generic/smp_memory_barrier.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -33,5 +33,5 @@
  */
 
-#include <smp_memory_barrier.h>
+#include <barrier.h>
 #include <libc.h>
 
Index: uspace/lib/c/generic/thread/rcu.c
===================================================================
--- uspace/lib/c/generic/thread/rcu.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/generic/thread/rcu.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -71,10 +71,9 @@
 #include <stdio.h>
 #include <stddef.h>
-#include <compiler/barrier.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <macros.h>
 #include <async.h>
 #include <adt/list.h>
-#include <smp_memory_barrier.h>
+#include <barrier.h>
 #include <assert.h>
 #include <time.h>
Index: uspace/lib/c/generic/time.c
===================================================================
--- uspace/lib/c/generic/time.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/generic/time.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -38,5 +38,5 @@
 #include <time.h>
 #include <stdbool.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <macros.h>
 #include <errno.h>
Index: uspace/lib/c/include/barrier.h
===================================================================
--- uspace/lib/c/include/barrier.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
+++ uspace/lib/c/include/barrier.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2012 Adam Hraska
+ * 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 libc
+ * @{
+ */
+/** @file
+ */
+
+#ifndef LIBC_COMPILER_BARRIER_H_
+#define LIBC_COMPILER_BARRIER_H_
+
+#include <libarch/barrier.h>
+
+extern void smp_memory_barrier(void);
+
+#define compiler_barrier() asm volatile ("" ::: "memory")
+
+/** Forces the compiler to access (ie load/store) the variable only once. */
+#define ACCESS_ONCE(var) (*((volatile typeof(var)*)&(var)))
+
+#endif /* LIBC_COMPILER_BARRIER_H_ */
Index: pace/lib/c/include/compiler/barrier.h
===================================================================
--- uspace/lib/c/include/compiler/barrier.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/*
- * Copyright (c) 2012 Adam Hraska
- * 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 libc
- * @{
- */
-/** @file
- */
-
-#ifndef LIBC_COMPILER_BARRIER_H_
-#define LIBC_COMPILER_BARRIER_H_
-
-#define compiler_barrier() asm volatile ("" ::: "memory")
-
-/** Forces the compiler to access (ie load/store) the variable only once. */
-#define ACCESS_ONCE(var) (*((volatile typeof(var)*)&(var)))
-
-#endif /* LIBC_COMPILER_BARRIER_H_ */
Index: uspace/lib/c/include/rcu.h
===================================================================
--- uspace/lib/c/include/rcu.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/c/include/rcu.h	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,6 +37,5 @@
 #define LIBURCU_RCU_H_
 
-#include <compiler/barrier.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 #include <stdbool.h>
 
Index: pace/lib/c/include/smp_memory_barrier.h
===================================================================
--- uspace/lib/c/include/smp_memory_barrier.h	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/*
- * Copyright (c) 2012 Adam Hraska
- * 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 libc
- * @{
- */
-/** @file
- */
-
-#ifndef LIBC_SMP_MEM_BAR_H_
-#define LIBC_SMP_MEM_BAR_H_
-
-extern void smp_memory_barrier(void);
-
-#endif
-
-/** @}
- */
Index: uspace/lib/virtio/virtio.c
===================================================================
--- uspace/lib/virtio/virtio.c	(revision 498ced18a4f90fe1c9eee028e354d61b39de484d)
+++ uspace/lib/virtio/virtio.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
@@ -37,5 +37,5 @@
 
 #include <ddf/log.h>
-#include <libarch/barrier.h>
+#include <barrier.h>
 
 /** Allocate DMA buffers
