Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Aug 2008 19:29:05 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 147826 for review
Message-ID:  <200808191929.m7JJT53t081405@repoman.freebsd.org>

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

Change 147826 by ed@ed_dull on 2008/08/19 19:28:58

	IFC.

Affected files ...

.. //depot/projects/mpsafetty/Makefile.inc1#3 integrate
.. //depot/projects/mpsafetty/UPDATING#6 integrate
.. //depot/projects/mpsafetty/contrib/ntp/FREEBSD-Xlist#2 delete
.. //depot/projects/mpsafetty/contrib/ntp/FREEBSD-upgrade#2 delete
.. //depot/projects/mpsafetty/etc/defaults/rc.conf#5 integrate
.. //depot/projects/mpsafetty/etc/rc.d/kernel#3 delete
.. //depot/projects/mpsafetty/etc/rc.d/kernel_symlink#1 branch
.. //depot/projects/mpsafetty/share/man/man4/ata.4#2 integrate
.. //depot/projects/mpsafetty/share/man/man5/rc.conf.5#3 integrate
.. //depot/projects/mpsafetty/sys/amd64/amd64/bpf_jit_machdep.c#4 integrate
.. //depot/projects/mpsafetty/sys/amd64/amd64/bpf_jit_machdep.h#4 integrate
.. //depot/projects/mpsafetty/sys/amd64/amd64/exception.S#2 integrate
.. //depot/projects/mpsafetty/sys/conf/options#6 integrate
.. //depot/projects/mpsafetty/sys/ddb/db_output.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/ehci.c#3 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/hid.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/if_rum.c#3 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/ufoma.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/ums.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/usbdevs#5 integrate
.. //depot/projects/mpsafetty/sys/i386/i386/bpf_jit_machdep.c#4 integrate
.. //depot/projects/mpsafetty/sys/i386/i386/bpf_jit_machdep.h#4 integrate
.. //depot/projects/mpsafetty/sys/i386/include/pmap.h#4 integrate
.. //depot/projects/mpsafetty/sys/i386/include/xen/xenpmap.h#3 integrate
.. //depot/projects/mpsafetty/sys/i386/xen/xen_machdep.c#4 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/mpsafetty/sys/net/bpf_jitter.c#2 integrate
.. //depot/projects/mpsafetty/sys/net/bpf_jitter.h#2 integrate
.. //depot/projects/mpsafetty/sys/netinet/if_ether.c#3 integrate
.. //depot/projects/mpsafetty/sys/netinet6/in6_rmx.c#3 integrate
.. //depot/projects/mpsafetty/sys/rpc/rpcclnt.c#3 integrate
.. //depot/projects/mpsafetty/sys/sys/vimage.h#2 integrate
.. //depot/projects/mpsafetty/sys/xen/evtchn/evtchn_dev.c#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/Makefile#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/Makefile#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/bpf_test.c#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0001.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0002.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0003.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0004.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0005.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0006.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0007.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0008.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0009.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0010.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0011.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0012.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0013.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0014.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0015.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0016.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0017.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0018.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0019.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0020.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0021.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0022.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0023.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0024.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0025.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0026.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0027.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0028.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0029.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0030.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0031.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0032.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0033.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0034.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0035.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0036.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0037.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0038.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0039.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0040.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0041.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0042.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0043.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0044.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0045.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0046.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0047.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0048.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0049.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0050.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0051.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0052.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0053.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0054.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0055.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0056.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0057.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0058.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0059.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0060.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0061.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0062.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0063.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0064.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0065.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0066.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0067.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0068.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0069.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0070.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0071.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0072.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0073.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0074.h#1 branch
.. //depot/projects/mpsafetty/usr.bin/tar/matching.c#3 integrate

Differences ...

==== //depot/projects/mpsafetty/Makefile.inc1#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.609 2008/08/02 12:14:22 jhb Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.610 2008/08/19 14:23:26 jhb Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -259,11 +259,11 @@
 LIB32TMP=	${OBJTREE}${.CURDIR}/lib32
 
 .if empty(TARGET_CPUTYPE)
-LIB32CPUTYPE=	k8
+LIB32CPUFLAGS=	-march=i686 -mmmx -msse -msse2
 .else
-LIB32CPUTYPE=	${TARGET_CPUTYPE}
+LIB32CPUFLAGS=	-march=${TARGET_CPUTYPE}
 .endif
-LIB32FLAGS=	-m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT \
+LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \
 		-iprefix ${LIB32TMP}/usr/ \
 		-L${LIB32TMP}/usr/lib32 \
 		-B${LIB32TMP}/usr/lib32

==== //depot/projects/mpsafetty/UPDATING#6 (text+ko) ====

@@ -52,6 +52,17 @@
 	instead of "ttyd0". You may need to reconfigure applications to
 	use the new device names.
 
+	When using the serial port as a boot console, be sure to update
+	/boot/device.hints and /etc/ttys before booting the new kernel.
+	If you forget to do so, you can still manually specify the hints
+	at the loader prompt:
+
+		set hint.uart.0.at="isa"
+		set hint.uart.0.port="0x3F8"
+		set hint.uart.0.flags="0x10"
+		set hint.uart.0.irq="4"
+		boot -s
+
 20080609:
 	The gpt(8) utility has been removed. Use gpart(8) to partition
 	disks instead.
@@ -1097,4 +1108,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.537 2008/07/25 09:30:53 maxim Exp $
+$FreeBSD: src/UPDATING,v 1.538 2008/08/18 10:38:16 ed Exp $

==== //depot/projects/mpsafetty/etc/defaults/rc.conf#5 (text+ko) ====

@@ -15,7 +15,7 @@
 # For a more detailed explanation of all the rc.conf variables, please
 # refer to the rc.conf(5) manual page.
 #
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.341 2008/08/15 19:20:59 jhb Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.342 2008/08/19 14:23:31 obrien Exp $
 
 ##############################################################
 ###  Important initial Boot-time options  ####################
@@ -552,8 +552,7 @@
 sysvipc_enable="NO"	# Load System V IPC primitives at startup (or NO).
 linux_enable="NO"	# Linux binary compatibility loaded at startup (or NO).
 svr4_enable="NO"	# SysVR4 emulation loaded at startup (or NO).
-
-kernel_enable="NO"	# Symlink kernel directory to /boot/kernel if not exist.
+kernel_symlink_enable="NO" # Symlink booted kernel to /boot/kernel if missing.
 clear_tmp_enable="NO"	# Clear /tmp at startup.
 clear_tmp_X="YES" 	# Clear and recreate X11-related directories in /tmp
 ldconfig_insecure="NO"	# Set to YES to disable ldconfig security checks

==== //depot/projects/mpsafetty/share/man/man4/ata.4#2 (text+ko) ====

@@ -25,9 +25,9 @@
 .\" (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/share/man/man4/ata.4,v 1.74 2007/10/05 07:06:51 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/ata.4,v 1.76 2008/08/18 09:45:26 simon Exp $
 .\"
-.Dd October 5, 2007
+.Dd August 18, 2008
 .Dt ATA 4
 .Os
 .Sh NAME
@@ -85,6 +85,8 @@
 .Bl -ohang
 .It Va hw.ata.ata_dma
 set to 1 for DMA access, 0 for PIO (default is DMA).
+.It Va hw.ata.ata_dma_check_80pin
+set to 0 to disable the 80pin cable check (default is 1, check the cable) 
 .It Va hw.ata.atapi_dma
 set to 1 for DMA access, 0 for PIO (default is DMA).
 .It Va hw.ata.wc
@@ -170,6 +172,9 @@
 or could not be detected properly,
 or that one of the devices on the channel only accepts up
 to UDMA2/ATA33.
+The
+.Va hw.ata.ata_dma_check_80pin
+tunable can be set to 0 to disable this check.
 .Pp
 Unknown ATAPI devices are initialized to DMA mode if the
 .Va hw.ata.atapi_dma

==== //depot/projects/mpsafetty/share/man/man5/rc.conf.5#3 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.344 2008/08/09 06:35:19 obrien Exp $
+.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.345 2008/08/19 14:23:31 obrien Exp $
 .\"
 .Dd June 21, 2008
 .Dt RC.CONF 5
@@ -3116,16 +3116,16 @@
 If set to
 .Dq Li YES ,
 load System V IPC primitives at boot time.
-.It Va kernel_enable
+.It Va kernel_symlink_enable
 .Pq Vt bool
 Set to
 .Dq Li YES
-to symlink
+to symbolicly link
 .Pa /boot/kernel
 to the directory that contains the kernel you booted from,
 unless
 .Pa /boot/kernel
-already exists and is not a symlink.
+already exists and is not a symbolic link.
 .It Va clear_tmp_enable
 .Pq Vt bool
 Set to

==== //depot/projects/mpsafetty/sys/amd64/amd64/bpf_jit_machdep.c#4 (text+ko) ====

@@ -30,18 +30,22 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.10 2008/08/13 19:52:00 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.12 2008/08/18 19:14:26 jkim Exp $");
 
+#ifdef _KERNEL
 #include "opt_bpf.h"
-
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/malloc.h>
+#include <net/if.h>
+#else
+#include <stdlib.h>
+#endif
+
+#include <sys/types.h>
 
-#include <net/if.h>
 #include <net/bpf.h>
 #include <net/bpf_jitter.h>
 
@@ -53,7 +57,7 @@
  * emit routine to update the jump table
  */
 static void
-emit_length(bpf_bin_stream *stream, u_int value, u_int len)
+emit_length(bpf_bin_stream *stream, __unused u_int value, u_int len)
 {
 
 	(stream->refs)[stream->bpf_pc] += len;
@@ -108,8 +112,12 @@
 		return (NULL);
 
 	/* Allocate the reference table for the jumps */
+#ifdef _KERNEL
 	stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int),
 	    M_BPFJIT, M_NOWAIT);
+#else
+	stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int));
+#endif
 	if (stream.refs == NULL)
 		return (NULL);
 
@@ -141,7 +149,11 @@
 
 			switch (ins->code) {
 			default:
+#ifdef _KERNEL
 				return (NULL);
+#else
+				abort();
+#endif
 
 			case BPF_RET|BPF_K:
 				MOVid(ins->k, EAX);
@@ -155,11 +167,13 @@
 				break;
 
 			case BPF_LD|BPF_W|BPF_ABS:
-				MOVid(ins->k, ECX);
-				MOVrd(ECX, ESI);
-				ADDib(sizeof(int32_t), ECX);
-				CMPrd(EDI, ECX);
-				JBEb(6);
+				MOVid(ins->k, ESI);
+				CMPrd(EDI, ESI);
+				JAb(12);
+				MOVrd(EDI, ECX);
+				SUBrd(ESI, ECX);
+				CMPid(sizeof(int32_t), ECX);
+				JAEb(6);
 				ZEROrd(EAX);
 				MOVrq3(R8, RBX);
 				RET();
@@ -169,11 +183,13 @@
 
 			case BPF_LD|BPF_H|BPF_ABS:
 				ZEROrd(EAX);
-				MOVid(ins->k, ECX);
-				MOVrd(ECX, ESI);
-				ADDib(sizeof(int16_t), ECX);
-				CMPrd(EDI, ECX);
-				JBEb(4);
+				MOVid(ins->k, ESI);
+				CMPrd(EDI, ESI);
+				JAb(12);
+				MOVrd(EDI, ECX);
+				SUBrd(ESI, ECX);
+				CMPid(sizeof(int16_t), ECX);
+				JAEb(4);
 				MOVrq3(R8, RBX);
 				RET();
 				MOVobw(RBX, RSI, AX);
@@ -182,12 +198,12 @@
 
 			case BPF_LD|BPF_B|BPF_ABS:
 				ZEROrd(EAX);
-				MOVid(ins->k, ECX);
-				CMPrd(EDI, ECX);
-				JBEb(4);
+				MOVid(ins->k, ESI);
+				CMPrd(EDI, ESI);
+				JBb(4);
 				MOVrq3(R8, RBX);
 				RET();
-				MOVobb(RBX, RCX, AL);
+				MOVobb(RBX, RSI, AL);
 				break;
 
 			case BPF_LD|BPF_W|BPF_LEN:
@@ -199,12 +215,18 @@
 				break;
 
 			case BPF_LD|BPF_W|BPF_IND:
-				MOVid(ins->k, ECX);
-				ADDrd(EDX, ECX);
-				MOVrd(ECX, ESI);
-				ADDib(sizeof(int32_t), ECX);
-				CMPrd(EDI, ECX);
-				JBEb(6);
+				CMPrd(EDI, EDX);
+				JAb(27);
+				MOVid(ins->k, ESI);
+				MOVrd(EDI, ECX);
+				SUBrd(EDX, ECX);
+				CMPrd(ESI, ECX);
+				JBb(14);
+				ADDrd(EDX, ESI);
+				MOVrd(EDI, ECX);
+				SUBrd(ESI, ECX);
+				CMPid(sizeof(int32_t), ECX);
+				JAEb(6);
 				ZEROrd(EAX);
 				MOVrq3(R8, RBX);
 				RET();
@@ -214,12 +236,18 @@
 
 			case BPF_LD|BPF_H|BPF_IND:
 				ZEROrd(EAX);
-				MOVid(ins->k, ECX);
-				ADDrd(EDX, ECX);
-				MOVrd(ECX, ESI);
-				ADDib(sizeof(int16_t), ECX);
-				CMPrd(EDI, ECX);
-				JBEb(4);
+				CMPrd(EDI, EDX);
+				JAb(27);
+				MOVid(ins->k, ESI);
+				MOVrd(EDI, ECX);
+				SUBrd(EDX, ECX);
+				CMPrd(ESI, ECX);
+				JBb(14);
+				ADDrd(EDX, ESI);
+				MOVrd(EDI, ECX);
+				SUBrd(ESI, ECX);
+				CMPid(sizeof(int16_t), ECX);
+				JAEb(4);
 				MOVrq3(R8, RBX);
 				RET();
 				MOVobw(RBX, RSI, AX);
@@ -228,24 +256,28 @@
 
 			case BPF_LD|BPF_B|BPF_IND:
 				ZEROrd(EAX);
-				MOVid(ins->k, ECX);
-				ADDrd(EDX, ECX);
-				CMPrd(EDI, ECX);
-				JBEb(4);
+				CMPrd(EDI, EDX);
+				JAEb(13);
+				MOVid(ins->k, ESI);
+				MOVrd(EDI, ECX);
+				SUBrd(EDX, ECX);
+				CMPrd(ESI, ECX);
+				JAb(4);
 				MOVrq3(R8, RBX);
 				RET();
-				MOVobb(RBX, RCX, AL);
+				ADDrd(EDX, ESI);
+				MOVobb(RBX, RSI, AL);
 				break;
 
 			case BPF_LDX|BPF_MSH|BPF_B:
-				MOVid(ins->k, ECX);
-				CMPrd(EDI, ECX);
-				JBEb(6);
+				MOVid(ins->k, ESI);
+				CMPrd(EDI, ESI);
+				JBb(6);
 				ZEROrd(EAX);
 				MOVrq3(R8, RBX);
 				RET();
 				ZEROrd(EDX);
-				MOVobb(RBX, RCX, DL);
+				MOVobb(RBX, RSI, DL);
 				ANDib(0x0f, DL);
 				SHLib(2, EDX);
 				break;
@@ -450,11 +482,19 @@
 		if (pass == 2)
 			break;
 
+#ifdef _KERNEL
 		stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT);
 		if (stream.ibuf == NULL) {
 			free(stream.refs, M_BPFJIT);
 			return (NULL);
 		}
+#else
+		stream.ibuf = (char *)malloc(stream.cur_ip);
+		if (stream.ibuf == NULL) {
+			free(stream.refs);
+			return (NULL);
+		}
+#endif
 
 		/*
 		 * modify the reference table to contain the offsets and
@@ -475,7 +515,11 @@
 	 * the reference table is needed only during compilation,
 	 * now we can free it
 	 */
+#ifdef _KERNEL
 	free(stream.refs, M_BPFJIT);
+#else
+	free(stream.refs);
+#endif
 
 	return ((bpf_filter_func)stream.ibuf);
 }

==== //depot/projects/mpsafetty/sys/amd64/amd64/bpf_jit_machdep.h#4 (text+ko) ====

@@ -28,7 +28,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/amd64/amd64/bpf_jit_machdep.h,v 1.8 2008/08/13 19:25:09 jkim Exp $
+ * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.9 2008/08/18 19:14:26 jkim Exp $
  */
 
 #ifndef _BPF_JIT_MACHDEP_H_
@@ -381,15 +381,27 @@
 	}								\
 } while (0)
 
+/* jb off8 */
+#define JBb(off8) do {							\
+	emitm(&stream, 0x72, 1);					\
+	emitm(&stream, off8, 1);					\
+} while (0)
+
+/* jae off8 */
+#define JAEb(off8) do {							\
+	emitm(&stream, 0x73, 1);					\
+	emitm(&stream, off8, 1);					\
+} while (0)
+
 /* jne off8 */
 #define JNEb(off8) do {							\
 	emitm(&stream, 0x75, 1);					\
 	emitm(&stream, off8, 1);					\
 } while (0)
 
-/* jbe off8 */
-#define JBEb(off8) do {							\
-	emitm(&stream, 0x76, 1);					\
+/* ja off8 */
+#define JAb(off8) do {							\
+	emitm(&stream, 0x77, 1);					\
 	emitm(&stream, off8, 1);					\
 } while (0)
 

==== //depot/projects/mpsafetty/sys/amd64/amd64/exception.S#2 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.132 2008/05/24 06:32:26 jb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.133 2008/08/18 08:47:27 kib Exp $
  */
 
 #include "opt_atpic.h"
@@ -636,13 +636,10 @@
 	.globl	doreti_iret_fault
 doreti_iret_fault:
 	subq	$TF_RIP,%rsp		/* space including tf_err, tf_trapno */
-	testb	$SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
-	jz	1f			/* already running with kernel GS.base */
-	swapgs
-1:	testl	$PSL_I,TF_RFLAGS(%rsp)
-	jz	2f
+	testl	$PSL_I,TF_RFLAGS(%rsp)
+	jz	1f
 	sti
-2:	movq	%rdi,TF_RDI(%rsp)
+1:	movq	%rdi,TF_RDI(%rsp)
 	movq	%rsi,TF_RSI(%rsp)
 	movq	%rdx,TF_RDX(%rsp)
 	movq	%rcx,TF_RCX(%rsp)

==== //depot/projects/mpsafetty/sys/conf/options#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.634 2008/08/17 23:27:27 bz Exp $
+# $FreeBSD: src/sys/conf/options,v 1.635 2008/08/18 16:48:09 attilio Exp $
 #
 #        On the handling of kernel options
 #
@@ -48,6 +48,7 @@
 
 # Debugging options.
 DDB
+DDB_BUFR_SIZE	opt_ddb.h
 DDB_CAPTURE_DEFAULTBUFSIZE	opt_ddb.h
 DDB_CAPTURE_MAXBUFSIZE	opt_ddb.h
 DDB_CTF		opt_ddb.h

==== //depot/projects/mpsafetty/sys/ddb/db_output.c#2 (text+ko) ====

@@ -33,7 +33,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ddb/db_output.c,v 1.38 2007/12/25 23:06:51 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/ddb/db_output.c,v 1.40 2008/08/18 16:51:44 attilio Exp $");
+
+#include "opt_ddb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -47,6 +49,13 @@
 #include <ddb/ddb.h>
 #include <ddb/db_output.h>
 
+struct dbputchar_arg {
+	size_t	da_nbufr;
+	size_t	da_remain;
+	char	*da_pbufr;
+	char	*da_pnext;
+};
+
 /*
  *	Character output - tracks position in line.
  *	To do this correctly, we should know how wide
@@ -73,6 +82,8 @@
 SYSCTL_INT(_debug, OID_AUTO, ddb_use_printf, CTLFLAG_RW, &ddb_use_printf, 0,
     "use printf for all ddb output");
 
+static void	db_putc(int c);
+static void	db_puts(const char *str);
 static void	db_putchar(int c, void *arg);
 static void	db_pager(void);
 
@@ -107,9 +118,34 @@
  * Output character.  Buffer whitespace.
  */
 static void
-db_putchar(c, arg)
-	int	c;		/* character to output */
-	void *	arg;
+db_putchar(int c, void *arg)
+{
+	struct dbputchar_arg *dap = arg;
+
+	if (dap->da_pbufr == NULL) {
+
+		 /* No bufferized output is provided. */
+		db_putc(c);
+	} else {
+
+		*dap->da_pnext++ = c;
+		dap->da_remain--;
+
+		/* Leave always the buffer 0 terminated. */
+		*dap->da_pnext = '\0';
+
+		/* Check if the buffer needs to be flushed. */
+		if (dap->da_remain < 2 || c == '\n') {
+			db_puts(dap->da_pbufr);
+			dap->da_pnext = dap->da_pbufr;
+			dap->da_remain = dap->da_nbufr;
+			*dap->da_pnext = '\0';
+		}
+	}
+}
+
+static void
+db_putc(int c)
 {
 
 	/*
@@ -180,6 +216,15 @@
 	/* other characters are assumed non-printing */
 }
 
+static void
+db_puts(const char *str)
+{
+	int i;
+
+	for (i = 0; str[i] != '\0'; i++)
+		db_putc(str[i]);
+}
+
 /*
  * Turn on the pager.
  */
@@ -272,30 +317,43 @@
  * Printing
  */
 void
-#if __STDC__
 db_printf(const char *fmt, ...)
+{
+#ifdef DDB_BUFR_SIZE
+	char bufr[DDB_BUFR_SIZE];
+#endif
+	struct dbputchar_arg dca;
+	va_list	listp;
+
+#ifdef DDB_BUFR_SIZE
+	dca.da_pbufr = bufr;
+	dca.da_pnext = dca.da_pbufr;
+	dca.da_nbufr = sizeof(bufr);
+	dca.da_remain = sizeof(bufr);
+	*dca.da_pnext = '\0';
 #else
-db_printf(fmt)
-	const char *fmt;
+	dca.da_pbufr = NULL;
 #endif
-{
-	va_list	listp;
 
 	va_start(listp, fmt);
-	kvprintf (fmt, db_putchar, NULL, db_radix, listp);
+	kvprintf (fmt, db_putchar, &dca, db_radix, listp);
 	va_end(listp);
+
+#ifdef DDB_BUFR_SIZE
+	if (*dca.da_pbufr != '\0')
+		db_puts(dca.da_pbufr);
+#endif
 }
 
 int db_indent;
 
 void
-#if __STDC__
 db_iprintf(const char *fmt,...)
-#else
-db_iprintf(fmt)
-	const char *fmt;
+{
+#ifdef DDB_BUFR_SIZE
+	char bufr[DDB_BUFR_SIZE];
 #endif
-{
+	struct dbputchar_arg dca;
 	register int i;
 	va_list listp;
 
@@ -303,9 +361,25 @@
 		db_printf("\t");
 	while (--i >= 0)
 		db_printf(" ");
+
+#ifdef DDB_BUFR_SIZE
+	dca.da_pbufr = bufr;
+	dca.da_pnext = dca.da_pbufr;
+	dca.da_nbufr = sizeof(bufr);
+	dca.da_remain = sizeof(bufr);
+	*dca.da_pnext = '\0';
+#else
+	dca.da_pbufr = NULL;
+#endif
+
 	va_start(listp, fmt);
-	kvprintf (fmt, db_putchar, NULL, db_radix, listp);
+	kvprintf (fmt, db_putchar, &dca, db_radix, listp);
 	va_end(listp);
+
+#ifdef DDB_BUFR_SIZE
+	if (*dca.da_pbufr != '\0')
+		db_puts(dca.da_pbufr);
+#endif
 }
 
 /*

==== //depot/projects/mpsafetty/sys/dev/usb/ehci.c#3 (text+ko) ====

@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.65 2008/08/18 04:49:58 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.66 2008/08/18 10:39:59 kris Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -239,7 +239,7 @@
 static void		ehci_dump_sqtd(ehci_soft_qtd_t *);
 static void		ehci_dump_qtd(ehci_qtd_t *);
 static void		ehci_dump_sqh(ehci_soft_qh_t *);
-#if notyet
+#ifdef notyet
 static void		ehci_dump_sitd(struct ehci_soft_itd *);
 static void		ehci_dump_itd(struct ehci_soft_itd *);
 #endif
@@ -1474,7 +1474,7 @@
 	ehci_dump_qtd(&qh->qh_qtd);
 }
 
-#if notyet
+#ifdef notyet
 void
 ehci_dump_itd(struct ehci_soft_itd *itd)
 {

==== //depot/projects/mpsafetty/sys/dev/usb/hid.c#2 (text+ko) ====

@@ -2,7 +2,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/hid.c,v 1.29 2007/06/20 05:10:52 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/hid.c,v 1.31 2008/08/18 17:05:59 kaiw Exp $");
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -193,8 +193,11 @@
 		case 0:			/* Main */
 			switch (bTag) {
 			case 8:		/* Input */
-				if (!(s->kindset & (1 << hid_input)))
+				if (!(s->kindset & (1 << hid_input))) {
+					if (s->nu > 0)
+						s->nu--;
 					continue;
+				}
 				c->kind = hid_input;
 				c->flags = dval;
 			ret:
@@ -223,8 +226,11 @@
 					return (1);
 				}
 			case 9:		/* Output */
-				if (!(s->kindset & (1 << hid_output)))
+				if (!(s->kindset & (1 << hid_output))) {
+					if (s->nu > 0)
+						s->nu--;
 					continue;
+				}
 				c->kind = hid_output;
 				c->flags = dval;
 				goto ret;
@@ -237,8 +243,11 @@
 				s->nu = 0;
 				return (1);
 			case 11:	/* Feature */
-				if (!(s->kindset & (1 << hid_feature)))
+				if (!(s->kindset & (1 << hid_feature))) {
+					if (s->nu > 0)
+						s->nu--;
 					continue;
+				}
 				c->kind = hid_feature;
 				c->flags = dval;
 				goto ret;
@@ -266,7 +275,7 @@
 				c->logical_maximum = dval;
 				break;
 			case 3:
-				c->physical_maximum = dval;
+				c->physical_minimum = dval;
 				break;
 			case 4:
 				c->physical_maximum = dval;

==== //depot/projects/mpsafetty/sys/dev/usb/if_rum.c#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.25 2008/07/30 00:38:10 thompsa Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.26 2008/08/19 01:44:56 kevlo Exp $	*/
 
 /*-
  * Copyright (c) 2005-2007 Damien Bergamini <damien.bergamini@free.fr>
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.25 2008/07/30 00:38:10 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.26 2008/08/19 01:44:56 kevlo Exp $");
 
 /*-
  * Ralink Technology RT2501USB/RT2601USB chipset driver
@@ -98,6 +98,7 @@
 	{ USB_VENDOR_DLINK2,		USB_PRODUCT_DLINK2_DWLG122C1 },
 	{ USB_VENDOR_DLINK2,            USB_PRODUCT_DLINK2_WUA1340 },
 	{ USB_VENDOR_DLINK2,            USB_PRODUCT_DLINK2_DWA111 },
+	{ USB_VENDOR_DLINK2,            USB_PRODUCT_DLINK2_DWA110 },
 	{ USB_VENDOR_GIGABYTE,          USB_PRODUCT_GIGABYTE_GNWB01GS },
 	{ USB_VENDOR_GIGABYTE,          USB_PRODUCT_GIGABYTE_GNWI05GS },
 	{ USB_VENDOR_GIGASET,           USB_PRODUCT_GIGASET_RT2573 },

==== //depot/projects/mpsafetty/sys/dev/usb/ufoma.c#2 (text+ko) ====

@@ -1,8 +1,10 @@
 /*	$NetBSD: umodem.c,v 1.45 2002/09/23 05:51:23 simonb Exp $	*/
 
+#define UFOMA_HANDSFREE
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ufoma.c,v 1.10 2007/07/27 12:00:29 takawata Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ufoma.c,v 1.11 2008/08/18 11:56:13 takawata Exp $");
+
 /*-
  * Copyright (c) 2005, Takanori Watanabe
  * Copyright (c) 2003, M. Warner Losh <imp@freebsd.org>.
@@ -193,11 +195,13 @@
 static char *ufoma_mode_to_str(int);
 static int ufoma_str_to_mode(char *);
 
-/*Pseudo ucom stuff*/
+#ifdef UFOMA_HANDSFREE
+/*Pseudo ucom stuff(for Handsfree interface)*/
 static int ufoma_init_pseudo_ucom(struct ufoma_softc *);
 static t_open_t ufomaopen;
 static t_close_t ufomaclose;
 static t_oproc_t ufomastart;
+#endif
 
 /*umodem like stuff*/
 static int ufoma_init_modem(struct ufoma_softc *, struct usb_attach_arg *);
@@ -291,8 +295,9 @@
 		return (UMATCH_NONE);
 	}
 
-#if 0
-	if(mad->bType != UMCPC_ACM_TYPE_AB5){
+#ifndef UFOMA_HANDSFREE
+	if((mad->bType == UMCPC_ACM_TYPE_AB5)||
+	   (mad->bType == UMCPC_ACM_TYPE_AB6)){
 		return UMATCH_NONE;
 	}
 #endif
@@ -375,12 +380,17 @@
 		}
 	}
 	printf("\n");
-
 	if((mad->bType == UMCPC_ACM_TYPE_AB5)
 	   ||(mad->bType == UMCPC_ACM_TYPE_AB6)){
+#ifdef UFOMA_HANDSFREE
 		/*These does not have data interface*/
 		sc->sc_is_ucom = 0;
 		ufoma_init_pseudo_ucom(sc);
+#else
+		/*Should not happen*/
+		goto error;
+#endif
+
 	}else{
 		if(ufoma_init_modem(sc, uaa)){
 			goto error;
@@ -429,10 +439,15 @@
 	sc->sc_ucom.sc_dying = 1;
 	usbd_abort_pipe(sc->sc_notify_pipe);
 	usbd_close_pipe(sc->sc_notify_pipe);
-	if(sc->sc_is_ucom)
+	if(sc->sc_is_ucom){
 		ucom_detach(&sc->sc_ucom);
-	else
+	}
+#ifdef UFOMA_HANDSFREE
+	else{
 		ttyfree(sc->sc_ucom.sc_tty);
+	}
+
+#endif
 	free(sc->sc_modetable, M_USBDEV);
 	return rv;
 }
@@ -547,7 +562,7 @@
 	return 0;
 }
 
-
+#ifdef UFOMA_HANDSFREE
 static inline void ufoma_setup_msg_req(struct ufoma_softc *sc, usb_device_request_t *req)
 {
 		req->bmRequestType = UT_READ_CLASS_INTERFACE;
@@ -583,15 +598,18 @@
 	mtx_unlock(&sc->sc_mtx);
 
 }
-
+#endif
 static void ufoma_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status)
 {
 	struct ufoma_softc *sc = priv;
 	unsigned int a;
 	struct ucom_softc *ucom =&sc->sc_ucom;
+	u_char mstatus;
+#ifdef UFOMA_HANDSFREE
 	usb_device_request_t req;
+
 	ufoma_setup_msg_req(sc, &req);
-	u_char mstatus;
+#endif
 
 	if (sc->sc_ucom.sc_dying)
 		return;
@@ -616,6 +634,7 @@
 		return;
 	}
 	switch(sc->sc_notify_buf.bNotification){
+#ifdef UFOMA_HANDSFREE
 	case UCDC_N_RESPONSE_AVAILABLE:
 		if(sc->sc_is_ucom){
 			printf("%s:wrong response request?\n", device_get_nameunit(ucom->sc_dev));
@@ -632,6 +651,7 @@
 		sc->sc_nummsg++;
 		mtx_unlock(&sc->sc_mtx);
 		break;
+#endif
 	case UCDC_N_SERIAL_STATE:
 		if(!sc->sc_is_ucom){

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



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