aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorRocky Craig <rocky.craig@hp.com>2008-08-14 09:11:54 -0400
committerPaul Mackerras <paulus@samba.org>2008-08-18 00:22:34 -0400
commit9acd57ca74b12bc8ba8da12c72b19ede2cddcb53 (patch)
treebcf6de7ac2c62cdbeb95b92bbd3311436a8fbaf0 /arch/powerpc/kernel
parent3fadc52b2c9171b138b93f4a0121ceba67241b3b (diff)
powerpc: Fix TLB invalidation on boot on 32-bit
The intent of "flush_tlbs" is to invalidate all TLB entries by doing a TLB invalidate instruction for all pages in the address range 0 to 0x00400000. A loop counter is set up at the high value and decremented by page size. However, the loop is only done once as the sense of the conditional branch at the loop end does not match the setup/decrement. This fixes it to do the whole range by correcting the branch condition. Signed-off-by: Rocky Craig <rocky.craig@hp.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/head_32.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index 99ee2f0f0f2b..8bb657519299 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -1155,7 +1155,7 @@ flush_tlbs:
1155 lis r10, 0x40 1155 lis r10, 0x40
11561: addic. r10, r10, -0x1000 11561: addic. r10, r10, -0x1000
1157 tlbie r10 1157 tlbie r10
1158 blt 1b 1158 bgt 1b
1159 sync 1159 sync
1160 blr 1160 blr
1161 1161