PERFORCE change 96471 for review

Kip Macy kmacy at FreeBSD.org
Mon May 1 06:37:44 UTC 2006


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

Change 96471 by kmacy at kmacy_storage:sun4v_rwbuf on 2006/05/01 06:36:42

	small fixes to data exception errors in the simulator

Affected files ...

.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asmacros.h#14 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#45 edit

Differences ...

==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asmacros.h#14 (text+ko) ====

@@ -143,6 +143,10 @@
 	mov  SCRATCH_REG_PCPU, PCPU_REG;    \
         ldxa [%g0 + PCPU_REG]ASI_SCRATCHPAD, PCPU_REG;
 
+#define GET_PCPU_SCRATCH_SLOW(reg)          \
+	mov  SCRATCH_REG_PCPU, reg;    \
+        ldxa [reg]ASI_SCRATCHPAD, PCPU_REG;
+
 #define GET_HASH_SCRATCH_USER(reg)	   \
         mov SCRATCH_REG_HASH_USER, reg;    \
 	ldxa [%g0 + reg]ASI_SCRATCHPAD, reg;

==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#45 (text+ko) ====

@@ -321,7 +321,8 @@
 	mov	MMFSA_D_ADDR, %g3
 !	mov	MMFSA_D_CTX,  %g7
 	ldxa	[%g1 + %g3]ASI_REAL, %g3
-	ldxa	[%g1 + %g7]ASI_REAL, %g4
+!	ldxa	[%g1 + %g7]ASI_REAL, %g4
+	sub	%g0, 1, %g4
 	or	%g4, %g3, %g3
 	ba,pt	%xcc, tl0_trap
 	  mov   T_MEM_ADDRESS_NOT_ALIGNED, %g2
@@ -920,10 +921,9 @@
 	
 	
 ENTRY(utl0)
-	nop
 	SAVE_GLOBALS(%l7)
 	SAVE_OUTS(%l7)
-	GET_PCPU_SCRATCH
+	GET_PCPU_SCRATCH_SLOW(%g6)
 	wrpr	%g0, PSTATE_KERNEL, %pstate	! enable ints
 
 	brnz	%o1, common_utrap
@@ -945,8 +945,6 @@
 	sub	%g6, TF_SIZEOF, %sp
 	add	%sp, REGOFF + SPOFF, %l7
 ENTRY(user_rtt)
-	GET_PCPU_SCRATCH
-	
 	! pil handling needs to be re-visited
 	wrpr	%g0, PIL_TICK, %pil
 	ldx	[PCPU(CURTHREAD)], %l4
@@ -1101,8 +1099,8 @@
 ENTRY(ktl0)
 	nop
 	SAVE_GLOBALS(%l7)
-	SAVE_OUTS(%l7)				
-	GET_PCPU_SCRATCH
+	SAVE_OUTS(%l7)
+	GET_PCPU_SCRATCH_SLOW(%g6)		! we really shouldn't need this ...				
 	wrpr	%g0, PSTATE_KERNEL, %pstate	! enable ints
 
 	brnz	%o1, common_ktrap
@@ -1387,7 +1385,6 @@
 	  nop
 	save
 0:		
-	
 	cmp	%g7, 1				! for tl > 1
 	bne,pn	%xcc, 2f
 	  nop
@@ -1579,13 +1576,15 @@
 	cmp	%l2, %l6
 	bne,pt	%xcc, 12f
 	  nop
-#ifndef SIMULATOR
+#ifndef SMP	
+	MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT	! die if all we're doing 
+						! is storing same data
+#else
 	PUTCHAR(0x5a)
 	PUTCHAR(0x5a)
 	PUTCHAR(0x5a)
+	MAGIC_TRAP_ON; MAGIC_TRAP_OFF
 #endif
-	MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT	! die if all we're doing 
-						! is storing same data
 12:
 #endif
 	stxa	%g0, [%g3 + %l4]ASI_REAL		! invalidate data	


More information about the p4-projects mailing list