Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 May 2006 00:43:43 GMT
From:      Kip Macy <kmacy@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 97314 for review
Message-ID:  <200605170043.k4H0hhCh012188@repoman.freebsd.org>

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

Change 97314 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/05/17 00:42:49

	create separate pcpu wbuf for tsb miss handler
	l3 isn't always set correctly in trap path so call trap directly

Affected files ...

.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/pcpu.h#13 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#52 edit

Differences ...

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

@@ -73,9 +73,10 @@
 	u_long  pc_last_field;                                          \
 	u_long	pc_tickadj;						\
 	u_int 	pc_mid;							\
-	struct rwindow pc_kwbuf[2];                                     \
-	u_long  pc_kwbuf_sp[2];                                         \
-	u_int   pc_kwbuf_full[2];                                       \
+	struct rwindow pc_kwbuf;                                        \
+	u_long  pc_kwbuf_sp;                                            \
+	u_int   pc_kwbuf_full;                                          \
+	struct rwindow pc_tsbwbuf[2];                                   \
 	u_int   pc_node;                                                \
         uint16_t pc_cpulist[MAXCPU]
 

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

@@ -1108,6 +1108,7 @@
 	  nop	
 	call	spinlock_enter
 	  nop
+common_kintr:	
 	jmpl	%l3, %o7			! call trap handler
 	  mov	%l7, %o0
 	call	spinlock_exit
@@ -1115,7 +1116,8 @@
 	b	common_rtt
 	  nop
 common_ktrap:
-	jmpl	%l3, %o7			! call trap handler
+!	jmpl	%l3, %o7			! call trap handler
+	call	trap
 	  mov	%l7, %o0
 	
 ENTRY(krtt)
@@ -1377,7 +1379,7 @@
 	rdpr	%tl, cansave	; \
 	dec	cansave		; \
 	sll	cansave, RW_SHIFT, cansave ; \
-	add	cansave, PC_KWBUF, cansave ; \
+	add	cansave, PC_TSBWBUF, cansave ; \
 	add	pcpu, cansave, cansave ; \
 	RESTORE_LOCALS_ASI(cansave) ; \
 label2:	
@@ -1453,7 +1455,7 @@
 	rdpr	%tl, %g1
 	dec	%g1	
 	sll	%g1, RW_SHIFT, %g1
-	add	%g1, PC_KWBUF, %g1
+	add	%g1, PC_TSBWBUF, %g1
 	add	PCPU_REG, %g1, %g1
 	SAVE_LOCALS_ASI(%g1)
 	mov	0, %g1			! cansave is 0



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