[PATCH] ARM: XScale processors don't support "clean+invalidate D entry" operation.

Krzysztof Halasa khc at pm.waw.pl
Sat Mar 30 07:24:18 EDT 2013


Signed-off-by: Krzysztof Hałasa <khc at pm.waw.pl>

--- a/arch/arm/cpu/cache-armv4.S
+++ b/arch/arm/cpu/cache-armv4.S
@@ -132,11 +132,15 @@ ENTRY(v4_dma_clean_range)
  *
  *	- start	- virtual start address
  *	- end	- virtual end address
+ *
+ *	XScale processors don't support "clean+invalidate D entry"
+ *	(mcr p15, 0, r0, c7, c14, 1).
  */
 .section .text.v4_dma_flush_range
 ENTRY(v4_dma_flush_range)
 	bic	r0, r0, #CACHE_DLINESIZE - 1
-1:	mcr	p15, 0, r0, c7, c14, 1		@ clean+invalidate D entry
+1:	mcr	p15, 0, r0, c7, c10, 1		@ clean D entry
+	mcr	p15, 0, r0, c7, c6, 1		@ invalidate D entry
 	add	r0, r0, #CACHE_DLINESIZE
 	cmp	r0, r1
 	blo	1b



More information about the barebox mailing list