Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jun 2002 00:04:30 -0700 (PDT)
From:      Julian Elischer <julian@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 13146 for review
Message-ID:  <200206190704.g5J74U310720@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=13146

Change 13146 by julian@julian_jules1 on 2002/06/19 00:04:26

	MFC.. I'm impressed.. No conflicts in all those files!

Affected files ...

... //depot/projects/kse/sys/alpha/conf/GENERIC#13 integrate
... //depot/projects/kse/sys/alpha/osf1/osf1_misc.c#12 integrate
... //depot/projects/kse/sys/compat/linux/linux_misc.c#17 integrate
... //depot/projects/kse/sys/conf/files#38 integrate
... //depot/projects/kse/sys/conf/files.sparc64#18 integrate
... //depot/projects/kse/sys/conf/kern.pre.mk#12 integrate
... //depot/projects/kse/sys/conf/kmod.mk#11 integrate
... //depot/projects/kse/sys/conf/options#20 integrate
... //depot/projects/kse/sys/conf/options.i386#18 integrate
... //depot/projects/kse/sys/conf/options.ia64#7 integrate
... //depot/projects/kse/sys/conf/options.pc98#18 integrate
... //depot/projects/kse/sys/dev/drm/drm_os_freebsd.h#4 integrate
... //depot/projects/kse/sys/dev/em/if_em_fxhw.c#4 delete
... //depot/projects/kse/sys/dev/em/if_em_fxhw.h#4 delete
... //depot/projects/kse/sys/dev/em/if_em_phy.c#5 delete
... //depot/projects/kse/sys/dev/em/if_em_phy.h#4 delete
... //depot/projects/kse/sys/dev/hea/eni.c#7 integrate
... //depot/projects/kse/sys/dev/hea/eni.h#4 integrate
... //depot/projects/kse/sys/dev/hea/eni_globals.c#2 integrate
... //depot/projects/kse/sys/dev/hea/eni_var.h#3 integrate
... //depot/projects/kse/sys/dev/hea/hea_freebsd.c#3 integrate
... //depot/projects/kse/sys/dev/hfa/fore_globals.c#2 integrate
... //depot/projects/kse/sys/dev/hfa/fore_include.h#3 integrate
... //depot/projects/kse/sys/dev/hfa/fore_load.c#5 integrate
... //depot/projects/kse/sys/dev/hfa/fore_var.h#2 integrate
... //depot/projects/kse/sys/dev/hfa/hfa_freebsd.c#3 integrate
... //depot/projects/kse/sys/dev/isp/isp.c#20 integrate
... //depot/projects/kse/sys/dev/isp/isp_freebsd.c#13 integrate
... //depot/projects/kse/sys/dev/isp/isp_freebsd.h#11 integrate
... //depot/projects/kse/sys/dev/isp/isp_inline.h#8 integrate
... //depot/projects/kse/sys/dev/isp/isp_ioctl.h#7 integrate
... //depot/projects/kse/sys/dev/isp/isp_pci.c#11 integrate
... //depot/projects/kse/sys/dev/isp/isp_target.c#6 integrate
... //depot/projects/kse/sys/dev/isp/isp_target.h#6 integrate
... //depot/projects/kse/sys/dev/isp/ispmbox.h#13 integrate
... //depot/projects/kse/sys/dev/isp/ispvar.h#12 integrate
... //depot/projects/kse/sys/dev/md/md.c#21 integrate
... //depot/projects/kse/sys/dev/puc/pucdata.c#5 integrate
... //depot/projects/kse/sys/dev/puc/pucvar.h#2 integrate
... //depot/projects/kse/sys/dev/sio/sio.c#15 integrate
... //depot/projects/kse/sys/dev/sio/sio_ebus.c#1 branch
... //depot/projects/kse/sys/dev/sio/sioreg.h#6 integrate
... //depot/projects/kse/sys/dev/usb/uhub.c#10 integrate
... //depot/projects/kse/sys/dev/usb/umass.c#12 integrate
... //depot/projects/kse/sys/dev/usb/usb_subr.c#9 integrate
... //depot/projects/kse/sys/dev/wi/if_wi_pci.c#4 integrate
... //depot/projects/kse/sys/fs/udf/udf_mount.h#2 delete
... //depot/projects/kse/sys/fs/udf/udf_vfsops.c#2 integrate
... //depot/projects/kse/sys/fs/unionfs/union.h#6 integrate
... //depot/projects/kse/sys/fs/unionfs/union_vfsops.c#10 integrate
... //depot/projects/kse/sys/i386/i386/pmap.c#37 integrate
... //depot/projects/kse/sys/kern/kern_exec.c#28 integrate
... //depot/projects/kse/sys/kern/kern_prot.c#27 integrate
... //depot/projects/kse/sys/kern/uipc_socket2.c#17 integrate
... //depot/projects/kse/sys/kern/vfs_subr.c#33 integrate
... //depot/projects/kse/sys/modules/netgraph/device/Makefile#1 branch
... //depot/projects/kse/sys/modules/sppp/Makefile#3 integrate
... //depot/projects/kse/sys/net/rtsock.c#17 integrate
... //depot/projects/kse/sys/netatm/atm_cm.c#6 integrate
... //depot/projects/kse/sys/netatm/atm_device.c#4 integrate
... //depot/projects/kse/sys/netatm/atm_if.c#5 integrate
... //depot/projects/kse/sys/netatm/atm_if.h#5 integrate
... //depot/projects/kse/sys/netatm/atm_subr.c#9 integrate
... //depot/projects/kse/sys/netatm/atm_sys.h#4 integrate
... //depot/projects/kse/sys/netatm/atm_var.h#8 integrate
... //depot/projects/kse/sys/netgraph/ng_device.c#1 branch
... //depot/projects/kse/sys/netgraph/ng_device.h#1 branch
... //depot/projects/kse/sys/netinet/accf_data.c#5 integrate
... //depot/projects/kse/sys/netinet/accf_http.c#5 integrate
... //depot/projects/kse/sys/netinet/in_pcb.c#18 integrate
... //depot/projects/kse/sys/netinet/in_pcb.h#12 integrate
... //depot/projects/kse/sys/netinet/tcp_input.c#21 integrate
... //depot/projects/kse/sys/netinet/tcp_subr.c#15 integrate
... //depot/projects/kse/sys/netinet/tcp_var.h#10 integrate
... //depot/projects/kse/sys/netinet/udp_usrreq.c#16 integrate
... //depot/projects/kse/sys/netinet/udp_var.h#4 integrate
... //depot/projects/kse/sys/netinet6/in6_pcb.c#16 integrate
... //depot/projects/kse/sys/netinet6/in6_pcb.h#6 integrate
... //depot/projects/kse/sys/netinet6/raw_ip6.c#12 integrate
... //depot/projects/kse/sys/netinet6/udp6_usrreq.c#12 integrate
... //depot/projects/kse/sys/netkey/keysock.c#10 integrate
... //depot/projects/kse/sys/pc98/pc98/sio.c#15 integrate
... //depot/projects/kse/sys/sparc64/conf/GENERIC#14 integrate
... //depot/projects/kse/sys/sparc64/include/vmparam.h#9 integrate
... //depot/projects/kse/sys/sparc64/sparc64/pmap.c#29 integrate
... //depot/projects/kse/sys/sys/_sigset.h#1 branch
... //depot/projects/kse/sys/sys/_types.h#3 integrate
... //depot/projects/kse/sys/sys/file.h#11 integrate
... //depot/projects/kse/sys/sys/malloc.h#8 integrate
... //depot/projects/kse/sys/sys/mount.h#11 integrate
... //depot/projects/kse/sys/sys/select.h#2 integrate
... //depot/projects/kse/sys/sys/signal.h#6 integrate
... //depot/projects/kse/sys/sys/socket.h#8 integrate
... //depot/projects/kse/sys/sys/socketvar.h#20 integrate
... //depot/projects/kse/sys/sys/statvfs.h#1 branch
... //depot/projects/kse/sys/sys/time.h#9 integrate
... //depot/projects/kse/sys/sys/types.h#15 integrate
... //depot/projects/kse/sys/sys/ucred.h#10 integrate
... //depot/projects/kse/sys/vm/uma.h#5 integrate
... //depot/projects/kse/sys/vm/uma_core.c#9 integrate
... //depot/projects/kse/sys/vm/uma_int.h#4 integrate
... //depot/projects/kse/sys/vm/vm_contig.c#7 integrate
... //depot/projects/kse/sys/vm/vm_fault.c#12 integrate
... //depot/projects/kse/sys/vm/vm_glue.c#31 integrate
... //depot/projects/kse/sys/vm/vm_kern.c#6 integrate
... //depot/projects/kse/sys/vm/vm_map.c#21 integrate
... //depot/projects/kse/sys/vm/vm_map.h#14 integrate
... //depot/projects/kse/sys/vm/vm_mmap.c#16 integrate
... //depot/projects/kse/sys/vm/vm_object.c#11 integrate

Differences ...

==== //depot/projects/kse/sys/alpha/conf/GENERIC#13 (text+ko) ====

@@ -19,7 +19,7 @@
 #
 # For hardware specific information check HARDWARE.TXT
 #
-# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.138 2002/05/03 17:59:21 jmallett Exp $
+# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.140 2002/06/16 06:48:42 mjacob Exp $
 
 machine		alpha
 cpu		EV4
@@ -130,7 +130,7 @@
 # real time clock
 device		mcclock
 
-# Serial (COM) ports
+# Serial (COM) ports (required)
 device		sio		# 8250, 16[45]50 based serial ports
 
 # Parallel port

==== //depot/projects/kse/sys/alpha/osf1/osf1_misc.c#12 (text+ko) ====

@@ -29,7 +29,7 @@
 
 /*
  * Additional Copyright (c) 1999 by Andrew Gallatin
- * $FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.30 2002/04/13 23:11:22 jhb Exp $
+ * $FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.31 2002/06/19 06:39:25 alfred Exp $
  */
 
 
@@ -1056,17 +1056,20 @@
 	struct proc *p;
 	int error;
 	uid_t uid;
+	struct uidinfo *uip;
 	struct ucred *newcred, *oldcred;
 
 	p = td->td_proc;
 	uid = SCARG(uap, uid);
 	newcred = crget();
+	uip = uifind(uid);
 	PROC_LOCK(p);
 	oldcred = p->p_ucred;
 
 	if ((error = suser_cred(p->p_ucred, PRISON_ROOT)) != 0 &&
 	    uid != oldcred->cr_ruid && uid != oldcred->cr_svuid) {
 		PROC_UNLOCK(p);
+		uifree(uip);
 		crfree(newcred);
 		return (error);
 	}
@@ -1074,7 +1077,7 @@
 	crcopy(newcred, oldcred);
 	if (error == 0) {
 		if (uid != oldcred->cr_ruid) {
-			change_ruid(newcred, uid);
+			change_ruid(newcred, uip);
 			setsugid(p);
 		}
 		if (oldcred->cr_svuid != uid) {
@@ -1083,11 +1086,12 @@
 		}
 	}
 	if (newcred->cr_uid != uid) {
-		change_euid(newcred, uid);
+		change_euid(newcred, uip);
 		setsugid(p);
 	}
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
+	uifree(uip);
 	crfree(oldcred);
 	return (0);
 }

==== //depot/projects/kse/sys/compat/linux/linux_misc.c#17 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.122 2002/06/02 20:05:42 schweikh Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.123 2002/06/14 07:24:01 rwatson Exp $
  */
 
 #include "opt_compat.h"
@@ -302,6 +302,10 @@
 	if (error)
 		goto cleanup;
 
+	/*
+	 * XXX: This should use vn_open() so that it is properly authorized,
+	 * and to reduce code redundancy all over the place here.
+	 */
 	error = VOP_OPEN(vp, FREAD, td->td_ucred, td);
 	if (error)
 		goto cleanup;

==== //depot/projects/kse/sys/conf/files#38 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.648 2002/06/13 23:19:34 rwatson Exp $
+# $FreeBSD: src/sys/conf/files,v 1.650 2002/06/18 21:32:33 julian Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1016,6 +1016,7 @@
 net/rtsock.c		standard
 net/slcompress.c	optional ppp
 net/slcompress.c	optional sl
+net/slcompress.c	optional sppp
 net/zlib.c		optional ppp_deflate
 net/zlib.c		optional ipsec
 netatalk/aarp.c		optional netatalk
@@ -1112,6 +1113,7 @@
 net/bpf_filter.c	optional netgraph_bpf
 netgraph/ng_bridge.c	optional netgraph_bridge
 netgraph/ng_cisco.c	optional netgraph_cisco
+netgraph/ng_device.c	optional netgraph_device
 netgraph/ng_echo.c	optional netgraph_echo
 netgraph/ng_ether.c	optional netgraph_ether
 netgraph/ng_frame_relay.c	optional netgraph_frame_relay

==== //depot/projects/kse/sys/conf/files.sparc64#18 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.sparc64,v 1.21 2002/06/08 07:17:18 jake Exp $
+# $FreeBSD: src/sys/conf/files.sparc64,v 1.22 2002/06/18 01:14:54 obrien Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -12,6 +12,12 @@
 crypto/des/des_enc.c		optional	ipsec ipsec_esp
 dev/ofw/ofw_console.c		optional	ofw_console
 dev/ofw/openfirm.c		standard
+dev/sio/sio.c			optional	sio
+dev/sio/sio_ebus.c		optional	sio ebus
+dev/sio/sio_isa.c		optional	sio isa
+dev/sio/sio_pccard.c		optional	sio card
+dev/sio/sio_pccard.c		optional	sio pccard
+dev/sio/sio_pci.c		optional	sio pci
 libkern/ffs.c			standard
 kern/subr_diskmbr.c		standard
 kern/syscalls.c			optional	ktr

==== //depot/projects/kse/sys/conf/kern.pre.mk#12 (text+ko) ====

@@ -3,7 +3,7 @@
 # Unified Makefile for building kenrels.  This includes all the definitions
 # that need to be included before %BEFORE_DEPEND
 #
-# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.12 2002/05/12 15:51:38 bde Exp $
+# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.13 2002/06/16 10:42:05 mux Exp $
 #
 
 # Can be overridden by makeoptions or /etc/make.conf
@@ -38,7 +38,7 @@
 INCLUDES+= -I/usr/include
 .endif
 
-COPTS=	${INCLUDES} ${IDENT} -D_KERNEL -ffreestanding -include opt_global.h
+COPTS=	${INCLUDES} ${IDENT} -D_KERNEL -include opt_global.h
 CFLAGS=	${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} -fno-common
 
 # XXX LOCORE means "don't declare C stuff" not "for locore.s".

==== //depot/projects/kse/sys/conf/kmod.mk#11 (text+ko) ====

@@ -1,5 +1,5 @@
 #	From: @(#)bsd.prog.mk	5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.124 2002/05/14 07:49:12 ru Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.125 2002/06/17 20:01:06 n_hibma Exp $
 #
 # The include file <bsd.kmod.mk> handles installing Kernel Loadable Device
 # drivers (KLD's).
@@ -278,7 +278,7 @@
 
 .if !target(load)
 load:	${PROG}
-	${KMODLOAD} -v ${.CURDIR}/${KMOD}.ko
+	${KMODLOAD} -v ${.OBJDIR}/${KMOD}.ko
 .endif
 
 .if !target(unload)

==== //depot/projects/kse/sys/conf/options#20 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.325 2002/06/13 22:41:23 rwatson Exp $
+# $FreeBSD: src/sys/conf/options,v 1.326 2002/06/18 21:30:36 n_hibma Exp $
 #
 #        On the handling of kernel options
 #
@@ -69,10 +69,12 @@
 COMPAT_SUNOS	opt_compat.h
 COMPILING_LINT	opt_global.h
 CY_PCI_FASTINTR
+CONSPEED	opt_comconsole.h
 DDB
 DDB_NOKLDSYM	opt_ddb.h
 DDB_UNATTENDED	opt_ddb.h
 GDB_REMOTE_CHAT	opt_ddb.h
+GDBSPEED	opt_ddb.h
 NODEVFS		opt_devfs.h
 HW_WDOG
 KTRACE

==== //depot/projects/kse/sys/conf/options.i386#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.170 2002/05/16 21:23:40 trhodes Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.171 2002/06/18 21:30:36 n_hibma Exp $
 # Options specific to the i386 platform kernels
 
 DISABLE_PSE
@@ -14,7 +14,6 @@
 POWERFAIL_NMI		opt_trap.h
 AUTO_EOI_1		opt_auto_eoi.h
 AUTO_EOI_2		opt_auto_eoi.h
-CONSPEED		opt_comconsole.h
 I586_PMC_GUPROF		opt_i586_guprof.h
 WLCACHE			opt_wavelan.h
 WLDEBUG			opt_wavelan.h

==== //depot/projects/kse/sys/conf/options.ia64#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.ia64,v 1.10 2002/04/14 04:33:41 peter Exp $
+# $FreeBSD: src/sys/conf/options.ia64,v 1.11 2002/06/18 21:30:37 n_hibma Exp $
 # Options specific to the ia64 platform kernels
 
 ITANIUM			opt_global.h
@@ -15,8 +15,6 @@
 SHOW_BUSYBUFS
 PANIC_REBOOT_WAIT_TIME	opt_panic.h
 
-CONSPEED		opt_comconsole.h
-
 MAXCONS			opt_syscons.h
 SC_ALT_MOUSE_IMAGE	opt_syscons.h
 SC_DEBUG_LEVEL		opt_syscons.h

==== //depot/projects/kse/sys/conf/options.pc98#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.pc98,v 1.145 2002/05/19 13:18:10 nyan Exp $
+# $FreeBSD: src/sys/conf/options.pc98,v 1.146 2002/06/18 21:30:37 n_hibma Exp $
 # Options specific to the pc98 platform kernels
 
 DISABLE_PSE
@@ -14,7 +14,6 @@
 POWERFAIL_NMI		opt_trap.h
 AUTO_EOI_1		opt_auto_eoi.h
 AUTO_EOI_2		opt_auto_eoi.h
-CONSPEED		opt_comconsole.h
 I586_PMC_GUPROF		opt_i586_guprof.h
 WLCACHE			opt_wavelan.h
 WLDEBUG			opt_wavelan.h

==== //depot/projects/kse/sys/dev/drm/drm_os_freebsd.h#4 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/sys/dev/drm/drm_os_freebsd.h,v 1.5 2002/05/31 23:19:50 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/drm_os_freebsd.h,v 1.6 2002/06/16 21:50:42 des Exp $
  */
 
 #include <sys/param.h>
@@ -17,7 +17,6 @@
 #include <sys/uio.h>
 #include <sys/filio.h>
 #include <sys/sysctl.h>
-#include <sys/select.h>
 #include <vm/vm.h>
 #include <vm/pmap.h>
 #include <machine/pmap.h>

==== //depot/projects/kse/sys/dev/hea/eni.c#7 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hea/eni.c,v 1.21 2002/06/11 21:22:32 alfred Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hea/eni.c,v 1.22 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -66,7 +66,7 @@
 #include <dev/hea/eni_var.h>
 
 #ifndef	lint
-__RCSID("@(#) $FreeBSD: src/sys/dev/hea/eni.c,v 1.21 2002/06/11 21:22:32 alfred Exp $");
+__RCSID("@(#) $FreeBSD: src/sys/dev/hea/eni.c,v 1.22 2002/06/14 16:59:37 arr Exp $");
 #endif
 
 /*
@@ -415,8 +415,8 @@
 	eup->eu_openvcc = eni_openvcc;
 	eup->eu_closevcc = eni_closevcc;
 	eup->eu_output = eni_output;
-	eup->eu_vcc_pool = &eni_vcc_pool;
-	eup->eu_nif_pool = &eni_nif_pool;
+	eup->eu_vcc_zone = eni_vcc_zone;
+	eup->eu_nif_zone = eni_nif_zone;
 
  	/*
 	 * Enable Memory Mapping / Bus Mastering 

==== //depot/projects/kse/sys/dev/hea/eni.h#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hea/eni.h,v 1.5 2002/06/07 05:23:01 mdodd Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hea/eni.h,v 1.6 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -491,8 +491,8 @@
 #define	eu_mtu		eu_cmn.cu_mtu
 #define	eu_open_vcc	eu_cmn.cu_open_vcc
 #define	eu_vcc		eu_cmn.cu_vcc
-#define	eu_vcc_pool	eu_cmn.cu_vcc_pool
-#define	eu_nif_pool	eu_cmn.cu_nif_pool
+#define	eu_vcc_zone	eu_cmn.cu_vcc_zone
+#define	eu_nif_zone	eu_cmn.cu_nif_zone
 #define	eu_ioctl	eu_cmn.cu_ioctl
 #define	eu_instvcc	eu_cmn.cu_instvcc
 #define	eu_openvcc	eu_cmn.cu_openvcc

==== //depot/projects/kse/sys/dev/hea/eni_globals.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hea/eni_globals.c,v 1.8 2000/10/27 21:32:06 phk Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hea/eni_globals.c,v 1.9 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -53,8 +53,10 @@
 #include <dev/hea/eni_stats.h>
 #include <dev/hea/eni.h>
 
+#include <vm/uma.h>
+
 #ifndef lint
-__RCSID("@(#) $FreeBSD: src/sys/dev/hea/eni_globals.c,v 1.8 2000/10/27 21:32:06 phk Exp $");
+__RCSID("@(#) $FreeBSD: src/sys/dev/hea/eni_globals.c,v 1.9 2002/06/14 16:59:37 arr Exp $");
 #endif
 
 /*
@@ -98,17 +100,5 @@
 /*
  * Storage pools
  */
-struct sp_info eni_nif_pool = {
-	"eni nif pool",			/* si_name */
-	sizeof(struct atm_nif),		/* si_blksiz */
-	5,				/* si_blkcnt */
-	52				/* si_maxallow */
-};
-
-struct sp_info eni_vcc_pool = {
-	"eni vcc pool",			/* si_name */
-	sizeof(Eni_vcc),		/* si_blksiz */
-	10,				/* si_blkcnt */
-	100				/* si_maxallow */
-};
-
+uma_zone_t	eni_nif_zone;
+uma_zone_t	eni_vcc_zone;

==== //depot/projects/kse/sys/dev/hea/eni_var.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hea/eni_var.h,v 1.3 2002/03/20 02:07:22 alfred Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hea/eni_var.h,v 1.4 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -79,7 +79,7 @@
  */
 extern Eni_unit		*eni_units[];
 extern struct stack_defn	*eni_services;
-extern struct sp_info	eni_nif_pool;
-extern struct sp_info	eni_vcc_pool;
+extern uma_zone_t	eni_nif_zone;
+extern uma_zone_t	eni_vcc_zone;
 
 #endif	/* _ENI_ENI_VAR_H */

==== //depot/projects/kse/sys/dev/hea/hea_freebsd.c#3 (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/dev/hea/hea_freebsd.c,v 1.3 2002/06/07 05:23:01 mdodd Exp $
+ * $FreeBSD: src/sys/dev/hea/hea_freebsd.c,v 1.4 2002/06/14 16:59:37 arr Exp $
  */
 
 /*
@@ -158,13 +158,25 @@
 	eup = &sc->eup;
 	error = 0;
 
+	eni_vcc_zone = uma_zcreate("eni vcc", sizeof(Eni_vcc), NULL,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
+	if (eni_vcc_zone == NULL)
+		panic("hea_attach: uma_zcreate vcc");
+	uma_zone_set_max(eni_vcc_zone, 100);
+	
+	eni_nif_zone = uma_zcreate("eni nif", sizeof(struct atm_nif), NULL,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
+	if (eni_nif_zone == NULL)
+		panic("hea_attach: uma_zcreate nif");
+	uma_zone_set_max(eni_nif_zone, 52);
+
 	/*
 	 * Start initializing it
 	 */
 	eup->eu_unit = device_get_unit(dev);
 	eup->eu_mtu = ENI_IFF_MTU;
-	eup->eu_vcc_pool = &eni_vcc_pool;
-	eup->eu_nif_pool = &eni_nif_pool;
+	eup->eu_vcc_zone = eni_vcc_zone;
+	eup->eu_nif_zone = eni_nif_zone;
 	eup->eu_ioctl = eni_atm_ioctl;
 	eup->eu_instvcc = eni_instvcc;
 	eup->eu_openvcc = eni_openvcc;
@@ -329,6 +341,9 @@
 
 	hea_free(dev);
 
+	uma_zdestroy(eni_vcc_zone);
+	uma_zdestroy(eni_nif_zone);
+
 	return (error);
 }
 

==== //depot/projects/kse/sys/dev/hfa/fore_globals.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hfa/fore_globals.c,v 1.9 2000/10/30 20:37:00 phk Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hfa/fore_globals.c,v 1.10 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -57,8 +57,10 @@
 #include <dev/hfa/fore_stats.h>
 #include <dev/hfa/fore_var.h>
 
+#include <vm/uma.h>
+
 #ifndef lint
-__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_globals.c,v 1.9 2000/10/30 20:37:00 phk Exp $");
+__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_globals.c,v 1.10 2002/06/14 16:59:37 arr Exp $");
 #endif
 
 /*
@@ -104,20 +106,8 @@
 /*
  * Storage pools
  */
-struct sp_info fore_nif_pool = {
-	"fore nif pool",		/* si_name */
-	sizeof(struct atm_nif),		/* si_blksiz */
-	5,				/* si_blkcnt */
-	52				/* si_maxallow */
-};
-
-struct sp_info fore_vcc_pool = {
-	"fore vcc pool",		/* si_name */
-	sizeof(Fore_vcc),		/* si_blksiz */
-	10,				/* si_blkcnt */
-	100				/* si_maxallow */
-};
-
+uma_zone_t	fore_nif_zone;
+uma_zone_t	fore_vcc_zone;
 
 /*
  * Watchdog timer

==== //depot/projects/kse/sys/dev/hfa/fore_include.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hfa/fore_include.h,v 1.5 2002/03/20 02:07:23 alfred Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hfa/fore_include.h,v 1.6 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -101,8 +101,8 @@
 extern Fore_unit	*fore_units[];
 extern int		fore_nunits;
 extern struct stack_defn	*fore_services;
-extern struct sp_info	fore_nif_pool;
-extern struct sp_info	fore_vcc_pool;
+extern uma_zone_t	fore_nif_zone;
+extern uma_zone_t	fore_vcc_zone;
 extern struct atm_time	fore_timer;
 
 #endif	/* _FORE_INCLUDE_H */

==== //depot/projects/kse/sys/dev/hfa/fore_load.c#5 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.25 2002/04/16 01:38:31 arr Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.26 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -67,7 +67,7 @@
 #include <dev/hfa/fore_include.h>
 
 #ifndef lint
-__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.25 2002/04/16 01:38:31 arr Exp $");
+__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.26 2002/06/14 16:59:37 arr Exp $");
 #endif
 
 static int fore_probe(device_t);
@@ -225,8 +225,8 @@
 	fup->fu_unit = unit;
 	fup->fu_mtu = FORE_IFF_MTU;
 	fup->fu_pcitag = config_id;
-	fup->fu_vcc_pool = &fore_vcc_pool;
-	fup->fu_nif_pool = &fore_nif_pool;
+	fup->fu_vcc_zone = fore_vcc_zone;
+	fup->fu_nif_zone = &fore_nif_zone;
 	fup->fu_ioctl = fore_atm_ioctl;
 	fup->fu_instvcc = fore_instvcc;
 	fup->fu_openvcc = fore_openvcc;

==== //depot/projects/kse/sys/dev/hfa/fore_var.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * Copies of this Software may be made, however, the above copyright
  * notice must be reproduced on all copies.
  *
- *	@(#) $FreeBSD: src/sys/dev/hfa/fore_var.h,v 1.5 2001/01/17 01:08:49 peter Exp $
+ *	@(#) $FreeBSD: src/sys/dev/hfa/fore_var.h,v 1.6 2002/06/14 16:59:37 arr Exp $
  *
  */
 
@@ -237,8 +237,8 @@
 #define	fu_vcc		fu_cmn.cu_vcc
 #define	fu_intrpri	fu_cmn.cu_intrpri
 #define	fu_savepri	fu_cmn.cu_savepri
-#define	fu_vcc_pool	fu_cmn.cu_vcc_pool
-#define	fu_nif_pool	fu_cmn.cu_nif_pool
+#define	fu_vcc_zone	fu_cmn.cu_vcc_zone
+#define	fu_nif_zone	fu_cmn.cu_nif_zone
 #define	fu_ioctl	fu_cmn.cu_ioctl
 #define	fu_instvcc	fu_cmn.cu_instvcc
 #define	fu_openvcc	fu_cmn.cu_openvcc

==== //depot/projects/kse/sys/dev/hfa/hfa_freebsd.c#3 (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/dev/hfa/hfa_freebsd.c,v 1.2 2002/06/07 01:55:42 mdodd Exp $
+ * $FreeBSD: src/sys/dev/hfa/hfa_freebsd.c,v 1.3 2002/06/14 16:59:37 arr Exp $
  */
 
 /*
@@ -169,8 +169,8 @@
 	 */
 	fup->fu_unit = device_get_unit(dev);
 	fup->fu_mtu = FORE_IFF_MTU;
-	fup->fu_vcc_pool = &fore_vcc_pool;
-	fup->fu_nif_pool = &fore_nif_pool;
+	fup->fu_vcc_zone = fore_vcc_zone;
+	fup->fu_nif_zone = fore_nif_zone;
 	fup->fu_ioctl = fore_atm_ioctl;
 	fup->fu_instvcc = fore_instvcc;
 	fup->fu_openvcc = fore_openvcc;
@@ -377,6 +377,19 @@
 			error = EINVAL;
 			break;
 		}
+
+		fore_nif_zone = uma_zcreate("fore nif", sizeof(struct atm_nif), NULL,
+		    NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
+		if (fore_nif_zone == NULL)
+			panic("hfa_modevent:uma_zcreate nif");
+		uma_zone_set_max(fore_nif_zone, 52);
+
+		fore_vcc_zone = uma_zcreate("fore vcc", sizeof(Fore_vcc), NULL,
+		    NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
+		if (fore_vcc_zone == NULL)
+			panic("hfa_modevent: uma_zcreate vcc");
+		uma_zone_set_max(fore_vcc_zone, 100);
+	
 		/*
 		* Initialize DMA mapping
 		*/
@@ -399,6 +412,9 @@
 		 */
 		atm_untimeout(&fore_timer);
 
+		uma_zdestroy(fore_nif_zone);
+		uma_zdestroy(fore_vcc_zone);
+
 		break;
 	default:
 		break;

==== //depot/projects/kse/sys/dev/isp/isp.c#20 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/isp/isp.c,v 1.93 2002/05/01 21:58:36 mjacob Exp $ */
+/* $FreeBSD: src/sys/dev/isp/isp.c,v 1.94 2002/06/16 05:18:22 mjacob Exp $ */
 /*
  * Machine and OS Independent (well, as best as possible)
  * code for the Qlogic ISP SCSI adapters.
@@ -161,7 +161,7 @@
 {
 	mbreg_t mbs;
 	u_int16_t code_org;
-	int loops, i, touched, dodnld = 1;
+	int loops, i, dodnld = 1;
 	char *btype = "????";
 
 	isp->isp_state = ISP_NILSTATE;
@@ -184,7 +184,7 @@
 	 * case, we don't really use this yet, but we may in
 	 * the future.
 	 */
-	if ((touched = isp->isp_touched) == 0) {
+	if (isp->isp_touched == 0) {
 		/*
 		 * First see whether or not we're sitting in the ISP PROM.
 		 * If we've just been reset, we'll have the string "ISP   "
@@ -676,8 +676,10 @@
 	mbs.param[0] = MBOX_EXEC_FIRMWARE;
 	mbs.param[1] = code_org;
 	isp_mboxcmd(isp, &mbs, MBLOGNONE);
-	/* give it a chance to start */
-	USEC_SLEEP(isp, 500);
+	/*
+	 * Give it a chance to start.
+	 */
+	USEC_DELAY(500);
 
 	if (IS_SCSI(isp)) {
 		/*
@@ -789,19 +791,21 @@
 	 * because we may be called again after firmware has been loaded once
 	 * and released.
 	 */
-	if (touched == 0) {
-		if (IS_SCSI(isp)) {
-			if (dodnld) {
+	if (IS_SCSI(isp)) {
+		if (dodnld) {
+			if (IS_ULTRA2(isp) || IS_ULTRA3(isp)) {
 				isp->isp_maxluns = 32;
 			} else {
 				isp->isp_maxluns = 8;
 			}
 		} else {
-			if (FCPARAM(isp)->isp_fwattr & ISP_FW_ATTR_SCCLUN) {
-				isp->isp_maxluns = 16384;
-			} else {
-				isp->isp_maxluns = 16;
-			}
+			isp->isp_maxluns = 8;
+		}
+	} else {
+		if (FCPARAM(isp)->isp_fwattr & ISP_FW_ATTR_SCCLUN) {
+			isp->isp_maxluns = 16384;
+		} else {
+			isp->isp_maxluns = 16;
 		}
 	}
 }
@@ -1177,7 +1181,6 @@
 	 */
 	fcp->isp_fwoptions |= ICBOPT_PDBCHANGE_AE;
 
-
 	/*
 	 * Make sure that target role reflects into fwoptions.
 	 */
@@ -2411,7 +2414,13 @@
 		rs0 = (sns_ga_nxt_rsp_t *) ((u_int8_t *)fcp->isp_scratch+0x100);
 		isp_get_ga_nxt_response(isp, rs0, rs1);
 		if (rs1->snscb_cthdr.ct_response != FS_ACC) {
-			isp_prt(isp, ISP_LOGWARN, swrej, "GA_NXT",
+			int level;
+			if (rs1->snscb_cthdr.ct_reason == 9 &&
+			    rs1->snscb_cthdr.ct_explanation == 7)
+				level = ISP_LOGDEBUG0;
+			else
+				level = ISP_LOGWARN;
+			isp_prt(isp, level, swrej, "GA_NXT",
 			    rs1->snscb_cthdr.ct_reason,
 			    rs1->snscb_cthdr.ct_explanation, portid);
 			FC_SCRATCH_RELEASE(isp);
@@ -2424,6 +2433,10 @@
 		    (((u_int32_t) rs1->snscb_port_id[2]));
 
 		/*
+		 * XXX: We should check to make sure that this entry
+		 * XXX: supports the type(s) we are interested in.
+		 */
+		/*
 		 * Okay, we now have information about a fabric object.
 		 * If it is the type we're interested in, tell the outer layers
 		 * about it. The outer layer needs to  know: Port ID, WWNN,
@@ -2556,7 +2569,13 @@
 	rs0 = (sns_gid_ft_rsp_t *) ((u_int8_t *)fcp->isp_scratch+IGPOFF);
 	isp_get_gid_ft_response(isp, rs0, rs1, NGENT);
 	if (rs1->snscb_cthdr.ct_response != FS_ACC) {
-		isp_prt(isp, ISP_LOGWARN, swrej, "GID_FT",
+		int level;
+		if (rs1->snscb_cthdr.ct_reason == 9 &&
+		    rs1->snscb_cthdr.ct_explanation == 7)
+			level = ISP_LOGDEBUG0;
+		else
+			level = ISP_LOGWARN;
+		isp_prt(isp, level, swrej, "GID_FT",
 		    rs1->snscb_cthdr.ct_reason,
 		    rs1->snscb_cthdr.ct_explanation, 0);
 		FC_SCRATCH_RELEASE(isp);
@@ -2791,6 +2810,12 @@
 	}
 
 	FC_SCRATCH_RELEASE(isp);
+	/*
+	 * XXX: Workaround for some bogus fabric registrants
+	 */
+	if (ftype) {
+		(void) isp_scan_fabric(isp, 0);
+	}
 	fcp->isp_loopstate = LOOP_FSCAN_DONE;
 	return (0);
 }
@@ -3023,7 +3048,7 @@
 				return (CMD_RQLATER);
 			}
 			if (fcp->isp_fwstate != FW_READY ||
-			    fcp->isp_loopstate < LOOP_PDB_RCVD) {
+			    fcp->isp_loopstate < LOOP_FSCAN_DONE) {
 				return (CMD_RQLATER);
 			}
 		}
@@ -3199,7 +3224,7 @@
 	XS_SETERR(xs, HBA_NOERROR);
 	isp_prt(isp, ISP_LOGDEBUG2,
 	    "START cmd for %d.%d.%d cmd 0x%x datalen %ld",
-	    XS_CHANNEL(xs), target, XS_LUN(xs), XS_CDBP(xs)[0],
+	    XS_CHANNEL(xs), XS_TGT(xs), XS_LUN(xs), XS_CDBP(xs)[0],
 	    (long) XS_XFRLEN(xs));
 	ISP_ADD_REQUEST(isp, nxti);
 	isp->isp_nactive++;
@@ -3665,11 +3690,15 @@
 			 * Only whine if this isn't the expected fallout of
 			 * aborting the command.
 			 */
-			if (sp->req_header.rqs_entry_type != RQSTYPE_RESPONSE ||
-			    ts != RQCS_ABORTED) {
+			if (sp->req_header.rqs_entry_type != RQSTYPE_RESPONSE) {
+				isp_prt(isp, ISP_LOGERR,
+				    "cannot find handle 0x%x (type 0x%x)",
+				    sp->req_handle,
+				    sp->req_header.rqs_entry_type);
+			} else if (ts != RQCS_ABORTED) {
 				isp_prt(isp, ISP_LOGERR,
-				    "cannot find handle 0x%x in xflist",
-				    sp->req_handle);
+				    "cannot find handle 0x%x (status 0x%x)",
+				    sp->req_handle, ts);
 			}
 			WRITE_RESPONSE_QUEUE_OUT_POINTER(isp, optr);
 			continue;
@@ -3839,6 +3868,7 @@
 static int
 isp_parse_async(struct ispsoftc *isp, u_int16_t mbox)
 {
+	int rval = 0;
 	int bus;
 
 	if (IS_DUALBUS(isp)) {
@@ -3852,14 +3882,17 @@
 	case ASYNC_BUS_RESET:
 		isp->isp_sendmarker |= (1 << bus);
 #ifdef	ISP_TARGET_MODE
-		isp_target_async(isp, bus, mbox);
+		if (isp_target_async(isp, bus, mbox))
+			rval = -1;
 #endif
 		isp_async(isp, ISPASYNC_BUS_RESET, &bus);
 		break;
 	case ASYNC_SYSTEM_ERROR:
 		isp_async(isp, ISPASYNC_FW_CRASH, NULL);
-		/* no point continuing after this */
-		return (-1);
+		isp_reinit(isp);
+		isp_async(isp, ISPASYNC_FW_RESTARTED, NULL);
+		rval = -1;
+		break;
 
 	case ASYNC_RQS_XFER_ERR:
 		isp_prt(isp, ISP_LOGERR, "Request Queue Transfer Error");
@@ -3883,7 +3916,8 @@
 		    "timeout initiated SCSI bus reset of bus %d", bus);
 		isp->isp_sendmarker |= (1 << bus);
 #ifdef	ISP_TARGET_MODE
-		isp_target_async(isp, bus, mbox);
+		if (isp_target_async(isp, bus, mbox))
+			rval = -1;
 #endif
 		break;
 
@@ -3891,7 +3925,8 @@
 		isp_prt(isp, ISP_LOGINFO, "device reset on bus %d", bus);
 		isp->isp_sendmarker |= (1 << bus);
 #ifdef	ISP_TARGET_MODE
-		isp_target_async(isp, bus, mbox);
+		if (isp_target_async(isp, bus, mbox))
+			rval = -1;
 #endif
 		break;
 
@@ -3977,19 +4012,19 @@
 		break;
 
 	case ASYNC_CTIO_DONE:
+	{
 #ifdef	ISP_TARGET_MODE
-		/*
-		 * Bus gets overloaded with the handle. Dual bus
-		 * cards don't put bus# into the handle.
-		 */
-		isp_target_async(isp, ((ISP_READ(isp, OUTMAILBOX2) << 16) |
-		    ISP_READ(isp, OUTMAILBOX1)), mbox);
+		int handle =
+		    (ISP_READ(isp, OUTMAILBOX2) << 16) | 
+		    (ISP_READ(isp, OUTMAILBOX1));
+		if (isp_target_async(isp, handle, mbox))
+			rval = -1;
 #else
 		isp_prt(isp, ISP_LOGINFO, "Fast Posting CTIO done");
 #endif
 		isp->isp_fphccmplt++;	/* count it as a fast posting intr */
-		return (0);
-
+		break;
+	}
 	case ASYNC_LIP_F8:
 	case ASYNC_LIP_OCCURRED:
 		FCPARAM(isp)->isp_lipseq =
@@ -4000,7 +4035,8 @@
 		isp_mark_getpdb_all(isp);
 		isp_async(isp, ISPASYNC_LIP, NULL);
 #ifdef	ISP_TARGET_MODE
-		isp_target_async(isp, bus, mbox);

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

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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