Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2010 05:25:59 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r203474 - head/sys/mips/mips
Message-ID:  <201002040525.o145PxOe020633@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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