|
@@ -342,10 +342,17 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
|
|
addi r3,r3,L1_CACHE_BYTES
|
|
addi r3,r3,L1_CACHE_BYTES
|
|
bdnz 1b
|
|
bdnz 1b
|
|
sync /* wait for dcbst's to get to ram */
|
|
sync /* wait for dcbst's to get to ram */
|
|
|
|
+#ifndef CONFIG_44x
|
|
mtctr r4
|
|
mtctr r4
|
|
2: icbi 0,r6
|
|
2: icbi 0,r6
|
|
addi r6,r6,L1_CACHE_BYTES
|
|
addi r6,r6,L1_CACHE_BYTES
|
|
bdnz 2b
|
|
bdnz 2b
|
|
|
|
+#else
|
|
|
|
+ /* Flash invalidate on 44x because we are passed kmapped addresses and
|
|
|
|
+ this doesn't work for userspace pages due to the virtually tagged
|
|
|
|
+ icache. Sigh. */
|
|
|
|
+ iccci 0, r0
|
|
|
|
+#endif
|
|
sync /* additional sync needed on g4 */
|
|
sync /* additional sync needed on g4 */
|
|
isync
|
|
isync
|
|
blr
|
|
blr
|