Index: kernel/arch/arm32/include/barrier.h
===================================================================
--- kernel/arch/arm32/include/barrier.h	(revision 6a6ebde0a0582a1049085936c5cb99cc5189a609)
+++ kernel/arch/arm32/include/barrier.h	(revision 467f0c015bfe6def2a857f40db3faa9f3379815f)
@@ -39,4 +39,10 @@
 /*
  * TODO: implement true ARM memory barriers for macros below.
+ * ARMv6 introduced user access of the following commands:
+ * • Prefetch flush
+ * • Data synchronization barrier
+ * • Data memory barrier
+ * • Clean and prefetch range operations.
+ * ARM Architecture Reference Manual version I ch. B.3.2.1 p. B3-4
  */
 #define CS_ENTER_BARRIER()  asm volatile ("" ::: "memory")
Index: kernel/arch/arm32/src/fpu_context.c
===================================================================
--- kernel/arch/arm32/src/fpu_context.c	(revision 6a6ebde0a0582a1049085936c5cb99cc5189a609)
+++ kernel/arch/arm32/src/fpu_context.c	(revision 467f0c015bfe6def2a857f40db3faa9f3379815f)
@@ -125,4 +125,10 @@
 static int fpu_have_coprocessor_access()
 {
+/* The register containing the information (CPACR) is not available on armv6-
+ * rely on user decision to use CONFIG_FPU.
+ */
+#ifndef PROCESSOR_armv7_a
+	return 1;
+#endif
 	uint32_t cpacr;
 	asm volatile ("MRC p15, 0, %0, c1, c0, 2" :"=r" (cpacr)::);
@@ -149,4 +155,10 @@
 static void fpu_enable_coprocessor_access()
 {
+/* The register containing the information (CPACR) is not available on armv6-
+ * rely on user decision to use CONFIG_FPU.
+ */
+#ifndef PROCESSOR_armv7_a
+	return;
+#endif
 	uint32_t cpr;
 	asm volatile("MRC p15, 0, %0, c1, c1, 0" : "=r" (cpr)::);
@@ -169,4 +181,5 @@
 	uint32_t cpacr;
 	asm volatile ("mrc p15, 0, %0, c1, c0, 2" :"=r" (cpacr)::);
+	printf("CPACR before: %x\n", cpacr);
 	/* FPU needs access to coprocessor 10 and 11.
 	 * Moreover, they need to have same access enabled */
@@ -174,4 +187,5 @@
 	cpacr |= CPACR_CP11_USER_ACCESS;
 	asm volatile ("mcr p15, 0, %0, c1, c0, 2" :"=r" (cpacr)::);
+	printf("CPACR after: %x\n", cpacr);
 
 #ifdef MACHINE_beagleboardxm
