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

Benjamin Krill ben at codiert.org
Fri Feb 28 01:49:21 EST 2014


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

Signed-off-by: Ralph E. Bellofatto <ralphbel at us.ibm.com>
Signed-off-by: Benjamin Krill <ben at codiert.org>
---
 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 at 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



More information about the Linuxppc-dev mailing list