Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Nov 2006 23:58:10 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 109170 for review
Message-ID:  <200611032358.kA3NwAOs028186@repoman.freebsd.org>

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

Change 109170 by jb@jb_freebsd8 on 2006/11/03 23:57:34

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#31 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#13 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#13 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#13 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#13 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#14 integrate
.. //depot/projects/dtrace/src/sys/conf/files#37 integrate
.. //depot/projects/dtrace/src/sys/modules/ath_rate_amrr/Makefile#5 integrate
.. //depot/projects/dtrace/src/sys/modules/bge/Makefile#4 integrate
.. //depot/projects/dtrace/src/sys/modules/nfe/Makefile#3 integrate
.. //depot/projects/dtrace/src/sys/netinet/sctp_input.c#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/sctputil.c#2 integrate
.. //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#8 integrate
.. //depot/projects/dtrace/src/sys/sun4v/include/elf.h#6 integrate
.. //depot/projects/dtrace/src/sys/sun4v/include/trap.h#5 integrate
.. //depot/projects/dtrace/src/sys/sun4v/include/utrap.h#5 integrate
.. //depot/projects/dtrace/src/sys/sun4v/sun4v/exception.S#7 integrate
.. //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#12 integrate
.. //depot/projects/dtrace/src/sys/sun4v/sun4v/wbuf.S#6 integrate
.. //depot/projects/dtrace/www/en/gnome/docs/faq2.sgml#9 integrate

Differences ...

==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#31 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.764 2006/10/30 09:37:40 danger Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.765 2006/11/03 21:04:09 glewis Exp $
 -->
 
 <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -5201,7 +5201,7 @@
       <para>There are several JDKs in the ports collection, from various
 	vendors, and in several versions.  If your port must use one of
 	these versions, you can define which one.  The most current
-	version is <filename role="package">java/jdk14</filename>.</para>
+	version is <filename role="package">java/jdk15</filename>.</para>
 
       <table frame="none">
 	<title>Variables that may be set by ports that use Java</title>

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#13 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.73 2006/11/03 18:57:48 rrs Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.74 2006/11/03 21:23:33 ru Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -309,37 +309,6 @@
 	char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)];
 	char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)];
 };
-struct sctp_peeloff_args {
-	char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)];
-	char name_l_[PADL_(uint32_t)]; uint32_t name; char name_r_[PADR_(uint32_t)];
-};
-struct sctp_generic_sendmsg_args {
-	char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)];
-	char msg_l_[PADL_(caddr_t)]; caddr_t msg; char msg_r_[PADR_(caddr_t)];
-	char mlen_l_[PADL_(int)]; int mlen; char mlen_r_[PADR_(int)];
-	char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)];
-	char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)];
-	char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)];
-	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
-};
-struct sctp_generic_sendmsg_iov_args {
-	char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)];
-	char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)];
-	char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)];
-	char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)];
-	char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)];
-	char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)];
-	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
-};
-struct sctp_generic_recvmsg_args {
-	char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)];
-	char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)];
-	char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)];
-	char from_l_[PADL_(struct sockaddr *)]; struct sockaddr * from; char from_r_[PADR_(struct sockaddr *)];
-	char fromlenaddr_l_[PADL_(__socklen_t *)]; __socklen_t * fromlenaddr; char fromlenaddr_r_[PADR_(__socklen_t *)];
-	char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)];
-	char msg_flags_l_[PADL_(int *)]; int * msg_flags; char msg_flags_r_[PADR_(int *)];
-};
 int	freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
 int	freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *);
 int	freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *);
@@ -393,10 +362,6 @@
 int	freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *);
 int	freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *);
 int	freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *);
-int	sctp_peeloff(struct thread *, struct sctp_peeloff_args *);
-int	sctp_generic_sendmsg(struct thread *, struct sctp_generic_sendmsg_args *);
-int	sctp_generic_sendmsg_iov(struct thread *, struct sctp_generic_sendmsg_iov_args *);
-int	sctp_generic_recvmsg(struct thread *, struct sctp_generic_recvmsg_args *);
 
 #ifdef COMPAT_43
 
@@ -539,10 +504,6 @@
 #define	FREEBSD32_SYS_AUE_freebsd32_thr_suspend	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_umtx_op	AUE_NULL
 #define	FREEBSD32_SYS_AUE_freebsd32_thr_new	AUE_NULL
-#define	FREEBSD32_SYS_AUE_sctp_peeloff	AUE_NULL
-#define	FREEBSD32_SYS_AUE_sctp_generic_sendmsg	AUE_NULL
-#define	FREEBSD32_SYS_AUE_sctp_generic_sendmsg_iov	AUE_NULL
-#define	FREEBSD32_SYS_AUE_sctp_generic_recvmsg	AUE_NULL
 
 #undef PAD_
 #undef PADL_

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#13 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.71 2006/11/03 18:57:48 rrs Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.72 2006/11/03 21:23:33 ru Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp 
  */
 
 #define	FREEBSD32_SYS_syscall	0

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#13 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.62 2006/11/03 18:57:48 rrs Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.63 2006/11/03 21:23:33 ru Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp 
  */
 
 const char *freebsd32_syscallnames[] = {

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#13 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.72 2006/11/03 18:57:48 rrs Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.73 2006/11/03 21:23:33 ru Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp 
  */
 
 #include "opt_compat.h"

==== //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#14 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -771,13 +771,13 @@
 468	AUE_NULL	UNIMPL	nosys
 469	AUE_NULL	UNIMPL	__getpath_fromfd
 470	AUE_NULL	UNIMPL	__getpath_fromaddr
-471	AUE_NULL	STD	{ int sctp_peeloff(int sd, uint32_t name); }
-472     AUE_NULL        STD    { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
-	                            caddr_t to, __socklen_t tolen, \
+471	AUE_NULL	NOPROTO	{ int sctp_peeloff(int sd, uint32_t name); }
+472	AUE_NULL	NOPROTO	{ int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
+				    caddr_t to, __socklen_t tolen, \
 				    struct sctp_sndrcvinfo *sinfo, int flags); }
-473     AUE_NULL        STD    { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
-	                            caddr_t to, __socklen_t tolen, \
+473	AUE_NULL	NOPROTO	{ int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
+				    caddr_t to, __socklen_t tolen, \
 				    struct sctp_sndrcvinfo *sinfo, int flags); }
-474     AUE_NULL        STD    { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
+474	AUE_NULL	NOPROTO	{ int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
 				    struct sockaddr * from, __socklen_t *fromlenaddr, \
 				    struct sctp_sndrcvinfo *sinfo, int *msg_flags); }

==== //depot/projects/dtrace/src/sys/conf/files#37 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1158 2006/11/03 15:23:13 rrs Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1159 2006/11/03 21:09:03 ru Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -351,7 +351,7 @@
 crypto/sha1.c			optional carp | crypto | ipsec | \
 					 netgraph_mppc_encryption | sctp
 crypto/sha2/sha2.c		optional crypto | geom_bde | ipsec | random | \
-                                         sctp
+					 sctp
 ddb/db_access.c			optional	ddb
 ddb/db_break.c			optional	ddb
 ddb/db_command.c		optional	ddb
@@ -1813,7 +1813,7 @@
 netinet6/raw_ip6.c		optional inet6
 netinet6/route6.c		optional inet6
 netinet6/scope6.c		optional inet6
-netinet6/sctp6_usrreq.c		optional inet6 inet6 sctp
+netinet6/sctp6_usrreq.c		optional inet6 sctp
 netinet6/udp6_output.c		optional inet6
 netinet6/udp6_usrreq.c		optional inet6
 netipsec/ipsec.c		optional fast_ipsec

==== //depot/projects/dtrace/src/sys/modules/ath_rate_amrr/Makefile#5 (text+ko) ====

@@ -33,14 +33,14 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 # THE POSSIBILITY OF SUCH DAMAGES.
 #
-# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.3 2006/09/18 16:50:59 sam Exp $
+# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.4 2006/11/03 21:41:19 ru Exp $
 #
 
 .PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr
 
 KMOD=	ath_rate
 SRCS=	amrr.c
-SRCS+=	opt_bdg.h device_if.h bus_if.h pci_if.h opt_inet.h
+SRCS+=	device_if.h bus_if.h pci_if.h opt_inet.h
 
 HAL=	${.CURDIR}/../../contrib/dev/ath
 CFLAGS+=  -I. -I${.CURDIR}/../../dev/ath -I${HAL}

==== //depot/projects/dtrace/src/sys/modules/bge/Makefile#4 (text+ko) ====

@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/modules/bge/Makefile,v 1.4 2005/09/27 18:10:33 mlaier Exp $
+# $FreeBSD: src/sys/modules/bge/Makefile,v 1.5 2006/11/03 21:41:19 ru Exp $
 
 .PATH: ${.CURDIR}/../../dev/bge
 
 KMOD=	if_bge
-SRCS=	opt_bge.h if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
+SRCS=	if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
 
 .include <bsd.kmod.mk>

==== //depot/projects/dtrace/src/sys/modules/nfe/Makefile#3 (text+ko) ====

@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.1 2006/06/26 23:41:07 obrien Exp $
+# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.2 2006/11/03 21:41:19 ru Exp $
 
 .PATH: ${.CURDIR}/../../dev/nfe
 
 KMOD=	if_nfe
-SRCS=	if_nfe.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h
+SRCS=	if_nfe.c device_if.h bus_if.h pci_if.h miibus_if.h
 
 .include <bsd.kmod.mk>

==== //depot/projects/dtrace/src/sys/netinet/sctp_input.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctp_input.c,v 1.27 2005/03/06 16:04:17 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.1 2006/11/03 15:23:15 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.2 2006/11/03 23:04:34 rrs Exp $");
 
 #include "opt_ipsec.h"
 #include "opt_compat.h"
@@ -250,7 +250,7 @@
 					sctp_free_remote_addr(sp->net);
 					sp->net = NULL;
 					/* Free the chunk */
-					printf("sp:%x tcb:%x weird free case\n",
+					printf("sp:%p tcb:%p weird free case\n",
 					    (u_int)sp, (u_int)stcb);
 
 					sctp_free_a_strmoq(stcb, sp);

==== //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctp_pcb.c,v 1.38 2005/03/06 16:04:18 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.1 2006/11/03 15:23:15 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.2 2006/11/03 23:04:34 rrs Exp $");
 
 #include "opt_ipsec.h"
 #include "opt_compat.h"
@@ -2206,7 +2206,7 @@
 					sp = TAILQ_LAST(&((asoc->asoc.locked_on_sending)->outqueue),
 					    sctp_streamhead);
 					if (sp == NULL) {
-						printf("Error, sp is NULL, locked on sending is %x strm:%d\n",
+						printf("Error, sp is NULL, locked on sending is %ps strm:%d\n",
 						    (u_int)asoc->asoc.locked_on_sending,
 						    asoc->asoc.locked_on_sending->stream_no);
 					} else {

==== //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctp_timer.c,v 1.29 2005/03/06 16:04:18 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.1 2006/11/03 15:23:15 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.2 2006/11/03 23:04:34 rrs Exp $");
 
 #include "opt_ipsec.h"
 #include "opt_compat.h"
@@ -862,7 +862,7 @@
 	int win_probe, num_mk;
 
 #ifdef SCTP_FR_LOGGING
-	sctp_log_fr(sctps_datadropchklmt.sctps_senddata, 0, 0, SCTP_FR_T3_TIMEOUT);
+	sctp_log_fr(0, 0, 0, SCTP_FR_T3_TIMEOUT);
 #ifdef SCTP_CWND_LOGGING
 	{
 		struct sctp_nets *lnet;
@@ -1662,7 +1662,7 @@
 	}
 	if ((it->inp->inp_starting_point_for_iterator != NULL) &&
 	    (it->inp->inp_starting_point_for_iterator != it)) {
-		printf("Iterator collision, waiting for one at 0x%x\n",
+		printf("Iterator collision, waiting for one at %p\n",
 		    (uint32_t) it->inp);
 		SCTP_INP_WUNLOCK(it->inp);
 		goto start_timer_return;

==== //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctp_usrreq.c,v 1.48 2005/03/07 23:26:08 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.1 2006/11/03 15:23:15 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.3 2006/11/03 23:04:34 rrs Exp $");
 
 
 #include "opt_ipsec.h"
@@ -1134,8 +1134,7 @@
 
 					sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead);
 					if (sp == NULL) {
-						printf("Error, sp is NULL, locked on sending is %x strm:%d\n",
-						    (u_int)asoc->locked_on_sending,
+						printf("Error, sp is NULL, locked on sending is non-null strm:%d\n",
 						    asoc->locked_on_sending->stream_no);
 					} else {
 						if ((sp->length == 0) && (sp->msg_is_complete == 0))
@@ -1275,8 +1274,7 @@
 
 				sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead);
 				if (sp == NULL) {
-					printf("Error, sp is NULL, locked on sending is %x strm:%d\n",
-					    (u_int)asoc->locked_on_sending,
+					printf("Error, sp is NULL, locked on sending is non-null strm:%d\n",
 					    asoc->locked_on_sending->stream_no);
 				} else {
 					if ((sp->length == 0) && (sp->msg_is_complete == 0)) {
@@ -3133,7 +3131,7 @@
 				error = EINVAL;
 				break;
 			}
-			on_off = (mtod(m, int));
+			on_off = *(mtod(m, int *));
 			if (on_off) {
 				sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
 			} else {

==== //depot/projects/dtrace/src/sys/netinet/sctputil.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 /* $KAME: sctputil.c,v 1.37 2005/03/07 23:26:09 itojun Exp $	 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.1 2006/11/03 15:23:15 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.2 2006/11/03 23:04:34 rrs Exp $");
 
 
 #include "opt_ipsec.h"
@@ -3271,12 +3271,12 @@
 		break;
 	case SCTP_NOTIFY_AUTH_NEW_KEY:
 		sctp_notify_authentication(stcb, SCTP_AUTH_NEWKEY, error,
-		    (uint32_t) data);
+		    (uint16_t) (uintptr_t) data);
 		break;
 #if 0
 	case SCTP_NOTIFY_AUTH_KEY_CONFLICT:
 		sctp_notify_authentication(stcb, SCTP_AUTH_KEY_CONFLICT,
-		    error, (uint32_t) data);
+		    error, (uint16_t) (uintptr_t) data);
 		break;
 #endif				/* not yet? remove? */
 

==== //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#8 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.62 2006/11/01 04:54:51 jb Exp $");
+__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.63 2006/11/03 23:33:40 kmacy Exp $");
 
 #include "opt_kstack_pages.h"
 
@@ -73,6 +73,7 @@
 #include <machine/utrap.h>
 #ifdef SUN4V
 #include <machine/mmu.h>
+#include <machine/trap.h>
 #include <machine/tte_hash.h>
 #endif
 
@@ -300,6 +301,7 @@
 ASSYM(PCB_NSAVED, offsetof(struct pcb, pcb_nsaved));
 ASSYM(PCB_PC, offsetof(struct pcb, pcb_pc));
 ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp));
+ASSYM(PCB_PAD, offsetof(struct pcb, pcb_pad));
 
 
 

==== //depot/projects/dtrace/src/sys/sun4v/include/elf.h#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sun4v/include/elf.h,v 1.1 2006/10/05 06:14:25 kmacy Exp $
+ * $FreeBSD: src/sys/sun4v/include/elf.h,v 1.2 2006/11/03 23:03:46 jb Exp $
  */
 
 #ifndef	_MACHINE_ELF_H_

==== //depot/projects/dtrace/src/sys/sun4v/include/trap.h#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sun4v/include/trap.h,v 1.1 2006/10/05 06:14:26 kmacy Exp $
+ * $FreeBSD: src/sys/sun4v/include/trap.h,v 1.2 2006/11/03 23:41:53 kmacy Exp $
  */
 
 #ifndef	_MACHINE_TRAP_H_
@@ -31,12 +31,6 @@
 
 #ifdef _KERNEL
 
-
-#define T_DATA_MISS                     0x31
-#define T_ALIGNMENT                     0x34
-#define	T_DATA_PROTECTION		0x6c
-#define T_MEM_ADDRESS_NOT_ALIGNED       T_ALIGNMENT
-
 #define	T_RESERVED			0
 #define	T_INSTRUCTION_EXCEPTION		1
 #define	T_INSTRUCTION_ERROR		2
@@ -46,99 +40,108 @@
 #define	T_PRIVILEGED_OPCODE		6
 #define	T_FP_DISABLED			7
 #define	T_FP_EXCEPTION_IEEE_754		8
+#define	T_FP_EXCEPTION_OTHER		9
+#define	T_TAG_OVERFLOW			10
+#define	T_DIVISION_BY_ZERO		11
+#define	T_DATA_EXCEPTION		12
+#define	T_DATA_ERROR			13
+#define	T_DATA_PROTECTION		14
+#define	T_MEM_ADDRESS_NOT_ALIGNED	15
+#define	T_ALIGNMENT	                15
+#define	T_PRIVILEGED_ACTION		16
+#define	T_ASYNC_DATA_ERROR		17
+#define	T_TRAP_INSTRUCTION_16		18
+#define	T_TRAP_INSTRUCTION_17		19
+#define	T_TRAP_INSTRUCTION_18		20
+#define	T_TRAP_INSTRUCTION_19		21
+#define	T_TRAP_INSTRUCTION_20		22
+#define	T_TRAP_INSTRUCTION_21		23
+#define	T_TRAP_INSTRUCTION_22		24
+#define	T_TRAP_INSTRUCTION_23		25
+#define	T_TRAP_INSTRUCTION_24		26
+#define	T_TRAP_INSTRUCTION_25		27
+#define	T_TRAP_INSTRUCTION_26		28
+#define	T_TRAP_INSTRUCTION_27		29
+#define	T_TRAP_INSTRUCTION_28		30
+#define	T_TRAP_INSTRUCTION_29		31
+#define	T_TRAP_INSTRUCTION_30		32
+#define	T_TRAP_INSTRUCTION_31		33
+#define	T_INSTRUCTION_MISS		34
+#define	T_DATA_MISS			35
 
-#define	T_INSTRUCTION_MISS		0x09
-#define	T_TAG_OVERFLOW			0x0a
-#define	T_DIVISION_BY_ZERO		0x0b
-#define	T_DATA_EXCEPTION		0x0c
-#define	T_DATA_ERROR			0x0d
-
-
-#define	T_PRIVILEGED_ACTION		0x10
-#define	T_ASYNC_DATA_ERROR		0x11
-#define	T_TRAP_INSTRUCTION_16		0x12
-#define	T_TRAP_INSTRUCTION_17		0x13
-#define	T_TRAP_INSTRUCTION_18		0x14
-#define	T_TRAP_INSTRUCTION_19		0x15
-#define	T_TRAP_INSTRUCTION_20		0x16
-#define	T_TRAP_INSTRUCTION_21		0x17
-#define	T_TRAP_INSTRUCTION_22		0x18
-#define	T_TRAP_INSTRUCTION_23		0x19
-#define	T_TRAP_INSTRUCTION_24		0x1a
-#define	T_TRAP_INSTRUCTION_25		0x1b
-#define	T_TRAP_INSTRUCTION_26		0x1c
-#define	T_TRAP_INSTRUCTION_27		0x1d
-#define	T_TRAP_INSTRUCTION_28		0x1e
-#define	T_TRAP_INSTRUCTION_29		0x1f
-#define	T_TRAP_INSTRUCTION_30		0x20
-#define	T_TRAP_INSTRUCTION_31		0x21
-#define	T_FP_EXCEPTION_OTHER		0x22
-
-
-
-#define	T_INTERRUPT			0x24
-#define	T_PA_WATCHPOINT			0x25
-#define	T_VA_WATCHPOINT			0x26
-#define	T_CORRECTED_ECC_ERROR		0x27
-#define	T_SPILL				0x28
-#define	T_FILL				0x29
-#define	T_FILL_RET			0x2a
-#define	T_BREAKPOINT			0x2b
-#define	T_CLEAN_WINDOW			0x2c
-#define	T_RANGE_CHECK			0x2d
-#define T_FIX_ALIGNMENT                 0x2e
-#define	T_INTEGER_OVERFLOW		0x2f
-#define	T_SYSCALL			0x30
-#define	T_RSTRWP_PHYS			
-#define	T_RSTRWP_VIRT			
+#define	T_INTERRUPT			36
+#define	T_PA_WATCHPOINT			37
+#define	T_VA_WATCHPOINT			38
+#define	T_CORRECTED_ECC_ERROR		39
+#define	T_SPILL				40
+#define	T_FILL				41
+#define	T_FILL_RET			42
+#define	T_BREAKPOINT			43
+#define	T_CLEAN_WINDOW			44
+#define	T_RANGE_CHECK			45
+#define	T_FIX_ALIGNMENT			46
+#define	T_INTEGER_OVERFLOW		47
+#define	T_SYSCALL			48
+#define	T_RSTRWP_PHYS			49
+#define	T_RSTRWP_VIRT			50
 #define	T_KSTACK_FAULT			51
 #define T_RESUMABLE_ERROR               52
 #define T_NONRESUMABLE_ERROR            53
 
 #define	T_MAX				(T_NONRESUMABLE_ERROR + 1)
 
-#define	T_KERNEL			0x100
-#define TRAP_MASK                       ((1<<8)-1)
-#define TRAP_CTX_SHIFT                  10
+#define	T_KERNEL			64
 
-#define	PTL1_BAD_DEBUG		0
-#define	PTL1_BAD_WTRAP		1
-#define	PTL1_BAD_KMISS		2
-#define	PTL1_BAD_KPROT_FAULT	3
-#define	PTL1_BAD_ISM		4
-#define	PTL1_BAD_MMUTRAP	5
-#define	PTL1_BAD_TRAP		6
-#define	PTL1_BAD_FPTRAP		7
-#define	PTL1_BAD_INTR_REQ	8
-#define	PTL1_BAD_TRACE_PTR	9
-#define	PTL1_BAD_STACK		10
-#define	PTL1_BAD_DTRACE_FLAGS	11
-#define	PTL1_BAD_CTX_STEAL	12
-#define	PTL1_BAD_ECC		13
-#define	PTL1_BAD_HCALL		14
-#define	PTL1_BAD_GL		15
-
-
-#define TL_CPU_MONDO    0x1
-#define TL_DEV_MONDO    0x2
-#define TL_TSB_MISS     0x3
-#define TL_TL0_TRAP     0x4
-#define TL_SET_ACKMASK  0x5
-
+#define TRAP_MASK                       ((1<<6)-1)
+#define TRAP_CTX_SHIFT                  8
 /*
  * These defines are used by the TL1 tlb miss handlers to calculate
  * the pc to jump to in the case the entry was not found in the TSB.
  */
-#define	WTRAP_ALIGN	0x7f	/* window handlers are 128 byte align */
-#define	WTRAP_FAULTOFF	124	/* last instruction in handler */
 
+#define WTRAP_ALIGN     0x7f    /* window handlers are 128 byte align */
+#define WTRAP_FAULTOFF  124     /* last instruction in handler */
+ 
 /* use the following defines to determine if trap was a fill or a spill */
-#define	WTRAP_TTMASK	0x180
-#define	WTRAP_TYPE	0x080
+#define WTRAP_TTMASK    0x180
+#define WTRAP_TYPE      0x080
+
+#define TT_INSTRUCTION_EXCEPTION        0x8
+#define TT_INSTRUCTION_MISS             0x9
+#define TT_ILLEGAL_INSTRUCTION          0x10
+#define TT_PRIVILEGED_OPCODE            0x11
+#define TT_FP_EXCEPTION_IEEE_754        0x21
+#define TT_FP_EXCEPTION_OTHER           0x22
+#define TT_TAG_OVERFLOW                 0x23
+#define TT_DIVISION_BY_ZERO             0x28
+#define TT_DATA_EXCEPTION               0x30
+#define TT_DATA_MISS                    0x31
+#define TT_ALIGNNMENT                   0x34
+#define TT_DATA_PROTECTION              0x6c
+#define TT_ALIGNMENT                    0x6c
+#define TT_BREAKPOINT                   0x76
+
+#define PTL1_BAD_DEBUG          0
+#define PTL1_BAD_WTRAP          1
+#define PTL1_BAD_KMISS          2
+#define PTL1_BAD_KPROT_FAULT    3
+#define PTL1_BAD_ISM            4
+#define PTL1_BAD_MMUTRAP        5
+#define PTL1_BAD_TRAP           6
+#define PTL1_BAD_FPTRAP         7
+#define PTL1_BAD_INTR_REQ       8
+#define PTL1_BAD_TRACE_PTR      9
+#define PTL1_BAD_STACK          10
+#define PTL1_BAD_DTRACE_FLAGS   11
+#define PTL1_BAD_CTX_STEAL      12
+#define PTL1_BAD_ECC            13
+#define PTL1_BAD_HCALL          14
+#define PTL1_BAD_GL             15
+
 
 #ifndef LOCORE
 extern const char *trap_msg[];
-void trap_init(void);
+extern void trap_init(void);
 #endif
 
 #endif

==== //depot/projects/dtrace/src/sys/sun4v/include/utrap.h#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sun4v/include/utrap.h,v 1.1 2006/10/05 06:14:26 kmacy Exp $
+ * $FreeBSD: src/sys/sun4v/include/utrap.h,v 1.2 2006/11/03 23:41:53 kmacy Exp $
  */
 
 #ifndef	_MACHINE_UTRAP_H_
@@ -77,6 +77,7 @@
 /* 8 is 32-bit ABI syscall (old solaris syscall?) */
 #define	ST_BSD_SYSCALL			9
 #define	ST_FP_RESTORE			10
+#define ST_FPEMU_CONTEXT                11
 /* 11-15 are available */
 /* 16 is linux 32 bit syscall (but supposed to be reserved, grr) */
 /* 17 is old linux 64 bit syscall (but supposed to be reserved, grr) */

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

@@ -27,7 +27,7 @@
 
 	
 #include <machine/asm.h>
-__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/exception.S,v 1.2 2006/10/09 04:45:19 kmacy Exp $")			
+__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/exception.S,v 1.3 2006/11/03 23:41:53 kmacy Exp $")			
 
 #include "opt_compat.h"
 #include "opt_ddb.h"
@@ -57,6 +57,7 @@
 	.register %g6,#ignore
 	.register %g7,#ignore
 
+	.globl trap_conversion
 
 #define PCB_REG %g6
 
@@ -314,7 +315,7 @@
 	ldxa	[%g1 + %g2]ASI_REAL, %g3
 	sub	%g0, 1, %g4
 	set	trap, %g1
-	ba	%xcc, tl0_trap 
+	ba,pt	%xcc, tl0_trap 
 	  mov	T_INSTRUCTION_EXCEPTION, %g2
 
 	.align	32
@@ -327,8 +328,7 @@
 	mov	MMFSA_I_CTX, %g7 
 	ldxa	[%g1 + %g2]ASI_REAL, %g4
 	ldxa	[%g1 + %g3]ASI_REAL, %g5
-	ba,pt	%xcc, tsb_miss_handler
-          mov   T_INSTRUCTION_MISS, %g3
+	ba,a,pt	%xcc, tsb_miss_handler
 	.align	32
 	.endm
 	
@@ -357,8 +357,7 @@
 	mov	MMFSA_D_CTX, %g7 
 	ldxa	[%g1 + %g2]ASI_REAL, %g4
 	ldxa	[%g1 + %g3]ASI_REAL, %g5
-	ba,pt	%xcc, tsb_miss_handler
-          mov   T_DATA_MISS, %g3
+	ba,a,pt	%xcc, tsb_miss_handler
 	.align	32
 	.endm
 
@@ -367,8 +366,7 @@
 	mov	MMFSA_D_ADDR, %g3
 	mov	MMFSA_D_CTX,  %g7
 	ldxa	[%g1 + %g3]ASI_REAL, %g5
-	ba,pt	%xcc, tsb_miss_handler
-	  mov   T_DATA_PROTECTION, %g3
+	ba,a,pt	%xcc, tsb_miss_handler
 	.align	32
 	.endm
 
@@ -406,7 +404,7 @@
 	clr	%g3
 	sub	%g0, 1, %g4
 	set	trap, %g1
-	ba	%xcc, tl0_trap
+	ba,pt	%xcc, tl0_trap
 	  mov	T_RESUMABLE_ERROR, %g2
 	.align	32
 	.endm
@@ -415,7 +413,7 @@
 	clr	%g3
 	sub	%g0, 1, %g4
 	set	trap, %g1
-	ba	%xcc, tl0_trap
+	ba,pt	%xcc, tl0_trap
 	  mov	T_NONRESUMABLE_ERROR, %g2
 	.align	32
 	.endm
@@ -732,6 +730,33 @@
 	.align 32
 	.endm
 #endif	
+
+	! fetch FP context into local registers
+	.macro	tl0_fpemu_context
+	GET_PCB(PCB_REG)			! 3 instructions
+	ldx	[PCB_REG + PCB_PAD], %l5	! %tstate
+	ldx	[PCB_REG + PCB_PAD + 8], %l6	! %tpc
+	ldx	[PCB_REG + PCB_PAD + 16], %l7	! %tncp
+	ldx	[PCB_REG + PCB_PAD + 24], %g2	! %tt
+	ba,a,pt	%xcc, tl0_fpemu_context
+	.align	32
+	.endm
+
+ENTRY(tl0_fpemu_context)
+	mov	%g2, %o0
+	clr	%o1
+
+	rd	%fprs, %l1
+	or	%l1, FPRS_FEF, %l2
+	wr	%l2, 0, %fprs
+	stx	%fsr, [PCB_REG + PCB_PAD]
+	ldx	[PCB_REG + PCB_PAD], %l4
+	wr	%l1, 0, %fprs
+		
+	sub	%fp, CCFSZ, %sp 
+	done	
+END(tl0_fpemu_context)
+	
 	.macro	tl0_fp_restore
 	GET_PCB(PCB_REG)			! 3 instructions
 	ldx	[%g6 + PCB_FLAGS], %g1
@@ -898,7 +923,8 @@
 	tl0_gen		T_SYSCALL			! 0x108
 	tl0_gen		T_SYSCALL			! 0x109
 	tl0_fp_restore					! 0x10a
-	tl0_reserved	5				! 0x10b-0x10f
+	tl0_fpemu_context				! 0x10b
+	tl0_reserved	4				! 0x10c-0x10f
 	tl0_gen		T_TRAP_INSTRUCTION_16		! 0x110
 	tl0_gen		T_TRAP_INSTRUCTION_17		! 0x111
 	tl0_gen		T_TRAP_INSTRUCTION_18		! 0x112
@@ -1355,6 +1381,8 @@
 				
 	! %g1		pc of trap handler
 	! %g2, %g3	args of trap handler
+	! %g2           software trap type
+	! %g3           additional argument to trap
 	! %g4		desired pil
 	! %g5, %g6	temps
 	! %g7		saved
@@ -1380,6 +1408,37 @@
 	bnz,pn	%xcc, tl0_ktrap
 	  nop
 ENTRY(tl0_utrap)
+	GET_PCPU_SCRATCH
+
+	cmp	%g2, UT_MAX
+	bge,a,pn %xcc, skip_utrap
+	  nop
+	
+	ldx	[PCPU(CURTHREAD)], %g5
+	ldx	[%g5 + TD_PROC], %g5
+	ldx	[%g5 + P_MD + MD_UTRAP], %g5
+	brz,pn	%g5, skip_utrap
+	  sllx	%g2, PTR_SHIFT, %g6
+	ldx	[%g5 + %g6], %g5
+	brz,pn	%g5, skip_utrap	
+	  nop
+
+	mov	%g5, %g4
+	
+	! 0) save trap state to memory	
+	ldx	[PCPU_REG + PC_CURPCB], %g6	
+	rdpr	%tstate, %g5
+	stx	%g5, [%g6 + PCB_PAD]
+	rdpr	%tpc, %g5
+	stx	%g5, [%g6 + PCB_PAD + 8]
+	rdpr	%tnpc, %g5
+	stx	%g5, [%g6 + PCB_PAD + 16]
+	stx	%g2, [%g6 + PCB_PAD + 24]
+
+	wrpr	%g4, %tnpc
+	done
+skip_utrap:	
+
 #ifdef	notyet
 	/* we need to determine from the hardware the number of register windows */
 	sethi	%hi(nwin_minus_one), %g5
@@ -1387,29 +1446,12 @@
 #else
 	mov	nwin_minus_one, %g5
 #endif
-	GET_PCB(%g6)
+	ldx	[PCPU_REG + PC_CURPCB], %g6	
 	wrpr	%g0, %g5, %cleanwin
 	ldx	[%g6 + PCB_KSTACK], %g6
 	sub	%g6, TF_SIZEOF, %g6
-#ifdef DEBUG_KSTACK
-	mov	%o0, %g5
-	mov	%o3, %l0
-	mov	%o4, %l1
-	mov	%o5, %l2
-	mov	%o6, %l3
-	mov	%o7, %l4
-	mov	0x10, %o0
-	mov	%g6, %o1
-	ta	TTRACE_ADDENTRY
-	mov	%g5, %o0
-	mov	%l0, %o3
-	mov	%l1, %o4
-	mov	%l2, %o5
-	mov	%l3, %o6
-	mov	%l4, %o7
-#endif
+
 	save	%g6, 0, %sp
-
 	rdpr	%canrestore, %l0
 	rdpr	%wstate, %l1
 	wrpr	%g0, 0, %canrestore
@@ -1456,21 +1498,25 @@
 	!
 	brlz,pt	%g4, 1f
 	  nop
+#if 0
 #ifdef PMAP_DEBUG
 	rdpr	%pil, %l0
 	cmp	%g4, %l0
-	bge,pt	%xcc, 0f
+	bge,pt	%xcc, 10f
 	  nop
 	call	panic
-0:	
+10:	
+#endif
 #endif
-	
 	wrpr	%g0, %g4, %pil
 1:		
 	wrpr	%g0, %g6, %tnpc
+
+	! save g7 before it can be overwritten by PCPU when returning from an interrupt 
 	wrpr	%g0, 0, %gl
-	stx	%g7, [%l7 + TF_G7]		! save g7 before it can be overwritten by PCPU when returning from an interrupt 
+	stx	%g7, [%l7 + TF_G7]		
 	wrpr	%g0, 1, %gl
+	
 	rdpr	%cwp, %l0
 	set	TSTATE_KERNEL, %l1
 	wrpr	%l1, %l0, %tstate
@@ -1722,7 +1768,11 @@
 
 	RESTORE_TRAPWIN(PCPU_REG, %g1, 14, 15)
 
-	mov	%g3, %g2			! trap type	
+	! convert hardware trap type to kernel trap type
+	set	trap_conversion, %g2
+	sllx	%g3, INT_SHIFT, %g3
+	ld	[%g2 + %g3], %g2
+	
         sethi	%hi(trap), %g1
 	or	%g6, %g5, %g3			! trap data
 	sub	%g0, 1, %g4			! pil info
@@ -1732,13 +1782,13 @@
 tsb_miss_found:
 
 	wr	%g0, %l3, %asi
-	cmp	%g3, T_DATA_MISS		! TSB data miss
+	cmp	%g3, TT_DATA_MISS		! TSB data miss
 	be,pt	%xcc, 9f
 	  or	%l7, VTD_REF, %l7		! set referenced unconditionally
-	cmp	%g3, T_INSTRUCTION_MISS		! TSB instruction miss
+	cmp	%g3, TT_INSTRUCTION_MISS		! TSB instruction miss
 	be,pt	%xcc, 9f
 	  nop
-	cmp	%g3, T_DATA_PROTECTION		! protection fault
+	cmp	%g3, TT_DATA_PROTECTION		! protection fault
 	bne,pn	%xcc, unsupported_fault_trap	! we don't handle any other fault types currently
 	  nop
 	andcc	%l7, VTD_SW_W, %g0		! write enabled?
@@ -1798,7 +1848,7 @@
 	RESTORE_TRAPWIN(PCPU_REG, %g1, 13, 16)	
 upgrade_demap:
 	rdpr	%tt, %g3
-	cmp	%g3, T_DATA_PROTECTION
+	cmp	%g3, TT_DATA_PROTECTION
 	beq,pn	%xcc, demap_begin
 	  nop
 	retry

==== //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#12 (text+ko) ====

@@ -37,7 +37,7 @@
  *
  *      from: @(#)trap.c        7.4 (Berkeley) 5/13/91
  * 	from: FreeBSD: src/sys/i386/i386/trap.c,v 1.197 2001/07/19
- * $FreeBSD: src/sys/sun4v/sun4v/trap.c,v 1.2 2006/10/17 03:53:38 jb Exp $
+ * $FreeBSD: src/sys/sun4v/sun4v/trap.c,v 1.3 2006/11/03 23:41:53 kmacy Exp $
  */
 
 #include "opt_ddb.h"
@@ -132,7 +132,7 @@
 
 extern char *syscallnames[];
 
-static int trap_conversion[256];
+int trap_conversion[256];
 
 const char *trap_msg[] = {
 	"reserved",
@@ -226,8 +226,7 @@
 	SIGILL,			/* trap instruction 29 */
 	SIGILL,			/* trap instruction 30 */
 	SIGILL,			/* trap instruction 31 */
-	SIGSEGV,		/* floating point not implemented */
-                                /* should be SIGFPE but other signals currently cause problems */
+	SIGFPE,		        /* floating point error */
 	SIGSEGV,		/* fast data access mmu miss */
 	-1,			/* interrupt */
 	-1,			/* physical address watchpoint */
@@ -255,6 +254,7 @@
     &debugger_on_signal, 0, "");
 #endif
 
+
 void 
 trap_init(void)
 {
@@ -267,15 +267,20 @@
 
 	init_mondo_queue();
 	OF_set_mmfsa_traptable(&tl0_base, mmfsa);
-	for (i = 0; i < 128; i++)
-		trap_conversion[i] = i;
-	for (i = 128; i < 256; i++)
+	for (i = 0; i < 256; i++)
 		trap_conversion[i] = 0;
-	trap_conversion[0x31] = 35;

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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