diff options
author | Benjamin Krill <ben@codiert.org> | 2014-02-27 09:49:21 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-03-06 23:54:51 -0500 |
commit | 60b962239a0837869be3e9192003fb8076068b91 (patch) | |
tree | 76c3ae723ca0c4950656a638342b456b9966d1f9 /arch/powerpc/mm/tlb_low_64e.S | |
parent | eb3b80f676c8b610bcf5e3ba58d2876a04f74b16 (diff) |
powerpc/book3e: Fix check for linear mapping in TLB miss handler
The previous code added wrong TLBs and causes machine check errors if
a driver accessed passed the end of the linear mapping instead of
a clean page fault.
Signed-off-by: Ralph E. Bellofatto <ralphbel@us.ibm.com>
Signed-off-by: Benjamin Krill <ben@codiert.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/mm/tlb_low_64e.S')
-rw-r--r-- | arch/powerpc/mm/tlb_low_64e.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S index c95eb323e9ae..6bf50507a4b5 100644 --- a/arch/powerpc/mm/tlb_low_64e.S +++ b/arch/powerpc/mm/tlb_low_64e.S | |||
@@ -1091,7 +1091,8 @@ tlb_load_linear: | |||
1091 | ld r11,PACATOC(r13) | 1091 | ld r11,PACATOC(r13) |
1092 | ld r11,linear_map_top@got(r11) | 1092 | ld r11,linear_map_top@got(r11) |
1093 | ld r10,0(r11) | 1093 | ld r10,0(r11) |
1094 | cmpld cr0,r10,r16 | 1094 | tovirt(10,10) |
1095 | cmpld cr0,r16,r10 | ||
1095 | bge tlb_load_linear_fault | 1096 | bge tlb_load_linear_fault |
1096 | 1097 | ||
1097 | /* MAS1 need whole new setup. */ | 1098 | /* MAS1 need whole new setup. */ |