Subject: [PATCH] Fix physical address range check comparision and force address to be virtual address

From: Benjamin Krill <[email-masked]>
Date: Thu, 27 Feb 2014 15:49:21 +0100

The previous code added wrong TLBs and causes machine check errors.

Signed-off-by: Ralph E. Bellofatto <[email-masked]>
Signed-off-by: Benjamin Krill <[email-masked]>
---
 arch/powerpc/mm/tlb_low_64e.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S
index c95eb32..6bf5050 100644
--- a/arch/powerpc/mm/tlb_low_64e.S
+++ b/arch/powerpc/mm/tlb_low_64e.S
@@ -1091,7 +1091,8 @@ tlb_load_linear:
 	ld	r11,PACATOC(r13)
 	ld	r11,linear_map_top@got(r11)
 	ld	r10,0(r11)
-	cmpld	cr0,r10,r16
+	tovirt(10,10)
+	cmpld	cr0,r16,r10
 	bge	tlb_load_linear_fault
 
 	/* MAS1 need whole new setup. */
-- 
1.8.5.3