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...
Gleb Smirnoff
glebius at FreeBSD.org
Sun Nov 30 11:28:42 UTC 2014
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, ®s);
(*dtrace_pid_probe_ptr)(®s);
@@ -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
More information about the svn-src-projects
mailing list