|
@@ -123,6 +123,17 @@ ENTRY(cpu_feroceon_do_idle)
|
|
|
mcr p15, 0, r0, c7, c0, 4 @ Wait for interrupt
|
|
|
mov pc, lr
|
|
|
|
|
|
+/*
|
|
|
+ * flush_icache_all()
|
|
|
+ *
|
|
|
+ * Unconditionally clean and invalidate the entire icache.
|
|
|
+ */
|
|
|
+ENTRY(feroceon_flush_icache_all)
|
|
|
+ mov r0, #0
|
|
|
+ mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
|
|
|
+ mov pc, lr
|
|
|
+ENDPROC(feroceon_flush_icache_all)
|
|
|
+
|
|
|
/*
|
|
|
* flush_user_cache_all()
|
|
|
*
|
|
@@ -401,6 +412,7 @@ ENTRY(feroceon_dma_unmap_area)
|
|
|
ENDPROC(feroceon_dma_unmap_area)
|
|
|
|
|
|
ENTRY(feroceon_cache_fns)
|
|
|
+ .long feroceon_flush_icache_all
|
|
|
.long feroceon_flush_kern_cache_all
|
|
|
.long feroceon_flush_user_cache_all
|
|
|
.long feroceon_flush_user_cache_range
|
|
@@ -412,6 +424,7 @@ ENTRY(feroceon_cache_fns)
|
|
|
.long feroceon_dma_flush_range
|
|
|
|
|
|
ENTRY(feroceon_range_cache_fns)
|
|
|
+ .long feroceon_flush_icache_all
|
|
|
.long feroceon_flush_kern_cache_all
|
|
|
.long feroceon_flush_user_cache_all
|
|
|
.long feroceon_flush_user_cache_range
|