Index: boot/arch/arm32/src/asm.S
===================================================================
--- boot/arch/arm32/src/asm.S	(revision bfb6576e89c4d2600b157907c8fa8b70434a94d0)
+++ boot/arch/arm32/src/asm.S	(revision b80d132402ab3e047769aa6169f32b1a76c36aa1)
@@ -66,4 +66,14 @@
 	# r2 is a kernel text end
 
+#define CP15_C1_IC		12
+#define CP15_C1_BP		11
+#define CP15_C1_DC		2
+	# Disable I-cache and D-cache before the kernel is started.
+	mrc	p15, 0, r4, c1, c0, 0
+	bic	r4, r4, #(1 << CP15_C1_DC)
+	bic	r4, r4, #(1 << CP15_C1_IC)
+	bic	r4, r4, #(1 << CP15_C1_BP)
+	mcr	p15, 0, r4, c1, c0, 0
+
 	
 	#Wait for the operations to complete
@@ -89,18 +99,11 @@
 #endif
 	
+#TODO:This should not be necessary
 
 #if defined(MACHINE_gta02)
 
-#define CP15_C1_IC		12
-#define CP15_C1_DC		2
 #define CP15_C7_SEG_SHIFT	5
 #define CP15_C7_SEG_SIZE	3
 #define CP15_C7_IDX_SHIFT	26
-
-	# Disable I-cache and D-cache before the kernel is started.
-	mrc	p15, 0, r4, c1, c0, 0
-	bic	r4, r4, #(1 << CP15_C1_DC)
-	bic	r4, r4, #(1 << CP15_C1_IC)
-	mcr	p15, 0, r4, c1, c0, 0
 
 	# Now clean D-cache to guarantee coherency between I-cache and D-cache.
Index: boot/arch/arm32/src/main.c
===================================================================
--- boot/arch/arm32/src/main.c	(revision bfb6576e89c4d2600b157907c8fa8b70434a94d0)
+++ boot/arch/arm32/src/main.c	(revision b80d132402ab3e047769aa6169f32b1a76c36aa1)
@@ -69,10 +69,10 @@
 }
 
-static inline void clean_dcache_pou(void *address, size_t size)
+static inline void clean_dcache_poc(void *address, size_t size)
 {
 	const uintptr_t addr = (uintptr_t)address;
-	/* DCCMVAU - clean by address to the point of unification */
+	/* DCCMVAC - clean by address to the point of coherence */
 	for (uintptr_t a = addr; a < addr + size; a += 4) {
-		asm volatile ("mcr p15, 0, %[a], c7, c11, 1\n" :: [a]"r"(a) : );
+		asm volatile ("mcr p15, 0, %[a], c7, c10, 1\n" :: [a]"r"(a) : );
 	}
 }
@@ -148,5 +148,5 @@
 			halt();
 		}
-		clean_dcache_pou(dest[i - 1], components[i - 1].inflated);
+		clean_dcache_poc(dest[i - 1], components[i - 1].inflated);
 	}
 	
