diff options
Diffstat (limited to 'arch/powerpc/kernel/misc_32.S')
-rw-r--r-- | arch/powerpc/kernel/misc_32.S | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 8649f536f8df..8043d1b73cf0 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -441,7 +441,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
441 | addi r3,r3,L1_CACHE_BYTES | 441 | addi r3,r3,L1_CACHE_BYTES |
442 | bdnz 0b | 442 | bdnz 0b |
443 | sync | 443 | sync |
444 | #ifndef CONFIG_44x | 444 | #ifdef CONFIG_44x |
445 | /* We don't flush the icache on 44x. Those have a virtual icache | 445 | /* We don't flush the icache on 44x. Those have a virtual icache |
446 | * and we don't have access to the virtual address here (it's | 446 | * and we don't have access to the virtual address here (it's |
447 | * not the page vaddr but where it's mapped in user space). The | 447 | * not the page vaddr but where it's mapped in user space). The |
@@ -449,15 +449,19 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
449 | * a change in the address space occurs, before returning to | 449 | * a change in the address space occurs, before returning to |
450 | * user space | 450 | * user space |
451 | */ | 451 | */ |
452 | BEGIN_MMU_FTR_SECTION | ||
453 | blr | ||
454 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_44x) | ||
455 | #endif /* CONFIG_44x */ | ||
452 | mtctr r4 | 456 | mtctr r4 |
453 | 1: icbi 0,r6 | 457 | 1: icbi 0,r6 |
454 | addi r6,r6,L1_CACHE_BYTES | 458 | addi r6,r6,L1_CACHE_BYTES |
455 | bdnz 1b | 459 | bdnz 1b |
456 | sync | 460 | sync |
457 | isync | 461 | isync |
458 | #endif /* CONFIG_44x */ | ||
459 | blr | 462 | blr |
460 | 463 | ||
464 | #ifndef CONFIG_BOOKE | ||
461 | /* | 465 | /* |
462 | * Flush a particular page from the data cache to RAM, identified | 466 | * Flush a particular page from the data cache to RAM, identified |
463 | * by its physical address. We turn off the MMU so we can just use | 467 | * by its physical address. We turn off the MMU so we can just use |
@@ -490,6 +494,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
490 | mtmsr r10 /* restore DR */ | 494 | mtmsr r10 /* restore DR */ |
491 | isync | 495 | isync |
492 | blr | 496 | blr |
497 | #endif /* CONFIG_BOOKE */ | ||
493 | 498 | ||
494 | /* | 499 | /* |
495 | * Clear pages using the dcbz instruction, which doesn't cause any | 500 | * Clear pages using the dcbz instruction, which doesn't cause any |