PERFORCE change 41781 for review

Juli Mallett jmallett at FreeBSD.org
Sat Nov 8 17:58:48 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=41781

Change 41781 by jmallett at jmallett_dalek on 2003/11/08 17:58:25

	Add nops, use dmtc0.  Also, in the R4600 case, jump from TLBMiss
	to XTLBMiss.  There's other brokenness there, but I just want
	to document this, in terms of some behaviour, since I've no idea
	what's going on.  The CPU seems really, really funky.

Affected files ...

.. //depot/projects/mips/sys/mips/mips/exception.S#8 edit

Differences ...

==== //depot/projects/mips/sys/mips/mips/exception.S#8 (text+ko) ====

@@ -141,6 +141,10 @@
 
 LEAF(TLBMissVector)
 	.set noat
+#if	R4600
+	j	XTLBMissVector
+	nop
+#else
 	dsubu	sp, sp, TF_SIZE
 	dla	k0, 1f
 	j	exception_save_registers
@@ -160,6 +164,7 @@
 	move	a0, sp
 	daddu	sp, sp, TF_SIZE
 	eret
+#endif
 	.set at
 VEND(TLBMissVector)
 
@@ -194,13 +199,17 @@
 	/*
 	 * Write TLB entry.
 	 */
-	mtc0	k0, MIPS_COP_0_TLB_LO0
+	dmtc0	k0, MIPS_COP_0_TLB_LO0
+	nop
+	nop
+	dmtc0	k1, MIPS_COP_0_TLB_LO1
 	nop
-	mtc0	k1, MIPS_COP_0_TLB_LO1
 	nop
 	tlbwr
 	nop
 	nop
+	nop
+	nop
 	eret
 1:	j	BadPTE
 	nop


More information about the p4-projects mailing list