svn commit: r206077 - user/jmallett/octeon/sys/mips/mips

Juli Mallett jmallett at FreeBSD.org
Fri Apr 2 06:10:58 UTC 2010


Author: jmallett
Date: Fri Apr  2 06:10:58 2010
New Revision: 206077
URL: http://svn.freebsd.org/changeset/base/206077

Log:
  Use MFC0 and MTC0 macros for badvaddr and exc_pc, which may be 64-bit.

Modified:
  user/jmallett/octeon/sys/mips/mips/exception.S

Modified: user/jmallett/octeon/sys/mips/mips/exception.S
==============================================================================
--- user/jmallett/octeon/sys/mips/mips/exception.S	Fri Apr  2 06:06:50 2010	(r206076)
+++ user/jmallett/octeon/sys/mips/mips/exception.S	Fri Apr  2 06:10:58 2010	(r206077)
@@ -106,7 +106,7 @@
 	.set	noat
 VECTOR(MipsTLBMiss, unknown)
 	j	_C_LABEL(MipsDoTLBMiss)
-	mfc0	k0, COP_0_BAD_VADDR		# get the fault address
+	MFC0	k0, COP_0_BAD_VADDR		# get the fault address
 	nop
 VECTOR_END(MipsTLBMiss)
 
@@ -136,7 +136,7 @@ MipsDoTLBMiss:
 #endif
 	PTR_ADDU	k1, k0, k1			#07: k1=seg entry address
 	PTR_L	k1, 0(k1)			#08: k1=seg entry
-	mfc0	k0, COP_0_BAD_VADDR		#09: k0=bad address (again)
+	MFC0	k0, COP_0_BAD_VADDR		#09: k0=bad address (again)
 	beq	k1, zero, 2f			#0a: ==0 -- no page table
 	srl	k0, PAGE_SHIFT - 2			#0b: k0=VPN (aka va>>10)
 
@@ -291,8 +291,8 @@ SlowFault:
 	mfhi	v1			;\
 	mfc0	a0, COP_0_STATUS_REG	;\
 	mfc0	a1, COP_0_CAUSE_REG	;\
-	mfc0	a2, COP_0_BAD_VADDR	;\
-	mfc0	a3, COP_0_EXC_PC	;\
+	MFC0	a2, COP_0_BAD_VADDR	;\
+	MFC0	a3, COP_0_EXC_PC	;\
 	SAVE_REG(v0, MULLO, sp)		;\
 	SAVE_REG(v1, MULHI, sp)		;\
 	SAVE_REG(a0, SR, sp)		;\
@@ -450,12 +450,12 @@ NNON_LEAF(MipsUserGenException, CALLFRAM
 	SAVE_U_PCB_REG(s2, S2, k1)
 	SAVE_U_PCB_REG(s3, S3, k1)
 	SAVE_U_PCB_REG(s4, S4, k1)
-	mfc0	a2, COP_0_BAD_VADDR		# Third arg is the fault addr
+	MFC0	a2, COP_0_BAD_VADDR		# Third arg is the fault addr
 	SAVE_U_PCB_REG(s5, S5, k1)
 	SAVE_U_PCB_REG(s6, S6, k1)
 	SAVE_U_PCB_REG(s7, S7, k1)
 	SAVE_U_PCB_REG(t8, T8, k1)
-	mfc0	a3, COP_0_EXC_PC		# Fourth arg is the pc.
+	MFC0	a3, COP_0_EXC_PC		# Fourth arg is the pc.
 	SAVE_U_PCB_REG(t9, T9, k1)
 	SAVE_U_PCB_REG(gp, GP, k1)
 	SAVE_U_PCB_REG(sp, SP, k1)
@@ -689,7 +689,7 @@ NNON_LEAF(MipsUserIntr, CALLFRAME_SIZ, r
 	mfhi	v1
 	mfc0	a0, COP_0_STATUS_REG
 	mfc0	a1, COP_0_CAUSE_REG
-	mfc0	a3, COP_0_EXC_PC
+	MFC0	a3, COP_0_EXC_PC
 	SAVE_U_PCB_REG(v0, MULLO, k1)
 	SAVE_U_PCB_REG(v1, MULHI, k1)
 	SAVE_U_PCB_REG(a0, SR, k1)
@@ -806,7 +806,7 @@ NLEAF(MipsTLBInvalidException)
 	.set noat
 	.set noreorder
 
-	mfc0	k0, COP_0_BAD_VADDR
+	MFC0	k0, COP_0_BAD_VADDR
 	li	k1, VM_MAXUSER_ADDRESS
 	sltu	k1, k0, k1
 	bnez	k1, 1f
@@ -837,7 +837,7 @@ NLEAF(MipsTLBInvalidException)
 	beqz	k1, 3f			/* invalid page table page pointer */
 	nop
 
-	mfc0	k0, COP_0_BAD_VADDR
+	MFC0	k0, COP_0_BAD_VADDR
 	srl	k0, PAGE_SHIFT - 2
 	andi	k0, 0xffc
 	PTR_ADDU	k1, k1, k0
@@ -982,7 +982,7 @@ END(MipsTLBInvalidException)
  */
 NLEAF(MipsTLBMissException)
 	.set	noat
-	mfc0	k0, COP_0_BAD_VADDR		# k0=bad address
+	MFC0	k0, COP_0_BAD_VADDR		# k0=bad address
 	li	k1, (VM_MAX_KERNEL_ADDRESS)	# check fault address against
 	sltu	k1, k1, k0			# upper bound of kernel_segmap
 	bnez	k1, _C_LABEL(MipsKernGenException)  # out of bound
@@ -997,7 +997,7 @@ NLEAF(MipsTLBMissException)
 #endif
 	PTR_ADDU	k1, k0, k1			# k1=seg entry address
 	PTR_L	k1, 0(k1)			# k1=seg entry
-	mfc0	k0, COP_0_BAD_VADDR		# k0=bad address (again)
+	MFC0	k0, COP_0_BAD_VADDR		# k0=bad address (again)
 	beq	k1, zero, _C_LABEL(MipsKernGenException)  # ==0 -- no page table
 	srl	k0, 10				# k0=VPN (aka va>>10)
 	andi	k0, k0, 0xff8			# k0=page tab offset


More information about the svn-src-user mailing list