Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jul 2005 15:44:06 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 80445 for review
Message-ID:  <200507181544.j6IFi64S053552@repoman.freebsd.org>

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

Change 80445 by jhb@jhb_slimer on 2005/07/18 15:43:37

	IFC @80443.

Affected files ...

.. //depot/projects/smpng/sys/alpha/conf/GENERIC#49 integrate
.. //depot/projects/smpng/sys/alpha/include/atomic.h#28 integrate
.. //depot/projects/smpng/sys/alpha/osf1/Makefile#2 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#34 integrate
.. //depot/projects/smpng/sys/amd64/include/atomic.h#22 integrate
.. //depot/projects/smpng/sys/arm/include/atomic.h#15 integrate
.. //depot/projects/smpng/sys/boot/ficl/Makefile#12 integrate
.. //depot/projects/smpng/sys/boot/i386/Makefile.inc#7 integrate
.. //depot/projects/smpng/sys/boot/i386/boot2/Makefile#18 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/Makefile#13 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/libi386.h#8 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/smbios.c#1 branch
.. //depot/projects/smpng/sys/boot/i386/loader/main.c#10 integrate
.. //depot/projects/smpng/sys/conf/NOTES#100 integrate
.. //depot/projects/smpng/sys/conf/files#144 integrate
.. //depot/projects/smpng/sys/conf/kern.mk#15 integrate
.. //depot/projects/smpng/sys/conf/options#103 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#14 integrate
.. //depot/projects/smpng/sys/dev/aac/aac_pci.c#38 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#31 integrate
.. //depot/projects/smpng/sys/dev/ex/if_ex_pccard.c#11 integrate
.. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#35 integrate
.. //depot/projects/smpng/sys/dev/hatm/if_hatm_intr.c#14 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#7 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#4 integrate
.. //depot/projects/smpng/sys/dev/kbd/kbd.c#16 integrate
.. //depot/projects/smpng/sys/dev/kbd/kbdreg.h#5 integrate
.. //depot/projects/smpng/sys/dev/kbdmux/kbdmux.c#1 branch
.. //depot/projects/smpng/sys/dev/pccard/pccard.c#37 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccard_cis.c#21 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccarddevs#48 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#49 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#8 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbbreg.h#11 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbbvar.h#16 integrate
.. //depot/projects/smpng/sys/dev/syscons/syscons.c#49 integrate
.. //depot/projects/smpng/sys/dev/usb/sl811hs.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/sl811hsreg.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/sl811hsvar.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/slhci_pccard.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/ulpt.c#21 integrate
.. //depot/projects/smpng/sys/dev/usb/usb.c#32 integrate
.. //depot/projects/smpng/sys/dev/xe/if_xe.c#23 integrate
.. //depot/projects/smpng/sys/dev/xe/if_xe_pccard.c#20 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#17 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#47 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_conv.c#13 integrate
.. //depot/projects/smpng/sys/geom/concat/g_concat.c#13 integrate
.. //depot/projects/smpng/sys/geom/geom_mbr.c#31 integrate
.. //depot/projects/smpng/sys/geom/geom_pc98.c#28 integrate
.. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#12 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_var.h#8 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_volume.c#7 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#64 integrate
.. //depot/projects/smpng/sys/i386/include/atomic.h#41 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC#44 integrate
.. //depot/projects/smpng/sys/ia64/include/atomic.h#11 integrate
.. //depot/projects/smpng/sys/kern/Makefile#4 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#38 integrate
.. //depot/projects/smpng/sys/kern/kern_mac.c#41 integrate
.. //depot/projects/smpng/sys/kern/kern_malloc.c#37 integrate
.. //depot/projects/smpng/sys/kern/kern_mbuf.c#8 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#101 integrate
.. //depot/projects/smpng/sys/kern/tty_pty.c#40 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf2.c#20 integrate
.. //depot/projects/smpng/sys/modules/Makefile#101 integrate
.. //depot/projects/smpng/sys/modules/kbdmux/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/slhci/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/ukbd/Makefile#7 integrate
.. //depot/projects/smpng/sys/net/if.c#69 integrate
.. //depot/projects/smpng/sys/net/rtsock.c#46 integrate
.. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.c#6 integrate
.. //depot/projects/smpng/sys/netinet/in_proto.c#20 integrate
.. //depot/projects/smpng/sys/nfs/nfs_common.c#13 integrate
.. //depot/projects/smpng/sys/nfs/nfs_common.h#8 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#35 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#56 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC#28 integrate
.. //depot/projects/smpng/sys/powerpc/include/atomic.h#14 integrate
.. //depot/projects/smpng/sys/security/mac/mac_vfs.c#9 integrate
.. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#36 integrate
.. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#27 integrate
.. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#34 integrate
.. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#14 integrate
.. //depot/projects/smpng/sys/security/mac_test/mac_test.c#32 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#57 integrate
.. //depot/projects/smpng/sys/sparc64/include/atomic.h#14 integrate
.. //depot/projects/smpng/sys/sys/cdefs.h#30 integrate
.. //depot/projects/smpng/sys/sys/conf.h#41 integrate
.. //depot/projects/smpng/sys/sys/kbio.h#2 integrate
.. //depot/projects/smpng/sys/sys/mac.h#33 integrate
.. //depot/projects/smpng/sys/sys/mac_policy.h#32 integrate
.. //depot/projects/smpng/sys/sys/malloc.h#22 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#51 integrate
.. //depot/projects/smpng/sys/sys/mutex.h#59 integrate
.. //depot/projects/smpng/sys/vm/uma.h#16 integrate
.. //depot/projects/smpng/sys/vm/uma_core.c#56 integrate
.. //depot/projects/smpng/sys/vm/uma_dbg.c#15 integrate
.. //depot/projects/smpng/sys/vm/uma_dbg.h#7 integrate
.. //depot/projects/smpng/sys/vm/uma_int.h#28 integrate
.. //depot/projects/smpng/sys/vm/vm_fault.c#49 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/conf/GENERIC#49 (text+ko) ====

@@ -18,7 +18,7 @@
 #
 # For hardware specific information check HARDWARE.TXT
 #
-# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.186 2005/06/06 10:53:10 wilko Exp $
+# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.187 2005/07/14 15:39:04 kensmith Exp $
 
 machine		alpha
 cpu		EV4
@@ -63,6 +63,7 @@
 options 	GEOM_GPT		# GUID Partition Tables.
 options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
+options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
 options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
 options 	KTRACE			# ktrace(1) support
 options 	SYSVSHM			# SYSV-style shared memory

==== //depot/projects/smpng/sys/alpha/include/atomic.h#28 (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/alpha/include/atomic.h,v 1.21 2005/07/09 12:38:53 jhb Exp $
+ * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.22 2005/07/15 18:17:57 jhb Exp $
  */
 
 #ifndef _MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/alpha/osf1/Makefile#2 (text+ko) ====

@@ -1,9 +1,11 @@
-# $FreeBSD: src/sys/alpha/osf1/Makefile,v 1.2 2000/01/15 19:40:08 bde Exp $
+# $FreeBSD: src/sys/alpha/osf1/Makefile,v 1.3 2005/07/13 20:50:17 jhb Exp $
 
 # Makefile for syscall tables.
 
 all:
-	@echo "make osf1_sysent.c only"
+	@echo "make sysent only"
+
+sysent:  osf1_sysent.c osf1_syscall.h osf1_proto.h
 
 osf1_sysent.c osf1_syscall.h osf1_proto.h: ../../kern/makesyscalls.sh \
     syscalls.master syscalls.conf

==== //depot/projects/smpng/sys/amd64/conf/GENERIC#34 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.439 2005/05/24 16:48:06 damien Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.440 2005/07/14 15:39:04 kensmith Exp $
 
 machine		amd64
 cpu		HAMMER
@@ -49,6 +49,7 @@
 options 	COMPAT_43		# Needed by COMPAT_LINUX32
 options 	COMPAT_IA32		# Compatible with i386 binaries
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
+options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
 options 	COMPAT_LINUX32		# Compatible with i386 linux binaries 
 options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
 options 	KTRACE			# ktrace(1) support

==== //depot/projects/smpng/sys/amd64/include/atomic.h#22 (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/amd64/include/atomic.h,v 1.34 2005/07/09 12:38:53 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.35 2005/07/15 18:17:57 jhb Exp $
  */
 #ifndef _MACHINE_ATOMIC_H_
 #define	_MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/arm/include/atomic.h#15 (text+ko) ====

@@ -33,7 +33,7 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/atomic.h,v 1.8 2005/06/23 21:54:17 jhb Exp $
+ * $FreeBSD: src/sys/arm/include/atomic.h,v 1.9 2005/07/15 18:17:57 jhb Exp $
  */
 
 #ifndef	_MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/boot/ficl/Makefile#12 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.41 2005/05/31 18:13:29 obrien Exp $
+# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.42 2005/07/15 12:22:14 ache Exp $
 #
 .PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/}
 BASE_SRCS=	dict.c ficl.c fileaccess.c float.c loader.c math64.c \
@@ -14,6 +14,9 @@
 CFLAGS+=	-mpreferred-stack-boundary=2
 CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2
 .endif
+.if ${MACHINE_ARCH} == "i386"
+CFLAGS+=	-mno-sse3
+.endif
 .if ${MACHINE_ARCH} == "powerpc"
 CFLAGS+=	-msoft-float
 .endif

==== //depot/projects/smpng/sys/boot/i386/Makefile.inc#7 (text+ko) ====

@@ -1,12 +1,12 @@
 # Common defines for all of /sys/boot/i386/
 #
-# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.10 2005/03/15 18:43:36 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.11 2005/07/15 12:22:14 ache Exp $
 
 BINDIR?=	/boot
 
 LOADER_ADDRESS?=0x200000
 CFLAGS+=	-ffreestanding -mpreferred-stack-boundary=2 \
-		-mno-mmx -mno-3dnow -mno-sse -mno-sse2
+		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3
 LDFLAGS+=	-nostdlib
 
 .if ${MACHINE_ARCH} == "amd64"

==== //depot/projects/smpng/sys/boot/i386/boot2/Makefile#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.58 2005/03/15 18:43:36 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.59 2005/07/15 12:22:14 ache Exp $
 
 FILES=		boot boot1 boot2
 
@@ -26,7 +26,7 @@
 	-fno-unit-at-a-time \
 	-mno-align-long-strings \
 	-mrtd \
-	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 \
+	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \
 	-D${BOOT2_UFS} \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

==== //depot/projects/smpng/sys/boot/i386/libi386/Makefile#13 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.37 2004/10/24 15:32:49 ru Exp $
+# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.38 2005/07/14 19:52:22 jkim Exp $
 #
 LIB=			i386
 INTERNALLIB=
@@ -8,7 +8,7 @@
 	comconsole.c devicename.c elf32_freebsd.c \
 	elf64_freebsd.c gatea20.c \
 	i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
-	time.c vidconsole.c amd64_tramp.S
+	smbios.c time.c vidconsole.c amd64_tramp.S
 
 BOOT_COMCONSOLE_PORT?= 0x3f8
 CFLAGS+=	-DCOMPORT=${BOOT_COMCONSOLE_PORT}

==== //depot/projects/smpng/sys/boot/i386/libi386/libi386.h#8 (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/boot/i386/libi386/libi386.h,v 1.20 2005/05/27 19:28:04 jhb Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.21 2005/07/14 19:52:22 jkim Exp $
  */
 
 
@@ -99,6 +99,8 @@
 
 void	biosacpi_detect();
 
+void	smbios_detect();
+
 void	gateA20(void);
 
 int	i386_autoload(void);

==== //depot/projects/smpng/sys/boot/i386/loader/main.c#10 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.31 2005/05/27 19:31:00 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.32 2005/07/14 19:52:22 jkim Exp $");
 
 /*
  * MD bootstrap main() and assorted miscellaneous
@@ -144,6 +144,9 @@
     /* detect ACPI for future reference */
     biosacpi_detect();
 
+    /* detect SMBIOS for future reference */
+    smbios_detect();
+
     printf("\n");
     printf("%s, Revision %s\n", bootprog_name, bootprog_rev);
     printf("(%s, %s)\n", bootprog_maker, bootprog_date);

==== //depot/projects/smpng/sys/conf/NOTES#100 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1325 2005/06/21 10:17:54 dumbbell Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1326 2005/07/14 15:57:00 takawata Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -2309,6 +2309,8 @@
 device		ohci
 # EHCI controller
 device		ehci
+# SL811 Controller
+device 		slhci
 # General USB code (mandatory for USB)
 device		usb
 #

==== //depot/projects/smpng/sys/conf/files#144 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1031 2005/07/10 15:07:57 scottl Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1034 2005/07/17 03:27:36 obrien Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -627,6 +627,7 @@
 dev/joy/joy.c			optional joy
 dev/joy/joy_isa.c		optional joy isa
 dev/joy/joy_pccard.c		optional joy pccard
+dev/kbdmux/kbdmux.c		optional kbdmux
 dev/led/led.c			standard
 dev/lge/if_lge.c		optional lge
 dev/lnc/if_lnc.c		optional lnc
@@ -789,16 +790,19 @@
 #dev/sound/pci/au88x0.c		optional snd_au88x0 pci
 dev/sound/pci/cmi.c		optional snd_cmi pci
 dev/sound/pci/cs4281.c		optional snd_cs4281 pci
-dev/sound/pci/csa.c		optional snd_csa pci
+dev/sound/pci/csa.c		optional snd_csa pci \
+	warning "kernel contains GPL contaminated csaimg.h header"
 dev/sound/pci/csapcm.c		optional snd_csa pci
 dev/sound/pci/ds1.c		optional snd_ds1 pci
 dev/sound/pci/emu10k1.c		optional snd_emu10k1 pci \
-	dependency "emu10k1-alsa%diked.h"
+	dependency "emu10k1-alsa%diked.h" \
+	warning "kernel contains GPL contaminated emu10k1 headers"
 dev/sound/pci/es137x.c		optional snd_es137x pci
 dev/sound/pci/fm801.c		optional snd_fm801 pci
 dev/sound/pci/ich.c		optional snd_ich pci
 dev/sound/pci/maestro.c 	optional snd_maestro pci
-dev/sound/pci/maestro3.c	optional snd_maestro3 pci
+dev/sound/pci/maestro3.c	optional snd_maestro3 pci \
+	warning "kernel contains GPL contaminated maestro3 headers"
 dev/sound/pci/neomagic.c	optional snd_neomagic pci
 dev/sound/pci/solo.c		optional snd_solo pci
 dev/sound/pci/t4dwave.c		optional snd_t4dwave pci
@@ -896,6 +900,8 @@
 dev/usb/if_udav.c		optional udav
 dev/usb/ohci.c			optional ohci
 dev/usb/ohci_pci.c		optional ohci pci
+dev/usb/sl811hs.c		optional slhci
+dev/usb/slhci_pccard.c		optional slhci pccard
 dev/usb/ubsa.c			optional ubsa ucom
 dev/usb/ubser.c			optional ubser
 dev/usb/ucom.c			optional ucom

==== //depot/projects/smpng/sys/conf/kern.mk#15 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.mk,v 1.45 2005/03/31 22:53:58 peter Exp $
+# $FreeBSD: src/sys/conf/kern.mk,v 1.46 2005/07/15 11:45:30 ache Exp $
 
 #
 # Warning flags for compiling the kernel and components of the kernel.
@@ -31,7 +31,7 @@
 #
 .if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
 CFLAGS+=	-mno-align-long-strings -mpreferred-stack-boundary=2 \
-		-mno-mmx -mno-3dnow -mno-sse -mno-sse2
+		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3
 INLINE_LIMIT?=	8000
 .endif
 

==== //depot/projects/smpng/sys/conf/options#103 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.510 2005/06/30 00:09:18 peter Exp $
+# $FreeBSD: src/sys/conf/options,v 1.511 2005/07/15 05:12:49 takawata Exp $
 #
 #        On the handling of kernel options
 #
@@ -124,6 +124,7 @@
 SCHED_ULE	opt_sched.h
 SHOW_BUSYBUFS
 SLEEPQUEUE_PROFILING
+SLHCI_DEBUG	opt_slhci.h
 SPX_HACK
 SUIDDIR		opt_suiddir.h
 MSGMNB		opt_sysvipc.h

==== //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#14 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.19 2005/06/26 21:00:52 mlaier Exp $	*/
+/*	$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.20 2005/07/14 22:22:51 mlaier Exp $	*/
 /*	$OpenBSD: if_pfsync.c,v 1.46 2005/02/20 15:58:38 mcbride Exp $	*/
 
 /*
@@ -56,6 +56,7 @@
 #include <sys/sockio.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#include <sys/sysctl.h>
 #else
 #include <sys/ioctl.h>
 #include <sys/timeout.h>
@@ -119,8 +120,11 @@
 struct pfsync_softc	pfsyncif;
 #endif
 struct pfsyncstats	pfsyncstats;
-
 #ifdef __FreeBSD__
+SYSCTL_DECL(_net_inet_pfsync);
+SYSCTL_STRUCT(_net_inet_pfsync, 0, stats, CTLFLAG_RW,
+    &pfsyncstats, pfsyncstats,
+    "PFSYNC statistics (struct pfsyncstats, net/if_pfsync.h)");
 
 /*
  * Locking notes:

==== //depot/projects/smpng/sys/dev/aac/aac_pci.c#38 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.54 2005/05/29 04:42:16 nyan Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.55 2005/07/14 17:43:00 scottl Exp $");
 
 /*
  * PCI bus interface and resource allocation.
@@ -356,8 +356,8 @@
 aacch_probe(device_t dev)
 {
 
-	if ((pci_get_subvendor(dev) != 0x9005) ||
-	    (pci_get_subdevice(dev) != 0x00c5))
+	if ((pci_get_vendor(dev) != 0x9005) ||
+	    (pci_get_device(dev) != 0x00c5))
 		return (ENXIO);
 
 	device_set_desc(dev, "AAC RAID Channel");

==== //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#31 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.84 2005/07/10 02:00:34 imp Exp $
+ * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.85 2005/07/15 01:54:59 imp Exp $
  */
 
 #include "opt_ed.h"
@@ -105,7 +105,11 @@
 #define	NE2000DVF_DL100XX	0x0001		/* chip is D-Link DL10019/22 */
 #define	NE2000DVF_AX88X90	0x0002		/* chip is ASIX AX88[17]90 */
 #define NE2000DVF_ENADDR	0x0004		/* Get MAC from attr mem */
+#define NE2000DVF_ANYFUNC	0x0008		/* Allow any function type */
+#define NE2000DVF_MODEM		0x0010		/* Has a modem/serial */
 	int enoff;
+	int edrid;
+	int siorid;
 } ed_pccard_products[] = {
 	{ PCMCIA_CARD(ACCTON, EN2212), 0},
 	{ PCMCIA_CARD(ACCTON, EN2216), 0},
@@ -142,7 +146,8 @@
 	{ PCMCIA_CARD(EPSON, EEN10B), 0},
 	{ PCMCIA_CARD(EXP, THINLANCOMBO), 0},
 	{ PCMCIA_CARD(GREY_CELL, TDK3000), 0},
-	{ PCMCIA_CARD(GREY_CELL, DMF650TX), 0},
+	{ PCMCIA_CARD(GREY_CELL, DMF650TX),
+	    NE2000DVF_ANYFUNC | NE2000DVF_DL100XX | NE2000DVF_MODEM, -1, 1, 0},
 	{ PCMCIA_CARD(IBM, HOME_AND_AWAY), 0},
 	{ PCMCIA_CARD(IBM, INFOMOVER), NE2000DVF_ENADDR, 0xff0},
 	{ PCMCIA_CARD(IODATA3, PCLAT), 0},
@@ -203,14 +208,19 @@
 	error = pccard_get_function(dev, &fcn);
 	if (error != 0)
 		return (error);
-	if (fcn != PCCARD_FUNCTION_NETWORK)
-		return (ENXIO);
 
 	if ((pp = (const struct ed_product *) pccard_product_lookup(dev, 
 	    (const struct pccard_product *) ed_pccard_products,
 	    sizeof(ed_pccard_products[0]), NULL)) != NULL) {
 		if (pp->prod.pp_name != NULL)
 			device_set_desc(dev, pp->prod.pp_name);
+		/*
+		 * Some devices don't ID themselves as network, but
+		 * that's OK if the flags say so.
+		 */
+		if (!(pp->flags & NE2000DVF_ANYFUNC) &&
+		    fcn != PCCARD_FUNCTION_NETWORK)
+			return (ENXIO);
 		return (0);
 	}
 	return (ENXIO);
@@ -226,13 +236,15 @@
 {
 	const struct ed_product *pp;
 	int	error;
+	struct ed_softc *sc = device_get_softc(dev);
 
 	if ((pp = (const struct ed_product *) pccard_product_lookup(dev, 
 	    (const struct pccard_product *) ed_pccard_products,
 	    sizeof(ed_pccard_products[0]), NULL)) == NULL)
 		return (ENXIO);
+	sc->port_rid = pp->edrid;
 	if (pp->flags & NE2000DVF_DL100XX) {
-		error = ed_probe_Novell(dev, 0, 0);
+		error = ed_probe_Novell(dev, sc->port_rid, 0);
 		if (error == 0)
 			error = ed_pccard_Linksys(dev);
 		ed_release_resources(dev);
@@ -244,7 +256,7 @@
 		if (error == 0)
 			goto end2;
 	}
-	error = ed_probe_Novell(dev, 0, 0);
+	error = ed_probe_Novell(dev, sc->port_rid, 0);
 end2:
 	if (error == 0)
 		error = ed_alloc_irq(dev, 0, 0);
@@ -279,6 +291,13 @@
 }
 
 static int
+ed_pccard_add_modem(device_t dev, int rid)
+{
+	device_printf(dev, "Need to write this code: modem rid is %d\n", rid);
+	return 0;
+}
+
+static int
 ed_pccard_attach(device_t dev)
 {
 	int error, i;
@@ -291,6 +310,7 @@
 	    (const struct pccard_product *) ed_pccard_products,
 	    sizeof(ed_pccard_products[0]), NULL)) == NULL)
 		return (ENXIO);
+	sc->port_rid = pp->edrid;
 	if (sc->port_used > 0)
 		ed_alloc_port(dev, sc->port_rid, sc->port_used);
 	if (sc->mem_used)
@@ -367,6 +387,8 @@
 		    ed_ifmedia_sts);
 	}
 #endif
+	if (pp->flags & NE2000DVF_MODEM)
+		ed_pccard_add_modem(dev, pp->siorid);
 	return (error);
 }
 
@@ -514,7 +536,7 @@
 	struct	ed_softc *sc = device_get_softc(dev);
 
 	/* Allocate the port resource during setup. */
-	error = ed_alloc_port(dev, 0, ED_NOVELL_IO_PORTS);
+	error = ed_alloc_port(dev, sc->port_rid, ED_NOVELL_IO_PORTS);
 	if (error)
 		return (error);
 

==== //depot/projects/smpng/sys/dev/ex/if_ex_pccard.c#11 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex_pccard.c,v 1.14 2005/06/24 14:36:52 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex_pccard.c,v 1.15 2005/07/15 01:48:38 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -146,55 +146,28 @@
 	return (sum != 0);
 }
 
-#if 0
-#ifdef NETBSD_LIKE
 static int
-ex_pccard_silicom_cb(struct pccard_tuple *tuple, void *arg)
+ex_pccard_silicom_cb(const struct pccard_tuple *tuple, void *arg)
 {
 	u_char *enaddr = arg;
+	int i;
 
-	if (tuple->code != PCMCIA_CISTPL_FUNCE)
+	if (tuple->code != CISTPL_FUNCE)
 		return (0);
 	if (tuple->length != 15)
 		return (0);
-	if (CARD_CIS_READ_1(tuple->dev, tuple, 6) != 6)
+	if (pccard_tuple_read_1(tuple, 6) != 6)
 		return (0);
 	for (i = 0; i < 6; i++)
-		enaddr[i] = CARD_CIS_READ_1(tuple->dev, tuple, 7 + i);
+		enaddr[i] = pccard_tuple_read_1(tuple, 7 + i);
 	return (1);
 }
-#endif
-#endif
 
 static void
 ex_pccard_get_silicom_mac(device_t dev, u_char *ether_addr)
 {
-#if 0
-#ifdef	NETBSD_LIKE
-	CARD_CIS_SCAN(dev, ex_pccard_silicom_cb, ether_addr);
-#endif
-#ifdef	CS_LIKE
-	uint8_t buffer[64];
-	tuple_t tuple;
-	int i;
-	
-	tuple.TupleData = buffer;
-	tuple.TupleDataMax = sizeof(buffer);
-	tuple.TupleOffset = 0;
-	tuple.DesiredTuple = CISTPL_FUNCE;
-	tuple.Attributes = TUPLE_RETURN_COMMON;
-	if (CARD_SERVICE(dev, GetFirstTuple, &tuple) != CS_SUCCESS)
-		return;
-	if (CARD_SERVICES(dev, GetTupleData, &tuple) != CS_SUCCESS)
-		return;
-	if (tuple.TupleLength != 15)
-		return;
-	if (buffer[6] != 6)
-		return;
-	for (i = 0; i < 6; i++)
-		ether_addr[i] = buffer[7 + i);
-#endif
-#endif
+	CARD_CIS_SCAN(device_get_parent(dev), ex_pccard_silicom_cb,
+	    ether_addr);
 }
 
 static int

==== //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#35 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.52 2005/05/20 12:37:16 marius Exp $
+ * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.53 2005/07/17 19:59:07 imp Exp $
  */
 
 #define BOUNCE_BUFFER_TEST	0
@@ -169,8 +169,8 @@
 		return BUS_PROBE_DEFAULT;
 	}
 	if (id == (FW_VENDORID_SONY | FW_DEVICE_CXD1947)) {
-		device_set_desc(dev, "Sony i.LINK (CXD1947)");
-		return BUS_PROBE_DEFAULT;
+		device_printf(dev, "Sony i.LINK (CXD1947) not supported");
+		return ENXIO;
 	}
 	if (id == (FW_VENDORID_SONY | FW_DEVICE_CXD3222)) {
 		device_set_desc(dev, "Sony i.LINK (CXD3222)");

==== //depot/projects/smpng/sys/dev/hatm/if_hatm_intr.c#14 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm_intr.c,v 1.18 2005/06/10 16:49:09 brooks Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm_intr.c,v 1.19 2005/07/15 18:17:57 jhb Exp $");
 
 /*
  * ForeHE driver.

==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#7 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.10 2005/07/09 17:29:36 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_mod.c,v 1.12 2005/07/17 04:18:06 jkoshy Exp $");
 
 #include <sys/param.h>
 #include <sys/eventhandler.h>
@@ -668,7 +668,7 @@
 	td = curthread;
 	*fullpath = "unknown";
 	*freepath = NULL;
-	vn_lock(v, LK_EXCLUSIVE | LK_RETRY, td);
+	vn_lock(v, LK_CANRECURSE | LK_EXCLUSIVE | LK_RETRY, td);
 	vn_fullpath(td, v, fullpath, freepath);
 	VOP_UNLOCK(v, 0, td);
 }

==== //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_ppro.c,v 1.8 2005/07/09 17:29:36 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hwpmc/hwpmc_ppro.c,v 1.9 2005/07/14 15:09:14 jkoshy Exp $");
 
 #include <sys/param.h>
 #include <sys/lock.h>
@@ -294,9 +294,9 @@
 
 struct p6_cpu {
 	struct pmc_cpu	pc_common;
-	uint32_t	pc_state;
 	struct pmc_hw	*pc_hwpmcs[P6_NPMCS];
 	struct pmc_hw	pc_p6pmcs[P6_NPMCS];
+	uint32_t	pc_state;
 };
 
 /*

==== //depot/projects/smpng/sys/dev/kbd/kbd.c#16 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.43 2004/12/22 17:29:02 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/kbd/kbd.c,v 1.44 2005/07/13 23:58:57 emax Exp $");
 
 #include "opt_kbd.h"
 
@@ -282,13 +282,19 @@
  * exclusive use.
  */
 
-/* find the keyboard specified by a driver name and a unit number */
+/*
+ * find the keyboard specified by a driver name and a unit number
+ * starting at given index
+ */
 int
-kbd_find_keyboard(char *driver, int unit)
+kbd_find_keyboard2(char *driver, int unit, int index)
 {
 	int i;
 
-	for (i = 0; i < keyboards; ++i) {
+	if ((index < 0) || (index >= keyboards))
+		return (-1);
+
+	for (i = index; i < keyboards; ++i) {
 		if (keyboard[i] == NULL)
 			continue;
 		if (!KBD_IS_VALID(keyboard[i]))
@@ -299,9 +305,17 @@
 			continue;
 		return (i);
 	}
+
 	return (-1);
 }
 
+/* find the keyboard specified by a driver name and a unit number */
+int
+kbd_find_keyboard(char *driver, int unit)
+{
+	return (kbd_find_keyboard2(driver, unit, 0));
+}
+
 /* allocate a keyboard */
 int
 kbd_allocate(char *driver, int unit, void *id, kbd_callback_func_t *func,

==== //depot/projects/smpng/sys/dev/kbd/kbdreg.h#5 (text+ko) ====

@@ -23,7 +23,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/dev/kbd/kbdreg.h,v 1.17 2004/06/16 09:46:48 phk Exp $
+ * $FreeBSD: src/sys/dev/kbd/kbdreg.h,v 1.18 2005/07/13 23:58:57 emax Exp $
  */
 
 #ifndef _DEV_KBD_KBDREG_H_
@@ -196,6 +196,7 @@
 int			kbd_change_callback(keyboard_t *kbd, void *id,
 				     kbd_callback_func_t *func, void *arg);
 int			kbd_find_keyboard(char *driver, int unit);
+int			kbd_find_keyboard2(char *driver, int unit, int index);
 keyboard_t 		*kbd_get_keyboard(int index);
 
 /* a back door for the console driver to tickle the keyboard driver XXX */

==== //depot/projects/smpng/sys/dev/pccard/pccard.c#37 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.106 2005/07/13 15:00:59 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pccard/pccard.c,v 1.108 2005/07/15 01:43:08 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -967,12 +967,16 @@
 	struct pccard_ivar *devi = PCCARD_IVAR(child);
 	struct pccard_function *pf = devi->pf;
 	struct pccard_softc *sc = PCCARD_SOFTC(bus);
+	int i;
 
 	device_printf(bus, "<unknown card>");
-	printf(" (manufacturer=0x%04x, product=0x%04x) at function %d\n",
-	  sc->card.manufacturer, sc->card.product, pf->number);
-	device_printf(bus, "   CIS info: %s, %s, %s\n", sc->card.cis1_info[0],
-	  sc->card.cis1_info[1], sc->card.cis1_info[2]);
+	printf(" (manufacturer=0x%04x, product=0x%04x, function_type=%d) "
+	    "at function %d\n", sc->card.manufacturer, sc->card.product,
+	    pf->function, pf->number);
+	device_printf(bus, "   CIS info: ");
+	for (i = 0; sc->card.cis1_info[i] != NULL && i < 4; i++)
+		printf("%s%s", i > 0 ? ", " : "", sc->card.cis1_info[i]);
+	printf("\n");
 	return;
 }
 

==== //depot/projects/smpng/sys/dev/pccard/pccard_cis.c#21 (text+ko) ====

@@ -1,5 +1,5 @@
 /* $NetBSD: pcmcia_cis.c,v 1.17 2000/02/10 09:01:52 chopps Exp $ */
-/* $FreeBSD: src/sys/dev/pccard/pccard_cis.c,v 1.35 2005/07/13 14:59:06 imp Exp $ */
+/* $FreeBSD: src/sys/dev/pccard/pccard_cis.c,v 1.36 2005/07/17 20:16:22 imp Exp $ */
 
 /*-
  * Copyright (c) 1997 Marc Horowitz.  All rights reserved.
@@ -93,9 +93,7 @@
 	STAILQ_INIT(&state.card->pf_head);
 	state.pf = NULL;
 
-	tsleep(&state, 0, "pccard", hz);
-	if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple,
-	    &state) == -1)
+	if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple, &state) == -1)
 		state.card->error++;
 }
 

==== //depot/projects/smpng/sys/dev/pccard/pccarddevs#48 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.110 2005/07/13 14:50:47 imp Exp $
+$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.111 2005/07/14 14:53:38 takawata Exp $
 /* $NetBSD: pcmciadevs,v 1.186 2003/09/16 08:26:37 onoe Exp $ */
 /* $OpenBSD: pcmciadevs,v 1.93 2002/06/21 08:31:10 henning Exp $ */
 
@@ -486,7 +486,7 @@
 
 /* RATOC System Inc. Products */
 /* Don't use because both cards have same product id */
-product RATOC REX_R280_9530	0x0001	RATOC REX-R280/REX-9530
+product RATOC REX_R280_9530	0x0001	RATOC REX-R280/REX-9530/CFU01
 
 /* Racore Computer Products */
 product RACORE ACCTON_EN2226	0x010a Accton Fast EtherCard
@@ -699,6 +699,7 @@
 product RATOC REX5536M		{ "PCMCIA&spSCSI2&spCARD", "01", NULL, NULL } RATOC REX-5536M
 product RATOC REX5572		{ "RATOC&spSystem&spInc.", "SOUND/SCSI2&spCARD", NULL, NULL } RATOC REX-5572
 product RATOC REX9530		{ "RATOC&spSystem&spInc.", "SCSI2&spCARD&sp37", NULL, NULL } RATOC REX-9530
+product RATOC REX_CFU1		{ "RATOC", "USB&spHOST&spCF+&spCard", NULL, NULL } RATOC REX-CFU1
 product SIMPLETECH SPECTRUM24_ALT	{ "Symbol&spTechnologies", "LA4111&spSpectrum24&spWireless&spLAN&spPC&spCard", NULL, NULL } LA4111 Spectrum24 Wireless LAN PC Card
 product SMC 2632W		{ "SMC", "SMC2632W", "Version&sp01.02", NULL } SMC 2632 EZ Connect Wireless PC Card
 product SMC 8000		{ "SMC8000", "DEV1", NULL, NULL }

==== //depot/projects/smpng/sys/dev/pccbb/pccbb.c#49 (text+ko) ====

@@ -75,7 +75,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.121 2005/01/13 19:05:25 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.126 2005/07/17 19:40:05 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -157,7 +157,7 @@
 
 static void	cbb_insert(struct cbb_softc *sc);
 static void	cbb_removal(struct cbb_softc *sc);
-static int	cbb_detect_voltage(device_t brdev);
+static uint32_t	cbb_detect_voltage(device_t brdev);
 static void	cbb_cardbus_reset(device_t brdev);
 static int	cbb_cardbus_io_open(device_t brdev, int win, uint32_t start,
 		    uint32_t end);
@@ -318,6 +318,7 @@
 	    sc->base_res);
 	mtx_destroy(&sc->mtx);
 	cv_destroy(&sc->cv);
+	cv_destroy(&sc->powercv);
 	return (0);
 }
 
@@ -535,6 +536,9 @@
 		if (sc->exca[0].pccarddev) {
 			sc->flags |= CBB_16BIT_CARD;
 			exca_insert(&sc->exca[0]);
+		} else {
+			device_printf(sc->dev,
+			    "16-bit card inserted, but no pccard bus.\n");
 		}
 	} else if (sockstate & CBB_STATE_CB_CARD) {
 		if (sc->cbdev != NULL) {
@@ -620,13 +624,10 @@
 	struct cbb_softc *sc = arg;
 	uint32_t sockevent;
 
-	/*
-	 * This ISR needs work XXX
-	 */
 	sockevent = cbb_get(sc, CBB_SOCKET_EVENT);
 	if (sockevent != 0) {
 		/* ack the interrupt */
-		cbb_setb(sc, CBB_SOCKET_EVENT, sockevent);
+		cbb_set(sc, CBB_SOCKET_EVENT, sockevent);
 
 		/*
 		 * If anything has happened to the socket, we assume that
@@ -643,12 +644,22 @@
 		 */
 		if (sockevent & CBB_SOCKET_EVENT_CD) {
 			mtx_lock(&sc->mtx);
-			cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD);
+			cbb_clrb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD);
 			sc->flags &= ~CBB_CARD_OK;
 			cbb_disable_func_intr(sc);
 			cv_signal(&sc->cv);
 			mtx_unlock(&sc->mtx);
 		}
+		/*
+		 * If we get a power interrupt, wakeup anybody that might
+		 * be waiting for one.
+		 */
+		if (sockevent & CBB_SOCKET_EVENT_POWER) {
+			mtx_lock(&sc->mtx);
+			sc->powerintr++;
+			cv_signal(&sc->powercv);
+			mtx_unlock(&sc->mtx);
+		}
 	}
 	/*
 	 * Some chips also require us to read the old ExCA registe for
@@ -669,12 +680,12 @@
 /* Generic Power functions						*/
 /************************************************************************/
 
-static int
+static uint32_t
 cbb_detect_voltage(device_t brdev)
 {
 	struct cbb_softc *sc = device_get_softc(brdev);
 	uint32_t psr;
-	int vol = CARD_UKN_CARD;
+	uint32_t vol = CARD_UKN_CARD;
 
 	psr = cbb_get(sc, CBB_SOCKET_STATE);
 
@@ -718,6 +729,11 @@
 	 * Selecting IRQ1 will result in INT# NOT being asserted
 	 * (because IRQ1 is selected), and IRQ1 won't be asserted
 	 * because our controllers don't generate IRQ1.
+	 *

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



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