patch-2.4.7 linux/arch/mips64/kernel/r4k_tlb.S

Next file: linux/arch/mips64/kernel/scall_64.S
Previous file: linux/arch/mips64/kernel/r4k_fpu.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.6/linux/arch/mips64/kernel/r4k_tlb.S linux/arch/mips64/kernel/r4k_tlb.S
@@ -24,7 +24,7 @@
 
 	.macro	LOAD_PTE2, ptr, tmp
 #ifdef CONFIG_SMP
-	mfc0	\tmp, CP0_CONTEXT
+	dmfc0	\tmp, CP0_CONTEXT
 	dla	\ptr, pgd_current
 	dsrl	\tmp, 23
 	daddu	\ptr, \tmp
@@ -96,9 +96,6 @@
 	 */
 	dmfc0	k0, CP0_BADVADDR
 	dli	k1, VMALLOC_START
-	sltu	k1, k0, k1
-	bne	k1, zero, not_vmalloc
-	 dli	k1, VMALLOC_START
 
 	/*
 	 * Now find offset into kptbl.
@@ -114,20 +111,16 @@
 	 */
 	dla	k0, ekptbl
 	sltu	k0, k1, k0
-	beq	k0, zero, not_vmalloc
+	beqz	k0, not_vmalloc
 
 	/*
 	 * Load cp0 registers.
 	 */
 	ld	k0, 0(k1)			# get even pte
 	ld	k1, 8(k1)			# get odd pte
-1:
+
+not_vmalloc:
 	PTE_RELOAD k0 k1
 	nop
 	tlbwr
 	eret
-not_vmalloc:
-	daddu	k0, zero, zero
-	daddu	k1, zero, zero
-	j	1b
-	nop

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)