Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Nov 2003 17:58:47 -0800 (PST)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 41781 for review
Message-ID:  <200311090158.hA91wlQH034365@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=41781

Change 41781 by jmallett@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311090158.hA91wlQH034365>