Index: kernel/arch/arm32/include/barrier.h
===================================================================
--- kernel/arch/arm32/include/barrier.h	(revision 33d394a27216fe15b4a8a82851762290d107cc84)
+++ kernel/arch/arm32/include/barrier.h	(revision 4e3bfabd1c40adede2ffda8d71645ac279051d2b)
@@ -113,9 +113,13 @@
 	inst_barrier();              /* Wait for Inst refetch */\
 } while (0)
-// TODO: Implement blocks
-#define smc_coherence_block(a, l) smc_coherence(a)
+//TODO would be better to use cacheline size here
+#define smc_coherence_block(a, l) \
+do { \
+	for (uintptr_t addr = (uintptr_t)a; addr < (uintptr_t)a + l; addr += 4)\
+		smc_coherence(addr); \
+} while (0)
 #else
 #define smc_coherence(a)
-#define smc_coherence_block(a, l) smc_coherence(a)
+#define smc_coherence_block(a, l)
 #endif
 
