diff options
Diffstat (limited to 'arch/powerpc/kernel/misc_32.S')
-rw-r--r-- | arch/powerpc/kernel/misc_32.S | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 15f28e0de78d..da9c0c4c10f3 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -342,10 +342,17 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
342 | addi r3,r3,L1_CACHE_BYTES | 342 | addi r3,r3,L1_CACHE_BYTES |
343 | bdnz 1b | 343 | bdnz 1b |
344 | sync /* wait for dcbst's to get to ram */ | 344 | sync /* wait for dcbst's to get to ram */ |
345 | #ifndef CONFIG_44x | ||
345 | mtctr r4 | 346 | mtctr r4 |
346 | 2: icbi 0,r6 | 347 | 2: icbi 0,r6 |
347 | addi r6,r6,L1_CACHE_BYTES | 348 | addi r6,r6,L1_CACHE_BYTES |
348 | bdnz 2b | 349 | bdnz 2b |
350 | #else | ||
351 | /* Flash invalidate on 44x because we are passed kmapped addresses and | ||
352 | this doesn't work for userspace pages due to the virtually tagged | ||
353 | icache. Sigh. */ | ||
354 | iccci 0, r0 | ||
355 | #endif | ||
349 | sync /* additional sync needed on g4 */ | 356 | sync /* additional sync needed on g4 */ |
350 | isync | 357 | isync |
351 | blr | 358 | blr |