svn commit: r203474 - head/sys/mips/mips

Neel Natu neel at FreeBSD.org
Thu Feb 4 05:25:59 UTC 2010


Author: neel
Date: Thu Feb  4 05:25:59 2010
New Revision: 203474
URL: http://svn.freebsd.org/changeset/base/203474

Log:
  Clean up all places in exception.S that fiddle with 'pcpup' directly. We now
  use the GET_CPU_PCPU() macro exclusively.
  
  This isolates the users of pcpu data from its implementation details.
  
  Reviewed by: imp

Modified:
  head/sys/mips/mips/exception.S

Modified: head/sys/mips/mips/exception.S
==============================================================================
--- head/sys/mips/mips/exception.S	Thu Feb  4 05:07:20 2010	(r203473)
+++ head/sys/mips/mips/exception.S	Thu Feb  4 05:25:59 2010	(r203474)
@@ -146,19 +146,10 @@ VECTOR_END(MipsTLBMiss)
  *----------------------------------------------------------------------------
  */
 MipsDoTLBMiss:
-#xxx mips64 unsafe?
-#ifndef SMP
-	lui	k1, %hi(_C_LABEL(pcpup))
-#endif
 						#k0 already has BadVA
 	bltz	k0, 1f				#02: k0<0 -> 1f (kernel fault)
 	srl	k0, k0, SEGSHIFT - 2		#03: k0=seg offset (almost)
-#xxx mips64 unsafe?
-#ifdef SMP
 	GET_CPU_PCPU(k1)
-#else
-	lw	k1, %lo(_C_LABEL(pcpup))(k1)
-#endif
 	lw	k1, PC_SEGBASE(k1)
 	beqz	k1, 2f			      #05: make sure segbase is not null
 	andi	k0, k0, 0x7fc			#06: k0=seg offset (mask 0x3)
@@ -821,12 +812,7 @@ NLEAF(MipsKernTLBInvalidException)
 	sltu	k1, k0, k1
 	beqz	k1, 1f
 	nop
-#ifdef SMP
 	GET_CPU_PCPU(k1)
-#else
-	lui	k1, %hi(_C_LABEL(pcpup))
-	lw	k1, %lo(_C_LABEL(pcpup))(k1)
-#endif
 	lw	k1, PC_SEGBASE(k1)		 # works for single cpu????
 	beqz	k1, _C_LABEL(MipsKernGenException)   # seg tab is null
 	nop
@@ -917,13 +903,7 @@ NLEAF(MipsUserTLBInvalidException)
 	sltu	k1, k0, k1
 	beqz	k1, _C_LABEL(MipsUserGenException)
 	nop
-#xxx mips64 unsafe?
-#ifdef SMP
 	GET_CPU_PCPU(k1)
-#else
-	lui	k1, %hi(_C_LABEL(pcpup))
-	lw	k1, %lo(_C_LABEL(pcpup))(k1)
-#endif
 	lw	k1, PC_SEGBASE(k1)		 # works for single cpu????
 	beqz	k1, _C_LABEL(MipsUserGenException)  # seg tab is null
 	nop


More information about the svn-src-all mailing list