Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Nov 2014 11:28:36 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r275316 - in projects/sendfile: . etc/defaults etc/rc.d lib/libc/arm/string share/man/man4 sys/arm/include sys/boot/common sys/boot/i386/boot2 sys/kern sys/powerpc/aim sys/powerpc/inclu...
Message-ID:  <201411301128.sAUBSajW014128@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Sun Nov 30 11:28:35 2014
New Revision: 275316
URL: https://svnweb.freebsd.org/changeset/base/275316

Log:
  Merge head r258543 through r275315.

Deleted:
  projects/sendfile/etc/rc.d/mrouted
Modified:
  projects/sendfile/ObsoleteFiles.inc
  projects/sendfile/etc/defaults/rc.conf
  projects/sendfile/etc/rc.d/Makefile
  projects/sendfile/etc/rc.d/NETWORKING
  projects/sendfile/lib/libc/arm/string/ffs.S
  projects/sendfile/lib/libc/arm/string/memcmp.S
  projects/sendfile/lib/libc/arm/string/memcpy_arm.S
  projects/sendfile/lib/libc/arm/string/memcpy_xscale.S
  projects/sendfile/lib/libc/arm/string/memmove.S
  projects/sendfile/lib/libc/arm/string/memset.S
  projects/sendfile/lib/libc/arm/string/strlen.S
  projects/sendfile/share/man/man4/tap.4
  projects/sendfile/share/man/man4/tun.4
  projects/sendfile/sys/arm/include/asm.h
  projects/sendfile/sys/boot/common/module.c
  projects/sendfile/sys/boot/i386/boot2/boot2.c
  projects/sendfile/sys/kern/kern_linker.c
  projects/sendfile/sys/kern/sys_pipe.c
  projects/sendfile/sys/powerpc/aim/machdep.c
  projects/sendfile/sys/powerpc/aim/trap.c
  projects/sendfile/sys/powerpc/aim/trap_subr32.S
  projects/sendfile/sys/powerpc/aim/trap_subr64.S
  projects/sendfile/sys/powerpc/include/trap.h
  projects/sendfile/sys/sys/linker.h
Directory Properties:
  projects/sendfile/   (props changed)
  projects/sendfile/etc/   (props changed)
  projects/sendfile/lib/libc/   (props changed)
  projects/sendfile/share/   (props changed)
  projects/sendfile/share/man/man4/   (props changed)
  projects/sendfile/sys/   (props changed)
  projects/sendfile/sys/boot/   (props changed)

Modified: projects/sendfile/ObsoleteFiles.inc
==============================================================================
--- projects/sendfile/ObsoleteFiles.inc	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/ObsoleteFiles.inc	Sun Nov 30 11:28:35 2014	(r275316)
@@ -38,6 +38,8 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20141129: mrouted rc.d scripts removed from base
+OLD_FILES+=etc/rc.d/mrouted
 # 20141126: convert sbin/mdconfig/tests to ATF format tests
 OLD_FILES+=usr/tests/sbin/mdconfig/legacy_test
 OLD_FILES+=usr/tests/sbin/mdconfig/mdconfig.test

Modified: projects/sendfile/etc/defaults/rc.conf
==============================================================================
--- projects/sendfile/etc/defaults/rc.conf	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/etc/defaults/rc.conf	Sun Nov 30 11:28:35 2014	(r275316)
@@ -390,12 +390,6 @@ gateway_enable="NO"		# Set to YES if thi
 routed_enable="NO"		# Set to YES to enable a routing daemon.
 routed_program="/sbin/routed"	# Name of routing daemon to use if enabled.
 routed_flags="-q"		# Flags for routing daemon.
-mrouted_enable="NO"		# Do IPv4 multicast routing.
-mrouted_program="/usr/local/sbin/mrouted"	# Name of IPv4 multicast
-						# routing daemon.  You need to
-						# install it from package or
-						# port.
-mrouted_flags=""		# Flags for multicast routing daemon.
 arpproxy_all="NO"		# replaces obsolete kernel option ARP_PROXYALL.
 forward_sourceroute="NO"	# do source routing (only if gateway_enable is set to "YES")
 accept_sourceroute="NO"		# accept source routed packets to us

Modified: projects/sendfile/etc/rc.d/Makefile
==============================================================================
--- projects/sendfile/etc/rc.d/Makefile	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/etc/rc.d/Makefile	Sun Nov 30 11:28:35 2014	(r275316)
@@ -90,7 +90,6 @@ FILES=	DAEMON \
 	mountd \
 	moused \
 	mroute6d \
-	mrouted \
 	msgs \
 	natd \
 	netif \

Modified: projects/sendfile/etc/rc.d/NETWORKING
==============================================================================
--- projects/sendfile/etc/rc.d/NETWORKING	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/etc/rc.d/NETWORKING	Sun Nov 30 11:28:35 2014	(r275316)
@@ -5,7 +5,7 @@
 
 # PROVIDE: NETWORKING NETWORK
 # REQUIRE: netif netoptions routing ppp ipfw stf
-# REQUIRE: defaultroute routed mrouted route6d mroute6d resolv bridge
+# REQUIRE: defaultroute routed route6d mroute6d resolv bridge
 # REQUIRE: static_arp static_ndp local_unbound
 
 #	This is a dummy dependency, for services which require networking

Modified: projects/sendfile/lib/libc/arm/string/ffs.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/ffs.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/ffs.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -32,6 +32,8 @@
 
 __FBSDID("$FreeBSD$");
 
+.syntax unified
+
 /*
  * ffs - find first set bit, this algorithm isolates the first set
  * bit, then multiplies the number by 0x0450fbaf which leaves the top
@@ -60,7 +62,7 @@ ENTRY(ffs)
 	rsbne   r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf */
               
 	/* now lookup in table indexed on top 6 bits of r0 */
-	ldrneb  r0, [ r2, r0, lsr #26 ]
+	ldrbne  r0, [ r2, r0, lsr #26 ]
 
         RET
 .text;

Modified: projects/sendfile/lib/libc/arm/string/memcmp.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/memcmp.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/memcmp.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -66,6 +66,8 @@
 
 __FBSDID("$FreeBSD$");
 
+.syntax	unified
+
 ENTRY(memcmp)
 	mov	ip, r0
 #if defined(_KERNEL) && !defined(_STANDALONE)
@@ -76,7 +78,7 @@ ENTRY(memcmp)
 
 	/* Are both addresses aligned the same way? */
 	cmp	r2, #0x00
-	eornes	r3, ip, r1
+	eorsne	r3, ip, r1
 	RETeq			/* len == 0, or same addresses! */
 	tst	r3, #0x03
 	subne	r2, r2, #0x01

Modified: projects/sendfile/lib/libc/arm/string/memcpy_arm.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/memcpy_arm.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/memcpy_arm.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -31,6 +31,9 @@
 
 #include <machine/asm.h>
 __FBSDID("$FreeBSD$");
+
+.syntax	unified
+
 /*
  * This is one fun bit of code ...
  * Some easy listening music is suggested while trying to understand this
@@ -91,8 +94,8 @@ ENTRY(memcpy)
 	bge	.Lmemcpy_loop32
 
 	cmn	r2, #0x10
-	ldmgeia	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
-	stmgeia	r0!, {r3, r4, r12, lr}
+	ldmiage	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
+	stmiage	r0!, {r3, r4, r12, lr}
 	subge	r2, r2, #0x10         
 	ldmia	sp!, {r4}		/* return r4 */
 
@@ -101,9 +104,9 @@ ENTRY(memcpy)
 
 	/* blat 12 bytes at a time */
 .Lmemcpy_loop12:
-	ldmgeia	r1!, {r3, r12, lr}
-	stmgeia	r0!, {r3, r12, lr}
-	subges	r2, r2, #0x0c         
+	ldmiage	r1!, {r3, r12, lr}
+	stmiage	r0!, {r3, r12, lr}
+	subsge	r2, r2, #0x0c         
 	bge	.Lmemcpy_loop12
 
 .Lmemcpy_l12:
@@ -113,26 +116,26 @@ ENTRY(memcpy)
 	subs	r2, r2, #4
 	ldrlt	r3, [r1], #4
 	strlt	r3, [r0], #4
-	ldmgeia	r1!, {r3, r12}
-	stmgeia	r0!, {r3, r12}
+	ldmiage	r1!, {r3, r12}
+	stmiage	r0!, {r3, r12}
 	subge	r2, r2, #4
 
 .Lmemcpy_l4:
 	/* less than 4 bytes to go */
 	adds	r2, r2, #4
 #ifdef __APCS_26_
-	ldmeqia sp!, {r0, pc}^		/* done */
+	ldmiaeq sp!, {r0, pc}^		/* done */
 #else
-	ldmeqia	sp!, {r0, pc}		/* done */
+	ldmiaeq	sp!, {r0, pc}		/* done */
 #endif
 	/* copy the crud byte at a time */
 	cmp	r2, #2
 	ldrb	r3, [r1], #1
 	strb	r3, [r0], #1
-	ldrgeb	r3, [r1], #1
-	strgeb	r3, [r0], #1
-	ldrgtb	r3, [r1], #1
-	strgtb	r3, [r0], #1
+	ldrbge	r3, [r1], #1
+	strbge	r3, [r0], #1
+	ldrbgt	r3, [r1], #1
+	strbgt	r3, [r0], #1
 	ldmia	sp!, {r0, pc}
 
 	/* erg - unaligned destination */
@@ -143,10 +146,10 @@ ENTRY(memcpy)
 	/* align destination with byte copies */
 	ldrb	r3, [r1], #1
 	strb	r3, [r0], #1
-	ldrgeb	r3, [r1], #1
-	strgeb	r3, [r0], #1
-	ldrgtb	r3, [r1], #1
-	strgtb	r3, [r0], #1
+	ldrbge	r3, [r1], #1
+	strbge	r3, [r0], #1
+	ldrbgt	r3, [r1], #1
+	strbgt	r3, [r0], #1
 	subs	r2, r2, r12
 	blt	.Lmemcpy_l4		/* less the 4 bytes */
 

Modified: projects/sendfile/lib/libc/arm/string/memcpy_xscale.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/memcpy_xscale.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/memcpy_xscale.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -38,6 +38,8 @@
 #include <machine/asm.h>
 __FBSDID("$FreeBSD$");
 
+.syntax	unified
+
 /* LINTSTUB: Func: void *memcpy(void *dst, const void *src, size_t len) */
 ENTRY(memcpy)
 	pld	[r1]
@@ -52,12 +54,12 @@ ENTRY(memcpy)
 	ldrb	ip, [r1], #0x01
 	sub	r2, r2, #0x01
 	strb	ip, [r3], #0x01
-	ldrleb	ip, [r1], #0x01
+	ldrble	ip, [r1], #0x01
 	suble	r2, r2, #0x01
-	strleb	ip, [r3], #0x01
-	ldrltb	ip, [r1], #0x01
+	strble	ip, [r3], #0x01
+	ldrblt	ip, [r1], #0x01
 	sublt	r2, r2, #0x01
-	strltb	ip, [r3], #0x01
+	strblt	ip, [r3], #0x01
 
 	/* Destination buffer is now word aligned */
 .Lmemcpy_wordaligned:
@@ -134,7 +136,7 @@ ENTRY(memcpy)
 
 .Lmemcpy_w_lessthan128:
 	adds	r2, r2, #0x80		/* Adjust for extra sub */
-	ldmeqfd	sp!, {r4-r9}
+	ldmfdeq	sp!, {r4-r9}
 	bxeq	lr			/* Return now if done */
 	subs	r2, r2, #0x20
 	blt	.Lmemcpy_w_lessthan32
@@ -159,7 +161,7 @@ ENTRY(memcpy)
 
 .Lmemcpy_w_lessthan32:
 	adds	r2, r2, #0x20		/* Adjust for extra sub */
-	ldmeqfd	sp!, {r4-r9}
+	ldmfdeq	sp!, {r4-r9}
 	bxeq	lr			/* Return now if done */
 
 	and	r4, r2, #0x18
@@ -195,11 +197,11 @@ ENTRY(memcpy)
 	addlt	r2, r2, #0x04
 	ldrb	ip, [r1], #0x01
 	cmp	r2, #0x02
-	ldrgeb	r2, [r1], #0x01
+	ldrbge	r2, [r1], #0x01
 	strb	ip, [r3], #0x01
-	ldrgtb	ip, [r1]
-	strgeb	r2, [r3], #0x01
-	strgtb	ip, [r3]
+	ldrbgt	ip, [r1]
+	strbge	r2, [r3], #0x01
+	strbgt	ip, [r3]
 	bx	lr
 
 
@@ -253,7 +255,7 @@ ENTRY(memcpy)
 	bge	.Lmemcpy_bad1_loop16
 
 	adds	r2, r2, #0x10         
-	ldmeqfd	sp!, {r4-r7}
+	ldmfdeq	sp!, {r4-r7}
 	bxeq	lr			/* Return now if done */
 	subs	r2, r2, #0x04
 	sublt	r1, r1, #0x03
@@ -314,7 +316,7 @@ ENTRY(memcpy)
 	bge	.Lmemcpy_bad2_loop16
 
 	adds	r2, r2, #0x10         
-	ldmeqfd	sp!, {r4-r7}
+	ldmfdeq	sp!, {r4-r7}
 	bxeq	lr			/* Return now if done */
 	subs	r2, r2, #0x04
 	sublt	r1, r1, #0x02
@@ -375,7 +377,7 @@ ENTRY(memcpy)
 	bge	.Lmemcpy_bad3_loop16
 
 	adds	r2, r2, #0x10         
-	ldmeqfd	sp!, {r4-r7}
+	ldmfdeq	sp!, {r4-r7}
 	bxeq	lr			/* Return now if done */
 	subs	r2, r2, #0x04
 	sublt	r1, r1, #0x01
@@ -404,11 +406,11 @@ ENTRY(memcpy)
 	bxeq	lr
 	ldrb	ip, [r1], #0x01
 	cmp	r2, #0x02
-	ldrgeb	r2, [r1], #0x01
+	ldrbge	r2, [r1], #0x01
 	strb	ip, [r3], #0x01
-	ldrgtb	ip, [r1]
-	strgeb	r2, [r3], #0x01
-	strgtb	ip, [r3]
+	ldrbgt	ip, [r1]
+	strbge	r2, [r3], #0x01
+	strbgt	ip, [r3]
 	bx	lr
 
 
@@ -440,7 +442,7 @@ ENTRY(memcpy)
 	ldrb	ip, [r1], #0x01
 1:	subs	r2, r2, #0x01
 	strb	ip, [r3], #0x01
-	ldrneb	ip, [r1], #0x01
+	ldrbne	ip, [r1], #0x01
 	bne	1b
 	bx	lr
 

Modified: projects/sendfile/lib/libc/arm/string/memmove.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/memmove.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/memmove.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -32,6 +32,8 @@
 #include <machine/asm.h>
 __FBSDID("$FreeBSD$");
 
+.syntax	unified
+
 #ifndef _BCOPY
 /* LINTSTUB: Func: void *memmove(void *, const void *, size_t) */
 ENTRY(memmove)
@@ -86,8 +88,8 @@ ENTRY(bcopy)
 	bge	.Lmemmove_floop32
 
 	cmn	r2, #0x10
-	ldmgeia	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
-	stmgeia	r0!, {r3, r4, r12, lr}
+	ldmiage	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
+	stmiage	r0!, {r3, r4, r12, lr}
 	subge	r2, r2, #0x10         
 	ldmia	sp!, {r4}		/* return r4 */
 
@@ -96,9 +98,9 @@ ENTRY(bcopy)
 
 	/* blat 12 bytes at a time */
 .Lmemmove_floop12:
-	ldmgeia	r1!, {r3, r12, lr}
-	stmgeia	r0!, {r3, r12, lr}
-	subges	r2, r2, #0x0c         
+	ldmiage	r1!, {r3, r12, lr}
+	stmiage	r0!, {r3, r12, lr}
+	subsge	r2, r2, #0x0c         
 	bge	.Lmemmove_floop12
 
 .Lmemmove_fl12:
@@ -108,23 +110,23 @@ ENTRY(bcopy)
 	subs	r2, r2, #4
 	ldrlt	r3, [r1], #4
 	strlt	r3, [r0], #4
-	ldmgeia	r1!, {r3, r12}
-	stmgeia	r0!, {r3, r12}
+	ldmiage	r1!, {r3, r12}
+	stmiage	r0!, {r3, r12}
 	subge	r2, r2, #4
 
 .Lmemmove_fl4:
 	/* less than 4 bytes to go */
 	adds	r2, r2, #4
-	ldmeqia	sp!, {r0, pc}		/* done */
+	ldmiaeq	sp!, {r0, pc}		/* done */
 
 	/* copy the crud byte at a time */
 	cmp	r2, #2
 	ldrb	r3, [r1], #1
 	strb	r3, [r0], #1
-	ldrgeb	r3, [r1], #1
-	strgeb	r3, [r0], #1
-	ldrgtb	r3, [r1], #1
-	strgtb	r3, [r0], #1
+	ldrbge	r3, [r1], #1
+	strbge	r3, [r0], #1
+	ldrbgt	r3, [r1], #1
+	strbgt	r3, [r0], #1
 	ldmia	sp!, {r0, pc}
 
 	/* erg - unaligned destination */
@@ -135,10 +137,10 @@ ENTRY(bcopy)
 	/* align destination with byte copies */
 	ldrb	r3, [r1], #1
 	strb	r3, [r0], #1
-	ldrgeb	r3, [r1], #1
-	strgeb	r3, [r0], #1
-	ldrgtb	r3, [r1], #1
-	strgtb	r3, [r0], #1
+	ldrbge	r3, [r1], #1
+	strbge	r3, [r0], #1
+	ldrbgt	r3, [r1], #1
+	strbgt	r3, [r0], #1
 	subs	r2, r2, r12
 	blt	.Lmemmove_fl4		/* less the 4 bytes */
 
@@ -353,12 +355,12 @@ ENTRY(bcopy)
 
 .Lmemmove_bl32:
 	cmn	r2, #0x10            
-	ldmgedb	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
-	stmgedb	r0!, {r3, r4, r12, lr}
+	ldmdbge	r1!, {r3, r4, r12, lr}	/* blat a remaining 16 bytes */
+	stmdbge	r0!, {r3, r4, r12, lr}
 	subge	r2, r2, #0x10         
 	adds	r2, r2, #0x14         
-	ldmgedb	r1!, {r3, r12, lr}	/* blat a remaining 12 bytes */
-	stmgedb	r0!, {r3, r12, lr}
+	ldmdbge	r1!, {r3, r12, lr}	/* blat a remaining 12 bytes */
+	stmdbge	r0!, {r3, r12, lr}
 	subge	r2, r2, #0x0c         
 	ldmia	sp!, {r4, lr}
 
@@ -368,8 +370,8 @@ ENTRY(bcopy)
 	subs	r2, r2, #4
 	ldrlt	r3, [r1, #-4]!
 	strlt	r3, [r0, #-4]!
-	ldmgedb	r1!, {r3, r12}
-	stmgedb	r0!, {r3, r12}
+	ldmdbge	r1!, {r3, r12}
+	stmdbge	r0!, {r3, r12}
 	subge	r2, r2, #4
 
 .Lmemmove_bl4:
@@ -381,10 +383,10 @@ ENTRY(bcopy)
 	cmp	r2, #2
 	ldrb	r3, [r1, #-1]!
 	strb	r3, [r0, #-1]!
-	ldrgeb	r3, [r1, #-1]!
-	strgeb	r3, [r0, #-1]!
-	ldrgtb	r3, [r1, #-1]!
-	strgtb	r3, [r0, #-1]!
+	ldrbge	r3, [r1, #-1]!
+	strbge	r3, [r0, #-1]!
+	ldrbgt	r3, [r1, #-1]!
+	strbgt	r3, [r0, #-1]!
 	RET
 
 	/* erg - unaligned destination */
@@ -394,10 +396,10 @@ ENTRY(bcopy)
 	/* align destination with byte copies */
 	ldrb	r3, [r1, #-1]!
 	strb	r3, [r0, #-1]!
-	ldrgeb	r3, [r1, #-1]!
-	strgeb	r3, [r0, #-1]!
-	ldrgtb	r3, [r1, #-1]!
-	strgtb	r3, [r0, #-1]!
+	ldrbge	r3, [r1, #-1]!
+	strbge	r3, [r0, #-1]!
+	ldrbgt	r3, [r1, #-1]!
+	strbgt	r3, [r0, #-1]!
 	subs	r2, r2, r12
 	blt	.Lmemmove_bl4		/* less than 4 bytes to go */
 	ands	r12, r1, #3

Modified: projects/sendfile/lib/libc/arm/string/memset.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/memset.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/memset.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -69,6 +69,8 @@
 #include <machine/asm.h>
 __FBSDID("$FreeBSD$");
 
+.syntax	unified
+
 /*
  * memset: Sets a block of memory to the specified value
  *
@@ -125,39 +127,39 @@ ENTRY(memset)
 .Lmemset_loop128:
 	subs	r1, r1, #0x80
 #ifdef _ARM_ARCH_5E
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-#else
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+#else
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
 #endif
 	bgt	.Lmemset_loop128
 	RETeq			/* Zero length so just exit */
@@ -168,15 +170,15 @@ ENTRY(memset)
 .Lmemset_loop32:
 	subs	r1, r1, #0x20
 #ifdef _ARM_ARCH_5E
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
-#else
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+#else
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
 #endif
 	bgt	.Lmemset_loop32
 	RETeq			/* Zero length so just exit */
@@ -185,11 +187,11 @@ ENTRY(memset)
 
 	/* Deal with 16 bytes or more */
 #ifdef _ARM_ARCH_5E
-	strged	r2, [ip], #0x08
-	strged	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
+	strdge	r2, [ip], #0x08
 #else
-	stmgeia	ip!, {r2-r3}
-	stmgeia	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
+	stmiage	ip!, {r2-r3}
 #endif
 	RETeq			/* Zero length so just exit */
 
@@ -212,17 +214,17 @@ ENTRY(memset)
 #endif
 
 	strb	r3, [ip], #0x01		/* Set 1 byte */
-	strgeb	r3, [ip], #0x01		/* Set another byte */
-	strgtb	r3, [ip]		/* and a third */
+	strbge	r3, [ip], #0x01		/* Set another byte */
+	strbgt	r3, [ip]		/* and a third */
 	RET			/* Exit */
 
 .Lmemset_wordunaligned:
 	rsb	r2, r2, #0x004
 	strb	r3, [ip], #0x01		/* Set 1 byte */
 	cmp	r2, #0x02
-	strgeb	r3, [ip], #0x01		/* Set another byte */
+	strbge	r3, [ip], #0x01		/* Set another byte */
 	sub	r1, r1, r2
-	strgtb	r3, [ip], #0x01		/* and a third */
+	strbgt	r3, [ip], #0x01		/* and a third */
 	cmp	r1, #0x04		/* More than 4 bytes left? */
 	bge	.Lmemset_wordaligned	/* Yup */
 
@@ -231,8 +233,8 @@ ENTRY(memset)
 	RETeq			/* Zero length so exit */
 	strb	r3, [ip], #0x01		/* Set 1 byte */
 	cmp	r1, #0x02
-	strgeb	r3, [ip], #0x01		/* Set another byte */
-	strgtb	r3, [ip]		/* and a third */
+	strbge	r3, [ip], #0x01		/* Set another byte */
+	strbgt	r3, [ip]		/* and a third */
 	RET			/* Exit */
 #ifdef _BZERO
 END(bzero)

Modified: projects/sendfile/lib/libc/arm/string/strlen.S
==============================================================================
--- projects/sendfile/lib/libc/arm/string/strlen.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/lib/libc/arm/string/strlen.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -27,6 +27,8 @@
 #include <machine/asm.h>
 __FBSDID("$FreeBSD$");
 
+.syntax	unified
+
 ENTRY(strlen)
 	mov	r1, #0
 	/* Check that the pointer is aligned on 32 bits. */
@@ -53,23 +55,23 @@ ENTRY(strlen)
 	addne	r1, r1, #1
 .Ldo_3:
 #ifndef __ARMEB__
-	andnes    r3, r2, #0x0000ff00
+	andsne    r3, r2, #0x0000ff00
 #else
-  	andnes    r3, r2, #0x00ff0000
+  	andsne    r3, r2, #0x00ff0000
 #endif  
 	addne     r1, r1, #1
 .Ldo_2:
 #ifndef __ARMEB__
-	andnes    r3, r2, #0x00ff0000
+	andsne    r3, r2, #0x00ff0000
 #else
-	andnes    r3, r2, #0x0000ff00
+	andsne    r3, r2, #0x0000ff00
 #endif  
 	addne	r1, r1, #1
 .Ldo_1:
 #ifndef __ARMEB__
-	andnes	r3, r2, #0xff000000
+	andsne	r3, r2, #0xff000000
 #else
-	andnes	r3, r2, #0x000000ff
+	andsne	r3, r2, #0x000000ff
 #endif  
 	addne	r1, r1, #1
 	bne	.Loop				

Modified: projects/sendfile/share/man/man4/tap.4
==============================================================================
--- projects/sendfile/share/man/man4/tap.4	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/share/man/man4/tap.4	Sun Nov 30 11:28:35 2014	(r275316)
@@ -1,7 +1,7 @@
 .\" $FreeBSD$
 .\" Based on PR#2411
 .\"
-.Dd November 4, 2014
+.Dd November 30, 2014
 .Dt TAP 4
 .Os
 .Sh NAME
@@ -34,6 +34,17 @@ or a terminal for
 and a character-special device
 .Dq control
 interface.
+A client program transfers Ethernet frames to or from the 
+.Nm
+.Dq control
+interface.
+The
+.Xr tun 4
+interface provides similar functionality at the network layer:
+a client will transfer IP (by default) packets to or from a
+.Xr tun 4
+.Dq control
+interface.
 .Pp
 The network interfaces are named
 .Dq Li tap0 ,
@@ -314,4 +325,5 @@ VMware
 .El
 .Sh SEE ALSO
 .Xr inet 4 ,
-.Xr intro 4
+.Xr intro 4 ,
+.Xr tun 4

Modified: projects/sendfile/share/man/man4/tun.4
==============================================================================
--- projects/sendfile/share/man/man4/tun.4	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/share/man/man4/tun.4	Sun Nov 30 11:28:35 2014	(r275316)
@@ -2,7 +2,7 @@
 .\" $FreeBSD$
 .\" Based on PR#2411
 .\"
-.Dd February 4, 2007
+.Dd November 30, 2014
 .Dt TUN 4
 .Os
 .Sh NAME
@@ -35,6 +35,17 @@ or a terminal for
 and a character-special device
 .Dq control
 interface.
+A client program transfers IP (by default) packets to or from the 
+.Nm
+.Dq control
+interface.
+The
+.Xr tap 4
+interface provides similar functionality at the Ethernet layer:
+a client will transfer Ethernet frames to or from a
+.Xr tap 4
+.Dq control
+interface.
 .Pp
 The network interfaces are named
 .Dq Li tun0 ,
@@ -307,6 +318,7 @@ them pile up.
 .Xr inet 4 ,
 .Xr intro 4 ,
 .Xr pty 4 ,
+.Xr tap 4 ,
 .Xr ifconfig 8
 .Sh AUTHORS
 This manual page was originally obtained from

Modified: projects/sendfile/sys/arm/include/asm.h
==============================================================================
--- projects/sendfile/sys/arm/include/asm.h	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/arm/include/asm.h	Sun Nov 30 11:28:35 2014	(r275316)
@@ -58,6 +58,18 @@
 #endif
 
 /*
+ * EENTRY()/EEND() mark "extra" entry/exit points from a function.
+ * The unwind info cannot handle the concept of a nested function, or a function
+ * with multiple .fnstart directives, but some of our assembler code is written
+ * with multiple labels to allow entry at several points.  The EENTRY() macro
+ * defines such an extra entry point without a new .fnstart, so that it's
+ * basically just a label that you can jump to.  The EEND() macro does nothing
+ * at all, except document the exit point associated with the same-named entry.
+ */
+#define	_EENTRY(x) 	.globl x; .type x,_ASM_TYPE_FUNCTION; x:
+#define	_EEND(x)	/* nothing */
+
+/*
  * gas/arm uses @ as a single comment character and thus cannot be used here
  * Instead it recognised the # instead of an @ symbols in .type directives
  * We define a couple of macros so that assembly code will not be dependent
@@ -66,22 +78,10 @@
 #define _ASM_TYPE_FUNCTION	#function
 #define _ASM_TYPE_OBJECT	#object
 #define GLOBAL(X) .globl x
-#define _ENTRY(x) \
-	.text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x: _FNSTART
+#define	_ENTRY(x) \
+	.text; _ALIGN_TEXT; _EENTRY(x) _FNSTART
 #define	_END(x)	.size x, . - x; _FNEND
 
-/*
- * EENTRY()/EEND() mark "extra" entry/exit points from a function.
- * The unwind info cannot handle the concept of a nested function, or a function
- * with multiple .fnstart directives, but some of our assembler code is written
- * with multiple labels to allow entry at several points.  The EENTRY() macro
- * defines such an extra entry point without a new .fnstart, so that it's
- * basically just a label that you can jump to.  The EEND() macro does nothing
- * at all, except document the exit point associated with the same-named entry.
- */
-#define _EENTRY(x) 	.globl x; .type x,_ASM_TYPE_FUNCTION; x:
-#define _EEND(x)	/* nothing */
-
 #ifdef GPROF
 #  define _PROF_PROLOGUE	\
 	mov ip, lr; bl __mcount

Modified: projects/sendfile/sys/boot/common/module.c
==============================================================================
--- projects/sendfile/sys/boot/common/module.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/boot/common/module.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -938,7 +938,7 @@ moduledir_readhints(struct moduledir *md
     path = moduledir_fullpath(mdp, "linker.hints");
     if (stat(path, &st) != 0 ||
 	st.st_size < (ssize_t)(sizeof(version) + sizeof(int)) ||
-	st.st_size > 100 * 1024 || (fd = open(path, O_RDONLY)) < 0) {
+	st.st_size > LINKER_HINTS_MAX || (fd = open(path, O_RDONLY)) < 0) {
 	free(path);
 	mdp->d_flags |= MDIR_NOHINTS;
 	return;

Modified: projects/sendfile/sys/boot/i386/boot2/boot2.c
==============================================================================
--- projects/sendfile/sys/boot/i386/boot2/boot2.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/boot/i386/boot2/boot2.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -418,7 +418,7 @@ parse()
 #if SERIAL
 		} else if (c == 'S') {
 		    j = 0;
-		    while ((i = *arg++ - '0') <= 9)
+		    while ((unsigned int)(i = *arg++ - '0') <= 9)
 			j = j * 10 + i;
 		    if (j > 0 && i == -'0') {
 			comspeed = j;

Modified: projects/sendfile/sys/kern/kern_linker.c
==============================================================================
--- projects/sendfile/sys/kern/kern_linker.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/kern/kern_linker.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -1752,7 +1752,7 @@ linker_hints_lookup(const char *path, in
 	/*
 	 * XXX: we need to limit this number to some reasonable value
 	 */
-	if (vattr.va_size > 100 * 1024) {
+	if (vattr.va_size > LINKER_HINTS_MAX) {
 		printf("hints file too large %ld\n", (long)vattr.va_size);
 		goto bad;
 	}

Modified: projects/sendfile/sys/kern/sys_pipe.c
==============================================================================
--- projects/sendfile/sys/kern/sys_pipe.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/kern/sys_pipe.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -318,7 +318,7 @@ pipe_zone_init(void *mem, int size, int 
 
 	pp = (struct pipepair *)mem;
 
-	mtx_init(&pp->pp_mtx, "pipe mutex", NULL, MTX_DEF | MTX_RECURSE);
+	mtx_init(&pp->pp_mtx, "pipe mutex", NULL, MTX_DEF);
 	return (0);
 }
 
@@ -1792,7 +1792,7 @@ filt_piperead(struct knote *kn, long hin
 	struct pipe *wpipe = rpipe->pipe_peer;
 	int ret;
 
-	PIPE_LOCK(rpipe);
+	PIPE_LOCK_ASSERT(rpipe, MA_OWNED);
 	kn->kn_data = rpipe->pipe_buffer.cnt;
 	if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW))
 		kn->kn_data = rpipe->pipe_map.cnt;
@@ -1801,11 +1801,9 @@ filt_piperead(struct knote *kn, long hin
 	    wpipe->pipe_present != PIPE_ACTIVE ||
 	    (wpipe->pipe_state & PIPE_EOF)) {
 		kn->kn_flags |= EV_EOF;
-		PIPE_UNLOCK(rpipe);
 		return (1);
 	}
 	ret = kn->kn_data > 0;
-	PIPE_UNLOCK(rpipe);
 	return ret;
 }
 
@@ -1816,12 +1814,11 @@ filt_pipewrite(struct knote *kn, long hi
 	struct pipe *wpipe;
    
 	wpipe = kn->kn_hook;
-	PIPE_LOCK(wpipe);
+	PIPE_LOCK_ASSERT(wpipe, MA_OWNED);
 	if (wpipe->pipe_present != PIPE_ACTIVE ||
 	    (wpipe->pipe_state & PIPE_EOF)) {
 		kn->kn_data = 0;
 		kn->kn_flags |= EV_EOF;
-		PIPE_UNLOCK(wpipe);
 		return (1);
 	}
 	kn->kn_data = (wpipe->pipe_buffer.size > 0) ?
@@ -1829,7 +1826,6 @@ filt_pipewrite(struct knote *kn, long hi
 	if (wpipe->pipe_state & PIPE_DIRECTW)
 		kn->kn_data = 0;
 
-	PIPE_UNLOCK(wpipe);
 	return (kn->kn_data >= PIPE_BUF);
 }
 

Modified: projects/sendfile/sys/powerpc/aim/machdep.c
==============================================================================
--- projects/sendfile/sys/powerpc/aim/machdep.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/powerpc/aim/machdep.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -757,6 +757,10 @@ db_trap_glue(struct trapframe *frame)
 		|| frame->exc == EXC_BPT
 		|| frame->exc == EXC_DSI)) {
 		int type = frame->exc;
+
+		/* Ignore DTrace traps. */
+		if (*(uint32_t *)frame->srr0 == EXC_DTRACE) 
+			return (0);
 		if (type == EXC_PGM && (frame->srr1 & 0x20000)) {
 			type = T_BREAKPOINT;
 		}

Modified: projects/sendfile/sys/powerpc/aim/trap.c
==============================================================================
--- projects/sendfile/sys/powerpc/aim/trap.c	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/powerpc/aim/trap.c	Sun Nov 30 11:28:35 2014	(r275316)
@@ -258,7 +258,8 @@ trap(struct trapframe *frame)
 			if (frame->srr1 & EXC_PGM_TRAP) {
 #ifdef KDTRACE_HOOKS
 				inst = fuword32((const void *)frame->srr0);
-				if (inst == 0x0FFFDDDD && dtrace_pid_probe_ptr != NULL) {
+				if (inst == 0x0FFFDDDD &&
+				    dtrace_pid_probe_ptr != NULL) {
 					struct reg regs;
 					fill_regs(td, &regs);
 					(*dtrace_pid_probe_ptr)(&regs);
@@ -301,7 +302,7 @@ trap(struct trapframe *frame)
 #ifdef KDTRACE_HOOKS
 		case EXC_PGM:
 			if (frame->srr1 & EXC_PGM_TRAP) {
-				if (*(uint32_t *)frame->srr0 == 0x7c810808) {
+				if (*(uint32_t *)frame->srr0 == EXC_DTRACE) {
 					if (dtrace_invop_jump_addr != NULL) {
 						dtrace_invop_jump_addr(frame);
 						return;

Modified: projects/sendfile/sys/powerpc/aim/trap_subr32.S
==============================================================================
--- projects/sendfile/sys/powerpc/aim/trap_subr32.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/powerpc/aim/trap_subr32.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -890,8 +890,7 @@ CNAME(dblow):
 	mfcr	%r29			/* save CR in r29 */
 	mfsrr1	%r1
 	mtcr	%r1
-	bf	17,2f			/* branch if privileged */
-1:
+	bf	17,1f			/* branch if privileged */
 	/* Unprivileged case */
 	mtcr	%r29			/* put the condition register back */
         mfsprg2	%r29			/* ... and r29 */
@@ -900,19 +899,7 @@ CNAME(dblow):
 	li	%r1, 0	 		/* How to get the vector from LR */
 
         bla     generictrap		/* and we look like a generic trap */
-2:
-#ifdef KDTRACE_HOOKS
-	/* Privileged, so drop to KDB */
-	mfsrr0	%r1
-	mtsprg3	%r3
-	lwz	%r1,0(%r1)
-	/* Check if it's a DTrace trap. */
-	li	%r3,0x0808
-	addis	%r3,%r3,0x7c81
-	cmplw	%cr0,%r3,%r1
-	mfsprg3	%r3
-	beq	%cr0,1b
-#endif
+1:
 	/* Privileged, so drop to KDB */
 	GET_CPUINFO(%r1)
 	stw	%r28,(PC_DBSAVE+CPUSAVE_R28)(%r1)	/* free r28 */

Modified: projects/sendfile/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- projects/sendfile/sys/powerpc/aim/trap_subr64.S	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/powerpc/aim/trap_subr64.S	Sun Nov 30 11:28:35 2014	(r275316)
@@ -799,9 +799,8 @@ CNAME(dblow):
 	mfcr	%r29			/* save CR in r29 */
 	mfsrr1	%r1
 	mtcr	%r1
-	bf	17,2f			/* branch if privileged */
+	bf	17,1f			/* branch if privileged */
 
-1:
 	/* Unprivileged case */
 	mtcr	%r29			/* put the condition register back */
         mfsprg2	%r29			/* ... and r29 */
@@ -810,19 +809,7 @@ CNAME(dblow):
 	li	%r1, 0	 		/* How to get the vector from LR */
 
         bla     generictrap		/* and we look like a generic trap */
-2:
-#ifdef KDTRACE_HOOKS
-	/* Privileged, so drop to KDB */
-	mfsrr0	%r1
-	mtsprg3	%r3
-	lwz	%r1,0(%r1)
-	/* Check if it's a DTrace trap. */
-	li	%r3,0x0808
-	addis	%r3,%r3,0x7c81
-	cmplw	%cr0,%r3,%r1
-	mfsprg3	%r3
-	beq	%cr0,1b
-#endif
+1:
 	GET_CPUINFO(%r1)
 	std	%r27,(PC_DBSAVE+CPUSAVE_R27)(%r1)	/* free r27 */
 	std	%r28,(PC_DBSAVE+CPUSAVE_R28)(%r1)	/* free r28 */

Modified: projects/sendfile/sys/powerpc/include/trap.h
==============================================================================
--- projects/sendfile/sys/powerpc/include/trap.h	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/powerpc/include/trap.h	Sun Nov 30 11:28:35 2014	(r275316)
@@ -120,6 +120,9 @@
 #define	EXC_PGM_PRIV		(1UL << 18)
 #define	EXC_PGM_TRAP		(1UL << 17)
 
+/* DTrace trap opcode. */
+#define EXC_DTRACE	0x7c810808
+
 #ifndef LOCORE
 struct	trapframe;
 struct	pcb;

Modified: projects/sendfile/sys/sys/linker.h
==============================================================================
--- projects/sendfile/sys/sys/linker.h	Sun Nov 30 11:22:39 2014	(r275315)
+++ projects/sendfile/sys/sys/linker.h	Sun Nov 30 11:28:35 2014	(r275316)
@@ -228,6 +228,7 @@ void *linker_hwpmc_list_objects(void);
 #endif
 
 #define	LINKER_HINTS_VERSION	1		/* linker.hints file version */
+#define	LINKER_HINTS_MAX	(1 << 20)	/* Allow at most 1MB for linker.hints */
 
 #ifdef _KERNEL
 



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