From owner-svn-src-user@FreeBSD.ORG Sun May 5 12:21:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9974AC55; Sun, 5 May 2013 12:21:23 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8B75DBE8; Sun, 5 May 2013 12:21:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45CLNtg068660; Sun, 5 May 2013 12:21:23 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45CLNv3068659; Sun, 5 May 2013 12:21:23 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201305051221.r45CLNv3068659@svn.freebsd.org> From: Ulrich Spoerlein Date: Sun, 5 May 2013 12:21:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250268 - user/uqs/scan-world X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 12:21:23 -0000 Author: uqs Date: Sun May 5 12:21:22 2013 New Revision: 250268 URL: http://svnweb.freebsd.org/changeset/base/250268 Log: Add scripts for the Clang Static Analyzer runs at http://scan.freebsd.your.org/freebsd-head Added: user/uqs/scan-world/ user/uqs/scan-world/scan-world (contents, props changed) user/uqs/scan-world/scan-world-cron (contents, props changed) Added: user/uqs/scan-world/scan-world ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/uqs/scan-world/scan-world Sun May 5 12:21:22 2013 (r250268) @@ -0,0 +1,166 @@ +#!/bin/sh + +DRY= +SRCDIR=/data/src/freebsd-head +DEST=/data/scan-build +RELEASE=Release +MYFLAGS="__MAKE_CONF=/dev/null -m $SRCDIR/share/mk -DWITHOUT_PROFILE -DMODULES_WITH_WORLD" +MYFLAGS="$MYFLAGS -DWITHOUT_CLANG -DWITHOUT_LLVM -DWITH_HESIOD -DWITH_GPIO -DWITH_IDEA -DWITH_BSD_GREP -DWITH_ICONV -DWITH_OFED" +DATE=`date "+%Y-%m-%d"` +ARCH=`uname -p` + +LOCK=/tmp/scan.lock +trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15 +if ! shlock -p $$ -f ${LOCK}; then + echo "Locked by `cat ${LOCK}`, running too long? Please fix ..." >&2 + exit 1 +fi + +do_scan() +{ + local dir noclean output + dir=$1; shift + noclean=$1; shift + output=$1; shift + if [ -z "$DRY" ]; then + mkdir -p $output || exit 1 + if [ -z "$noclean" ]; then + make -j2 $MYFLAGS clean + make -j2 $MYFLAGS obj + fi + echo "-=-> scanning $dir at `date "+%Y-%m-%d %H:%M:%S"`" + /usr/bin/time -l \ + env CCC_ANALYZER_CHECKER_DEADCODE=0 \ + /data/src/llvm/$RELEASE/bin/scan-build \ + --use-cc /usr/obj$SRCDIR/tmp/usr/bin/cc \ + --use-c++ /usr/obj$SRCDIR/tmp/usr/bin/c++ \ + -k -o $output make -j4 $MYFLAGS "$@" + rmdir $output 2>/dev/null + else + echo "$dir -> $output" + fi +} + +recurse_dirs() +{ + local prefix noclean dir subdirs srcpath limit depth + limit=2 + prefix=$1; shift + noclean=$1; shift + set -- $* + for dir in $*; do + srcpath=$prefix/$dir + srcpath=${srcpath#/} + # only recurse, if 'make -n' returns exactly one line machting + # /^for entry in/, as then there's nothing to do here, but there are subdirs + ( + cd $dir + depth=`echo "/$srcpath" |tr -Cd /` + # pattern was found, and number of lines==1 + #echo $depth "${#depth}" "$limit" + if [ "${#depth}" -le "$limit" ] && \ + # grab MK_foo settings from head, not /usr/share/mk + make $MYFLAGS -n | awk '/for entry in/{found=1} END{if(found) exit NR-1; else exit 1}'; then + subdirs=`make $MYFLAGS -V SUBDIR` + recurse_dirs "$srcpath" "$noclean" `echo $subdirs` + else + do_scan "$srcpath" "$noclean" $DEST/${SRCDIR##*/}/$(echo $srcpath|tr / .) + fi + ) + done +} + +echo "-=-> scan-world started at `date "+%Y-%m-%d %H:%M:%S"`" + +if [ -z "$DRY" ]; then + cd /data/src/llvm +#./configure --enable-optimized --disable-assertions --disable-docs --enable-targets=host \ +# --with-c-include-dirs=/usr/obj$SRCDIR/tmp/usr/include \ +# --with-cxx-include-root=/usr/obj$SRCDIR/tmp/usr/include + gmake update + + echo "-=-> Building LLVM" + if ! gmake -j4; then + if ! gmake; then + echo "Error building LLVM, bailing out" 2>&1 + exit 1 + fi + fi + # Omit the dead store checker, too many positives to be useful + cp -p ./tools/clang/tools/scan-build/scan-build ./tools/clang/tools/scan-build/scanview.css \ + ./tools/clang/tools/scan-build/sorttable.js $RELEASE/bin +# && \ +# sed -i.bak -e '/check-dead-stores/d' -e '/check-idempotent-operations/d' \ +# -e '/check-objc-self-init/d' $RELEASE/bin/scan-build + # Turn off chatty/verbose progress output + cp -p ./tools/clang/tools/scan-build/ccc-analyzer $RELEASE/bin && \ + ln -sf ccc-analyzer $RELEASE/bin/c++-analyzer +# && \ +# sed -i.bak -e '/analyzer-display-progress/d' $RELEASE/bin/ccc-analyzer + echo "-=-> Updating source in $SRCDIR" + cd $SRCDIR && svn up + if [ $? != 0 ]; then + echo "Error during bootstrap" >&2 + exit 1 + fi +fi + +cd $SRCDIR || exit 1 + +if [ -z "$DRY" ]; then + echo "-=-> Populating .OBJDIR" + # make sure .OBJDIR is something else than $PWD + make $MYFLAGS obj >/dev/null + temp=`make $MYFLAGS -V .OBJDIR` + [ -n "$temp" ] && [ "$temp" != ".." ] && [ "$temp" != "$PWD" ] && echo "Removing $temp dir" && rm -rf $temp + + echo "-=-> Preparing build" + make $MYFLAGS _worldtmp _legacy _bootstrap-tools _cleanobj _obj _build-tools _cross-tools _includes _libraries _depend + if [ $? != 0 ]; then + echo "Error during bootstrap" >&2 + exit 1 + fi +fi + +# Need to have includes, as we hardcode clang for it, so no cleaning +echo "-=-> Building everything" +do_scan "$SRCDIR" "noclean" $DEST/${SRCDIR##*/}/WORLD -DNO_CLEAN -DNO_MODULES everything + +echo "-=-> Building everything (again, individually)" +recurse_dirs "" "" lib libexec bin games cddl gnu kerberos5 sbin secure sys usr.bin usr.sbin +( + for srcpath in cddl/usr.sbin/plockstat usr.bin/setchannel; do + cd $SRCDIR/$srcpath + do_scan "$srcpath" "" $DEST/${SRCDIR##*/}/$(echo $srcpath|tr / .) + done +) + +echo "-=-> Building GENERIC kernel" +do_scan "$SRCDIR" "noclean" $DEST/${SRCDIR##*/}/SYS.GENERIC -DNO_MODULES -DNO_CLEAN KERNCONF=GENERIC buildkernel + +echo "-=-> Building LINT kernel" +make -C sys/$ARCH/conf LINT +do_scan "$SRCDIR" "noclean" $DEST/${SRCDIR##*/}/SYS.LINT -DNO_MODULES -DNO_CLEAN KERNCONF=LINT buildkernel + +echo "-=-> scan-world finished at `date "+%Y-%m-%d %H:%M:%S"`" + +if [ -z "$DRY" ]; then + cd $DEST/${SRCDIR##*/} || exit 1 + + echo "-=-> Renaming output dirs" + find . -type d -name "${DATE}-[1-9]" -prune -exec sh -c 'd={}; mv "$d" "${d%-[1-9]}-'$ARCH'"' \; + + echo "-=-> Linking to LATEST" + rm -rf LATEST + mkdir LATEST + find * -type d -name "${DATE}-$ARCH" -prune -exec sh -c 'd={}; ln -s "../$d" "LATEST/`dirname $d`"' \; + + echo "-=-> Before compression" + df -k . + find . -not -name \*.gz -not -name \*.log -not -name README.html -not -name HEADER.html -type f -exec gzip -9n {} \; + echo "-=-> After compression" + df -k . + fdupes-hardlink . >/dev/null + echo "-=-> After deduping" + df -k . +fi Added: user/uqs/scan-world/scan-world-cron ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/uqs/scan-world/scan-world-cron Sun May 5 12:21:22 2013 (r250268) @@ -0,0 +1,29 @@ +#!/bin/sh + +today="`date +%Y-%m-%d`" +buildlog="$today-`uname -p`.log" + +cd /data/scan-build/freebsd-head && scan-world >$buildlog 2>&1 + +if [ $? != 0 ]; then + echo "Error during scan-world" >&2 + tail -100 $buildlog | mail -s"scan-world error" uqs@spoerlein.net + exit 1 +fi + +count=`egrep '^scan-build: [0-9]+ bugs found\.' $buildlog | awk '{sum+=$2} END{print sum}'` +notfound=`egrep -c 'No such file or directory' $buildlog` +dontknow=`egrep -c 'don.t know how to make' $buildlog` + +if [ -z "$count" ] || [ ! "$count" -gt 0 ]; then + echo "Error during scan-world, no bugs found" >&2 + tail -100 $buildlog | mail -s"scan-world error" uqs@spoerlein.net + exit 1 +fi + +[ -n "$count" ] && echo "
$today
$count potential bugs found
" >> HEADER.html + +( echo "Updated #FreeBSD and #llvm #clang scan-build results at http://scan.freebsd.your.org/freebsd-head claiming $count bugs found" + echo "notfound=$notfound dontknow=$dontknow date=$today" + df -m /data/scan-build +) | mail -s"`hostname` finished scan-world" uqs@spoerlein.net From owner-svn-src-user@FreeBSD.ORG Sun May 5 13:28:24 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EF13B674; Sun, 5 May 2013 13:28:24 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DEE1EE19; Sun, 5 May 2013 13:28:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45DSOmg090705; Sun, 5 May 2013 13:28:24 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45DSJSO090676; Sun, 5 May 2013 13:28:19 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305051328.r45DSJSO090676@svn.freebsd.org> From: Attilio Rao Date: Sun, 5 May 2013 13:28:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250269 - in user/attilio/vmcontention: . bin/cat bin/dd bin/df bin/domainname bin/hostname bin/kill bin/mkdir bin/rm bin/sh cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/o... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 13:28:25 -0000 Author: attilio Date: Sun May 5 13:28:18 2013 New Revision: 250269 URL: http://svnweb.freebsd.org/changeset/base/250269 Log: MFC Added: user/attilio/vmcontention/contrib/sendmail/libsm/t-fget.c - copied unchanged from r250268, head/contrib/sendmail/libsm/t-fget.c user/attilio/vmcontention/lib/msun/x86/ - copied from r250268, head/lib/msun/x86/ user/attilio/vmcontention/release/picobsd/floppy.tree/etc/ssh/ - copied from r250268, head/release/picobsd/floppy.tree/etc/ssh/ user/attilio/vmcontention/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250268, head/share/examples/BSD_daemon/beastie2.eps user/attilio/vmcontention/share/man/man4/man4.arm/devcfg.4 - copied unchanged from r250268, head/share/man/man4/man4.arm/devcfg.4 user/attilio/vmcontention/share/man/man4/ntb.4 - copied unchanged from r250268, head/share/man/man4/ntb.4 user/attilio/vmcontention/sys/arm/conf/ZEDBOARD - copied unchanged from r250268, head/sys/arm/conf/ZEDBOARD user/attilio/vmcontention/sys/arm/xilinx/ - copied from r250268, head/sys/arm/xilinx/ user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi - copied unchanged from r250268, head/sys/boot/fdt/dts/am335x.dtsi user/attilio/vmcontention/sys/boot/fdt/dts/zedboard.dts - copied unchanged from r250268, head/sys/boot/fdt/dts/zedboard.dts user/attilio/vmcontention/sys/contrib/dev/ath/ - copied from r250268, head/sys/contrib/dev/ath/ user/attilio/vmcontention/sys/dev/cadence/ - copied from r250268, head/sys/dev/cadence/ user/attilio/vmcontention/sys/dev/ntb/ - copied from r250268, head/sys/dev/ntb/ user/attilio/vmcontention/sys/dev/sdhci/sdhci_fdt.c - copied unchanged from r250268, head/sys/dev/sdhci/sdhci_fdt.c user/attilio/vmcontention/sys/modules/ntb/ - copied from r250268, head/sys/modules/ntb/ user/attilio/vmcontention/tools/regression/bin/sh/builtins/read7.0 - copied unchanged from r250268, head/tools/regression/bin/sh/builtins/read7.0 user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0.in - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.0.in user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.0.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0I.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.0I.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0J.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.0J.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0L.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.0L.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n1.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.n1.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n2.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.n2.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n3.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.n3.out user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.quotes.in - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.quotes.in user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.quotes.out - copied unchanged from r250268, head/tools/regression/usr.bin/xargs/regress.quotes.out user/attilio/vmcontention/tools/tools/ath/athalq/txdiff.pl - copied unchanged from r250268, head/tools/tools/ath/athalq/txdiff.pl Deleted: user/attilio/vmcontention/gnu/usr.bin/cc/f77/ user/attilio/vmcontention/gnu/usr.bin/cc/f771/ user/attilio/vmcontention/gnu/usr.bin/cc/f77doc/ user/attilio/vmcontention/lib/msun/amd64/fenv.h user/attilio/vmcontention/lib/msun/i387/fenv.h user/attilio/vmcontention/release/picobsd/floppy.tree/etc/sshd_config user/attilio/vmcontention/tools/build/options/WITH_IDEA Modified: user/attilio/vmcontention/MAINTAINERS (contents, props changed) user/attilio/vmcontention/Makefile.inc1 user/attilio/vmcontention/UPDATING user/attilio/vmcontention/bin/cat/cat.c user/attilio/vmcontention/bin/dd/dd.c user/attilio/vmcontention/bin/df/df.c user/attilio/vmcontention/bin/domainname/domainname.1 user/attilio/vmcontention/bin/hostname/hostname.c user/attilio/vmcontention/bin/kill/kill.c user/attilio/vmcontention/bin/mkdir/mkdir.c user/attilio/vmcontention/bin/rm/rm.1 user/attilio/vmcontention/bin/rm/rm.c user/attilio/vmcontention/bin/sh/input.c user/attilio/vmcontention/bin/sh/jobs.c user/attilio/vmcontention/bin/sh/main.c user/attilio/vmcontention/bin/sh/miscbltin.c user/attilio/vmcontention/bin/sh/redir.c user/attilio/vmcontention/bin/sh/sh.1 user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c user/attilio/vmcontention/contrib/binutils/binutils/arlex.l user/attilio/vmcontention/contrib/binutils/ld/ldlex.l user/attilio/vmcontention/contrib/bmake/var.c user/attilio/vmcontention/contrib/bsnmp/snmp_mibII/mibII.c user/attilio/vmcontention/contrib/libc++/CREDITS.TXT user/attilio/vmcontention/contrib/libc++/LICENSE.TXT user/attilio/vmcontention/contrib/libc++/include/__bit_reference user/attilio/vmcontention/contrib/libc++/include/__config user/attilio/vmcontention/contrib/libc++/include/__debug user/attilio/vmcontention/contrib/libc++/include/__functional_03 user/attilio/vmcontention/contrib/libc++/include/__functional_base user/attilio/vmcontention/contrib/libc++/include/__functional_base_03 user/attilio/vmcontention/contrib/libc++/include/__hash_table user/attilio/vmcontention/contrib/libc++/include/__locale user/attilio/vmcontention/contrib/libc++/include/__mutex_base user/attilio/vmcontention/contrib/libc++/include/__std_stream user/attilio/vmcontention/contrib/libc++/include/__tree user/attilio/vmcontention/contrib/libc++/include/__tuple user/attilio/vmcontention/contrib/libc++/include/__tuple_03 user/attilio/vmcontention/contrib/libc++/include/algorithm user/attilio/vmcontention/contrib/libc++/include/array user/attilio/vmcontention/contrib/libc++/include/bitset user/attilio/vmcontention/contrib/libc++/include/chrono user/attilio/vmcontention/contrib/libc++/include/codecvt user/attilio/vmcontention/contrib/libc++/include/complex user/attilio/vmcontention/contrib/libc++/include/condition_variable user/attilio/vmcontention/contrib/libc++/include/cstddef user/attilio/vmcontention/contrib/libc++/include/cstring user/attilio/vmcontention/contrib/libc++/include/cwchar user/attilio/vmcontention/contrib/libc++/include/deque user/attilio/vmcontention/contrib/libc++/include/exception user/attilio/vmcontention/contrib/libc++/include/ext/__hash user/attilio/vmcontention/contrib/libc++/include/ext/hash_map user/attilio/vmcontention/contrib/libc++/include/ext/hash_set user/attilio/vmcontention/contrib/libc++/include/forward_list user/attilio/vmcontention/contrib/libc++/include/fstream user/attilio/vmcontention/contrib/libc++/include/functional user/attilio/vmcontention/contrib/libc++/include/future user/attilio/vmcontention/contrib/libc++/include/initializer_list user/attilio/vmcontention/contrib/libc++/include/ios user/attilio/vmcontention/contrib/libc++/include/iosfwd user/attilio/vmcontention/contrib/libc++/include/iostream user/attilio/vmcontention/contrib/libc++/include/istream user/attilio/vmcontention/contrib/libc++/include/iterator user/attilio/vmcontention/contrib/libc++/include/limits user/attilio/vmcontention/contrib/libc++/include/list user/attilio/vmcontention/contrib/libc++/include/locale user/attilio/vmcontention/contrib/libc++/include/map user/attilio/vmcontention/contrib/libc++/include/memory user/attilio/vmcontention/contrib/libc++/include/mutex user/attilio/vmcontention/contrib/libc++/include/new user/attilio/vmcontention/contrib/libc++/include/ostream user/attilio/vmcontention/contrib/libc++/include/queue user/attilio/vmcontention/contrib/libc++/include/random user/attilio/vmcontention/contrib/libc++/include/ratio user/attilio/vmcontention/contrib/libc++/include/regex user/attilio/vmcontention/contrib/libc++/include/scoped_allocator user/attilio/vmcontention/contrib/libc++/include/set user/attilio/vmcontention/contrib/libc++/include/sstream user/attilio/vmcontention/contrib/libc++/include/stack user/attilio/vmcontention/contrib/libc++/include/streambuf user/attilio/vmcontention/contrib/libc++/include/string user/attilio/vmcontention/contrib/libc++/include/strstream user/attilio/vmcontention/contrib/libc++/include/system_error user/attilio/vmcontention/contrib/libc++/include/thread user/attilio/vmcontention/contrib/libc++/include/tuple user/attilio/vmcontention/contrib/libc++/include/type_traits user/attilio/vmcontention/contrib/libc++/include/typeindex user/attilio/vmcontention/contrib/libc++/include/unordered_map user/attilio/vmcontention/contrib/libc++/include/unordered_set user/attilio/vmcontention/contrib/libc++/include/utility user/attilio/vmcontention/contrib/libc++/include/valarray user/attilio/vmcontention/contrib/libc++/include/vector user/attilio/vmcontention/contrib/libc++/src/chrono.cpp user/attilio/vmcontention/contrib/libc++/src/debug.cpp user/attilio/vmcontention/contrib/libc++/src/exception.cpp user/attilio/vmcontention/contrib/libc++/src/hash.cpp user/attilio/vmcontention/contrib/libc++/src/iostream.cpp user/attilio/vmcontention/contrib/libc++/src/locale.cpp user/attilio/vmcontention/contrib/libc++/src/memory.cpp user/attilio/vmcontention/contrib/libc++/src/new.cpp user/attilio/vmcontention/contrib/libc++/src/stdexcept.cpp user/attilio/vmcontention/contrib/libc++/src/string.cpp user/attilio/vmcontention/contrib/libc++/src/strstream.cpp user/attilio/vmcontention/contrib/libc++/src/system_error.cpp user/attilio/vmcontention/contrib/libc++/src/thread.cpp user/attilio/vmcontention/contrib/libc++/src/typeinfo.cpp user/attilio/vmcontention/contrib/libcxxrt/atomic.h user/attilio/vmcontention/contrib/libcxxrt/exception.cc user/attilio/vmcontention/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp user/attilio/vmcontention/contrib/sendmail/CACerts user/attilio/vmcontention/contrib/sendmail/FREEBSD-upgrade user/attilio/vmcontention/contrib/sendmail/PGPKEYS user/attilio/vmcontention/contrib/sendmail/RELEASE_NOTES user/attilio/vmcontention/contrib/sendmail/cf/cf/submit.cf user/attilio/vmcontention/contrib/sendmail/cf/m4/version.m4 user/attilio/vmcontention/contrib/sendmail/contrib/etrn.pl user/attilio/vmcontention/contrib/sendmail/doc/op/op.me user/attilio/vmcontention/contrib/sendmail/include/sm/config.h user/attilio/vmcontention/contrib/sendmail/include/sm/io.h user/attilio/vmcontention/contrib/sendmail/libmilter/Makefile.m4 user/attilio/vmcontention/contrib/sendmail/libmilter/sm_gethost.c user/attilio/vmcontention/contrib/sendmail/libsm/Makefile.m4 user/attilio/vmcontention/contrib/sendmail/libsm/cf.c user/attilio/vmcontention/contrib/sendmail/libsm/fget.c user/attilio/vmcontention/contrib/sendmail/mailstats/mailstats.c user/attilio/vmcontention/contrib/sendmail/makemap/makemap.c user/attilio/vmcontention/contrib/sendmail/praliases/praliases.c user/attilio/vmcontention/contrib/sendmail/rmail/rmail.c user/attilio/vmcontention/contrib/sendmail/src/Makefile.m4 user/attilio/vmcontention/contrib/sendmail/src/alias.c user/attilio/vmcontention/contrib/sendmail/src/collect.c user/attilio/vmcontention/contrib/sendmail/src/conf.c user/attilio/vmcontention/contrib/sendmail/src/control.c user/attilio/vmcontention/contrib/sendmail/src/deliver.c user/attilio/vmcontention/contrib/sendmail/src/main.c user/attilio/vmcontention/contrib/sendmail/src/map.c user/attilio/vmcontention/contrib/sendmail/src/mci.c user/attilio/vmcontention/contrib/sendmail/src/milter.c user/attilio/vmcontention/contrib/sendmail/src/mime.c user/attilio/vmcontention/contrib/sendmail/src/parseaddr.c user/attilio/vmcontention/contrib/sendmail/src/queue.c user/attilio/vmcontention/contrib/sendmail/src/readcf.c user/attilio/vmcontention/contrib/sendmail/src/recipient.c user/attilio/vmcontention/contrib/sendmail/src/savemail.c user/attilio/vmcontention/contrib/sendmail/src/sendmail.h user/attilio/vmcontention/contrib/sendmail/src/sfsasl.c user/attilio/vmcontention/contrib/sendmail/src/srvrsmtp.c user/attilio/vmcontention/contrib/sendmail/src/tls.c user/attilio/vmcontention/contrib/sendmail/src/usersmtp.c user/attilio/vmcontention/contrib/sendmail/src/util.c user/attilio/vmcontention/contrib/sendmail/src/version.c user/attilio/vmcontention/contrib/sendmail/test/Makefile.m4 user/attilio/vmcontention/contrib/sendmail/vacation/vacation.c user/attilio/vmcontention/contrib/smbfs/lib/smb/ctx.c user/attilio/vmcontention/contrib/smbfs/mount_smbfs/mount_smbfs.c user/attilio/vmcontention/crypto/openssh/readconf.c user/attilio/vmcontention/crypto/openssh/readconf.h user/attilio/vmcontention/crypto/openssh/ssh.c user/attilio/vmcontention/etc/Makefile user/attilio/vmcontention/etc/rc.d/ip6addrctl user/attilio/vmcontention/etc/rc.d/mountlate user/attilio/vmcontention/etc/sendmail/freebsd.mc user/attilio/vmcontention/etc/sendmail/freebsd.submit.mc user/attilio/vmcontention/gnu/usr.bin/gdb/kgdb/trgt_mips.c user/attilio/vmcontention/include/stringlist.h user/attilio/vmcontention/include/tgmath.h user/attilio/vmcontention/include/unistd.h user/attilio/vmcontention/kerberos5/lib/libgssapi_krb5/pname_to_uid.c user/attilio/vmcontention/lib/Makefile user/attilio/vmcontention/lib/clang/include/llvm/Config/config.h user/attilio/vmcontention/lib/libc/gen/errlst.c user/attilio/vmcontention/lib/libc/gen/stringlist.3 user/attilio/vmcontention/lib/libc/gen/stringlist.c user/attilio/vmcontention/lib/libc/gen/sysconf.3 user/attilio/vmcontention/lib/libc/locale/duplocale.3 user/attilio/vmcontention/lib/libc/locale/freelocale.3 user/attilio/vmcontention/lib/libc/locale/newlocale.3 user/attilio/vmcontention/lib/libc/locale/querylocale.3 user/attilio/vmcontention/lib/libc/locale/uselocale.3 user/attilio/vmcontention/lib/libc/locale/xlocale.3 user/attilio/vmcontention/lib/libc/net/nslexer.l user/attilio/vmcontention/lib/libc/nls/C.msg user/attilio/vmcontention/lib/libc/stdio/asprintf.c user/attilio/vmcontention/lib/libc/stdio/clrerr.c user/attilio/vmcontention/lib/libc/stdio/fclose.c user/attilio/vmcontention/lib/libc/stdio/fdopen.c user/attilio/vmcontention/lib/libc/stdio/feof.c user/attilio/vmcontention/lib/libc/stdio/ferror.c user/attilio/vmcontention/lib/libc/stdio/fflush.c user/attilio/vmcontention/lib/libc/stdio/fgetc.c user/attilio/vmcontention/lib/libc/stdio/fgetln.c user/attilio/vmcontention/lib/libc/stdio/fgetpos.c user/attilio/vmcontention/lib/libc/stdio/fgets.c user/attilio/vmcontention/lib/libc/stdio/fileno.c user/attilio/vmcontention/lib/libc/stdio/findfp.c user/attilio/vmcontention/lib/libc/stdio/flags.c user/attilio/vmcontention/lib/libc/stdio/fopen.c user/attilio/vmcontention/lib/libc/stdio/fprintf.c user/attilio/vmcontention/lib/libc/stdio/fpurge.c user/attilio/vmcontention/lib/libc/stdio/fputc.c user/attilio/vmcontention/lib/libc/stdio/fputs.c user/attilio/vmcontention/lib/libc/stdio/fread.c user/attilio/vmcontention/lib/libc/stdio/freopen.c user/attilio/vmcontention/lib/libc/stdio/fscanf.c user/attilio/vmcontention/lib/libc/stdio/fseek.c user/attilio/vmcontention/lib/libc/stdio/fsetpos.c user/attilio/vmcontention/lib/libc/stdio/ftell.c user/attilio/vmcontention/lib/libc/stdio/funopen.c user/attilio/vmcontention/lib/libc/stdio/fvwrite.c user/attilio/vmcontention/lib/libc/stdio/fwalk.c user/attilio/vmcontention/lib/libc/stdio/fwrite.c user/attilio/vmcontention/lib/libc/stdio/getc.c user/attilio/vmcontention/lib/libc/stdio/getchar.c user/attilio/vmcontention/lib/libc/stdio/gets.c user/attilio/vmcontention/lib/libc/stdio/getw.c user/attilio/vmcontention/lib/libc/stdio/makebuf.c user/attilio/vmcontention/lib/libc/stdio/mktemp.c user/attilio/vmcontention/lib/libc/stdio/perror.c user/attilio/vmcontention/lib/libc/stdio/printf-pos.c user/attilio/vmcontention/lib/libc/stdio/printf.c user/attilio/vmcontention/lib/libc/stdio/putc.c user/attilio/vmcontention/lib/libc/stdio/putchar.c user/attilio/vmcontention/lib/libc/stdio/puts.c user/attilio/vmcontention/lib/libc/stdio/putw.c user/attilio/vmcontention/lib/libc/stdio/refill.c user/attilio/vmcontention/lib/libc/stdio/remove.c user/attilio/vmcontention/lib/libc/stdio/rewind.c user/attilio/vmcontention/lib/libc/stdio/rget.c user/attilio/vmcontention/lib/libc/stdio/scanf.c user/attilio/vmcontention/lib/libc/stdio/setbuf.c user/attilio/vmcontention/lib/libc/stdio/setbuffer.c user/attilio/vmcontention/lib/libc/stdio/setvbuf.c user/attilio/vmcontention/lib/libc/stdio/snprintf.c user/attilio/vmcontention/lib/libc/stdio/sprintf.c user/attilio/vmcontention/lib/libc/stdio/sscanf.c user/attilio/vmcontention/lib/libc/stdio/stdio.c user/attilio/vmcontention/lib/libc/stdio/tempnam.c user/attilio/vmcontention/lib/libc/stdio/tmpfile.c user/attilio/vmcontention/lib/libc/stdio/tmpnam.c user/attilio/vmcontention/lib/libc/stdio/ungetc.c user/attilio/vmcontention/lib/libc/stdio/vfprintf.c user/attilio/vmcontention/lib/libc/stdio/vfscanf.c user/attilio/vmcontention/lib/libc/stdio/vfwprintf.c user/attilio/vmcontention/lib/libc/stdio/vfwscanf.c user/attilio/vmcontention/lib/libc/stdio/vprintf.c user/attilio/vmcontention/lib/libc/stdio/vscanf.c user/attilio/vmcontention/lib/libc/stdio/vsnprintf.c user/attilio/vmcontention/lib/libc/stdio/vsprintf.c user/attilio/vmcontention/lib/libc/stdio/vsscanf.c user/attilio/vmcontention/lib/libc/stdio/vswscanf.c user/attilio/vmcontention/lib/libc/stdio/wbuf.c user/attilio/vmcontention/lib/libc/stdio/wsetup.c user/attilio/vmcontention/lib/libc/stdlib/lsearch.3 user/attilio/vmcontention/lib/libc/sys/Makefile.inc user/attilio/vmcontention/lib/libc/sys/Symbol.map user/attilio/vmcontention/lib/libc/sys/accept.2 user/attilio/vmcontention/lib/libc/sys/cpuset.2 user/attilio/vmcontention/lib/libc/sys/cpuset_getaffinity.2 user/attilio/vmcontention/lib/libc/sys/dup.2 user/attilio/vmcontention/lib/libc/sys/getdtablesize.2 user/attilio/vmcontention/lib/libc/sys/intro.2 user/attilio/vmcontention/lib/libc/sys/pipe.2 user/attilio/vmcontention/lib/libcompiler_rt/Makefile user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_add_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_add_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_and_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_and_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_op_n.h user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_or_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_or_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_sub_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_sub_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_xor_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_fetch_and_xor_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_lock_test_and_set_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_lock_test_and_set_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c user/attilio/vmcontention/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h user/attilio/vmcontention/lib/libipsec/policy_token.l user/attilio/vmcontention/lib/libkvm/kvm.c user/attilio/vmcontention/lib/libpmc/Makefile user/attilio/vmcontention/lib/libprocstat/Symbol.map user/attilio/vmcontention/lib/libprocstat/core.c user/attilio/vmcontention/lib/libprocstat/libprocstat.3 user/attilio/vmcontention/lib/libprocstat/libprocstat.c user/attilio/vmcontention/lib/libprocstat/libprocstat.h user/attilio/vmcontention/lib/libstand/Makefile user/attilio/vmcontention/lib/libstand/mips/_setjmp.S user/attilio/vmcontention/lib/libthr/pthread.map user/attilio/vmcontention/lib/libthr/thread/thr_sig.c user/attilio/vmcontention/lib/libthr/thread/thr_syscalls.c user/attilio/vmcontention/lib/libthr/thread/thr_umtx.h user/attilio/vmcontention/lib/libusb/Makefile user/attilio/vmcontention/lib/libusb/libusb20.3 user/attilio/vmcontention/lib/libusb/libusb20.c user/attilio/vmcontention/lib/libusb/libusb20.h user/attilio/vmcontention/lib/libusb/libusb20_int.h user/attilio/vmcontention/lib/libusb/libusb20_ugen20.c user/attilio/vmcontention/lib/libvmmapi/vmmapi.c user/attilio/vmcontention/lib/libvmmapi/vmmapi.h user/attilio/vmcontention/lib/libz/ChangeLog user/attilio/vmcontention/lib/libz/README user/attilio/vmcontention/lib/libz/Symbol.map user/attilio/vmcontention/lib/libz/Versions.def user/attilio/vmcontention/lib/libz/compress.c user/attilio/vmcontention/lib/libz/contrib/README.contrib user/attilio/vmcontention/lib/libz/deflate.c user/attilio/vmcontention/lib/libz/deflate.h user/attilio/vmcontention/lib/libz/gzguts.h user/attilio/vmcontention/lib/libz/gzlib.c user/attilio/vmcontention/lib/libz/gzread.c user/attilio/vmcontention/lib/libz/gzwrite.c user/attilio/vmcontention/lib/libz/infback.c user/attilio/vmcontention/lib/libz/inffast.c user/attilio/vmcontention/lib/libz/inflate.c user/attilio/vmcontention/lib/libz/inftrees.c user/attilio/vmcontention/lib/libz/test/example.c user/attilio/vmcontention/lib/libz/test/minigzip.c user/attilio/vmcontention/lib/libz/trees.c user/attilio/vmcontention/lib/libz/uncompr.c user/attilio/vmcontention/lib/libz/zconf.h user/attilio/vmcontention/lib/libz/zlib.3 user/attilio/vmcontention/lib/libz/zlib.h user/attilio/vmcontention/lib/libz/zutil.c user/attilio/vmcontention/lib/libz/zutil.h user/attilio/vmcontention/lib/msun/Makefile user/attilio/vmcontention/libexec/rtld-elf/rtld.c user/attilio/vmcontention/release/doc/en_US.ISO8859-1/relnotes/article.xml user/attilio/vmcontention/release/picobsd/floppy.tree/etc/master.passwd user/attilio/vmcontention/sbin/camcontrol/camcontrol.8 user/attilio/vmcontention/sbin/camcontrol/camcontrol.c user/attilio/vmcontention/sbin/devd/devd.cc user/attilio/vmcontention/sbin/devd/devd.h user/attilio/vmcontention/sbin/devd/token.l user/attilio/vmcontention/sbin/devfs/devfs.8 user/attilio/vmcontention/sbin/dhclient/packet.c user/attilio/vmcontention/sbin/dumpon/dumpon.8 user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.8 user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.c user/attilio/vmcontention/sbin/fsck_ffs/fsck.h user/attilio/vmcontention/sbin/fsck_ffs/fsck_ffs.8 user/attilio/vmcontention/sbin/fsck_ffs/fsutil.c user/attilio/vmcontention/sbin/fsck_ffs/main.c user/attilio/vmcontention/sbin/fsck_ffs/pass5.c user/attilio/vmcontention/sbin/geom/class/label/glabel.8 user/attilio/vmcontention/sbin/hastctl/hastctl.c user/attilio/vmcontention/sbin/hastd/primary.c user/attilio/vmcontention/sbin/hastd/refcnt.h user/attilio/vmcontention/sbin/ifconfig/iflagg.c user/attilio/vmcontention/sbin/mount/mount.8 user/attilio/vmcontention/sbin/mount/mount.c user/attilio/vmcontention/sbin/newfs_nandfs/newfs_nandfs.c user/attilio/vmcontention/sbin/ping6/ping6.8 user/attilio/vmcontention/sbin/ping6/ping6.c user/attilio/vmcontention/sbin/tunefs/tunefs.c user/attilio/vmcontention/secure/Makefile.inc user/attilio/vmcontention/secure/lib/libcrypto/Makefile user/attilio/vmcontention/secure/lib/libcrypto/Makefile.inc user/attilio/vmcontention/share/examples/BSD_daemon/README user/attilio/vmcontention/share/examples/etc/make.conf user/attilio/vmcontention/share/man/man3/pthread_affinity_np.3 user/attilio/vmcontention/share/man/man3/pthread_attr_affinity_np.3 user/attilio/vmcontention/share/man/man4/Makefile user/attilio/vmcontention/share/man/man4/em.4 user/attilio/vmcontention/share/man/man4/igb.4 user/attilio/vmcontention/share/man/man4/ixgb.4 user/attilio/vmcontention/share/man/man4/ixgbe.4 user/attilio/vmcontention/share/man/man4/man4.arm/Makefile user/attilio/vmcontention/share/man/man4/man4.i386/npx.4 user/attilio/vmcontention/share/man/man4/syscons.4 user/attilio/vmcontention/share/man/man4/usb_quirk.4 user/attilio/vmcontention/share/man/man5/make.conf.5 user/attilio/vmcontention/share/man/man5/procfs.5 user/attilio/vmcontention/share/man/man9/counter.9 user/attilio/vmcontention/share/man/man9/ifnet.9 user/attilio/vmcontention/share/misc/bsd-family-tree user/attilio/vmcontention/share/misc/committers-src.dot user/attilio/vmcontention/share/misc/iso639 user/attilio/vmcontention/share/mk/bsd.own.mk user/attilio/vmcontention/share/mk/bsd.progs.mk user/attilio/vmcontention/share/syscons/keymaps/us.dvorakp.kbd user/attilio/vmcontention/sys/amd64/amd64/fpu.c user/attilio/vmcontention/sys/amd64/conf/NOTES user/attilio/vmcontention/sys/amd64/include/vmm.h (contents, props changed) user/attilio/vmcontention/sys/amd64/vmm/intel/vmcs.c user/attilio/vmcontention/sys/amd64/vmm/intel/vmcs.h user/attilio/vmcontention/sys/amd64/vmm/intel/vmx.c user/attilio/vmcontention/sys/amd64/vmm/vmm.c user/attilio/vmcontention/sys/amd64/vmm/vmm_instruction_emul.c user/attilio/vmcontention/sys/arm/arm/cpufunc.c user/attilio/vmcontention/sys/arm/arm/db_trace.c user/attilio/vmcontention/sys/arm/arm/exception.S user/attilio/vmcontention/sys/arm/arm/gic.c user/attilio/vmcontention/sys/arm/arm/identcpu.c user/attilio/vmcontention/sys/arm/arm/locore.S user/attilio/vmcontention/sys/arm/arm/swtch.S user/attilio/vmcontention/sys/arm/arm/trap.c user/attilio/vmcontention/sys/arm/broadcom/bcm2835/bcm2835_dma.c user/attilio/vmcontention/sys/arm/include/armreg.h user/attilio/vmcontention/sys/boot/common/module.c user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone.dts user/attilio/vmcontention/sys/boot/i386/btx/btx/btx.S user/attilio/vmcontention/sys/boot/pc98/btx/btx/btx.S user/attilio/vmcontention/sys/cam/ata/ata_da.c user/attilio/vmcontention/sys/cam/cam_periph.c user/attilio/vmcontention/sys/cam/ctl/ctl_frontend_internal.c user/attilio/vmcontention/sys/cam/scsi/scsi_all.c user/attilio/vmcontention/sys/cam/scsi/scsi_all.h user/attilio/vmcontention/sys/cam/scsi/scsi_da.c user/attilio/vmcontention/sys/cam/scsi/scsi_xpt.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_proto.h user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_syscall.h user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_syscalls.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_sysent.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_systrace_args.c user/attilio/vmcontention/sys/compat/freebsd32/syscalls.master user/attilio/vmcontention/sys/conf/NOTES user/attilio/vmcontention/sys/conf/files user/attilio/vmcontention/sys/conf/files.amd64 user/attilio/vmcontention/sys/conf/files.powerpc user/attilio/vmcontention/sys/conf/kern.pre.mk user/attilio/vmcontention/sys/conf/options user/attilio/vmcontention/sys/conf/options.mips user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-mgmt-port.h user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-usbd.c user/attilio/vmcontention/sys/dev/acpi_support/acpi_hp.c user/attilio/vmcontention/sys/dev/acpi_support/acpi_toshiba.c user/attilio/vmcontention/sys/dev/acpica/acpi.c user/attilio/vmcontention/sys/dev/acpica/acpi_pci_link.c user/attilio/vmcontention/sys/dev/ahci/ahci.c user/attilio/vmcontention/sys/dev/altera/jtag_uart/altera_jtag_uart.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ah.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_devid.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h user/attilio/vmcontention/sys/dev/ath/if_ath.c user/attilio/vmcontention/sys/dev/ath/if_ath_tx.c user/attilio/vmcontention/sys/dev/bktr/bktr_core.c user/attilio/vmcontention/sys/dev/bktr/msp34xx.c user/attilio/vmcontention/sys/dev/cfi/cfi_bus_fdt.c user/attilio/vmcontention/sys/dev/cfi/cfi_core.c user/attilio/vmcontention/sys/dev/ciss/ciss.c user/attilio/vmcontention/sys/dev/cxgbe/adapter.h user/attilio/vmcontention/sys/dev/cxgbe/common/common.h user/attilio/vmcontention/sys/dev/cxgbe/common/t4_hw.c user/attilio/vmcontention/sys/dev/cxgbe/firmware/t4fw_interface.h user/attilio/vmcontention/sys/dev/cxgbe/osdep.h user/attilio/vmcontention/sys/dev/cxgbe/t4_main.c user/attilio/vmcontention/sys/dev/cxgbe/tom/t4_cpl_io.c user/attilio/vmcontention/sys/dev/cxgbe/tom/t4_ddp.c user/attilio/vmcontention/sys/dev/cxgbe/tom/t4_tom.h user/attilio/vmcontention/sys/dev/drm/mach64_dma.c user/attilio/vmcontention/sys/dev/e1000/README user/attilio/vmcontention/sys/dev/e1000/if_em.c user/attilio/vmcontention/sys/dev/e1000/if_igb.c user/attilio/vmcontention/sys/dev/e1000/if_lem.c user/attilio/vmcontention/sys/dev/etherswitch/arswitch/arswitch.c user/attilio/vmcontention/sys/dev/etherswitch/etherswitch.h user/attilio/vmcontention/sys/dev/etherswitch/rtl8366/rtl8366rb.c user/attilio/vmcontention/sys/dev/hptiop/hptiop.c user/attilio/vmcontention/sys/dev/hptiop/hptiop.h user/attilio/vmcontention/sys/dev/hptmv/entry.c user/attilio/vmcontention/sys/dev/hptrr/hptrr_osm_bsd.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_core.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_intel.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_mod.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_soft.c user/attilio/vmcontention/sys/dev/hwpmc/pmc_events.h user/attilio/vmcontention/sys/dev/iicbus/if_ic.c user/attilio/vmcontention/sys/dev/ixgb/README user/attilio/vmcontention/sys/dev/ixgbe/ixgbe.c user/attilio/vmcontention/sys/dev/lmc/if_lmc.c user/attilio/vmcontention/sys/dev/lmc/if_lmc.h user/attilio/vmcontention/sys/dev/mmc/mmc.c user/attilio/vmcontention/sys/dev/mps/mps_mapping.c user/attilio/vmcontention/sys/dev/mpt/mpt_pci.c user/attilio/vmcontention/sys/dev/netmap/if_em_netmap.h user/attilio/vmcontention/sys/dev/netmap/if_igb_netmap.h user/attilio/vmcontention/sys/dev/netmap/if_lem_netmap.h user/attilio/vmcontention/sys/dev/netmap/if_re_netmap.h user/attilio/vmcontention/sys/dev/netmap/ixgbe_netmap.h user/attilio/vmcontention/sys/dev/netmap/netmap.c user/attilio/vmcontention/sys/dev/netmap/netmap_kern.h user/attilio/vmcontention/sys/dev/netmap/netmap_mem2.c user/attilio/vmcontention/sys/dev/ppbus/if_plip.c user/attilio/vmcontention/sys/dev/re/if_re.c user/attilio/vmcontention/sys/dev/sound/usb/uaudio.c user/attilio/vmcontention/sys/dev/uart/uart.h user/attilio/vmcontention/sys/dev/uart/uart_bus_fdt.c user/attilio/vmcontention/sys/dev/uart/uart_bus_pci.c user/attilio/vmcontention/sys/dev/uart/uart_subr.c user/attilio/vmcontention/sys/dev/usb/controller/ohci_pci.c user/attilio/vmcontention/sys/dev/usb/controller/usb_controller.c user/attilio/vmcontention/sys/dev/usb/controller/xhci.c user/attilio/vmcontention/sys/dev/usb/net/if_usie.c user/attilio/vmcontention/sys/dev/usb/net/uhso.c user/attilio/vmcontention/sys/dev/usb/template/usb_template.c user/attilio/vmcontention/sys/dev/usb/usb_debug.h user/attilio/vmcontention/sys/dev/usb/usb_device.c user/attilio/vmcontention/sys/dev/usb/usb_device.h user/attilio/vmcontention/sys/dev/usb/usb_dynamic.c user/attilio/vmcontention/sys/dev/usb/usb_freebsd.h user/attilio/vmcontention/sys/dev/usb/usb_freebsd_loader.h user/attilio/vmcontention/sys/dev/usb/usb_generic.c user/attilio/vmcontention/sys/dev/usb/usb_hub.c user/attilio/vmcontention/sys/dev/usb/usb_hub.h user/attilio/vmcontention/sys/dev/usb/usb_ioctl.h user/attilio/vmcontention/sys/dev/usb/usb_parse.c user/attilio/vmcontention/sys/dev/usb/usb_process.h user/attilio/vmcontention/sys/dev/usb/usb_request.c user/attilio/vmcontention/sys/dev/usb/usb_request.h user/attilio/vmcontention/sys/fs/msdosfs/msdosfs_denode.c user/attilio/vmcontention/sys/fs/msdosfs/msdosfs_vnops.c user/attilio/vmcontention/sys/fs/nfsserver/nfs_nfsdport.c user/attilio/vmcontention/sys/fs/smbfs/smbfs.h user/attilio/vmcontention/sys/fs/smbfs/smbfs_io.c user/attilio/vmcontention/sys/fs/smbfs/smbfs_vfsops.c user/attilio/vmcontention/sys/fs/tmpfs/tmpfs.h user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_subr.c user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/vmcontention/sys/geom/geom_dev.c user/attilio/vmcontention/sys/geom/geom_disk.c user/attilio/vmcontention/sys/geom/geom_disk.h user/attilio/vmcontention/sys/geom/label/g_label_ntfs.c user/attilio/vmcontention/sys/geom/raid/g_raid.c user/attilio/vmcontention/sys/i386/include/param.h user/attilio/vmcontention/sys/kern/capabilities.conf user/attilio/vmcontention/sys/kern/imgact_elf.c user/attilio/vmcontention/sys/kern/init_sysent.c user/attilio/vmcontention/sys/kern/kern_descrip.c user/attilio/vmcontention/sys/kern/kern_mbuf.c user/attilio/vmcontention/sys/kern/sys_pipe.c user/attilio/vmcontention/sys/kern/syscalls.c user/attilio/vmcontention/sys/kern/syscalls.master user/attilio/vmcontention/sys/kern/systrace_args.c user/attilio/vmcontention/sys/kern/uipc_sem.c user/attilio/vmcontention/sys/kern/uipc_socket.c user/attilio/vmcontention/sys/kern/uipc_syscalls.c user/attilio/vmcontention/sys/kern/vfs_subr.c user/attilio/vmcontention/sys/kern/vfs_vnops.c user/attilio/vmcontention/sys/kgssapi/krb5/krb5_mech.c user/attilio/vmcontention/sys/mips/atheros/ar71xx_gpio.c user/attilio/vmcontention/sys/mips/cavium/octe/ethernet-common.c user/attilio/vmcontention/sys/mips/cavium/octe/wrapper-cvmx-includes.h user/attilio/vmcontention/sys/mips/cavium/uart_dev_oct16550.c user/attilio/vmcontention/sys/mips/include/asm.h user/attilio/vmcontention/sys/mips/include/cpufunc.h user/attilio/vmcontention/sys/mips/include/frame.h user/attilio/vmcontention/sys/mips/include/pcb.h user/attilio/vmcontention/sys/mips/include/regdef.h user/attilio/vmcontention/sys/mips/include/regnum.h user/attilio/vmcontention/sys/mips/mips/bus_space_generic.c user/attilio/vmcontention/sys/mips/mips/db_interface.c user/attilio/vmcontention/sys/mips/mips/db_trace.c user/attilio/vmcontention/sys/mips/mips/support.S user/attilio/vmcontention/sys/mips/mips/swtch.S user/attilio/vmcontention/sys/mips/mips/trap.c user/attilio/vmcontention/sys/mips/mips/vm_machdep.c user/attilio/vmcontention/sys/modules/Makefile user/attilio/vmcontention/sys/modules/ath/Makefile user/attilio/vmcontention/sys/modules/uart/Makefile user/attilio/vmcontention/sys/net/ethernet.h user/attilio/vmcontention/sys/net/if.c user/attilio/vmcontention/sys/net/if_arc.h user/attilio/vmcontention/sys/net/if_arcsubr.c user/attilio/vmcontention/sys/net/if_atm.h user/attilio/vmcontention/sys/net/if_atmsubr.c user/attilio/vmcontention/sys/net/if_dead.c user/attilio/vmcontention/sys/net/if_disc.c user/attilio/vmcontention/sys/net/if_ef.c user/attilio/vmcontention/sys/net/if_enc.c user/attilio/vmcontention/sys/net/if_ethersubr.c user/attilio/vmcontention/sys/net/if_faith.c user/attilio/vmcontention/sys/net/if_fddisubr.c user/attilio/vmcontention/sys/net/if_fwsubr.c user/attilio/vmcontention/sys/net/if_gif.c user/attilio/vmcontention/sys/net/if_gif.h user/attilio/vmcontention/sys/net/if_gre.c user/attilio/vmcontention/sys/net/if_iso88025subr.c user/attilio/vmcontention/sys/net/if_lagg.c user/attilio/vmcontention/sys/net/if_lagg.h user/attilio/vmcontention/sys/net/if_loop.c user/attilio/vmcontention/sys/net/if_spppsubr.c user/attilio/vmcontention/sys/net/if_stf.c user/attilio/vmcontention/sys/net/if_tun.c user/attilio/vmcontention/sys/net/if_var.h user/attilio/vmcontention/sys/net/iso88025.h user/attilio/vmcontention/sys/net/netmap.h user/attilio/vmcontention/sys/net/netmap_user.h user/attilio/vmcontention/sys/net80211/ieee80211.c user/attilio/vmcontention/sys/net80211/ieee80211_output.c user/attilio/vmcontention/sys/net80211/ieee80211_proto.h user/attilio/vmcontention/sys/net80211/ieee80211_var.h user/attilio/vmcontention/sys/netatalk/aarp.c user/attilio/vmcontention/sys/netatalk/aarp.h user/attilio/vmcontention/sys/netatalk/at_control.c user/attilio/vmcontention/sys/netatalk/at_extern.h user/attilio/vmcontention/sys/netgraph/ng_fec.c user/attilio/vmcontention/sys/netgraph/ng_iface.c user/attilio/vmcontention/sys/netinet/icmp6.h user/attilio/vmcontention/sys/netinet/if_atm.c user/attilio/vmcontention/sys/netinet/if_atm.h user/attilio/vmcontention/sys/netinet/if_ether.c user/attilio/vmcontention/sys/netinet/if_ether.h user/attilio/vmcontention/sys/netinet/in.c user/attilio/vmcontention/sys/netinet/in.h user/attilio/vmcontention/sys/netinet/ip_carp.c user/attilio/vmcontention/sys/netinet/ip_carp.h user/attilio/vmcontention/sys/netinet/ip_output.c user/attilio/vmcontention/sys/netinet/tcp_input.c user/attilio/vmcontention/sys/netinet6/in6.c user/attilio/vmcontention/sys/netinet6/in6_ifattach.c user/attilio/vmcontention/sys/netinet6/in6_ifattach.h user/attilio/vmcontention/sys/netinet6/in6_pcb.c user/attilio/vmcontention/sys/netinet6/in6_proto.c user/attilio/vmcontention/sys/netinet6/in6_var.h user/attilio/vmcontention/sys/netinet6/nd6.c user/attilio/vmcontention/sys/netinet6/nd6.h user/attilio/vmcontention/sys/netpfil/ipfw/ip_dummynet.c user/attilio/vmcontention/sys/netpfil/ipfw/ip_fw2.c user/attilio/vmcontention/sys/netpfil/ipfw/ip_fw_log.c user/attilio/vmcontention/sys/netpfil/pf/if_pflog.c user/attilio/vmcontention/sys/netpfil/pf/if_pfsync.c user/attilio/vmcontention/sys/netsmb/smb_conn.c user/attilio/vmcontention/sys/netsmb/smb_conn.h user/attilio/vmcontention/sys/netsmb/smb_dev.c user/attilio/vmcontention/sys/netsmb/smb_dev.h user/attilio/vmcontention/sys/netsmb/smb_trantcp.c user/attilio/vmcontention/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/attilio/vmcontention/sys/powerpc/aim/mmu_oea.c user/attilio/vmcontention/sys/powerpc/wii/platform_wii.c user/attilio/vmcontention/sys/powerpc/wii/wii_bus.c user/attilio/vmcontention/sys/powerpc/wii/wii_fb.c user/attilio/vmcontention/sys/powerpc/wii/wii_pic.c user/attilio/vmcontention/sys/powerpc/wii/wii_picreg.h user/attilio/vmcontention/sys/sys/ata.h user/attilio/vmcontention/sys/sys/errno.h user/attilio/vmcontention/sys/sys/ksem.h user/attilio/vmcontention/sys/sys/param.h user/attilio/vmcontention/sys/sys/socket.h user/attilio/vmcontention/sys/sys/syscall.h user/attilio/vmcontention/sys/sys/syscall.mk user/attilio/vmcontention/sys/sys/syscallsubr.h user/attilio/vmcontention/sys/sys/sysproto.h user/attilio/vmcontention/sys/sys/user.h user/attilio/vmcontention/sys/vm/uma_core.c user/attilio/vmcontention/sys/vm/vm_mmap.c user/attilio/vmcontention/sys/vm/vm_object.c user/attilio/vmcontention/sys/vm/vm_object.h user/attilio/vmcontention/sys/vm/vm_phys.c user/attilio/vmcontention/sys/vm/vm_radix.c user/attilio/vmcontention/sys/vm/vnode_pager.c user/attilio/vmcontention/sys/xen/xenstore/xenstore.c user/attilio/vmcontention/tools/build/mk/OptionalObsoleteFiles.inc user/attilio/vmcontention/tools/build/options/WITHOUT_JAIL user/attilio/vmcontention/tools/build/options/WITHOUT_LEGACY_CONSOLE user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.sh user/attilio/vmcontention/tools/tools/ath/athalq/Makefile user/attilio/vmcontention/tools/tools/ath/athalq/ar9300_ds.c user/attilio/vmcontention/tools/tools/ath/athalq/main.c user/attilio/vmcontention/tools/tools/nanobsd/nanobsd.sh user/attilio/vmcontention/tools/tools/netmap/README user/attilio/vmcontention/tools/tools/sysbuild/sysbuild.sh user/attilio/vmcontention/usr.bin/Makefile user/attilio/vmcontention/usr.bin/ar/acplex.l user/attilio/vmcontention/usr.bin/biff/biff.1 user/attilio/vmcontention/usr.bin/calendar/calendars/calendar.dutch user/attilio/vmcontention/usr.bin/csup/token.l user/attilio/vmcontention/usr.bin/fstat/fstat.1 user/attilio/vmcontention/usr.bin/fstat/fstat.c user/attilio/vmcontention/usr.bin/m4/TEST/ack.m4 user/attilio/vmcontention/usr.bin/m4/TEST/hanoi.m4 user/attilio/vmcontention/usr.bin/m4/TEST/hash.m4 user/attilio/vmcontention/usr.bin/m4/TEST/sqroot.m4 user/attilio/vmcontention/usr.bin/m4/TEST/string.m4 user/attilio/vmcontention/usr.bin/m4/TEST/test.m4 user/attilio/vmcontention/usr.bin/m4/eval.c user/attilio/vmcontention/usr.bin/m4/extern.h user/attilio/vmcontention/usr.bin/m4/m4.1 user/attilio/vmcontention/usr.bin/m4/main.c user/attilio/vmcontention/usr.bin/m4/parser.y user/attilio/vmcontention/usr.bin/m4/tokenizer.l user/attilio/vmcontention/usr.bin/nfsstat/nfsstat.1 user/attilio/vmcontention/usr.bin/touch/touch.c user/attilio/vmcontention/usr.bin/xlint/lint1/scan.l user/attilio/vmcontention/usr.sbin/acpi/acpidb/Makefile user/attilio/vmcontention/usr.sbin/acpi/acpidb/acpidb.c user/attilio/vmcontention/usr.sbin/acpi/iasl/Makefile user/attilio/vmcontention/usr.sbin/apmd/apmdlex.l user/attilio/vmcontention/usr.sbin/bhyve/bhyverun.c user/attilio/vmcontention/usr.sbin/bhyve/pci_emul.c user/attilio/vmcontention/usr.sbin/bhyve/pci_emul.h user/attilio/vmcontention/usr.sbin/bhyve/pci_virtio_block.c user/attilio/vmcontention/usr.sbin/bhyve/pci_virtio_net.c user/attilio/vmcontention/usr.sbin/bhyve/virtio.h user/attilio/vmcontention/usr.sbin/bsdconfig/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/bsdconfig user/attilio/vmcontention/usr.sbin/bsdconfig/console/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/console/console user/attilio/vmcontention/usr.sbin/bsdconfig/console/font user/attilio/vmcontention/usr.sbin/bsdconfig/console/keymap user/attilio/vmcontention/usr.sbin/bsdconfig/console/repeat user/attilio/vmcontention/usr.sbin/bsdconfig/console/saver user/attilio/vmcontention/usr.sbin/bsdconfig/console/screenmap user/attilio/vmcontention/usr.sbin/bsdconfig/console/ttys user/attilio/vmcontention/usr.sbin/bsdconfig/diskmgmt/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/diskmgmt/diskmgmt user/attilio/vmcontention/usr.sbin/bsdconfig/docsinstall/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/docsinstall/docsinstall user/attilio/vmcontention/usr.sbin/bsdconfig/dot/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/dot/dot user/attilio/vmcontention/usr.sbin/bsdconfig/include/messages.subr user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/disable user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/enable user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/flags user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/mouse user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/port user/attilio/vmcontention/usr.sbin/bsdconfig/mouse/type user/attilio/vmcontention/usr.sbin/bsdconfig/networking/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/networking/defaultrouter user/attilio/vmcontention/usr.sbin/bsdconfig/networking/devices user/attilio/vmcontention/usr.sbin/bsdconfig/networking/hostname user/attilio/vmcontention/usr.sbin/bsdconfig/networking/nameservers user/attilio/vmcontention/usr.sbin/bsdconfig/networking/networking user/attilio/vmcontention/usr.sbin/bsdconfig/networking/share/device.subr user/attilio/vmcontention/usr.sbin/bsdconfig/networking/share/media.subr user/attilio/vmcontention/usr.sbin/bsdconfig/networking/share/resolv.subr user/attilio/vmcontention/usr.sbin/bsdconfig/password/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/password/include/messages.subr user/attilio/vmcontention/usr.sbin/bsdconfig/password/password user/attilio/vmcontention/usr.sbin/bsdconfig/password/share/password.subr user/attilio/vmcontention/usr.sbin/bsdconfig/security/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/security/kern_securelevel user/attilio/vmcontention/usr.sbin/bsdconfig/security/security user/attilio/vmcontention/usr.sbin/bsdconfig/share/common.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/device.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/dialog.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/media/common.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/media/ftp.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/media/options.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/media/tcpip.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/mustberoot.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/strings.subr user/attilio/vmcontention/usr.sbin/bsdconfig/startup/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/startup/include/messages.subr user/attilio/vmcontention/usr.sbin/bsdconfig/startup/misc user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcadd user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcconf user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcdelete user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcedit user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcvar user/attilio/vmcontention/usr.sbin/bsdconfig/startup/share/rcconf.subr user/attilio/vmcontention/usr.sbin/bsdconfig/startup/share/rcvar.subr user/attilio/vmcontention/usr.sbin/bsdconfig/startup/startup user/attilio/vmcontention/usr.sbin/bsdconfig/timezone/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/timezone/timezone user/attilio/vmcontention/usr.sbin/bsdconfig/ttys/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/ttys/ttys user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/USAGE user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/groupadd user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/groupdel user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/groupedit user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/groupinput user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/include/messages.subr user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/share/group_input.subr user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/share/user_input.subr user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/useradd user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/userdel user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/useredit user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/userinput user/attilio/vmcontention/usr.sbin/bsdconfig/usermgmt/usermgmt user/attilio/vmcontention/usr.sbin/config/lang.l user/attilio/vmcontention/usr.sbin/config/main.c user/attilio/vmcontention/usr.sbin/gssd/gssd.c user/attilio/vmcontention/usr.sbin/jail/jaillex.l user/attilio/vmcontention/usr.sbin/kbdcontrol/lex.l user/attilio/vmcontention/usr.sbin/mergemaster/mergemaster.sh user/attilio/vmcontention/usr.sbin/nandsim/nandsim_cfgparse.c user/attilio/vmcontention/usr.sbin/ndiscvt/inf-token.l user/attilio/vmcontention/usr.sbin/nfsd/nfsv4.4 user/attilio/vmcontention/usr.sbin/rrenumd/lexer.l user/attilio/vmcontention/usr.sbin/syslogd/syslogd.c user/attilio/vmcontention/usr.sbin/timed/timed/timed.8 Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/cddl/ (props changed) user/attilio/vmcontention/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libzfs/ (props changed) user/attilio/vmcontention/contrib/binutils/ (props changed) user/attilio/vmcontention/contrib/bmake/ (props changed) user/attilio/vmcontention/contrib/libc++/ (props changed) user/attilio/vmcontention/contrib/libcxxrt/ (props changed) user/attilio/vmcontention/contrib/llvm/ (props changed) user/attilio/vmcontention/contrib/sendmail/ (props changed) user/attilio/vmcontention/crypto/openssh/ (props changed) user/attilio/vmcontention/gnu/usr.bin/gdb/ (props changed) user/attilio/vmcontention/lib/libc/ (props changed) user/attilio/vmcontention/lib/libvmmapi/ (props changed) user/attilio/vmcontention/lib/libz/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/sbin/dumpon/ (props changed) user/attilio/vmcontention/share/man/man4/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/amd64/vmm/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/octeon-sdk/ (props changed) user/attilio/vmcontention/usr.bin/calendar/ (props changed) user/attilio/vmcontention/usr.bin/csup/ (props changed) user/attilio/vmcontention/usr.sbin/bhyve/ (props changed) user/attilio/vmcontention/usr.sbin/jail/ (props changed) user/attilio/vmcontention/usr.sbin/ndiscvt/ (props changed) Modified: user/attilio/vmcontention/MAINTAINERS ============================================================================== --- user/attilio/vmcontention/MAINTAINERS Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/MAINTAINERS Sun May 5 13:28:18 2013 (r250269) @@ -64,7 +64,6 @@ linprocfs des Pre-commit review requeste lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. newsyslog(8) gad Heads-up appreciated. I'm going thru the PR's for it. -cvs peter Heads-up appreciated, try not to break it. nvi peter Try not to break it. libz peter Try not to break it. groff ru Recommends pre-commit review. Modified: user/attilio/vmcontention/Makefile.inc1 ============================================================================== --- user/attilio/vmcontention/Makefile.inc1 Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/Makefile.inc1 Sun May 5 13:28:18 2013 (r250269) @@ -41,13 +41,6 @@ # /usr/share/mk. These include: # obj depend all install clean cleandepend cleanobj -# You are supposed to define both of these when calling Makefile.inc1 -# directly. However, some old scripts don't. Cope for the moment, but -# issue a new warning for a transition period. -.if defined(TARGET) && !defined(TARGET_ARCH) -.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1. Setting TARGET_ARCH=${TARGET}." -TARGET_ARCH=${TARGET} -.endif .if !defined(TARGET) || !defined(TARGET_ARCH) .error "Both TARGET and TARGET_ARCH must be defined." .endif @@ -65,6 +58,9 @@ TARGET_ARCH=${TARGET} # use that new version. And the new (dynamically-linked) /bin/sh # will expect to find appropriate libraries in /lib and /libexec. # +.if defined(SUBDIR_OVERRIDE) +SUBDIR= ${SUBDIR_OVERRIDE} +.else SUBDIR= share/info lib libexec SUBDIR+=bin .if ${MK_GAMES} != "no" @@ -103,9 +99,6 @@ SUBDIR+=etc SUBDIR+= ${_DIR} .endif .endfor - -.if defined(SUBDIR_OVERRIDE) -SUBDIR= ${SUBDIR_OVERRIDE} .endif .if defined(NOCLEAN) @@ -616,6 +609,7 @@ kernel-toolchain: ${TOOLCHAIN_TGTS:N_inc # Checks to be sure system is ready for installworld/installkernel. # installcheck: +installcheck_UGID: # # Require DESTDIR to be set if installing for a different architecture or @@ -647,7 +641,6 @@ CHECK_GIDS+= smmsp CHECK_UIDS+= proxy CHECK_GIDS+= proxy authpf .endif -installcheck: installcheck_UGID installcheck_UGID: .for uid in ${CHECK_UIDS} @if ! `id -u ${uid} >/dev/null 2>&1`; then \ @@ -703,7 +696,7 @@ EXTRA_DISTRIBUTIONS+= lib32 MTREE_MAGIC?= mtree 2.0 -distributeworld installworld: installcheck +distributeworld installworld: installcheck installcheck_UGID mkdir -p ${INSTALLTMP} progs=$$(for prog in ${ITOOLS}; do \ if progpath=`which $$prog`; then \ Modified: user/attilio/vmcontention/UPDATING ============================================================================== --- user/attilio/vmcontention/UPDATING Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/UPDATING Sun May 5 13:28:18 2013 (r250269) @@ -12,9 +12,9 @@ Items affecting the ports and packages s /usr/ports/UPDATING. Please read that file before running portupgrade. NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping -from older versions of FreeBSD, try WITHOUT_CLANG and WITHOUT_CLANG_IS_CC to -bootstrap to tip of head, and then rebuild without those options. The bootstrap -process from older version of current is a bit fragile. +from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of +head, and then rebuild without this option. The bootstrap process from +older version of current is a bit fragile. NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW: FreeBSD 10.x has many debugging features turned on, in both the kernel @@ -31,6 +31,28 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130429: + Fix a bug that allows NFS clients to issue READDIR on files. + +20130426: + The WITHOUT_IDEA option has been removed because + the IDEA patent expired. + +20130426: + The sysctl which controls TRIM support under ZFS has been renamed + from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been + enabled by default. + +20130425: + The mergemaster command now uses the default MAKEOBJDIRPREFIX + rather than creating it's own in the temporary directory in + order allow access to bootstrapped versions of tools such as + install and mtree. When upgrading from version of FreeBSD where + the install command does not support -l, you will need to + install a new mergemaster command if mergemaster -p is required. + This can be accomplished with the command (cd src/usr.sbin/mergemaster + && make install). + 20130404: Legacy ATA stack, disabled and replaced by new CAM-based one since FreeBSD 9.0, completely removed from the sources. Kernel modules @@ -82,6 +104,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 while having the GNU version installed as gnupatch, rebuild and install world with the WITH_BSD_PATCH knob set. +20130121: + Due to the use of the new -l option to install(1) during build + and install, you must take care not to directly set the INSTALL + make variable in your /etc/make.conf, /etc/src.conf, or on the + command line. If you with to use the -C flag for all installs + you may be able to add INSTALL+=-C to /etc/make.conf or + /etc/src.conf. + 20130118: The install(1) option -M has changed meaning and now takes an argument that is a file or path to append logs to. In the @@ -127,7 +157,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 This means that the world and kernel will be compiled with clang and that clang will be installed as /usr/bin/cc, /usr/bin/c++, and /usr/bin/cpp. To disable this behavior and revert to building - with gcc, compile with WITHOUT_CLANG_IS_CC. + with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions + of current may need to bootstrap WITHOUT_CLANG first if the clang + build fails (its compatibility window doesn't extend to the 9 stable + branch point). 20121102: The IPFIREWALL_FORWARD kernel option has been removed. Its @@ -258,7 +291,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is now spelled mips. This is to aid compatibility with third-party software that expects this naming scheme in uname(3). Little-endian - settings are unchanged. + settings are unchanged. If you are updating a big-endian mips64 machine + from before this change, you may need to set MACHINE_ARCH=mips64 in + your environment before the new build system will recognize your machine. 20120306: Disable by default the option VFS_ALLOW_NONMPSAFE for all supported @@ -1609,6 +1644,11 @@ COMMON ITEMS: path, and has the highest probability of being successful. Please try this approach before reporting problems with a major version upgrade. + When upgrading a live system, having a root shell around before + installing anything can help undo problems. Not having a root shell + around can lead to problems if pam has changed too much from your + starting point to allow continued authentication after the upgrade. + ZFS notes --------- When upgrading the boot ZFS pool to a new version, always follow @@ -1674,7 +1714,6 @@ COMMON ITEMS: make delete-old [6] - To cross-install current onto a separate partition -------------------------------------------------- # In this approach we use a separate partition to hold @@ -1750,7 +1789,7 @@ COMMON ITEMS: step. It never hurts to do it all the time. You may need to install a new mergemaster (cd src/usr.sbin/mergemaster && make install) after the buildworld before this step if you last updated - from current before 20020224 or from -stable before 20020408. + from current before 20130425 or from -stable before 20130430. [6] This only deletes old files and directories. Old libraries can be deleted by "make delete-old-libs", but you have to make Modified: user/attilio/vmcontention/bin/cat/cat.c ============================================================================== --- user/attilio/vmcontention/bin/cat/cat.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/cat/cat.c Sun May 5 13:28:18 2013 (r250269) @@ -68,7 +68,7 @@ static int bflag, eflag, lflag, nflag, s static int rval; static const char *filename; -static void usage(void); +static void usage(void) __dead2; static void scanfiles(char *argv[], int cooked); static void cook_cat(FILE *); static void raw_cat(int); @@ -153,6 +153,7 @@ main(int argc, char *argv[]) static void usage(void) { + fprintf(stderr, "usage: cat [-belnstuv] [file ...]\n"); exit(1); /* NOTREACHED */ Modified: user/attilio/vmcontention/bin/dd/dd.c ============================================================================== --- user/attilio/vmcontention/bin/dd/dd.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/dd/dd.c Sun May 5 13:28:18 2013 (r250269) @@ -358,7 +358,7 @@ dd_in(void) * than noerror, notrunc or sync are specified, the block * is output without buffering as it is read. */ - if (ddflags & C_BS) { + if ((ddflags & ~(C_NOERROR | C_NOTRUNC | C_SYNC)) == C_BS) { out.dbcnt = in.dbcnt; dd_out(1); in.dbcnt = 0; Modified: user/attilio/vmcontention/bin/df/df.c ============================================================================== --- user/attilio/vmcontention/bin/df/df.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/df/df.c Sun May 5 13:28:18 2013 (r250269) @@ -296,7 +296,6 @@ main(int argc, char *argv[]) prtstat(&mntbuf[i], &maxwidths); if (cflag) prtstat(&totalbuf, &maxwidths); - free(mntbuf); return (rv); } Modified: user/attilio/vmcontention/bin/domainname/domainname.1 ============================================================================== --- user/attilio/vmcontention/bin/domainname/domainname.1 Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/domainname/domainname.1 Sun May 5 13:28:18 2013 (r250269) @@ -29,7 +29,7 @@ .\" From: @(#)hostname.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd September 18, 1994 +.Dd April 22, 2013 .Dt DOMAINNAME 1 .Os .Sh NAME @@ -43,10 +43,11 @@ The .Nm utility prints the name of the current YP/NIS domain. The super-user can -set the domain name by supplying an argument; this is usually done in the -network initialization script -.Pa /etc/rc.network , -normally run at boot +set the domain name by supplying an argument; this is usually done with the +.Va nisdomainname +variable in the +.Pa /etc/rc.conf +file, normally run at boot time. .Sh NOTES The YP/NIS (formerly ``Yellow Pages'' but renamed for legal reasons) @@ -54,7 +55,8 @@ domain name does not necessarily have an Name System domain name, although they are often set equal for administrative convenience. .Sh SEE ALSO -.Xr getdomainname 3 +.Xr getdomainname 3 , +.Xr rc.conf 5 .Sh HISTORY The .Nm Modified: user/attilio/vmcontention/bin/hostname/hostname.c ============================================================================== --- user/attilio/vmcontention/bin/hostname/hostname.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/hostname/hostname.c Sun May 5 13:28:18 2013 (r250269) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include -static void usage(void); +static void usage(void) __dead2; int main(int argc, char *argv[]) Modified: user/attilio/vmcontention/bin/kill/kill.c ============================================================================== --- user/attilio/vmcontention/bin/kill/kill.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/kill/kill.c Sun May 5 13:28:18 2013 (r250269) @@ -156,7 +156,7 @@ signame_to_signum(const char *sig) { int n; - if (!strncasecmp(sig, "SIG", (size_t)3)) + if (strncasecmp(sig, "SIG", 3) == 0) sig += 3; for (n = 1; n < sys_nsig; n++) { if (!strcasecmp(sys_signame[n], sig)) Modified: user/attilio/vmcontention/bin/mkdir/mkdir.c ============================================================================== --- user/attilio/vmcontention/bin/mkdir/mkdir.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/mkdir/mkdir.c Sun May 5 13:28:18 2013 (r250269) @@ -135,7 +135,7 @@ main(int argc, char *argv[]) * Returns 1 if a directory has been created, * 2 if it already existed, and 0 on failure. */ -int +static int build(char *path, mode_t omode) { struct stat sb; @@ -208,7 +208,7 @@ build(char *path, mode_t omode) return (retval); } -void +static void usage(void) { Modified: user/attilio/vmcontention/bin/rm/rm.1 ============================================================================== --- user/attilio/vmcontention/bin/rm/rm.1 Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/rm/rm.1 Sun May 5 13:28:18 2013 (r250269) @@ -32,7 +32,7 @@ .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" $FreeBSD$ .\" -.Dd March 15, 2013 +.Dd April 25, 2013 .Dt RM 1 .Os .Sh NAME @@ -42,7 +42,7 @@ .Sh SYNOPSIS .Nm .Op Fl f | i -.Op Fl dIPRrvW +.Op Fl dIPRrvWx .Ar .Nm unlink .Ar file @@ -132,6 +132,8 @@ Attempt to undelete the named files. Currently, this option can only be used to recover files covered by whiteouts in a union file system (see .Xr undelete 2 ) . +.It Fl x +When removing a hierarchy, do not cross mount points. .El .Pp The Modified: user/attilio/vmcontention/bin/rm/rm.c ============================================================================== --- user/attilio/vmcontention/bin/rm/rm.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/rm/rm.c Sun May 5 13:28:18 2013 (r250269) @@ -59,19 +59,19 @@ __FBSDID("$FreeBSD$"); #include static int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok; -static int rflag, Iflag; +static int rflag, Iflag, xflag; static uid_t uid; static volatile sig_atomic_t info; -int check(char *, char *, struct stat *); -int check2(char **); -void checkdot(char **); -void checkslash(char **); -void rm_file(char **); -int rm_overwrite(char *, struct stat *); -void rm_tree(char **); +static int check(const char *, const char *, struct stat *); +static int check2(char **); +static void checkdot(char **); +static void checkslash(char **); +static void rm_file(char **); +static int rm_overwrite(const char *, struct stat *); +static void rm_tree(char **); static void siginfo(int __unused); -void usage(void); +static void usage(void); /* * rm -- @@ -106,8 +106,8 @@ main(int argc, char *argv[]) exit(eval); } - Pflag = rflag = 0; - while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1) + Pflag = rflag = xflag = 0; + while ((ch = getopt(argc, argv, "dfiIPRrvWx")) != -1) switch(ch) { case 'd': dflag = 1; @@ -136,6 +136,9 @@ main(int argc, char *argv[]) case 'W': Wflag = 1; break; + case 'x': + xflag = 1; + break; default: usage(); } @@ -170,7 +173,7 @@ main(int argc, char *argv[]) exit (eval); } -void +static void rm_tree(char **argv) { FTS *fts; @@ -196,6 +199,8 @@ rm_tree(char **argv) flags |= FTS_NOSTAT; if (Wflag) flags |= FTS_WHITEOUT; + if (xflag) + flags |= FTS_XDEV; if (!(fts = fts_open(argv, flags, NULL))) { if (fflag && errno == ENOENT) return; @@ -335,7 +340,7 @@ err: fts_close(fts); } -void +static void rm_file(char **argv) { struct stat sb; @@ -412,8 +417,8 @@ rm_file(char **argv) * System V file system). In a logging or COW file system, you'll have to * have kernel support. */ -int -rm_overwrite(char *file, struct stat *sbp) +static int +rm_overwrite(const char *file, struct stat *sbp) { struct stat sb, sb2; struct statfs fsb; @@ -479,8 +484,8 @@ err: eval = 1; } -int -check(char *path, char *name, struct stat *sp) +static int +check(const char *path, const char *name, struct stat *sp) { int ch, first; char modep[15], *flagsp; @@ -491,7 +496,7 @@ check(char *path, char *name, struct sta else { /* * If it's not a symbolic link and it's unwritable and we're - * talking to a terminal, ask. Symbolic links are excluded + * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. */ @@ -524,7 +529,7 @@ check(char *path, char *name, struct sta } #define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0') -void +static void checkslash(char **argv) { char **t, **u; @@ -544,7 +549,7 @@ checkslash(char **argv) } } -int +static int check2(char **argv) { struct stat st; @@ -595,7 +600,7 @@ check2(char **argv) } #define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2]))) -void +static void checkdot(char **argv) { char *p, **save, **t; @@ -619,12 +624,12 @@ checkdot(char **argv) } } -void +static void usage(void) { (void)fprintf(stderr, "%s\n%s\n", - "usage: rm [-f | -i] [-dIPRrvW] file ...", + "usage: rm [-f | -i] [-dIPRrvWx] file ...", " unlink file"); exit(EX_USAGE); } Modified: user/attilio/vmcontention/bin/sh/input.c ============================================================================== --- user/attilio/vmcontention/bin/sh/input.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/input.c Sun May 5 13:28:18 2013 (r250269) @@ -397,10 +397,10 @@ setinputfile(const char *fname, int push int fd2; INTOFF; - if ((fd = open(fname, O_RDONLY)) < 0) + if ((fd = open(fname, O_RDONLY | O_CLOEXEC)) < 0) error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { - fd2 = fcntl(fd, F_DUPFD, 10); + fd2 = fcntl(fd, F_DUPFD_CLOEXEC, 10); close(fd); if (fd2 < 0) error("Out of file descriptors"); @@ -412,14 +412,13 @@ setinputfile(const char *fname, int push /* - * Like setinputfile, but takes an open file descriptor. Call this with - * interrupts off. + * Like setinputfile, but takes an open file descriptor (which should have + * its FD_CLOEXEC flag already set). Call this with interrupts off. */ void setinputfd(int fd, int push) { - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); if (push) { pushfile(); parsefile->buf = ckmalloc(BUFSIZ + 1); Modified: user/attilio/vmcontention/bin/sh/jobs.c ============================================================================== --- user/attilio/vmcontention/bin/sh/jobs.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/jobs.c Sun May 5 13:28:18 2013 (r250269) @@ -127,11 +127,12 @@ setjobctl(int on) if (on) { if (ttyfd != -1) close(ttyfd); - if ((ttyfd = open(_PATH_TTY, O_RDWR)) < 0) { + if ((ttyfd = open(_PATH_TTY, O_RDWR | O_CLOEXEC)) < 0) { i = 0; while (i <= 2 && !isatty(i)) i++; - if (i > 2 || (ttyfd = fcntl(i, F_DUPFD, 10)) < 0) + if (i > 2 || + (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) goto out; } if (ttyfd < 10) { @@ -139,7 +140,7 @@ setjobctl(int on) * Keep our TTY file descriptor out of the way of * the user's redirections. */ - if ((i = fcntl(ttyfd, F_DUPFD, 10)) < 0) { + if ((i = fcntl(ttyfd, F_DUPFD_CLOEXEC, 10)) < 0) { close(ttyfd); ttyfd = -1; goto out; @@ -147,11 +148,6 @@ setjobctl(int on) close(ttyfd); ttyfd = i; } - if (fcntl(ttyfd, F_SETFD, FD_CLOEXEC) < 0) { - close(ttyfd); - ttyfd = -1; - goto out; - } do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { @@ -417,13 +413,15 @@ showjobs(int change, int mode) if (change && ! jp->changed) continue; showjob(jp, mode); - jp->changed = 0; - /* Hack: discard jobs for which $! has not been referenced - * in interactive mode when they terminate. - */ - if (jp->state == JOBDONE && !jp->remembered && - (iflag || jp != bgjob)) { - freejob(jp); + if (mode == SHOWJOBS_DEFAULT || mode == SHOWJOBS_VERBOSE) { + jp->changed = 0; + /* Hack: discard jobs for which $! has not been + * referenced in interactive mode when they terminate. + */ + if (jp->state == JOBDONE && !jp->remembered && + (iflag || jp != bgjob)) { + freejob(jp); + } } } } Modified: user/attilio/vmcontention/bin/sh/main.c ============================================================================== --- user/attilio/vmcontention/bin/sh/main.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/main.c Sun May 5 13:28:18 2013 (r250269) @@ -248,7 +248,7 @@ read_profile(const char *name) if (expandedname == NULL) return; INTOFF; - if ((fd = open(expandedname, O_RDONLY)) >= 0) + if ((fd = open(expandedname, O_RDONLY | O_CLOEXEC)) >= 0) setinputfd(fd, 1); INTON; if (fd < 0) Modified: user/attilio/vmcontention/bin/sh/miscbltin.c ============================================================================== --- user/attilio/vmcontention/bin/sh/miscbltin.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/miscbltin.c Sun May 5 13:28:18 2013 (r250269) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "mystring.h" #include "syntax.h" +#include "trap.h" #undef eflag @@ -102,6 +103,8 @@ readcmd(int argc __unused, char **argv _ struct timeval tv; char *tvptr; fd_set ifds; + ssize_t nread; + int sig; rflag = 0; prompt = NULL; @@ -156,8 +159,10 @@ readcmd(int argc __unused, char **argv _ /* * If there's nothing ready, return an error. */ - if (status <= 0) - return(1); + if (status <= 0) { + sig = pendingsig; + return (128 + (sig != 0 ? sig : SIGALRM)); + } } status = 0; @@ -165,7 +170,19 @@ readcmd(int argc __unused, char **argv _ backslash = 0; STARTSTACKSTR(p); for (;;) { - if (read(STDIN_FILENO, &c, 1) != 1) { + nread = read(STDIN_FILENO, &c, 1); + if (nread == -1) { + if (errno == EINTR) { + sig = pendingsig; + if (sig == 0) + continue; + status = 128 + sig; + break; + } + warning("read error: %s", strerror(errno)); + status = 2; + break; + } else if (nread != 1) { status = 1; break; } Modified: user/attilio/vmcontention/bin/sh/redir.c ============================================================================== --- user/attilio/vmcontention/bin/sh/redir.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/redir.c Sun May 5 13:28:18 2013 (r250269) @@ -121,7 +121,7 @@ redirect(union node *redir, int flags) if ((flags & REDIR_PUSH) && sv->renamed[fd] == EMPTY) { INTOFF; - if ((i = fcntl(fd, F_DUPFD, 10)) == -1) { + if ((i = fcntl(fd, F_DUPFD_CLOEXEC, 10)) == -1) { switch (errno) { case EBADF: i = CLOSED; @@ -131,8 +131,7 @@ redirect(union node *redir, int flags) error("%d: %s", fd, strerror(errno)); break; } - } else - (void)fcntl(i, F_SETFD, FD_CLOEXEC); + } sv->renamed[fd] = i; INTON; } Modified: user/attilio/vmcontention/bin/sh/sh.1 ============================================================================== --- user/attilio/vmcontention/bin/sh/sh.1 Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/bin/sh/sh.1 Sun May 5 13:28:18 2013 (r250269) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd March 24, 2013 +.Dd May 3, 2013 .Dt SH 1 .Os .Sh NAME @@ -1340,9 +1340,33 @@ The primary prompt string, which default .Dq Li "$ " , unless you are the superuser, in which case it defaults to .Dq Li "# " . +.Va PS1 +may include any of the following formatting sequences, +which are replaced by the given information: +.Bl -tag -width indent +.It Li \eH +The local hostname. +.It Li \eh +The fully-qualified hostname. +.It Li \eW +The final component of the current working directory. +.It Li \ew +The entire path of the current working directory. +.It Li \e$ +Superuser status. +.Dq Li "$ " +for normal users and +.Dq Li "# " +for superusers. +.It Li \e\e +A literal backslash. +.El .It Va PS2 The secondary prompt string, which defaults to .Dq Li "> " . +.Va PS2 +may include any of the formatting sequences from +.Va PS1 . .It Va PS4 The prefix for the trace output (if .Fl x @@ -2348,7 +2372,9 @@ option is specified and the elapses before a complete line of input is supplied, the .Ic read -command will return an exit status of 1 without assigning any values. +command will return an exit status as if terminated by +.Dv SIGALRM +without assigning any values. The .Ar timeout value may optionally be followed by one of @@ -2364,6 +2390,11 @@ is assumed. The .Fl e option exists only for backward compatibility with older scripts. +.Pp +The exit status is 0 on success, 1 on end of file, +between 2 and 128 if an error occurs +and greater than 128 if a trapped signal interrupts +.Ic read . .It Ic readonly Oo Fl p Oc Op Ar name ... Each specified .Ar name Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sun May 5 13:28:18 2013 (r250269) @@ -1130,7 +1130,7 @@ alloc: #if defined(sun) dtp->dt_prcmode = DT_PROC_STOP_PREINIT; #else - dtp->dt_prcmode = DT_PROC_STOP_POSTINIT; + dtp->dt_prcmode = DT_PROC_STOP_MAIN; #endif dtp->dt_linkmode = DT_LINK_KERNEL; dtp->dt_linktype = DT_LTYP_ELF; Modified: user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sun May 5 13:28:18 2013 (r250269) @@ -4207,10 +4207,13 @@ zfs_hold(zfs_handle_t *zhp, const char * if (nvlist_next_nvpair(ha.nvl, NULL) == NULL) { fnvlist_free(ha.nvl); ret = ENOENT; - (void) snprintf(errbuf, sizeof (errbuf), - dgettext(TEXT_DOMAIN, "cannot hold snapshot '%s@%s'"), - zhp->zfs_name, snapname); - (void) zfs_standard_error(hdl, ret, errbuf); + if (!enoent_ok) { + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, + "cannot hold snapshot '%s@%s'"), + zhp->zfs_name, snapname); + (void) zfs_standard_error(hdl, ret, errbuf); + } return (ret); } Modified: user/attilio/vmcontention/contrib/binutils/binutils/arlex.l ============================================================================== --- user/attilio/vmcontention/contrib/binutils/binutils/arlex.l Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/contrib/binutils/binutils/arlex.l Sun May 5 13:28:18 2013 (r250269) @@ -28,13 +28,13 @@ Foundation, Inc., 51 Franklin Street - F #include "libiberty.h" #include "arparse.h" -#define YY_NO_UNPUT - extern int yylex (void); int linenumber; %} +%option nounput + %a 10000 %o 25000 Modified: user/attilio/vmcontention/contrib/binutils/ld/ldlex.l ============================================================================== --- user/attilio/vmcontention/contrib/binutils/ld/ldlex.l Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/contrib/binutils/ld/ldlex.l Sun May 5 13:28:18 2013 (r250269) @@ -63,8 +63,6 @@ const char *lex_string = NULL; #undef YY_INPUT #define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size) -#define YY_NO_UNPUT - #define MAX_INCLUDE_DEPTH 10 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; static const char *file_name_stack[MAX_INCLUDE_DEPTH]; @@ -72,7 +70,7 @@ static unsigned int lineno_stack[MAX_INC static unsigned int include_stack_ptr = 0; static int vers_node_nesting = 0; -static void yy_input (char *, int *, int); +static void yy_input (char *, yy_size_t *, yy_size_t); static void comment (void); static void lex_warn_invalid (char *where, char *what); @@ -94,6 +92,8 @@ int yywrap (void) { return 1; } #endif %} +%option nounput + %a 4000 %o 5000 @@ -612,7 +612,7 @@ ldlex_popstate (void) either the number of characters read, or 0 to indicate EOF. */ static void -yy_input (char *buf, int *result, int max_size) +yy_input (char *buf, yy_size_t *result, yy_size_t max_size) { *result = 0; if (YY_CURRENT_BUFFER->yy_input_file) Modified: user/attilio/vmcontention/contrib/bmake/var.c ============================================================================== --- user/attilio/vmcontention/contrib/bmake/var.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/contrib/bmake/var.c Sun May 5 13:28:18 2013 (r250269) @@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/ #include "job.h" /* + * XXX transition hack for FreeBSD ports. + * bsd.port.mk can set .MAKE.FreeBSD_UL=yes + * to cause us to treat :[LU] as aliases for :t[lu] + * To be reverted when ports converts to :t[lu] (when 8.3 is EOL) + */ +#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL" +#ifdef MAKE_FREEBSD_UL +static int FreeBSD_UL = FALSE; +#endif + +/* * This lets us tell if we have replaced the original environ * (which we cannot free). */ @@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va setenv(MAKE_LEVEL_SAFE, tmp, 1); #endif } +#ifdef MAKE_FREEBSD_UL + if (strcmp(MAKE_FREEBSD_UL, name) == 0) { + FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE); + } +#endif out: @@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t free(loop.str); break; } - case 'D': case 'U': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + int nc = tstr[1]; + + /* we have to be careful, since :U is used internally */ + if (nc == ':' || nc == endc) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = toupper((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; /* yes inside the conditional */ + } + /* FALLTHROUGH */ + } +#endif + case 'D': { Buffer buf; /* Buffer for patterns */ int wantit; /* want data in buffer */ @@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t break; } case 'L': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = tolower((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; + } + /* FALLTHROUGH */ +#endif { if ((v->flags & VAR_JUNK) != 0) v->flags |= VAR_KEEP; Modified: user/attilio/vmcontention/contrib/bsnmp/snmp_mibII/mibII.c ============================================================================== --- user/attilio/vmcontention/contrib/bsnmp/snmp_mibII/mibII.c Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/contrib/bsnmp/snmp_mibII/mibII.c Sun May 5 13:28:18 2013 (r250269) @@ -934,6 +934,34 @@ mib_find_ifa(struct in_addr addr) } /* + * Process a new ARP entry + */ +static void +process_arp(const struct rt_msghdr *rtm, const struct sockaddr_dl *sdl, + const struct sockaddr_in *sa) +{ + struct mibif *ifp; + struct mibarp *at; + + /* IP arp table entry */ + if (sdl->sdl_alen == 0) + return; + if ((ifp = mib_find_if_sys(sdl->sdl_index)) == NULL) + return; + /* have a valid entry */ + if ((at = mib_find_arp(ifp, sa->sin_addr)) == NULL && + (at = mib_arp_create(ifp, sa->sin_addr, + sdl->sdl_data + sdl->sdl_nlen, sdl->sdl_alen)) == NULL) + return; + + if (rtm->rtm_rmx.rmx_expire == 0) + at->flags |= MIBARP_PERM; + else + at->flags &= ~MIBARP_PERM; + at->flags |= MIBARP_FOUND; +} + +/* * Handle a routing socket message. */ static void @@ -1075,6 +1103,23 @@ handle_rtmsg(struct rt_msghdr *rtm) #endif case RTM_GET: case RTM_ADD: + mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs); + if (rtm->rtm_flags & RTF_LLINFO) { + if (addrs[RTAX_DST] == NULL || + addrs[RTAX_GATEWAY] == NULL || + addrs[RTAX_DST]->sa_family != AF_INET || + addrs[RTAX_GATEWAY]->sa_family != AF_LINK) + break; + process_arp(rtm, + (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY], + (struct sockaddr_in *)(void *)addrs[RTAX_DST]); + } else { + if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP)) + mib_sroute_process(rtm, addrs[RTAX_GATEWAY], + addrs[RTAX_DST], addrs[RTAX_NETMASK]); + } + break; + case RTM_DELETE: mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs); Modified: user/attilio/vmcontention/contrib/libc++/CREDITS.TXT ============================================================================== --- user/attilio/vmcontention/contrib/libc++/CREDITS.TXT Sun May 5 12:21:22 2013 (r250268) +++ user/attilio/vmcontention/contrib/libc++/CREDITS.TXT Sun May 5 13:28:18 2013 (r250269) @@ -8,69 +8,88 @@ beautification by scripts. The fields a (W), PGP key ID and fingerprint (P), description (D), and snail-mail address (S). -N: Howard Hinnant -E: hhinnant@apple.com -D: Architect and primary author of libc++ +N: Saleem Abdulrasool +E: compnerd@compnerd.org +D: Minor patches and Linux fixes. + +N: Dimitry Andric +E: dimitry@andric.com +D: Visibility fixes, minor FreeBSD portability patches. + +N: Holger Arnold +E: holgerar@gmail.com +D: Minor fix. + +N: Ruben Van Boxem +E: vanboxem dot ruben at gmail dot com +D: Initial Windows patches. + +N: David Chisnall +E: theraven at theravensnest dot org +D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. N: Marshall Clow E: mclow.lists@gmail.com E: marshall@idio.com D: Minor patches and bug fixes. -N: Bjorn Reese -E: breese@users.sourceforge.net -D: Initial regex prototype +N: Google Inc. +D: Copyright owner and contributor of the CityHash algorithm -N: David Chisnall -E: theraven at theravensnest dot org -D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. +N: Howard Hinnant +E: hhinnant@apple.com +D: Architect and primary author of libc++ -N: Ruben Van Boxem *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun May 5 13:47:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5E36B88B; Sun, 5 May 2013 13:47:45 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4E325E82; Sun, 5 May 2013 13:47:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45Dlj4G097314; Sun, 5 May 2013 13:47:45 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45DleG0097282; Sun, 5 May 2013 13:47:40 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305051347.r45DleG0097282@svn.freebsd.org> From: Attilio Rao Date: Sun, 5 May 2013 13:47:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250270 - in user/attilio/jeff-numa: . bin/cat bin/dd bin/df bin/domainname bin/hostname bin/kill bin/mkdir bin/rm bin/sh cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/open... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 13:47:45 -0000 Author: attilio Date: Sun May 5 13:47:39 2013 New Revision: 250270 URL: http://svnweb.freebsd.org/changeset/base/250270 Log: MFC Added: user/attilio/jeff-numa/contrib/sendmail/libsm/t-fget.c - copied unchanged from r250269, user/attilio/vmcontention/contrib/sendmail/libsm/t-fget.c user/attilio/jeff-numa/lib/msun/x86/ - copied from r250269, user/attilio/vmcontention/lib/msun/x86/ user/attilio/jeff-numa/release/picobsd/floppy.tree/etc/ssh/ - copied from r250269, user/attilio/vmcontention/release/picobsd/floppy.tree/etc/ssh/ user/attilio/jeff-numa/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250269, user/attilio/vmcontention/share/examples/BSD_daemon/beastie2.eps user/attilio/jeff-numa/share/man/man4/man4.arm/devcfg.4 - copied unchanged from r250269, user/attilio/vmcontention/share/man/man4/man4.arm/devcfg.4 user/attilio/jeff-numa/share/man/man4/ntb.4 - copied unchanged from r250269, user/attilio/vmcontention/share/man/man4/ntb.4 user/attilio/jeff-numa/sys/arm/conf/ZEDBOARD - copied unchanged from r250269, user/attilio/vmcontention/sys/arm/conf/ZEDBOARD user/attilio/jeff-numa/sys/arm/xilinx/ - copied from r250269, user/attilio/vmcontention/sys/arm/xilinx/ user/attilio/jeff-numa/sys/boot/fdt/dts/am335x.dtsi - copied unchanged from r250269, user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi user/attilio/jeff-numa/sys/boot/fdt/dts/zedboard.dts - copied unchanged from r250269, user/attilio/vmcontention/sys/boot/fdt/dts/zedboard.dts user/attilio/jeff-numa/sys/contrib/dev/ath/ - copied from r250269, user/attilio/vmcontention/sys/contrib/dev/ath/ user/attilio/jeff-numa/sys/dev/cadence/ - copied from r250269, user/attilio/vmcontention/sys/dev/cadence/ user/attilio/jeff-numa/sys/dev/ntb/ - copied from r250269, user/attilio/vmcontention/sys/dev/ntb/ user/attilio/jeff-numa/sys/dev/sdhci/sdhci_fdt.c - copied unchanged from r250269, user/attilio/vmcontention/sys/dev/sdhci/sdhci_fdt.c user/attilio/jeff-numa/sys/modules/ntb/ - copied from r250269, user/attilio/vmcontention/sys/modules/ntb/ user/attilio/jeff-numa/tools/regression/bin/sh/builtins/read7.0 - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/bin/sh/builtins/read7.0 user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.0.in - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0.in user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.0.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.0I.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0I.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.0J.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0J.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.0L.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.0L.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.n1.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n1.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.n2.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n2.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.n3.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.n3.out user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.quotes.in - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.quotes.in user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.quotes.out - copied unchanged from r250269, user/attilio/vmcontention/tools/regression/usr.bin/xargs/regress.quotes.out user/attilio/jeff-numa/tools/tools/ath/athalq/txdiff.pl - copied unchanged from r250269, user/attilio/vmcontention/tools/tools/ath/athalq/txdiff.pl Deleted: user/attilio/jeff-numa/gnu/usr.bin/cc/f77/ user/attilio/jeff-numa/gnu/usr.bin/cc/f771/ user/attilio/jeff-numa/gnu/usr.bin/cc/f77doc/ user/attilio/jeff-numa/lib/msun/amd64/fenv.h user/attilio/jeff-numa/lib/msun/i387/fenv.h user/attilio/jeff-numa/release/picobsd/floppy.tree/etc/sshd_config user/attilio/jeff-numa/tools/build/options/WITH_IDEA Modified: user/attilio/jeff-numa/MAINTAINERS (contents, props changed) user/attilio/jeff-numa/Makefile.inc1 user/attilio/jeff-numa/UPDATING user/attilio/jeff-numa/bin/cat/cat.c user/attilio/jeff-numa/bin/dd/dd.c user/attilio/jeff-numa/bin/df/df.c user/attilio/jeff-numa/bin/domainname/domainname.1 user/attilio/jeff-numa/bin/hostname/hostname.c user/attilio/jeff-numa/bin/kill/kill.c user/attilio/jeff-numa/bin/mkdir/mkdir.c user/attilio/jeff-numa/bin/rm/rm.1 user/attilio/jeff-numa/bin/rm/rm.c user/attilio/jeff-numa/bin/sh/input.c user/attilio/jeff-numa/bin/sh/jobs.c user/attilio/jeff-numa/bin/sh/main.c user/attilio/jeff-numa/bin/sh/miscbltin.c user/attilio/jeff-numa/bin/sh/redir.c user/attilio/jeff-numa/bin/sh/sh.1 user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c user/attilio/jeff-numa/contrib/binutils/binutils/arlex.l user/attilio/jeff-numa/contrib/binutils/ld/ldlex.l user/attilio/jeff-numa/contrib/bmake/var.c user/attilio/jeff-numa/contrib/bsnmp/snmp_mibII/mibII.c user/attilio/jeff-numa/contrib/libc++/CREDITS.TXT user/attilio/jeff-numa/contrib/libc++/LICENSE.TXT user/attilio/jeff-numa/contrib/libc++/include/__bit_reference user/attilio/jeff-numa/contrib/libc++/include/__config user/attilio/jeff-numa/contrib/libc++/include/__debug user/attilio/jeff-numa/contrib/libc++/include/__functional_03 user/attilio/jeff-numa/contrib/libc++/include/__functional_base user/attilio/jeff-numa/contrib/libc++/include/__functional_base_03 user/attilio/jeff-numa/contrib/libc++/include/__hash_table user/attilio/jeff-numa/contrib/libc++/include/__locale user/attilio/jeff-numa/contrib/libc++/include/__mutex_base user/attilio/jeff-numa/contrib/libc++/include/__std_stream user/attilio/jeff-numa/contrib/libc++/include/__tree user/attilio/jeff-numa/contrib/libc++/include/__tuple user/attilio/jeff-numa/contrib/libc++/include/__tuple_03 user/attilio/jeff-numa/contrib/libc++/include/algorithm user/attilio/jeff-numa/contrib/libc++/include/array user/attilio/jeff-numa/contrib/libc++/include/bitset user/attilio/jeff-numa/contrib/libc++/include/chrono user/attilio/jeff-numa/contrib/libc++/include/codecvt user/attilio/jeff-numa/contrib/libc++/include/complex user/attilio/jeff-numa/contrib/libc++/include/condition_variable user/attilio/jeff-numa/contrib/libc++/include/cstddef user/attilio/jeff-numa/contrib/libc++/include/cstring user/attilio/jeff-numa/contrib/libc++/include/cwchar user/attilio/jeff-numa/contrib/libc++/include/deque user/attilio/jeff-numa/contrib/libc++/include/exception user/attilio/jeff-numa/contrib/libc++/include/ext/__hash user/attilio/jeff-numa/contrib/libc++/include/ext/hash_map user/attilio/jeff-numa/contrib/libc++/include/ext/hash_set user/attilio/jeff-numa/contrib/libc++/include/forward_list user/attilio/jeff-numa/contrib/libc++/include/fstream user/attilio/jeff-numa/contrib/libc++/include/functional user/attilio/jeff-numa/contrib/libc++/include/future user/attilio/jeff-numa/contrib/libc++/include/initializer_list user/attilio/jeff-numa/contrib/libc++/include/ios user/attilio/jeff-numa/contrib/libc++/include/iosfwd user/attilio/jeff-numa/contrib/libc++/include/iostream user/attilio/jeff-numa/contrib/libc++/include/istream user/attilio/jeff-numa/contrib/libc++/include/iterator user/attilio/jeff-numa/contrib/libc++/include/limits user/attilio/jeff-numa/contrib/libc++/include/list user/attilio/jeff-numa/contrib/libc++/include/locale user/attilio/jeff-numa/contrib/libc++/include/map user/attilio/jeff-numa/contrib/libc++/include/memory user/attilio/jeff-numa/contrib/libc++/include/mutex user/attilio/jeff-numa/contrib/libc++/include/new user/attilio/jeff-numa/contrib/libc++/include/ostream user/attilio/jeff-numa/contrib/libc++/include/queue user/attilio/jeff-numa/contrib/libc++/include/random user/attilio/jeff-numa/contrib/libc++/include/ratio user/attilio/jeff-numa/contrib/libc++/include/regex user/attilio/jeff-numa/contrib/libc++/include/scoped_allocator user/attilio/jeff-numa/contrib/libc++/include/set user/attilio/jeff-numa/contrib/libc++/include/sstream user/attilio/jeff-numa/contrib/libc++/include/stack user/attilio/jeff-numa/contrib/libc++/include/streambuf user/attilio/jeff-numa/contrib/libc++/include/string user/attilio/jeff-numa/contrib/libc++/include/strstream user/attilio/jeff-numa/contrib/libc++/include/system_error user/attilio/jeff-numa/contrib/libc++/include/thread user/attilio/jeff-numa/contrib/libc++/include/tuple user/attilio/jeff-numa/contrib/libc++/include/type_traits user/attilio/jeff-numa/contrib/libc++/include/typeindex user/attilio/jeff-numa/contrib/libc++/include/unordered_map user/attilio/jeff-numa/contrib/libc++/include/unordered_set user/attilio/jeff-numa/contrib/libc++/include/utility user/attilio/jeff-numa/contrib/libc++/include/valarray user/attilio/jeff-numa/contrib/libc++/include/vector user/attilio/jeff-numa/contrib/libc++/src/chrono.cpp user/attilio/jeff-numa/contrib/libc++/src/debug.cpp user/attilio/jeff-numa/contrib/libc++/src/exception.cpp user/attilio/jeff-numa/contrib/libc++/src/hash.cpp user/attilio/jeff-numa/contrib/libc++/src/iostream.cpp user/attilio/jeff-numa/contrib/libc++/src/locale.cpp user/attilio/jeff-numa/contrib/libc++/src/memory.cpp user/attilio/jeff-numa/contrib/libc++/src/new.cpp user/attilio/jeff-numa/contrib/libc++/src/stdexcept.cpp user/attilio/jeff-numa/contrib/libc++/src/string.cpp user/attilio/jeff-numa/contrib/libc++/src/strstream.cpp user/attilio/jeff-numa/contrib/libc++/src/system_error.cpp user/attilio/jeff-numa/contrib/libc++/src/thread.cpp user/attilio/jeff-numa/contrib/libc++/src/typeinfo.cpp user/attilio/jeff-numa/contrib/libcxxrt/atomic.h user/attilio/jeff-numa/contrib/libcxxrt/exception.cc user/attilio/jeff-numa/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp user/attilio/jeff-numa/contrib/sendmail/CACerts user/attilio/jeff-numa/contrib/sendmail/FREEBSD-upgrade user/attilio/jeff-numa/contrib/sendmail/PGPKEYS user/attilio/jeff-numa/contrib/sendmail/RELEASE_NOTES user/attilio/jeff-numa/contrib/sendmail/cf/cf/submit.cf user/attilio/jeff-numa/contrib/sendmail/cf/m4/version.m4 user/attilio/jeff-numa/contrib/sendmail/contrib/etrn.pl user/attilio/jeff-numa/contrib/sendmail/doc/op/op.me user/attilio/jeff-numa/contrib/sendmail/include/sm/config.h user/attilio/jeff-numa/contrib/sendmail/include/sm/io.h user/attilio/jeff-numa/contrib/sendmail/libmilter/Makefile.m4 user/attilio/jeff-numa/contrib/sendmail/libmilter/sm_gethost.c user/attilio/jeff-numa/contrib/sendmail/libsm/Makefile.m4 user/attilio/jeff-numa/contrib/sendmail/libsm/cf.c user/attilio/jeff-numa/contrib/sendmail/libsm/fget.c user/attilio/jeff-numa/contrib/sendmail/mailstats/mailstats.c user/attilio/jeff-numa/contrib/sendmail/makemap/makemap.c user/attilio/jeff-numa/contrib/sendmail/praliases/praliases.c user/attilio/jeff-numa/contrib/sendmail/rmail/rmail.c user/attilio/jeff-numa/contrib/sendmail/src/Makefile.m4 user/attilio/jeff-numa/contrib/sendmail/src/alias.c user/attilio/jeff-numa/contrib/sendmail/src/collect.c user/attilio/jeff-numa/contrib/sendmail/src/conf.c user/attilio/jeff-numa/contrib/sendmail/src/control.c user/attilio/jeff-numa/contrib/sendmail/src/deliver.c user/attilio/jeff-numa/contrib/sendmail/src/main.c user/attilio/jeff-numa/contrib/sendmail/src/map.c user/attilio/jeff-numa/contrib/sendmail/src/mci.c user/attilio/jeff-numa/contrib/sendmail/src/milter.c user/attilio/jeff-numa/contrib/sendmail/src/mime.c user/attilio/jeff-numa/contrib/sendmail/src/parseaddr.c user/attilio/jeff-numa/contrib/sendmail/src/queue.c user/attilio/jeff-numa/contrib/sendmail/src/readcf.c user/attilio/jeff-numa/contrib/sendmail/src/recipient.c user/attilio/jeff-numa/contrib/sendmail/src/savemail.c user/attilio/jeff-numa/contrib/sendmail/src/sendmail.h user/attilio/jeff-numa/contrib/sendmail/src/sfsasl.c user/attilio/jeff-numa/contrib/sendmail/src/srvrsmtp.c user/attilio/jeff-numa/contrib/sendmail/src/tls.c user/attilio/jeff-numa/contrib/sendmail/src/usersmtp.c user/attilio/jeff-numa/contrib/sendmail/src/util.c user/attilio/jeff-numa/contrib/sendmail/src/version.c user/attilio/jeff-numa/contrib/sendmail/test/Makefile.m4 user/attilio/jeff-numa/contrib/sendmail/vacation/vacation.c user/attilio/jeff-numa/contrib/smbfs/lib/smb/ctx.c user/attilio/jeff-numa/contrib/smbfs/mount_smbfs/mount_smbfs.c user/attilio/jeff-numa/crypto/openssh/readconf.c user/attilio/jeff-numa/crypto/openssh/readconf.h user/attilio/jeff-numa/crypto/openssh/ssh.c user/attilio/jeff-numa/etc/Makefile user/attilio/jeff-numa/etc/rc.d/ip6addrctl user/attilio/jeff-numa/etc/rc.d/mountlate user/attilio/jeff-numa/etc/sendmail/freebsd.mc user/attilio/jeff-numa/etc/sendmail/freebsd.submit.mc user/attilio/jeff-numa/gnu/usr.bin/gdb/kgdb/trgt_mips.c user/attilio/jeff-numa/include/stringlist.h user/attilio/jeff-numa/include/tgmath.h user/attilio/jeff-numa/include/unistd.h user/attilio/jeff-numa/kerberos5/lib/libgssapi_krb5/pname_to_uid.c user/attilio/jeff-numa/lib/Makefile user/attilio/jeff-numa/lib/clang/include/llvm/Config/config.h user/attilio/jeff-numa/lib/libc/gen/errlst.c user/attilio/jeff-numa/lib/libc/gen/stringlist.3 user/attilio/jeff-numa/lib/libc/gen/stringlist.c user/attilio/jeff-numa/lib/libc/gen/sysconf.3 user/attilio/jeff-numa/lib/libc/locale/duplocale.3 user/attilio/jeff-numa/lib/libc/locale/freelocale.3 user/attilio/jeff-numa/lib/libc/locale/newlocale.3 user/attilio/jeff-numa/lib/libc/locale/querylocale.3 user/attilio/jeff-numa/lib/libc/locale/uselocale.3 user/attilio/jeff-numa/lib/libc/locale/xlocale.3 user/attilio/jeff-numa/lib/libc/net/nslexer.l user/attilio/jeff-numa/lib/libc/nls/C.msg user/attilio/jeff-numa/lib/libc/stdio/asprintf.c user/attilio/jeff-numa/lib/libc/stdio/clrerr.c user/attilio/jeff-numa/lib/libc/stdio/fclose.c user/attilio/jeff-numa/lib/libc/stdio/fdopen.c user/attilio/jeff-numa/lib/libc/stdio/feof.c user/attilio/jeff-numa/lib/libc/stdio/ferror.c user/attilio/jeff-numa/lib/libc/stdio/fflush.c user/attilio/jeff-numa/lib/libc/stdio/fgetc.c user/attilio/jeff-numa/lib/libc/stdio/fgetln.c user/attilio/jeff-numa/lib/libc/stdio/fgetpos.c user/attilio/jeff-numa/lib/libc/stdio/fgets.c user/attilio/jeff-numa/lib/libc/stdio/fileno.c user/attilio/jeff-numa/lib/libc/stdio/findfp.c user/attilio/jeff-numa/lib/libc/stdio/flags.c user/attilio/jeff-numa/lib/libc/stdio/fopen.c user/attilio/jeff-numa/lib/libc/stdio/fprintf.c user/attilio/jeff-numa/lib/libc/stdio/fpurge.c user/attilio/jeff-numa/lib/libc/stdio/fputc.c user/attilio/jeff-numa/lib/libc/stdio/fputs.c user/attilio/jeff-numa/lib/libc/stdio/fread.c user/attilio/jeff-numa/lib/libc/stdio/freopen.c user/attilio/jeff-numa/lib/libc/stdio/fscanf.c user/attilio/jeff-numa/lib/libc/stdio/fseek.c user/attilio/jeff-numa/lib/libc/stdio/fsetpos.c user/attilio/jeff-numa/lib/libc/stdio/ftell.c user/attilio/jeff-numa/lib/libc/stdio/funopen.c user/attilio/jeff-numa/lib/libc/stdio/fvwrite.c user/attilio/jeff-numa/lib/libc/stdio/fwalk.c user/attilio/jeff-numa/lib/libc/stdio/fwrite.c user/attilio/jeff-numa/lib/libc/stdio/getc.c user/attilio/jeff-numa/lib/libc/stdio/getchar.c user/attilio/jeff-numa/lib/libc/stdio/gets.c user/attilio/jeff-numa/lib/libc/stdio/getw.c user/attilio/jeff-numa/lib/libc/stdio/makebuf.c user/attilio/jeff-numa/lib/libc/stdio/mktemp.c user/attilio/jeff-numa/lib/libc/stdio/perror.c user/attilio/jeff-numa/lib/libc/stdio/printf-pos.c user/attilio/jeff-numa/lib/libc/stdio/printf.c user/attilio/jeff-numa/lib/libc/stdio/putc.c user/attilio/jeff-numa/lib/libc/stdio/putchar.c user/attilio/jeff-numa/lib/libc/stdio/puts.c user/attilio/jeff-numa/lib/libc/stdio/putw.c user/attilio/jeff-numa/lib/libc/stdio/refill.c user/attilio/jeff-numa/lib/libc/stdio/remove.c user/attilio/jeff-numa/lib/libc/stdio/rewind.c user/attilio/jeff-numa/lib/libc/stdio/rget.c user/attilio/jeff-numa/lib/libc/stdio/scanf.c user/attilio/jeff-numa/lib/libc/stdio/setbuf.c user/attilio/jeff-numa/lib/libc/stdio/setbuffer.c user/attilio/jeff-numa/lib/libc/stdio/setvbuf.c user/attilio/jeff-numa/lib/libc/stdio/snprintf.c user/attilio/jeff-numa/lib/libc/stdio/sprintf.c user/attilio/jeff-numa/lib/libc/stdio/sscanf.c user/attilio/jeff-numa/lib/libc/stdio/stdio.c user/attilio/jeff-numa/lib/libc/stdio/tempnam.c user/attilio/jeff-numa/lib/libc/stdio/tmpfile.c user/attilio/jeff-numa/lib/libc/stdio/tmpnam.c user/attilio/jeff-numa/lib/libc/stdio/ungetc.c user/attilio/jeff-numa/lib/libc/stdio/vfprintf.c user/attilio/jeff-numa/lib/libc/stdio/vfscanf.c user/attilio/jeff-numa/lib/libc/stdio/vfwprintf.c user/attilio/jeff-numa/lib/libc/stdio/vfwscanf.c user/attilio/jeff-numa/lib/libc/stdio/vprintf.c user/attilio/jeff-numa/lib/libc/stdio/vscanf.c user/attilio/jeff-numa/lib/libc/stdio/vsnprintf.c user/attilio/jeff-numa/lib/libc/stdio/vsprintf.c user/attilio/jeff-numa/lib/libc/stdio/vsscanf.c user/attilio/jeff-numa/lib/libc/stdio/vswscanf.c user/attilio/jeff-numa/lib/libc/stdio/wbuf.c user/attilio/jeff-numa/lib/libc/stdio/wsetup.c user/attilio/jeff-numa/lib/libc/stdlib/lsearch.3 user/attilio/jeff-numa/lib/libc/sys/Makefile.inc user/attilio/jeff-numa/lib/libc/sys/Symbol.map user/attilio/jeff-numa/lib/libc/sys/accept.2 user/attilio/jeff-numa/lib/libc/sys/cpuset.2 user/attilio/jeff-numa/lib/libc/sys/cpuset_getaffinity.2 user/attilio/jeff-numa/lib/libc/sys/dup.2 user/attilio/jeff-numa/lib/libc/sys/getdtablesize.2 user/attilio/jeff-numa/lib/libc/sys/intro.2 user/attilio/jeff-numa/lib/libc/sys/pipe.2 user/attilio/jeff-numa/lib/libcompiler_rt/Makefile user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_add_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_add_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_and_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_and_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_op_n.h user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_or_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_or_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_sub_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_sub_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_xor_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_fetch_and_xor_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_lock_test_and_set_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_lock_test_and_set_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c user/attilio/jeff-numa/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h user/attilio/jeff-numa/lib/libipsec/policy_token.l user/attilio/jeff-numa/lib/libkvm/kvm.c user/attilio/jeff-numa/lib/libpmc/Makefile user/attilio/jeff-numa/lib/libprocstat/Symbol.map user/attilio/jeff-numa/lib/libprocstat/core.c user/attilio/jeff-numa/lib/libprocstat/libprocstat.3 user/attilio/jeff-numa/lib/libprocstat/libprocstat.c user/attilio/jeff-numa/lib/libprocstat/libprocstat.h user/attilio/jeff-numa/lib/libstand/Makefile user/attilio/jeff-numa/lib/libstand/mips/_setjmp.S user/attilio/jeff-numa/lib/libthr/pthread.map user/attilio/jeff-numa/lib/libthr/thread/thr_sig.c user/attilio/jeff-numa/lib/libthr/thread/thr_syscalls.c user/attilio/jeff-numa/lib/libthr/thread/thr_umtx.h user/attilio/jeff-numa/lib/libusb/Makefile user/attilio/jeff-numa/lib/libusb/libusb20.3 user/attilio/jeff-numa/lib/libusb/libusb20.c user/attilio/jeff-numa/lib/libusb/libusb20.h user/attilio/jeff-numa/lib/libusb/libusb20_int.h user/attilio/jeff-numa/lib/libusb/libusb20_ugen20.c user/attilio/jeff-numa/lib/libvmmapi/vmmapi.c user/attilio/jeff-numa/lib/libvmmapi/vmmapi.h user/attilio/jeff-numa/lib/libz/ChangeLog user/attilio/jeff-numa/lib/libz/README user/attilio/jeff-numa/lib/libz/Symbol.map user/attilio/jeff-numa/lib/libz/Versions.def user/attilio/jeff-numa/lib/libz/compress.c user/attilio/jeff-numa/lib/libz/contrib/README.contrib user/attilio/jeff-numa/lib/libz/deflate.c user/attilio/jeff-numa/lib/libz/deflate.h user/attilio/jeff-numa/lib/libz/gzguts.h user/attilio/jeff-numa/lib/libz/gzlib.c user/attilio/jeff-numa/lib/libz/gzread.c user/attilio/jeff-numa/lib/libz/gzwrite.c user/attilio/jeff-numa/lib/libz/infback.c user/attilio/jeff-numa/lib/libz/inffast.c user/attilio/jeff-numa/lib/libz/inflate.c user/attilio/jeff-numa/lib/libz/inftrees.c user/attilio/jeff-numa/lib/libz/test/example.c user/attilio/jeff-numa/lib/libz/test/minigzip.c user/attilio/jeff-numa/lib/libz/trees.c user/attilio/jeff-numa/lib/libz/uncompr.c user/attilio/jeff-numa/lib/libz/zconf.h user/attilio/jeff-numa/lib/libz/zlib.3 user/attilio/jeff-numa/lib/libz/zlib.h user/attilio/jeff-numa/lib/libz/zutil.c user/attilio/jeff-numa/lib/libz/zutil.h user/attilio/jeff-numa/lib/msun/Makefile user/attilio/jeff-numa/libexec/rtld-elf/rtld.c user/attilio/jeff-numa/release/doc/en_US.ISO8859-1/relnotes/article.xml user/attilio/jeff-numa/release/picobsd/floppy.tree/etc/master.passwd user/attilio/jeff-numa/sbin/camcontrol/camcontrol.8 user/attilio/jeff-numa/sbin/camcontrol/camcontrol.c user/attilio/jeff-numa/sbin/devd/devd.cc user/attilio/jeff-numa/sbin/devd/devd.h user/attilio/jeff-numa/sbin/devd/token.l user/attilio/jeff-numa/sbin/devfs/devfs.8 user/attilio/jeff-numa/sbin/dhclient/packet.c user/attilio/jeff-numa/sbin/dumpon/dumpon.8 user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.8 user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.c user/attilio/jeff-numa/sbin/fsck_ffs/fsck.h user/attilio/jeff-numa/sbin/fsck_ffs/fsck_ffs.8 user/attilio/jeff-numa/sbin/fsck_ffs/fsutil.c user/attilio/jeff-numa/sbin/fsck_ffs/main.c user/attilio/jeff-numa/sbin/fsck_ffs/pass5.c user/attilio/jeff-numa/sbin/geom/class/label/glabel.8 user/attilio/jeff-numa/sbin/hastctl/hastctl.c user/attilio/jeff-numa/sbin/hastd/primary.c user/attilio/jeff-numa/sbin/hastd/refcnt.h user/attilio/jeff-numa/sbin/ifconfig/iflagg.c user/attilio/jeff-numa/sbin/mount/mount.8 user/attilio/jeff-numa/sbin/mount/mount.c user/attilio/jeff-numa/sbin/newfs_nandfs/newfs_nandfs.c user/attilio/jeff-numa/sbin/ping6/ping6.8 user/attilio/jeff-numa/sbin/ping6/ping6.c user/attilio/jeff-numa/sbin/tunefs/tunefs.c user/attilio/jeff-numa/secure/Makefile.inc user/attilio/jeff-numa/secure/lib/libcrypto/Makefile user/attilio/jeff-numa/secure/lib/libcrypto/Makefile.inc user/attilio/jeff-numa/share/examples/BSD_daemon/README user/attilio/jeff-numa/share/examples/etc/make.conf user/attilio/jeff-numa/share/man/man3/pthread_affinity_np.3 user/attilio/jeff-numa/share/man/man3/pthread_attr_affinity_np.3 user/attilio/jeff-numa/share/man/man4/Makefile user/attilio/jeff-numa/share/man/man4/em.4 user/attilio/jeff-numa/share/man/man4/igb.4 user/attilio/jeff-numa/share/man/man4/ixgb.4 user/attilio/jeff-numa/share/man/man4/ixgbe.4 user/attilio/jeff-numa/share/man/man4/man4.arm/Makefile user/attilio/jeff-numa/share/man/man4/man4.i386/npx.4 user/attilio/jeff-numa/share/man/man4/syscons.4 user/attilio/jeff-numa/share/man/man4/usb_quirk.4 user/attilio/jeff-numa/share/man/man5/make.conf.5 user/attilio/jeff-numa/share/man/man5/procfs.5 user/attilio/jeff-numa/share/man/man9/counter.9 user/attilio/jeff-numa/share/man/man9/ifnet.9 user/attilio/jeff-numa/share/misc/bsd-family-tree user/attilio/jeff-numa/share/misc/committers-src.dot user/attilio/jeff-numa/share/misc/iso639 user/attilio/jeff-numa/share/mk/bsd.own.mk user/attilio/jeff-numa/share/mk/bsd.progs.mk user/attilio/jeff-numa/share/syscons/keymaps/us.dvorakp.kbd user/attilio/jeff-numa/sys/amd64/amd64/fpu.c user/attilio/jeff-numa/sys/amd64/conf/NOTES user/attilio/jeff-numa/sys/amd64/include/vmm.h (contents, props changed) user/attilio/jeff-numa/sys/amd64/vmm/intel/vmcs.c user/attilio/jeff-numa/sys/amd64/vmm/intel/vmcs.h user/attilio/jeff-numa/sys/amd64/vmm/intel/vmx.c user/attilio/jeff-numa/sys/amd64/vmm/vmm.c user/attilio/jeff-numa/sys/amd64/vmm/vmm_instruction_emul.c user/attilio/jeff-numa/sys/arm/arm/cpufunc.c user/attilio/jeff-numa/sys/arm/arm/db_trace.c user/attilio/jeff-numa/sys/arm/arm/exception.S user/attilio/jeff-numa/sys/arm/arm/gic.c user/attilio/jeff-numa/sys/arm/arm/identcpu.c user/attilio/jeff-numa/sys/arm/arm/locore.S user/attilio/jeff-numa/sys/arm/arm/swtch.S user/attilio/jeff-numa/sys/arm/arm/trap.c user/attilio/jeff-numa/sys/arm/broadcom/bcm2835/bcm2835_dma.c user/attilio/jeff-numa/sys/arm/include/armreg.h user/attilio/jeff-numa/sys/boot/common/module.c user/attilio/jeff-numa/sys/boot/fdt/dts/beaglebone.dts user/attilio/jeff-numa/sys/boot/i386/btx/btx/btx.S user/attilio/jeff-numa/sys/boot/pc98/btx/btx/btx.S user/attilio/jeff-numa/sys/cam/ata/ata_da.c user/attilio/jeff-numa/sys/cam/cam_periph.c user/attilio/jeff-numa/sys/cam/ctl/ctl_frontend_internal.c user/attilio/jeff-numa/sys/cam/scsi/scsi_all.c user/attilio/jeff-numa/sys/cam/scsi/scsi_all.h user/attilio/jeff-numa/sys/cam/scsi/scsi_da.c user/attilio/jeff-numa/sys/cam/scsi/scsi_xpt.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/attilio/jeff-numa/sys/compat/freebsd32/freebsd32_proto.h user/attilio/jeff-numa/sys/compat/freebsd32/freebsd32_syscall.h user/attilio/jeff-numa/sys/compat/freebsd32/freebsd32_syscalls.c user/attilio/jeff-numa/sys/compat/freebsd32/freebsd32_sysent.c user/attilio/jeff-numa/sys/compat/freebsd32/freebsd32_systrace_args.c user/attilio/jeff-numa/sys/compat/freebsd32/syscalls.master user/attilio/jeff-numa/sys/conf/NOTES user/attilio/jeff-numa/sys/conf/files user/attilio/jeff-numa/sys/conf/files.amd64 user/attilio/jeff-numa/sys/conf/files.powerpc user/attilio/jeff-numa/sys/conf/kern.pre.mk user/attilio/jeff-numa/sys/conf/options user/attilio/jeff-numa/sys/conf/options.mips user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-mgmt-port.h user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-usbd.c user/attilio/jeff-numa/sys/dev/acpi_support/acpi_hp.c user/attilio/jeff-numa/sys/dev/acpi_support/acpi_toshiba.c user/attilio/jeff-numa/sys/dev/acpica/acpi.c user/attilio/jeff-numa/sys/dev/acpica/acpi_pci_link.c user/attilio/jeff-numa/sys/dev/ahci/ahci.c user/attilio/jeff-numa/sys/dev/altera/jtag_uart/altera_jtag_uart.h user/attilio/jeff-numa/sys/dev/ath/ath_hal/ah.c user/attilio/jeff-numa/sys/dev/ath/ath_hal/ah_devid.h user/attilio/jeff-numa/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h user/attilio/jeff-numa/sys/dev/ath/if_ath.c user/attilio/jeff-numa/sys/dev/ath/if_ath_tx.c user/attilio/jeff-numa/sys/dev/bktr/bktr_core.c user/attilio/jeff-numa/sys/dev/bktr/msp34xx.c user/attilio/jeff-numa/sys/dev/cfi/cfi_bus_fdt.c user/attilio/jeff-numa/sys/dev/cfi/cfi_core.c user/attilio/jeff-numa/sys/dev/ciss/ciss.c user/attilio/jeff-numa/sys/dev/cxgbe/adapter.h user/attilio/jeff-numa/sys/dev/cxgbe/common/common.h user/attilio/jeff-numa/sys/dev/cxgbe/common/t4_hw.c user/attilio/jeff-numa/sys/dev/cxgbe/firmware/t4fw_interface.h user/attilio/jeff-numa/sys/dev/cxgbe/osdep.h user/attilio/jeff-numa/sys/dev/cxgbe/t4_main.c user/attilio/jeff-numa/sys/dev/cxgbe/tom/t4_cpl_io.c user/attilio/jeff-numa/sys/dev/cxgbe/tom/t4_ddp.c user/attilio/jeff-numa/sys/dev/cxgbe/tom/t4_tom.h user/attilio/jeff-numa/sys/dev/drm/mach64_dma.c user/attilio/jeff-numa/sys/dev/e1000/README user/attilio/jeff-numa/sys/dev/e1000/if_em.c user/attilio/jeff-numa/sys/dev/e1000/if_igb.c user/attilio/jeff-numa/sys/dev/e1000/if_lem.c user/attilio/jeff-numa/sys/dev/etherswitch/arswitch/arswitch.c user/attilio/jeff-numa/sys/dev/etherswitch/etherswitch.h user/attilio/jeff-numa/sys/dev/etherswitch/rtl8366/rtl8366rb.c user/attilio/jeff-numa/sys/dev/hptiop/hptiop.c user/attilio/jeff-numa/sys/dev/hptiop/hptiop.h user/attilio/jeff-numa/sys/dev/hptmv/entry.c user/attilio/jeff-numa/sys/dev/hptrr/hptrr_osm_bsd.c user/attilio/jeff-numa/sys/dev/hwpmc/hwpmc_core.c user/attilio/jeff-numa/sys/dev/hwpmc/hwpmc_intel.c user/attilio/jeff-numa/sys/dev/hwpmc/hwpmc_mod.c user/attilio/jeff-numa/sys/dev/hwpmc/hwpmc_soft.c user/attilio/jeff-numa/sys/dev/hwpmc/pmc_events.h user/attilio/jeff-numa/sys/dev/iicbus/if_ic.c user/attilio/jeff-numa/sys/dev/ixgb/README user/attilio/jeff-numa/sys/dev/ixgbe/ixgbe.c user/attilio/jeff-numa/sys/dev/lmc/if_lmc.c user/attilio/jeff-numa/sys/dev/lmc/if_lmc.h user/attilio/jeff-numa/sys/dev/mmc/mmc.c user/attilio/jeff-numa/sys/dev/mps/mps_mapping.c user/attilio/jeff-numa/sys/dev/mpt/mpt_pci.c user/attilio/jeff-numa/sys/dev/netmap/if_em_netmap.h user/attilio/jeff-numa/sys/dev/netmap/if_igb_netmap.h user/attilio/jeff-numa/sys/dev/netmap/if_lem_netmap.h user/attilio/jeff-numa/sys/dev/netmap/if_re_netmap.h user/attilio/jeff-numa/sys/dev/netmap/ixgbe_netmap.h user/attilio/jeff-numa/sys/dev/netmap/netmap.c user/attilio/jeff-numa/sys/dev/netmap/netmap_kern.h user/attilio/jeff-numa/sys/dev/netmap/netmap_mem2.c user/attilio/jeff-numa/sys/dev/ppbus/if_plip.c user/attilio/jeff-numa/sys/dev/re/if_re.c user/attilio/jeff-numa/sys/dev/sound/usb/uaudio.c user/attilio/jeff-numa/sys/dev/uart/uart.h user/attilio/jeff-numa/sys/dev/uart/uart_bus_fdt.c user/attilio/jeff-numa/sys/dev/uart/uart_bus_pci.c user/attilio/jeff-numa/sys/dev/uart/uart_subr.c user/attilio/jeff-numa/sys/dev/usb/controller/ohci_pci.c user/attilio/jeff-numa/sys/dev/usb/controller/usb_controller.c user/attilio/jeff-numa/sys/dev/usb/controller/xhci.c user/attilio/jeff-numa/sys/dev/usb/net/if_usie.c user/attilio/jeff-numa/sys/dev/usb/net/uhso.c user/attilio/jeff-numa/sys/dev/usb/template/usb_template.c user/attilio/jeff-numa/sys/dev/usb/usb_debug.h user/attilio/jeff-numa/sys/dev/usb/usb_device.c user/attilio/jeff-numa/sys/dev/usb/usb_device.h user/attilio/jeff-numa/sys/dev/usb/usb_dynamic.c user/attilio/jeff-numa/sys/dev/usb/usb_freebsd.h user/attilio/jeff-numa/sys/dev/usb/usb_freebsd_loader.h user/attilio/jeff-numa/sys/dev/usb/usb_generic.c user/attilio/jeff-numa/sys/dev/usb/usb_hub.c user/attilio/jeff-numa/sys/dev/usb/usb_hub.h user/attilio/jeff-numa/sys/dev/usb/usb_ioctl.h user/attilio/jeff-numa/sys/dev/usb/usb_parse.c user/attilio/jeff-numa/sys/dev/usb/usb_process.h user/attilio/jeff-numa/sys/dev/usb/usb_request.c user/attilio/jeff-numa/sys/dev/usb/usb_request.h user/attilio/jeff-numa/sys/fs/msdosfs/msdosfs_denode.c user/attilio/jeff-numa/sys/fs/msdosfs/msdosfs_vnops.c user/attilio/jeff-numa/sys/fs/nfsserver/nfs_nfsdport.c user/attilio/jeff-numa/sys/fs/smbfs/smbfs.h user/attilio/jeff-numa/sys/fs/smbfs/smbfs_io.c user/attilio/jeff-numa/sys/fs/smbfs/smbfs_vfsops.c user/attilio/jeff-numa/sys/fs/tmpfs/tmpfs.h user/attilio/jeff-numa/sys/fs/tmpfs/tmpfs_subr.c user/attilio/jeff-numa/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/jeff-numa/sys/geom/geom_dev.c user/attilio/jeff-numa/sys/geom/geom_disk.c user/attilio/jeff-numa/sys/geom/geom_disk.h user/attilio/jeff-numa/sys/geom/label/g_label_ntfs.c user/attilio/jeff-numa/sys/geom/raid/g_raid.c user/attilio/jeff-numa/sys/i386/include/param.h user/attilio/jeff-numa/sys/kern/capabilities.conf user/attilio/jeff-numa/sys/kern/imgact_elf.c user/attilio/jeff-numa/sys/kern/init_sysent.c user/attilio/jeff-numa/sys/kern/kern_descrip.c user/attilio/jeff-numa/sys/kern/kern_mbuf.c user/attilio/jeff-numa/sys/kern/sys_pipe.c user/attilio/jeff-numa/sys/kern/syscalls.c user/attilio/jeff-numa/sys/kern/syscalls.master user/attilio/jeff-numa/sys/kern/systrace_args.c user/attilio/jeff-numa/sys/kern/uipc_sem.c user/attilio/jeff-numa/sys/kern/uipc_socket.c user/attilio/jeff-numa/sys/kern/uipc_syscalls.c user/attilio/jeff-numa/sys/kern/vfs_subr.c user/attilio/jeff-numa/sys/kern/vfs_vnops.c user/attilio/jeff-numa/sys/kgssapi/krb5/krb5_mech.c user/attilio/jeff-numa/sys/mips/atheros/ar71xx_gpio.c user/attilio/jeff-numa/sys/mips/cavium/octe/ethernet-common.c user/attilio/jeff-numa/sys/mips/cavium/octe/wrapper-cvmx-includes.h user/attilio/jeff-numa/sys/mips/cavium/uart_dev_oct16550.c user/attilio/jeff-numa/sys/mips/include/asm.h user/attilio/jeff-numa/sys/mips/include/cpufunc.h user/attilio/jeff-numa/sys/mips/include/frame.h user/attilio/jeff-numa/sys/mips/include/pcb.h user/attilio/jeff-numa/sys/mips/include/regdef.h user/attilio/jeff-numa/sys/mips/include/regnum.h user/attilio/jeff-numa/sys/mips/mips/bus_space_generic.c user/attilio/jeff-numa/sys/mips/mips/db_interface.c user/attilio/jeff-numa/sys/mips/mips/db_trace.c user/attilio/jeff-numa/sys/mips/mips/support.S user/attilio/jeff-numa/sys/mips/mips/swtch.S user/attilio/jeff-numa/sys/mips/mips/trap.c user/attilio/jeff-numa/sys/mips/mips/vm_machdep.c user/attilio/jeff-numa/sys/modules/Makefile user/attilio/jeff-numa/sys/modules/ath/Makefile user/attilio/jeff-numa/sys/modules/uart/Makefile user/attilio/jeff-numa/sys/net/ethernet.h user/attilio/jeff-numa/sys/net/if.c user/attilio/jeff-numa/sys/net/if_arc.h user/attilio/jeff-numa/sys/net/if_arcsubr.c user/attilio/jeff-numa/sys/net/if_atm.h user/attilio/jeff-numa/sys/net/if_atmsubr.c user/attilio/jeff-numa/sys/net/if_dead.c user/attilio/jeff-numa/sys/net/if_disc.c user/attilio/jeff-numa/sys/net/if_ef.c user/attilio/jeff-numa/sys/net/if_enc.c user/attilio/jeff-numa/sys/net/if_ethersubr.c user/attilio/jeff-numa/sys/net/if_faith.c user/attilio/jeff-numa/sys/net/if_fddisubr.c user/attilio/jeff-numa/sys/net/if_fwsubr.c user/attilio/jeff-numa/sys/net/if_gif.c user/attilio/jeff-numa/sys/net/if_gif.h user/attilio/jeff-numa/sys/net/if_gre.c user/attilio/jeff-numa/sys/net/if_iso88025subr.c user/attilio/jeff-numa/sys/net/if_lagg.c user/attilio/jeff-numa/sys/net/if_lagg.h user/attilio/jeff-numa/sys/net/if_loop.c user/attilio/jeff-numa/sys/net/if_spppsubr.c user/attilio/jeff-numa/sys/net/if_stf.c user/attilio/jeff-numa/sys/net/if_tun.c user/attilio/jeff-numa/sys/net/if_var.h user/attilio/jeff-numa/sys/net/iso88025.h user/attilio/jeff-numa/sys/net/netmap.h user/attilio/jeff-numa/sys/net/netmap_user.h user/attilio/jeff-numa/sys/net80211/ieee80211.c user/attilio/jeff-numa/sys/net80211/ieee80211_output.c user/attilio/jeff-numa/sys/net80211/ieee80211_proto.h user/attilio/jeff-numa/sys/net80211/ieee80211_var.h user/attilio/jeff-numa/sys/netatalk/aarp.c user/attilio/jeff-numa/sys/netatalk/aarp.h user/attilio/jeff-numa/sys/netatalk/at_control.c user/attilio/jeff-numa/sys/netatalk/at_extern.h user/attilio/jeff-numa/sys/netgraph/ng_fec.c user/attilio/jeff-numa/sys/netgraph/ng_iface.c user/attilio/jeff-numa/sys/netinet/icmp6.h user/attilio/jeff-numa/sys/netinet/if_atm.c user/attilio/jeff-numa/sys/netinet/if_atm.h user/attilio/jeff-numa/sys/netinet/if_ether.c user/attilio/jeff-numa/sys/netinet/if_ether.h user/attilio/jeff-numa/sys/netinet/in.c user/attilio/jeff-numa/sys/netinet/in.h user/attilio/jeff-numa/sys/netinet/ip_carp.c user/attilio/jeff-numa/sys/netinet/ip_carp.h user/attilio/jeff-numa/sys/netinet/ip_output.c user/attilio/jeff-numa/sys/netinet/tcp_input.c user/attilio/jeff-numa/sys/netinet6/in6.c user/attilio/jeff-numa/sys/netinet6/in6_ifattach.c user/attilio/jeff-numa/sys/netinet6/in6_ifattach.h user/attilio/jeff-numa/sys/netinet6/in6_pcb.c user/attilio/jeff-numa/sys/netinet6/in6_proto.c user/attilio/jeff-numa/sys/netinet6/in6_var.h user/attilio/jeff-numa/sys/netinet6/nd6.c user/attilio/jeff-numa/sys/netinet6/nd6.h user/attilio/jeff-numa/sys/netpfil/ipfw/ip_dummynet.c user/attilio/jeff-numa/sys/netpfil/ipfw/ip_fw2.c user/attilio/jeff-numa/sys/netpfil/ipfw/ip_fw_log.c user/attilio/jeff-numa/sys/netpfil/pf/if_pflog.c user/attilio/jeff-numa/sys/netpfil/pf/if_pfsync.c user/attilio/jeff-numa/sys/netsmb/smb_conn.c user/attilio/jeff-numa/sys/netsmb/smb_conn.h user/attilio/jeff-numa/sys/netsmb/smb_dev.c user/attilio/jeff-numa/sys/netsmb/smb_dev.h user/attilio/jeff-numa/sys/netsmb/smb_trantcp.c user/attilio/jeff-numa/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/attilio/jeff-numa/sys/powerpc/aim/mmu_oea.c user/attilio/jeff-numa/sys/powerpc/wii/platform_wii.c user/attilio/jeff-numa/sys/powerpc/wii/wii_bus.c user/attilio/jeff-numa/sys/powerpc/wii/wii_fb.c user/attilio/jeff-numa/sys/powerpc/wii/wii_pic.c user/attilio/jeff-numa/sys/powerpc/wii/wii_picreg.h user/attilio/jeff-numa/sys/sys/ata.h user/attilio/jeff-numa/sys/sys/errno.h user/attilio/jeff-numa/sys/sys/ksem.h user/attilio/jeff-numa/sys/sys/param.h user/attilio/jeff-numa/sys/sys/socket.h user/attilio/jeff-numa/sys/sys/syscall.h user/attilio/jeff-numa/sys/sys/syscall.mk user/attilio/jeff-numa/sys/sys/syscallsubr.h user/attilio/jeff-numa/sys/sys/sysproto.h user/attilio/jeff-numa/sys/sys/user.h user/attilio/jeff-numa/sys/vm/uma_core.c user/attilio/jeff-numa/sys/vm/vm_mmap.c user/attilio/jeff-numa/sys/vm/vm_object.c user/attilio/jeff-numa/sys/vm/vm_object.h user/attilio/jeff-numa/sys/vm/vm_radix.c user/attilio/jeff-numa/sys/vm/vnode_pager.c user/attilio/jeff-numa/sys/xen/xenstore/xenstore.c user/attilio/jeff-numa/tools/build/mk/OptionalObsoleteFiles.inc user/attilio/jeff-numa/tools/build/options/WITHOUT_JAIL user/attilio/jeff-numa/tools/build/options/WITHOUT_LEGACY_CONSOLE user/attilio/jeff-numa/tools/regression/usr.bin/xargs/regress.sh user/attilio/jeff-numa/tools/tools/ath/athalq/Makefile user/attilio/jeff-numa/tools/tools/ath/athalq/ar9300_ds.c user/attilio/jeff-numa/tools/tools/ath/athalq/main.c user/attilio/jeff-numa/tools/tools/nanobsd/nanobsd.sh user/attilio/jeff-numa/tools/tools/netmap/README user/attilio/jeff-numa/tools/tools/sysbuild/sysbuild.sh user/attilio/jeff-numa/usr.bin/Makefile user/attilio/jeff-numa/usr.bin/ar/acplex.l user/attilio/jeff-numa/usr.bin/biff/biff.1 user/attilio/jeff-numa/usr.bin/calendar/calendars/calendar.dutch user/attilio/jeff-numa/usr.bin/csup/token.l user/attilio/jeff-numa/usr.bin/fstat/fstat.1 user/attilio/jeff-numa/usr.bin/fstat/fstat.c user/attilio/jeff-numa/usr.bin/m4/TEST/ack.m4 user/attilio/jeff-numa/usr.bin/m4/TEST/hanoi.m4 user/attilio/jeff-numa/usr.bin/m4/TEST/hash.m4 user/attilio/jeff-numa/usr.bin/m4/TEST/sqroot.m4 user/attilio/jeff-numa/usr.bin/m4/TEST/string.m4 user/attilio/jeff-numa/usr.bin/m4/TEST/test.m4 user/attilio/jeff-numa/usr.bin/m4/eval.c user/attilio/jeff-numa/usr.bin/m4/extern.h user/attilio/jeff-numa/usr.bin/m4/m4.1 user/attilio/jeff-numa/usr.bin/m4/main.c user/attilio/jeff-numa/usr.bin/m4/parser.y user/attilio/jeff-numa/usr.bin/m4/tokenizer.l user/attilio/jeff-numa/usr.bin/nfsstat/nfsstat.1 user/attilio/jeff-numa/usr.bin/touch/touch.c user/attilio/jeff-numa/usr.bin/xlint/lint1/scan.l user/attilio/jeff-numa/usr.sbin/acpi/acpidb/Makefile user/attilio/jeff-numa/usr.sbin/acpi/acpidb/acpidb.c user/attilio/jeff-numa/usr.sbin/acpi/iasl/Makefile user/attilio/jeff-numa/usr.sbin/apmd/apmdlex.l user/attilio/jeff-numa/usr.sbin/bhyve/bhyverun.c user/attilio/jeff-numa/usr.sbin/bhyve/pci_emul.c user/attilio/jeff-numa/usr.sbin/bhyve/pci_emul.h user/attilio/jeff-numa/usr.sbin/bhyve/pci_virtio_block.c user/attilio/jeff-numa/usr.sbin/bhyve/pci_virtio_net.c user/attilio/jeff-numa/usr.sbin/bhyve/virtio.h user/attilio/jeff-numa/usr.sbin/bsdconfig/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/bsdconfig user/attilio/jeff-numa/usr.sbin/bsdconfig/console/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/console/console user/attilio/jeff-numa/usr.sbin/bsdconfig/console/font user/attilio/jeff-numa/usr.sbin/bsdconfig/console/keymap user/attilio/jeff-numa/usr.sbin/bsdconfig/console/repeat user/attilio/jeff-numa/usr.sbin/bsdconfig/console/saver user/attilio/jeff-numa/usr.sbin/bsdconfig/console/screenmap user/attilio/jeff-numa/usr.sbin/bsdconfig/console/ttys user/attilio/jeff-numa/usr.sbin/bsdconfig/diskmgmt/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/diskmgmt/diskmgmt user/attilio/jeff-numa/usr.sbin/bsdconfig/docsinstall/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/docsinstall/docsinstall user/attilio/jeff-numa/usr.sbin/bsdconfig/dot/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/dot/dot user/attilio/jeff-numa/usr.sbin/bsdconfig/include/messages.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/disable user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/enable user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/flags user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/mouse user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/port user/attilio/jeff-numa/usr.sbin/bsdconfig/mouse/type user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/defaultrouter user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/devices user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/hostname user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/nameservers user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/networking user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/share/device.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/share/media.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/networking/share/resolv.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/password/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/password/include/messages.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/password/password user/attilio/jeff-numa/usr.sbin/bsdconfig/password/share/password.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/security/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/security/kern_securelevel user/attilio/jeff-numa/usr.sbin/bsdconfig/security/security user/attilio/jeff-numa/usr.sbin/bsdconfig/share/common.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/device.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/dialog.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/media/common.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/media/ftp.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/media/options.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/media/tcpip.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/mustberoot.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/strings.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/include/messages.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/misc user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcadd user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcconf user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcdelete user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcedit user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcvar user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/share/rcconf.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/share/rcvar.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/startup user/attilio/jeff-numa/usr.sbin/bsdconfig/timezone/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/timezone/timezone user/attilio/jeff-numa/usr.sbin/bsdconfig/ttys/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/ttys/ttys user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/USAGE user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/groupadd user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/groupdel user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/groupedit user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/groupinput user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/include/messages.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/share/group_input.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/share/user_input.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/useradd user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/userdel user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/useredit user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/userinput user/attilio/jeff-numa/usr.sbin/bsdconfig/usermgmt/usermgmt user/attilio/jeff-numa/usr.sbin/config/lang.l user/attilio/jeff-numa/usr.sbin/config/main.c user/attilio/jeff-numa/usr.sbin/gssd/gssd.c user/attilio/jeff-numa/usr.sbin/jail/jaillex.l user/attilio/jeff-numa/usr.sbin/kbdcontrol/lex.l user/attilio/jeff-numa/usr.sbin/mergemaster/mergemaster.sh user/attilio/jeff-numa/usr.sbin/nandsim/nandsim_cfgparse.c user/attilio/jeff-numa/usr.sbin/ndiscvt/inf-token.l user/attilio/jeff-numa/usr.sbin/nfsd/nfsv4.4 user/attilio/jeff-numa/usr.sbin/rrenumd/lexer.l user/attilio/jeff-numa/usr.sbin/syslogd/syslogd.c user/attilio/jeff-numa/usr.sbin/timed/timed/timed.8 Directory Properties: user/attilio/jeff-numa/ (props changed) user/attilio/jeff-numa/cddl/ (props changed) user/attilio/jeff-numa/cddl/contrib/opensolaris/ (props changed) user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libzfs/ (props changed) user/attilio/jeff-numa/contrib/binutils/ (props changed) user/attilio/jeff-numa/contrib/bmake/ (props changed) user/attilio/jeff-numa/contrib/libc++/ (props changed) user/attilio/jeff-numa/contrib/libcxxrt/ (props changed) user/attilio/jeff-numa/contrib/llvm/ (props changed) user/attilio/jeff-numa/contrib/sendmail/ (props changed) user/attilio/jeff-numa/crypto/openssh/ (props changed) user/attilio/jeff-numa/gnu/usr.bin/gdb/ (props changed) user/attilio/jeff-numa/lib/libc/ (props changed) user/attilio/jeff-numa/lib/libvmmapi/ (props changed) user/attilio/jeff-numa/lib/libz/ (props changed) user/attilio/jeff-numa/sbin/ (props changed) user/attilio/jeff-numa/sbin/dumpon/ (props changed) user/attilio/jeff-numa/share/man/man4/ (props changed) user/attilio/jeff-numa/sys/ (props changed) user/attilio/jeff-numa/sys/amd64/vmm/ (props changed) user/attilio/jeff-numa/sys/boot/ (props changed) user/attilio/jeff-numa/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/jeff-numa/sys/conf/ (props changed) user/attilio/jeff-numa/sys/contrib/octeon-sdk/ (props changed) user/attilio/jeff-numa/usr.bin/calendar/ (props changed) user/attilio/jeff-numa/usr.bin/csup/ (props changed) user/attilio/jeff-numa/usr.sbin/bhyve/ (props changed) user/attilio/jeff-numa/usr.sbin/jail/ (props changed) user/attilio/jeff-numa/usr.sbin/ndiscvt/ (props changed) Modified: user/attilio/jeff-numa/MAINTAINERS ============================================================================== --- user/attilio/jeff-numa/MAINTAINERS Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/MAINTAINERS Sun May 5 13:47:39 2013 (r250270) @@ -64,7 +64,6 @@ linprocfs des Pre-commit review requeste lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. newsyslog(8) gad Heads-up appreciated. I'm going thru the PR's for it. -cvs peter Heads-up appreciated, try not to break it. nvi peter Try not to break it. libz peter Try not to break it. groff ru Recommends pre-commit review. Modified: user/attilio/jeff-numa/Makefile.inc1 ============================================================================== --- user/attilio/jeff-numa/Makefile.inc1 Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/Makefile.inc1 Sun May 5 13:47:39 2013 (r250270) @@ -41,13 +41,6 @@ # /usr/share/mk. These include: # obj depend all install clean cleandepend cleanobj -# You are supposed to define both of these when calling Makefile.inc1 -# directly. However, some old scripts don't. Cope for the moment, but -# issue a new warning for a transition period. -.if defined(TARGET) && !defined(TARGET_ARCH) -.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1. Setting TARGET_ARCH=${TARGET}." -TARGET_ARCH=${TARGET} -.endif .if !defined(TARGET) || !defined(TARGET_ARCH) .error "Both TARGET and TARGET_ARCH must be defined." .endif @@ -65,6 +58,9 @@ TARGET_ARCH=${TARGET} # use that new version. And the new (dynamically-linked) /bin/sh # will expect to find appropriate libraries in /lib and /libexec. # +.if defined(SUBDIR_OVERRIDE) +SUBDIR= ${SUBDIR_OVERRIDE} +.else SUBDIR= share/info lib libexec SUBDIR+=bin .if ${MK_GAMES} != "no" @@ -103,9 +99,6 @@ SUBDIR+=etc SUBDIR+= ${_DIR} .endif .endfor - -.if defined(SUBDIR_OVERRIDE) -SUBDIR= ${SUBDIR_OVERRIDE} .endif .if defined(NOCLEAN) @@ -616,6 +609,7 @@ kernel-toolchain: ${TOOLCHAIN_TGTS:N_inc # Checks to be sure system is ready for installworld/installkernel. # installcheck: +installcheck_UGID: # # Require DESTDIR to be set if installing for a different architecture or @@ -647,7 +641,6 @@ CHECK_GIDS+= smmsp CHECK_UIDS+= proxy CHECK_GIDS+= proxy authpf .endif -installcheck: installcheck_UGID installcheck_UGID: .for uid in ${CHECK_UIDS} @if ! `id -u ${uid} >/dev/null 2>&1`; then \ @@ -703,7 +696,7 @@ EXTRA_DISTRIBUTIONS+= lib32 MTREE_MAGIC?= mtree 2.0 -distributeworld installworld: installcheck +distributeworld installworld: installcheck installcheck_UGID mkdir -p ${INSTALLTMP} progs=$$(for prog in ${ITOOLS}; do \ if progpath=`which $$prog`; then \ Modified: user/attilio/jeff-numa/UPDATING ============================================================================== --- user/attilio/jeff-numa/UPDATING Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/UPDATING Sun May 5 13:47:39 2013 (r250270) @@ -12,9 +12,9 @@ Items affecting the ports and packages s /usr/ports/UPDATING. Please read that file before running portupgrade. NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping -from older versions of FreeBSD, try WITHOUT_CLANG and WITHOUT_CLANG_IS_CC to -bootstrap to tip of head, and then rebuild without those options. The bootstrap -process from older version of current is a bit fragile. +from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of +head, and then rebuild without this option. The bootstrap process from +older version of current is a bit fragile. NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW: FreeBSD 10.x has many debugging features turned on, in both the kernel @@ -31,6 +31,28 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130429: + Fix a bug that allows NFS clients to issue READDIR on files. + +20130426: + The WITHOUT_IDEA option has been removed because + the IDEA patent expired. + +20130426: + The sysctl which controls TRIM support under ZFS has been renamed + from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been + enabled by default. + +20130425: + The mergemaster command now uses the default MAKEOBJDIRPREFIX + rather than creating it's own in the temporary directory in + order allow access to bootstrapped versions of tools such as + install and mtree. When upgrading from version of FreeBSD where + the install command does not support -l, you will need to + install a new mergemaster command if mergemaster -p is required. + This can be accomplished with the command (cd src/usr.sbin/mergemaster + && make install). + 20130404: Legacy ATA stack, disabled and replaced by new CAM-based one since FreeBSD 9.0, completely removed from the sources. Kernel modules @@ -82,6 +104,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 while having the GNU version installed as gnupatch, rebuild and install world with the WITH_BSD_PATCH knob set. +20130121: + Due to the use of the new -l option to install(1) during build + and install, you must take care not to directly set the INSTALL + make variable in your /etc/make.conf, /etc/src.conf, or on the + command line. If you with to use the -C flag for all installs + you may be able to add INSTALL+=-C to /etc/make.conf or + /etc/src.conf. + 20130118: The install(1) option -M has changed meaning and now takes an argument that is a file or path to append logs to. In the @@ -127,7 +157,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 This means that the world and kernel will be compiled with clang and that clang will be installed as /usr/bin/cc, /usr/bin/c++, and /usr/bin/cpp. To disable this behavior and revert to building - with gcc, compile with WITHOUT_CLANG_IS_CC. + with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions + of current may need to bootstrap WITHOUT_CLANG first if the clang + build fails (its compatibility window doesn't extend to the 9 stable + branch point). 20121102: The IPFIREWALL_FORWARD kernel option has been removed. Its @@ -258,7 +291,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is now spelled mips. This is to aid compatibility with third-party software that expects this naming scheme in uname(3). Little-endian - settings are unchanged. + settings are unchanged. If you are updating a big-endian mips64 machine + from before this change, you may need to set MACHINE_ARCH=mips64 in + your environment before the new build system will recognize your machine. 20120306: Disable by default the option VFS_ALLOW_NONMPSAFE for all supported @@ -1609,6 +1644,11 @@ COMMON ITEMS: path, and has the highest probability of being successful. Please try this approach before reporting problems with a major version upgrade. + When upgrading a live system, having a root shell around before + installing anything can help undo problems. Not having a root shell + around can lead to problems if pam has changed too much from your + starting point to allow continued authentication after the upgrade. + ZFS notes --------- When upgrading the boot ZFS pool to a new version, always follow @@ -1674,7 +1714,6 @@ COMMON ITEMS: make delete-old [6] - To cross-install current onto a separate partition -------------------------------------------------- # In this approach we use a separate partition to hold @@ -1750,7 +1789,7 @@ COMMON ITEMS: step. It never hurts to do it all the time. You may need to install a new mergemaster (cd src/usr.sbin/mergemaster && make install) after the buildworld before this step if you last updated - from current before 20020224 or from -stable before 20020408. + from current before 20130425 or from -stable before 20130430. [6] This only deletes old files and directories. Old libraries can be deleted by "make delete-old-libs", but you have to make Modified: user/attilio/jeff-numa/bin/cat/cat.c ============================================================================== --- user/attilio/jeff-numa/bin/cat/cat.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/cat/cat.c Sun May 5 13:47:39 2013 (r250270) @@ -68,7 +68,7 @@ static int bflag, eflag, lflag, nflag, s static int rval; static const char *filename; -static void usage(void); +static void usage(void) __dead2; static void scanfiles(char *argv[], int cooked); static void cook_cat(FILE *); static void raw_cat(int); @@ -153,6 +153,7 @@ main(int argc, char *argv[]) static void usage(void) { + fprintf(stderr, "usage: cat [-belnstuv] [file ...]\n"); exit(1); /* NOTREACHED */ Modified: user/attilio/jeff-numa/bin/dd/dd.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/dd.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/dd/dd.c Sun May 5 13:47:39 2013 (r250270) @@ -358,7 +358,7 @@ dd_in(void) * than noerror, notrunc or sync are specified, the block * is output without buffering as it is read. */ - if (ddflags & C_BS) { + if ((ddflags & ~(C_NOERROR | C_NOTRUNC | C_SYNC)) == C_BS) { out.dbcnt = in.dbcnt; dd_out(1); in.dbcnt = 0; Modified: user/attilio/jeff-numa/bin/df/df.c ============================================================================== --- user/attilio/jeff-numa/bin/df/df.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/df/df.c Sun May 5 13:47:39 2013 (r250270) @@ -296,7 +296,6 @@ main(int argc, char *argv[]) prtstat(&mntbuf[i], &maxwidths); if (cflag) prtstat(&totalbuf, &maxwidths); - free(mntbuf); return (rv); } Modified: user/attilio/jeff-numa/bin/domainname/domainname.1 ============================================================================== --- user/attilio/jeff-numa/bin/domainname/domainname.1 Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/domainname/domainname.1 Sun May 5 13:47:39 2013 (r250270) @@ -29,7 +29,7 @@ .\" From: @(#)hostname.1 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd September 18, 1994 +.Dd April 22, 2013 .Dt DOMAINNAME 1 .Os .Sh NAME @@ -43,10 +43,11 @@ The .Nm utility prints the name of the current YP/NIS domain. The super-user can -set the domain name by supplying an argument; this is usually done in the -network initialization script -.Pa /etc/rc.network , -normally run at boot +set the domain name by supplying an argument; this is usually done with the +.Va nisdomainname +variable in the +.Pa /etc/rc.conf +file, normally run at boot time. .Sh NOTES The YP/NIS (formerly ``Yellow Pages'' but renamed for legal reasons) @@ -54,7 +55,8 @@ domain name does not necessarily have an Name System domain name, although they are often set equal for administrative convenience. .Sh SEE ALSO -.Xr getdomainname 3 +.Xr getdomainname 3 , +.Xr rc.conf 5 .Sh HISTORY The .Nm Modified: user/attilio/jeff-numa/bin/hostname/hostname.c ============================================================================== --- user/attilio/jeff-numa/bin/hostname/hostname.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/hostname/hostname.c Sun May 5 13:47:39 2013 (r250270) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include -static void usage(void); +static void usage(void) __dead2; int main(int argc, char *argv[]) Modified: user/attilio/jeff-numa/bin/kill/kill.c ============================================================================== --- user/attilio/jeff-numa/bin/kill/kill.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/kill/kill.c Sun May 5 13:47:39 2013 (r250270) @@ -156,7 +156,7 @@ signame_to_signum(const char *sig) { int n; - if (!strncasecmp(sig, "SIG", (size_t)3)) + if (strncasecmp(sig, "SIG", 3) == 0) sig += 3; for (n = 1; n < sys_nsig; n++) { if (!strcasecmp(sys_signame[n], sig)) Modified: user/attilio/jeff-numa/bin/mkdir/mkdir.c ============================================================================== --- user/attilio/jeff-numa/bin/mkdir/mkdir.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/mkdir/mkdir.c Sun May 5 13:47:39 2013 (r250270) @@ -135,7 +135,7 @@ main(int argc, char *argv[]) * Returns 1 if a directory has been created, * 2 if it already existed, and 0 on failure. */ -int +static int build(char *path, mode_t omode) { struct stat sb; @@ -208,7 +208,7 @@ build(char *path, mode_t omode) return (retval); } -void +static void usage(void) { Modified: user/attilio/jeff-numa/bin/rm/rm.1 ============================================================================== --- user/attilio/jeff-numa/bin/rm/rm.1 Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/rm/rm.1 Sun May 5 13:47:39 2013 (r250270) @@ -32,7 +32,7 @@ .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" $FreeBSD$ .\" -.Dd March 15, 2013 +.Dd April 25, 2013 .Dt RM 1 .Os .Sh NAME @@ -42,7 +42,7 @@ .Sh SYNOPSIS .Nm .Op Fl f | i -.Op Fl dIPRrvW +.Op Fl dIPRrvWx .Ar .Nm unlink .Ar file @@ -132,6 +132,8 @@ Attempt to undelete the named files. Currently, this option can only be used to recover files covered by whiteouts in a union file system (see .Xr undelete 2 ) . +.It Fl x +When removing a hierarchy, do not cross mount points. .El .Pp The Modified: user/attilio/jeff-numa/bin/rm/rm.c ============================================================================== --- user/attilio/jeff-numa/bin/rm/rm.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/rm/rm.c Sun May 5 13:47:39 2013 (r250270) @@ -59,19 +59,19 @@ __FBSDID("$FreeBSD$"); #include static int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok; -static int rflag, Iflag; +static int rflag, Iflag, xflag; static uid_t uid; static volatile sig_atomic_t info; -int check(char *, char *, struct stat *); -int check2(char **); -void checkdot(char **); -void checkslash(char **); -void rm_file(char **); -int rm_overwrite(char *, struct stat *); -void rm_tree(char **); +static int check(const char *, const char *, struct stat *); +static int check2(char **); +static void checkdot(char **); +static void checkslash(char **); +static void rm_file(char **); +static int rm_overwrite(const char *, struct stat *); +static void rm_tree(char **); static void siginfo(int __unused); -void usage(void); +static void usage(void); /* * rm -- @@ -106,8 +106,8 @@ main(int argc, char *argv[]) exit(eval); } - Pflag = rflag = 0; - while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1) + Pflag = rflag = xflag = 0; + while ((ch = getopt(argc, argv, "dfiIPRrvWx")) != -1) switch(ch) { case 'd': dflag = 1; @@ -136,6 +136,9 @@ main(int argc, char *argv[]) case 'W': Wflag = 1; break; + case 'x': + xflag = 1; + break; default: usage(); } @@ -170,7 +173,7 @@ main(int argc, char *argv[]) exit (eval); } -void +static void rm_tree(char **argv) { FTS *fts; @@ -196,6 +199,8 @@ rm_tree(char **argv) flags |= FTS_NOSTAT; if (Wflag) flags |= FTS_WHITEOUT; + if (xflag) + flags |= FTS_XDEV; if (!(fts = fts_open(argv, flags, NULL))) { if (fflag && errno == ENOENT) return; @@ -335,7 +340,7 @@ err: fts_close(fts); } -void +static void rm_file(char **argv) { struct stat sb; @@ -412,8 +417,8 @@ rm_file(char **argv) * System V file system). In a logging or COW file system, you'll have to * have kernel support. */ -int -rm_overwrite(char *file, struct stat *sbp) +static int +rm_overwrite(const char *file, struct stat *sbp) { struct stat sb, sb2; struct statfs fsb; @@ -479,8 +484,8 @@ err: eval = 1; } -int -check(char *path, char *name, struct stat *sp) +static int +check(const char *path, const char *name, struct stat *sp) { int ch, first; char modep[15], *flagsp; @@ -491,7 +496,7 @@ check(char *path, char *name, struct sta else { /* * If it's not a symbolic link and it's unwritable and we're - * talking to a terminal, ask. Symbolic links are excluded + * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. */ @@ -524,7 +529,7 @@ check(char *path, char *name, struct sta } #define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0') -void +static void checkslash(char **argv) { char **t, **u; @@ -544,7 +549,7 @@ checkslash(char **argv) } } -int +static int check2(char **argv) { struct stat st; @@ -595,7 +600,7 @@ check2(char **argv) } #define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2]))) -void +static void checkdot(char **argv) { char *p, **save, **t; @@ -619,12 +624,12 @@ checkdot(char **argv) } } -void +static void usage(void) { (void)fprintf(stderr, "%s\n%s\n", - "usage: rm [-f | -i] [-dIPRrvW] file ...", + "usage: rm [-f | -i] [-dIPRrvWx] file ...", " unlink file"); exit(EX_USAGE); } Modified: user/attilio/jeff-numa/bin/sh/input.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/input.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/input.c Sun May 5 13:47:39 2013 (r250270) @@ -397,10 +397,10 @@ setinputfile(const char *fname, int push int fd2; INTOFF; - if ((fd = open(fname, O_RDONLY)) < 0) + if ((fd = open(fname, O_RDONLY | O_CLOEXEC)) < 0) error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { - fd2 = fcntl(fd, F_DUPFD, 10); + fd2 = fcntl(fd, F_DUPFD_CLOEXEC, 10); close(fd); if (fd2 < 0) error("Out of file descriptors"); @@ -412,14 +412,13 @@ setinputfile(const char *fname, int push /* - * Like setinputfile, but takes an open file descriptor. Call this with - * interrupts off. + * Like setinputfile, but takes an open file descriptor (which should have + * its FD_CLOEXEC flag already set). Call this with interrupts off. */ void setinputfd(int fd, int push) { - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); if (push) { pushfile(); parsefile->buf = ckmalloc(BUFSIZ + 1); Modified: user/attilio/jeff-numa/bin/sh/jobs.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/jobs.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/jobs.c Sun May 5 13:47:39 2013 (r250270) @@ -127,11 +127,12 @@ setjobctl(int on) if (on) { if (ttyfd != -1) close(ttyfd); - if ((ttyfd = open(_PATH_TTY, O_RDWR)) < 0) { + if ((ttyfd = open(_PATH_TTY, O_RDWR | O_CLOEXEC)) < 0) { i = 0; while (i <= 2 && !isatty(i)) i++; - if (i > 2 || (ttyfd = fcntl(i, F_DUPFD, 10)) < 0) + if (i > 2 || + (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) goto out; } if (ttyfd < 10) { @@ -139,7 +140,7 @@ setjobctl(int on) * Keep our TTY file descriptor out of the way of * the user's redirections. */ - if ((i = fcntl(ttyfd, F_DUPFD, 10)) < 0) { + if ((i = fcntl(ttyfd, F_DUPFD_CLOEXEC, 10)) < 0) { close(ttyfd); ttyfd = -1; goto out; @@ -147,11 +148,6 @@ setjobctl(int on) close(ttyfd); ttyfd = i; } - if (fcntl(ttyfd, F_SETFD, FD_CLOEXEC) < 0) { - close(ttyfd); - ttyfd = -1; - goto out; - } do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { @@ -417,13 +413,15 @@ showjobs(int change, int mode) if (change && ! jp->changed) continue; showjob(jp, mode); - jp->changed = 0; - /* Hack: discard jobs for which $! has not been referenced - * in interactive mode when they terminate. - */ - if (jp->state == JOBDONE && !jp->remembered && - (iflag || jp != bgjob)) { - freejob(jp); + if (mode == SHOWJOBS_DEFAULT || mode == SHOWJOBS_VERBOSE) { + jp->changed = 0; + /* Hack: discard jobs for which $! has not been + * referenced in interactive mode when they terminate. + */ + if (jp->state == JOBDONE && !jp->remembered && + (iflag || jp != bgjob)) { + freejob(jp); + } } } } Modified: user/attilio/jeff-numa/bin/sh/main.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/main.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/main.c Sun May 5 13:47:39 2013 (r250270) @@ -248,7 +248,7 @@ read_profile(const char *name) if (expandedname == NULL) return; INTOFF; - if ((fd = open(expandedname, O_RDONLY)) >= 0) + if ((fd = open(expandedname, O_RDONLY | O_CLOEXEC)) >= 0) setinputfd(fd, 1); INTON; if (fd < 0) Modified: user/attilio/jeff-numa/bin/sh/miscbltin.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/miscbltin.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/miscbltin.c Sun May 5 13:47:39 2013 (r250270) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "mystring.h" #include "syntax.h" +#include "trap.h" #undef eflag @@ -102,6 +103,8 @@ readcmd(int argc __unused, char **argv _ struct timeval tv; char *tvptr; fd_set ifds; + ssize_t nread; + int sig; rflag = 0; prompt = NULL; @@ -156,8 +159,10 @@ readcmd(int argc __unused, char **argv _ /* * If there's nothing ready, return an error. */ - if (status <= 0) - return(1); + if (status <= 0) { + sig = pendingsig; + return (128 + (sig != 0 ? sig : SIGALRM)); + } } status = 0; @@ -165,7 +170,19 @@ readcmd(int argc __unused, char **argv _ backslash = 0; STARTSTACKSTR(p); for (;;) { - if (read(STDIN_FILENO, &c, 1) != 1) { + nread = read(STDIN_FILENO, &c, 1); + if (nread == -1) { + if (errno == EINTR) { + sig = pendingsig; + if (sig == 0) + continue; + status = 128 + sig; + break; + } + warning("read error: %s", strerror(errno)); + status = 2; + break; + } else if (nread != 1) { status = 1; break; } Modified: user/attilio/jeff-numa/bin/sh/redir.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/redir.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/redir.c Sun May 5 13:47:39 2013 (r250270) @@ -121,7 +121,7 @@ redirect(union node *redir, int flags) if ((flags & REDIR_PUSH) && sv->renamed[fd] == EMPTY) { INTOFF; - if ((i = fcntl(fd, F_DUPFD, 10)) == -1) { + if ((i = fcntl(fd, F_DUPFD_CLOEXEC, 10)) == -1) { switch (errno) { case EBADF: i = CLOSED; @@ -131,8 +131,7 @@ redirect(union node *redir, int flags) error("%d: %s", fd, strerror(errno)); break; } - } else - (void)fcntl(i, F_SETFD, FD_CLOEXEC); + } sv->renamed[fd] = i; INTON; } Modified: user/attilio/jeff-numa/bin/sh/sh.1 ============================================================================== --- user/attilio/jeff-numa/bin/sh/sh.1 Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/bin/sh/sh.1 Sun May 5 13:47:39 2013 (r250270) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd March 24, 2013 +.Dd May 3, 2013 .Dt SH 1 .Os .Sh NAME @@ -1340,9 +1340,33 @@ The primary prompt string, which default .Dq Li "$ " , unless you are the superuser, in which case it defaults to .Dq Li "# " . +.Va PS1 +may include any of the following formatting sequences, +which are replaced by the given information: +.Bl -tag -width indent +.It Li \eH +The local hostname. +.It Li \eh +The fully-qualified hostname. +.It Li \eW +The final component of the current working directory. +.It Li \ew +The entire path of the current working directory. +.It Li \e$ +Superuser status. +.Dq Li "$ " +for normal users and +.Dq Li "# " +for superusers. +.It Li \e\e +A literal backslash. +.El .It Va PS2 The secondary prompt string, which defaults to .Dq Li "> " . +.Va PS2 +may include any of the formatting sequences from +.Va PS1 . .It Va PS4 The prefix for the trace output (if .Fl x @@ -2348,7 +2372,9 @@ option is specified and the elapses before a complete line of input is supplied, the .Ic read -command will return an exit status of 1 without assigning any values. +command will return an exit status as if terminated by +.Dv SIGALRM +without assigning any values. The .Ar timeout value may optionally be followed by one of @@ -2364,6 +2390,11 @@ is assumed. The .Fl e option exists only for backward compatibility with older scripts. +.Pp +The exit status is 0 on success, 1 on end of file, +between 2 and 128 if an error occurs +and greater than 128 if a trapped signal interrupts +.Ic read . .It Ic readonly Oo Fl p Oc Op Ar name ... Each specified .Ar name Modified: user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Sun May 5 13:47:39 2013 (r250270) @@ -1130,7 +1130,7 @@ alloc: #if defined(sun) dtp->dt_prcmode = DT_PROC_STOP_PREINIT; #else - dtp->dt_prcmode = DT_PROC_STOP_POSTINIT; + dtp->dt_prcmode = DT_PROC_STOP_MAIN; #endif dtp->dt_linkmode = DT_LINK_KERNEL; dtp->dt_linktype = DT_LTYP_ELF; Modified: user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sun May 5 13:47:39 2013 (r250270) @@ -4207,10 +4207,13 @@ zfs_hold(zfs_handle_t *zhp, const char * if (nvlist_next_nvpair(ha.nvl, NULL) == NULL) { fnvlist_free(ha.nvl); ret = ENOENT; - (void) snprintf(errbuf, sizeof (errbuf), - dgettext(TEXT_DOMAIN, "cannot hold snapshot '%s@%s'"), - zhp->zfs_name, snapname); - (void) zfs_standard_error(hdl, ret, errbuf); + if (!enoent_ok) { + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, + "cannot hold snapshot '%s@%s'"), + zhp->zfs_name, snapname); + (void) zfs_standard_error(hdl, ret, errbuf); + } return (ret); } Modified: user/attilio/jeff-numa/contrib/binutils/binutils/arlex.l ============================================================================== --- user/attilio/jeff-numa/contrib/binutils/binutils/arlex.l Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/contrib/binutils/binutils/arlex.l Sun May 5 13:47:39 2013 (r250270) @@ -28,13 +28,13 @@ Foundation, Inc., 51 Franklin Street - F #include "libiberty.h" #include "arparse.h" -#define YY_NO_UNPUT - extern int yylex (void); int linenumber; %} +%option nounput + %a 10000 %o 25000 Modified: user/attilio/jeff-numa/contrib/binutils/ld/ldlex.l ============================================================================== --- user/attilio/jeff-numa/contrib/binutils/ld/ldlex.l Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/contrib/binutils/ld/ldlex.l Sun May 5 13:47:39 2013 (r250270) @@ -63,8 +63,6 @@ const char *lex_string = NULL; #undef YY_INPUT #define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size) -#define YY_NO_UNPUT - #define MAX_INCLUDE_DEPTH 10 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; static const char *file_name_stack[MAX_INCLUDE_DEPTH]; @@ -72,7 +70,7 @@ static unsigned int lineno_stack[MAX_INC static unsigned int include_stack_ptr = 0; static int vers_node_nesting = 0; -static void yy_input (char *, int *, int); +static void yy_input (char *, yy_size_t *, yy_size_t); static void comment (void); static void lex_warn_invalid (char *where, char *what); @@ -94,6 +92,8 @@ int yywrap (void) { return 1; } #endif %} +%option nounput + %a 4000 %o 5000 @@ -612,7 +612,7 @@ ldlex_popstate (void) either the number of characters read, or 0 to indicate EOF. */ static void -yy_input (char *buf, int *result, int max_size) +yy_input (char *buf, yy_size_t *result, yy_size_t max_size) { *result = 0; if (YY_CURRENT_BUFFER->yy_input_file) Modified: user/attilio/jeff-numa/contrib/bmake/var.c ============================================================================== --- user/attilio/jeff-numa/contrib/bmake/var.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/contrib/bmake/var.c Sun May 5 13:47:39 2013 (r250270) @@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/ #include "job.h" /* + * XXX transition hack for FreeBSD ports. + * bsd.port.mk can set .MAKE.FreeBSD_UL=yes + * to cause us to treat :[LU] as aliases for :t[lu] + * To be reverted when ports converts to :t[lu] (when 8.3 is EOL) + */ +#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL" +#ifdef MAKE_FREEBSD_UL +static int FreeBSD_UL = FALSE; +#endif + +/* * This lets us tell if we have replaced the original environ * (which we cannot free). */ @@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va setenv(MAKE_LEVEL_SAFE, tmp, 1); #endif } +#ifdef MAKE_FREEBSD_UL + if (strcmp(MAKE_FREEBSD_UL, name) == 0) { + FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE); + } +#endif out: @@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t free(loop.str); break; } - case 'D': case 'U': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + int nc = tstr[1]; + + /* we have to be careful, since :U is used internally */ + if (nc == ':' || nc == endc) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = toupper((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; /* yes inside the conditional */ + } + /* FALLTHROUGH */ + } +#endif + case 'D': { Buffer buf; /* Buffer for patterns */ int wantit; /* want data in buffer */ @@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t break; } case 'L': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = tolower((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; + } + /* FALLTHROUGH */ +#endif { if ((v->flags & VAR_JUNK) != 0) v->flags |= VAR_KEEP; Modified: user/attilio/jeff-numa/contrib/bsnmp/snmp_mibII/mibII.c ============================================================================== --- user/attilio/jeff-numa/contrib/bsnmp/snmp_mibII/mibII.c Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/contrib/bsnmp/snmp_mibII/mibII.c Sun May 5 13:47:39 2013 (r250270) @@ -934,6 +934,34 @@ mib_find_ifa(struct in_addr addr) } /* + * Process a new ARP entry + */ +static void +process_arp(const struct rt_msghdr *rtm, const struct sockaddr_dl *sdl, + const struct sockaddr_in *sa) +{ + struct mibif *ifp; + struct mibarp *at; + + /* IP arp table entry */ + if (sdl->sdl_alen == 0) + return; + if ((ifp = mib_find_if_sys(sdl->sdl_index)) == NULL) + return; + /* have a valid entry */ + if ((at = mib_find_arp(ifp, sa->sin_addr)) == NULL && + (at = mib_arp_create(ifp, sa->sin_addr, + sdl->sdl_data + sdl->sdl_nlen, sdl->sdl_alen)) == NULL) + return; + + if (rtm->rtm_rmx.rmx_expire == 0) + at->flags |= MIBARP_PERM; + else + at->flags &= ~MIBARP_PERM; + at->flags |= MIBARP_FOUND; +} + +/* * Handle a routing socket message. */ static void @@ -1075,6 +1103,23 @@ handle_rtmsg(struct rt_msghdr *rtm) #endif case RTM_GET: case RTM_ADD: + mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs); + if (rtm->rtm_flags & RTF_LLINFO) { + if (addrs[RTAX_DST] == NULL || + addrs[RTAX_GATEWAY] == NULL || + addrs[RTAX_DST]->sa_family != AF_INET || + addrs[RTAX_GATEWAY]->sa_family != AF_LINK) + break; + process_arp(rtm, + (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY], + (struct sockaddr_in *)(void *)addrs[RTAX_DST]); + } else { + if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP)) + mib_sroute_process(rtm, addrs[RTAX_GATEWAY], + addrs[RTAX_DST], addrs[RTAX_NETMASK]); + } + break; + case RTM_DELETE: mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs); Modified: user/attilio/jeff-numa/contrib/libc++/CREDITS.TXT ============================================================================== --- user/attilio/jeff-numa/contrib/libc++/CREDITS.TXT Sun May 5 13:28:18 2013 (r250269) +++ user/attilio/jeff-numa/contrib/libc++/CREDITS.TXT Sun May 5 13:47:39 2013 (r250270) @@ -8,69 +8,88 @@ beautification by scripts. The fields a (W), PGP key ID and fingerprint (P), description (D), and snail-mail address (S). -N: Howard Hinnant -E: hhinnant@apple.com -D: Architect and primary author of libc++ +N: Saleem Abdulrasool +E: compnerd@compnerd.org +D: Minor patches and Linux fixes. + +N: Dimitry Andric +E: dimitry@andric.com +D: Visibility fixes, minor FreeBSD portability patches. + +N: Holger Arnold +E: holgerar@gmail.com +D: Minor fix. + +N: Ruben Van Boxem +E: vanboxem dot ruben at gmail dot com +D: Initial Windows patches. + +N: David Chisnall +E: theraven at theravensnest dot org +D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. N: Marshall Clow E: mclow.lists@gmail.com E: marshall@idio.com D: Minor patches and bug fixes. -N: Bjorn Reese -E: breese@users.sourceforge.net -D: Initial regex prototype +N: Google Inc. +D: Copyright owner and contributor of the CityHash algorithm -N: David Chisnall -E: theraven at theravensnest dot org -D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. +N: Howard Hinnant +E: hhinnant@apple.com +D: Architect and primary author of libc++ -N: Ruben Van Boxem *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun May 5 13:57:04 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B0C37C37; Sun, 5 May 2013 13:57:04 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A0F4FECD; Sun, 5 May 2013 13:57:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45Dv4YW000851; Sun, 5 May 2013 13:57:04 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45DuxfV000805; Sun, 5 May 2013 13:56:59 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051356.r45DuxfV000805@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 13:56:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250271 - in user/dchagin/lemul: . bin/hostname bin/kill bin/mkdir bin/sh contrib/binutils/binutils contrib/binutils/ld contrib/bmake contrib/libc++ contrib/libc++/include contrib/libc+... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 13:57:04 -0000 Author: dchagin Date: Sun May 5 13:56:59 2013 New Revision: 250271 URL: http://svnweb.freebsd.org/changeset/base/250271 Log: MFC Added: user/dchagin/lemul/release/picobsd/floppy.tree/etc/ssh/ - copied from r250270, head/release/picobsd/floppy.tree/etc/ssh/ user/dchagin/lemul/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250270, head/share/examples/BSD_daemon/beastie2.eps user/dchagin/lemul/share/man/man4/man4.arm/devcfg.4 - copied unchanged from r250270, head/share/man/man4/man4.arm/devcfg.4 user/dchagin/lemul/share/man/man4/ntb.4 - copied unchanged from r250270, head/share/man/man4/ntb.4 user/dchagin/lemul/sys/arm/conf/ZEDBOARD - copied unchanged from r250270, head/sys/arm/conf/ZEDBOARD user/dchagin/lemul/sys/arm/xilinx/ - copied from r250270, head/sys/arm/xilinx/ user/dchagin/lemul/sys/boot/fdt/dts/zedboard.dts - copied unchanged from r250270, head/sys/boot/fdt/dts/zedboard.dts user/dchagin/lemul/sys/contrib/dev/ath/ - copied from r250270, head/sys/contrib/dev/ath/ user/dchagin/lemul/sys/dev/cadence/ - copied from r250270, head/sys/dev/cadence/ user/dchagin/lemul/sys/dev/ntb/ - copied from r250270, head/sys/dev/ntb/ user/dchagin/lemul/sys/dev/sdhci/sdhci_fdt.c - copied unchanged from r250270, head/sys/dev/sdhci/sdhci_fdt.c user/dchagin/lemul/sys/modules/ntb/ - copied from r250270, head/sys/modules/ntb/ user/dchagin/lemul/tools/regression/bin/sh/builtins/read7.0 - copied unchanged from r250270, head/tools/regression/bin/sh/builtins/read7.0 user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.0.in - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.0.in user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.0.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.0.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.0I.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.0I.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.0J.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.0J.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.0L.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.0L.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.n1.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.n1.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.n2.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.n2.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.n3.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.n3.out user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.quotes.in - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.quotes.in user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.quotes.out - copied unchanged from r250270, head/tools/regression/usr.bin/xargs/regress.quotes.out user/dchagin/lemul/tools/tools/ath/athalq/txdiff.pl - copied unchanged from r250270, head/tools/tools/ath/athalq/txdiff.pl Deleted: user/dchagin/lemul/release/picobsd/floppy.tree/etc/sshd_config Modified: user/dchagin/lemul/MAINTAINERS (contents, props changed) user/dchagin/lemul/Makefile.inc1 user/dchagin/lemul/UPDATING user/dchagin/lemul/bin/hostname/hostname.c user/dchagin/lemul/bin/kill/kill.c user/dchagin/lemul/bin/mkdir/mkdir.c user/dchagin/lemul/bin/sh/input.c user/dchagin/lemul/bin/sh/jobs.c user/dchagin/lemul/bin/sh/main.c user/dchagin/lemul/bin/sh/miscbltin.c user/dchagin/lemul/bin/sh/redir.c user/dchagin/lemul/bin/sh/sh.1 user/dchagin/lemul/contrib/binutils/binutils/arlex.l user/dchagin/lemul/contrib/binutils/ld/ldlex.l user/dchagin/lemul/contrib/bmake/var.c user/dchagin/lemul/contrib/libc++/CREDITS.TXT user/dchagin/lemul/contrib/libc++/LICENSE.TXT user/dchagin/lemul/contrib/libc++/include/__bit_reference user/dchagin/lemul/contrib/libc++/include/__config user/dchagin/lemul/contrib/libc++/include/__debug user/dchagin/lemul/contrib/libc++/include/__functional_03 user/dchagin/lemul/contrib/libc++/include/__functional_base user/dchagin/lemul/contrib/libc++/include/__functional_base_03 user/dchagin/lemul/contrib/libc++/include/__hash_table user/dchagin/lemul/contrib/libc++/include/__locale user/dchagin/lemul/contrib/libc++/include/__mutex_base user/dchagin/lemul/contrib/libc++/include/__std_stream user/dchagin/lemul/contrib/libc++/include/__tree user/dchagin/lemul/contrib/libc++/include/__tuple user/dchagin/lemul/contrib/libc++/include/__tuple_03 user/dchagin/lemul/contrib/libc++/include/algorithm user/dchagin/lemul/contrib/libc++/include/array user/dchagin/lemul/contrib/libc++/include/bitset user/dchagin/lemul/contrib/libc++/include/chrono user/dchagin/lemul/contrib/libc++/include/codecvt user/dchagin/lemul/contrib/libc++/include/complex user/dchagin/lemul/contrib/libc++/include/condition_variable user/dchagin/lemul/contrib/libc++/include/cstddef user/dchagin/lemul/contrib/libc++/include/cstring user/dchagin/lemul/contrib/libc++/include/cwchar user/dchagin/lemul/contrib/libc++/include/deque user/dchagin/lemul/contrib/libc++/include/exception user/dchagin/lemul/contrib/libc++/include/ext/__hash user/dchagin/lemul/contrib/libc++/include/ext/hash_map user/dchagin/lemul/contrib/libc++/include/ext/hash_set user/dchagin/lemul/contrib/libc++/include/forward_list user/dchagin/lemul/contrib/libc++/include/fstream user/dchagin/lemul/contrib/libc++/include/functional user/dchagin/lemul/contrib/libc++/include/future user/dchagin/lemul/contrib/libc++/include/initializer_list user/dchagin/lemul/contrib/libc++/include/ios user/dchagin/lemul/contrib/libc++/include/iosfwd user/dchagin/lemul/contrib/libc++/include/iostream user/dchagin/lemul/contrib/libc++/include/istream user/dchagin/lemul/contrib/libc++/include/iterator user/dchagin/lemul/contrib/libc++/include/limits user/dchagin/lemul/contrib/libc++/include/list user/dchagin/lemul/contrib/libc++/include/locale user/dchagin/lemul/contrib/libc++/include/map user/dchagin/lemul/contrib/libc++/include/memory user/dchagin/lemul/contrib/libc++/include/mutex user/dchagin/lemul/contrib/libc++/include/new user/dchagin/lemul/contrib/libc++/include/ostream user/dchagin/lemul/contrib/libc++/include/queue user/dchagin/lemul/contrib/libc++/include/random user/dchagin/lemul/contrib/libc++/include/ratio user/dchagin/lemul/contrib/libc++/include/regex user/dchagin/lemul/contrib/libc++/include/scoped_allocator user/dchagin/lemul/contrib/libc++/include/set user/dchagin/lemul/contrib/libc++/include/sstream user/dchagin/lemul/contrib/libc++/include/stack user/dchagin/lemul/contrib/libc++/include/streambuf user/dchagin/lemul/contrib/libc++/include/string user/dchagin/lemul/contrib/libc++/include/strstream user/dchagin/lemul/contrib/libc++/include/system_error user/dchagin/lemul/contrib/libc++/include/thread user/dchagin/lemul/contrib/libc++/include/tuple user/dchagin/lemul/contrib/libc++/include/type_traits user/dchagin/lemul/contrib/libc++/include/typeindex user/dchagin/lemul/contrib/libc++/include/unordered_map user/dchagin/lemul/contrib/libc++/include/unordered_set user/dchagin/lemul/contrib/libc++/include/utility user/dchagin/lemul/contrib/libc++/include/valarray user/dchagin/lemul/contrib/libc++/include/vector user/dchagin/lemul/contrib/libc++/src/chrono.cpp user/dchagin/lemul/contrib/libc++/src/debug.cpp user/dchagin/lemul/contrib/libc++/src/exception.cpp user/dchagin/lemul/contrib/libc++/src/hash.cpp user/dchagin/lemul/contrib/libc++/src/iostream.cpp user/dchagin/lemul/contrib/libc++/src/locale.cpp user/dchagin/lemul/contrib/libc++/src/memory.cpp user/dchagin/lemul/contrib/libc++/src/new.cpp user/dchagin/lemul/contrib/libc++/src/stdexcept.cpp user/dchagin/lemul/contrib/libc++/src/string.cpp user/dchagin/lemul/contrib/libc++/src/strstream.cpp user/dchagin/lemul/contrib/libc++/src/system_error.cpp user/dchagin/lemul/contrib/libc++/src/thread.cpp user/dchagin/lemul/contrib/libc++/src/typeinfo.cpp user/dchagin/lemul/contrib/smbfs/lib/smb/ctx.c user/dchagin/lemul/contrib/smbfs/mount_smbfs/mount_smbfs.c user/dchagin/lemul/etc/Makefile user/dchagin/lemul/etc/rc.d/ip6addrctl user/dchagin/lemul/etc/rc.d/mountlate user/dchagin/lemul/include/tgmath.h user/dchagin/lemul/include/unistd.h user/dchagin/lemul/kerberos5/lib/libgssapi_krb5/pname_to_uid.c user/dchagin/lemul/lib/Makefile user/dchagin/lemul/lib/clang/include/llvm/Config/config.h user/dchagin/lemul/lib/libc/gen/errlst.c user/dchagin/lemul/lib/libc/locale/duplocale.3 user/dchagin/lemul/lib/libc/locale/freelocale.3 user/dchagin/lemul/lib/libc/locale/newlocale.3 user/dchagin/lemul/lib/libc/locale/querylocale.3 user/dchagin/lemul/lib/libc/locale/uselocale.3 user/dchagin/lemul/lib/libc/locale/xlocale.3 user/dchagin/lemul/lib/libc/net/nslexer.l user/dchagin/lemul/lib/libc/nls/C.msg user/dchagin/lemul/lib/libc/sys/Makefile.inc user/dchagin/lemul/lib/libc/sys/Symbol.map user/dchagin/lemul/lib/libc/sys/accept.2 user/dchagin/lemul/lib/libc/sys/intro.2 user/dchagin/lemul/lib/libc/sys/pipe.2 user/dchagin/lemul/lib/libipsec/policy_token.l user/dchagin/lemul/lib/libkvm/kvm.c user/dchagin/lemul/lib/libpmc/Makefile user/dchagin/lemul/lib/libprocstat/Symbol.map user/dchagin/lemul/lib/libprocstat/libprocstat.3 user/dchagin/lemul/lib/libprocstat/libprocstat.c user/dchagin/lemul/lib/libprocstat/libprocstat.h user/dchagin/lemul/lib/libstand/Makefile user/dchagin/lemul/lib/libstand/mips/_setjmp.S user/dchagin/lemul/lib/libthr/pthread.map user/dchagin/lemul/lib/libthr/thread/thr_sig.c user/dchagin/lemul/lib/libthr/thread/thr_syscalls.c user/dchagin/lemul/lib/libusb/Makefile user/dchagin/lemul/lib/libusb/libusb20.3 user/dchagin/lemul/lib/libusb/libusb20.c user/dchagin/lemul/lib/libusb/libusb20.h user/dchagin/lemul/lib/libusb/libusb20_int.h user/dchagin/lemul/lib/libusb/libusb20_ugen20.c user/dchagin/lemul/lib/libz/ChangeLog user/dchagin/lemul/lib/libz/README user/dchagin/lemul/lib/libz/Symbol.map user/dchagin/lemul/lib/libz/Versions.def user/dchagin/lemul/lib/libz/compress.c user/dchagin/lemul/lib/libz/contrib/README.contrib user/dchagin/lemul/lib/libz/deflate.c user/dchagin/lemul/lib/libz/deflate.h user/dchagin/lemul/lib/libz/gzguts.h user/dchagin/lemul/lib/libz/gzlib.c user/dchagin/lemul/lib/libz/gzread.c user/dchagin/lemul/lib/libz/gzwrite.c user/dchagin/lemul/lib/libz/infback.c user/dchagin/lemul/lib/libz/inffast.c user/dchagin/lemul/lib/libz/inflate.c user/dchagin/lemul/lib/libz/inftrees.c user/dchagin/lemul/lib/libz/test/example.c user/dchagin/lemul/lib/libz/test/minigzip.c user/dchagin/lemul/lib/libz/trees.c user/dchagin/lemul/lib/libz/uncompr.c user/dchagin/lemul/lib/libz/zconf.h user/dchagin/lemul/lib/libz/zlib.3 user/dchagin/lemul/lib/libz/zlib.h user/dchagin/lemul/lib/libz/zutil.c user/dchagin/lemul/lib/libz/zutil.h user/dchagin/lemul/libexec/rtld-elf/rtld.c user/dchagin/lemul/release/picobsd/floppy.tree/etc/master.passwd user/dchagin/lemul/sbin/devd/devd.cc user/dchagin/lemul/sbin/devd/token.l user/dchagin/lemul/sbin/dumpon/dumpon.8 user/dchagin/lemul/sbin/fsck_ffs/fsck.h user/dchagin/lemul/sbin/fsck_ffs/fsck_ffs.8 user/dchagin/lemul/sbin/fsck_ffs/fsutil.c user/dchagin/lemul/sbin/fsck_ffs/main.c user/dchagin/lemul/sbin/fsck_ffs/pass5.c user/dchagin/lemul/sbin/mount/mount.8 user/dchagin/lemul/sbin/mount/mount.c user/dchagin/lemul/sbin/ping6/ping6.8 user/dchagin/lemul/sbin/ping6/ping6.c user/dchagin/lemul/share/examples/BSD_daemon/README user/dchagin/lemul/share/man/man4/Makefile user/dchagin/lemul/share/man/man4/em.4 user/dchagin/lemul/share/man/man4/igb.4 user/dchagin/lemul/share/man/man4/ixgb.4 user/dchagin/lemul/share/man/man4/ixgbe.4 user/dchagin/lemul/share/man/man4/man4.arm/Makefile user/dchagin/lemul/share/man/man4/man4.i386/npx.4 user/dchagin/lemul/share/misc/bsd-family-tree user/dchagin/lemul/sys/amd64/amd64/fpu.c user/dchagin/lemul/sys/amd64/conf/NOTES user/dchagin/lemul/sys/amd64/vmm/vmm_instruction_emul.c user/dchagin/lemul/sys/arm/arm/cpufunc.c user/dchagin/lemul/sys/arm/arm/db_trace.c user/dchagin/lemul/sys/arm/arm/exception.S user/dchagin/lemul/sys/arm/arm/identcpu.c user/dchagin/lemul/sys/arm/arm/locore.S user/dchagin/lemul/sys/arm/arm/swtch.S user/dchagin/lemul/sys/arm/arm/trap.c user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_dma.c user/dchagin/lemul/sys/arm/include/armreg.h user/dchagin/lemul/sys/cam/ata/ata_da.c user/dchagin/lemul/sys/cam/ctl/ctl_frontend_internal.c user/dchagin/lemul/sys/cam/scsi/scsi_all.h user/dchagin/lemul/sys/cam/scsi/scsi_da.c user/dchagin/lemul/sys/cam/scsi/scsi_xpt.c user/dchagin/lemul/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/dchagin/lemul/sys/compat/freebsd32/freebsd32_proto.h user/dchagin/lemul/sys/compat/freebsd32/freebsd32_syscall.h user/dchagin/lemul/sys/compat/freebsd32/freebsd32_syscalls.c user/dchagin/lemul/sys/compat/freebsd32/freebsd32_sysent.c user/dchagin/lemul/sys/compat/freebsd32/freebsd32_systrace_args.c user/dchagin/lemul/sys/compat/freebsd32/syscalls.master user/dchagin/lemul/sys/conf/files user/dchagin/lemul/sys/conf/files.amd64 user/dchagin/lemul/sys/conf/files.powerpc user/dchagin/lemul/sys/conf/kern.pre.mk user/dchagin/lemul/sys/conf/options user/dchagin/lemul/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/dchagin/lemul/sys/contrib/octeon-sdk/cvmx-mgmt-port.h user/dchagin/lemul/sys/contrib/octeon-sdk/cvmx-usbd.c user/dchagin/lemul/sys/dev/acpi_support/acpi_hp.c user/dchagin/lemul/sys/dev/ahci/ahci.c user/dchagin/lemul/sys/dev/altera/jtag_uart/altera_jtag_uart.h user/dchagin/lemul/sys/dev/ath/ath_hal/ah.c user/dchagin/lemul/sys/dev/ath/ath_hal/ah_devid.h user/dchagin/lemul/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h user/dchagin/lemul/sys/dev/ath/if_ath.c user/dchagin/lemul/sys/dev/bktr/msp34xx.c user/dchagin/lemul/sys/dev/cfi/cfi_bus_fdt.c user/dchagin/lemul/sys/dev/cfi/cfi_core.c user/dchagin/lemul/sys/dev/ciss/ciss.c user/dchagin/lemul/sys/dev/cxgbe/adapter.h user/dchagin/lemul/sys/dev/cxgbe/common/common.h user/dchagin/lemul/sys/dev/cxgbe/common/t4_hw.c user/dchagin/lemul/sys/dev/cxgbe/firmware/t4fw_interface.h user/dchagin/lemul/sys/dev/cxgbe/osdep.h user/dchagin/lemul/sys/dev/cxgbe/t4_main.c user/dchagin/lemul/sys/dev/cxgbe/tom/t4_cpl_io.c user/dchagin/lemul/sys/dev/cxgbe/tom/t4_ddp.c user/dchagin/lemul/sys/dev/cxgbe/tom/t4_tom.h user/dchagin/lemul/sys/dev/e1000/README user/dchagin/lemul/sys/dev/e1000/if_em.c user/dchagin/lemul/sys/dev/e1000/if_igb.c user/dchagin/lemul/sys/dev/e1000/if_lem.c user/dchagin/lemul/sys/dev/hptiop/hptiop.c user/dchagin/lemul/sys/dev/hptiop/hptiop.h user/dchagin/lemul/sys/dev/hptrr/hptrr_osm_bsd.c user/dchagin/lemul/sys/dev/hwpmc/hwpmc_core.c user/dchagin/lemul/sys/dev/hwpmc/hwpmc_intel.c user/dchagin/lemul/sys/dev/hwpmc/hwpmc_mod.c user/dchagin/lemul/sys/dev/hwpmc/hwpmc_soft.c user/dchagin/lemul/sys/dev/hwpmc/pmc_events.h user/dchagin/lemul/sys/dev/ixgb/README user/dchagin/lemul/sys/dev/ixgbe/ixgbe.c user/dchagin/lemul/sys/dev/mmc/mmc.c user/dchagin/lemul/sys/dev/mps/mps_mapping.c user/dchagin/lemul/sys/dev/netmap/if_em_netmap.h user/dchagin/lemul/sys/dev/netmap/if_igb_netmap.h user/dchagin/lemul/sys/dev/netmap/if_lem_netmap.h user/dchagin/lemul/sys/dev/netmap/if_re_netmap.h user/dchagin/lemul/sys/dev/netmap/ixgbe_netmap.h user/dchagin/lemul/sys/dev/netmap/netmap.c user/dchagin/lemul/sys/dev/netmap/netmap_kern.h user/dchagin/lemul/sys/dev/netmap/netmap_mem2.c user/dchagin/lemul/sys/dev/re/if_re.c user/dchagin/lemul/sys/dev/uart/uart.h user/dchagin/lemul/sys/dev/uart/uart_bus_fdt.c user/dchagin/lemul/sys/dev/usb/template/usb_template.c user/dchagin/lemul/sys/dev/usb/usb_debug.h user/dchagin/lemul/sys/dev/usb/usb_device.c user/dchagin/lemul/sys/dev/usb/usb_device.h user/dchagin/lemul/sys/dev/usb/usb_dynamic.c user/dchagin/lemul/sys/dev/usb/usb_freebsd.h user/dchagin/lemul/sys/dev/usb/usb_freebsd_loader.h user/dchagin/lemul/sys/dev/usb/usb_generic.c user/dchagin/lemul/sys/dev/usb/usb_hub.c user/dchagin/lemul/sys/dev/usb/usb_hub.h user/dchagin/lemul/sys/dev/usb/usb_ioctl.h user/dchagin/lemul/sys/dev/usb/usb_parse.c user/dchagin/lemul/sys/dev/usb/usb_request.c user/dchagin/lemul/sys/dev/usb/usb_request.h user/dchagin/lemul/sys/fs/msdosfs/msdosfs_denode.c user/dchagin/lemul/sys/fs/msdosfs/msdosfs_vnops.c user/dchagin/lemul/sys/fs/nfsserver/nfs_nfsdport.c user/dchagin/lemul/sys/fs/smbfs/smbfs.h user/dchagin/lemul/sys/fs/smbfs/smbfs_io.c user/dchagin/lemul/sys/fs/smbfs/smbfs_vfsops.c user/dchagin/lemul/sys/fs/tmpfs/tmpfs.h user/dchagin/lemul/sys/fs/tmpfs/tmpfs_subr.c user/dchagin/lemul/sys/fs/tmpfs/tmpfs_vnops.c user/dchagin/lemul/sys/geom/label/g_label_ntfs.c user/dchagin/lemul/sys/kern/capabilities.conf user/dchagin/lemul/sys/kern/imgact_elf.c user/dchagin/lemul/sys/kern/init_sysent.c user/dchagin/lemul/sys/kern/kern_descrip.c user/dchagin/lemul/sys/kern/sys_pipe.c user/dchagin/lemul/sys/kern/syscalls.c user/dchagin/lemul/sys/kern/syscalls.master user/dchagin/lemul/sys/kern/systrace_args.c user/dchagin/lemul/sys/kern/uipc_sem.c user/dchagin/lemul/sys/kern/uipc_socket.c user/dchagin/lemul/sys/kern/uipc_syscalls.c user/dchagin/lemul/sys/kern/vfs_subr.c user/dchagin/lemul/sys/kern/vfs_vnops.c user/dchagin/lemul/sys/kgssapi/krb5/krb5_mech.c user/dchagin/lemul/sys/mips/atheros/ar71xx_gpio.c user/dchagin/lemul/sys/mips/cavium/octe/ethernet-common.c user/dchagin/lemul/sys/mips/cavium/octe/wrapper-cvmx-includes.h user/dchagin/lemul/sys/mips/include/asm.h user/dchagin/lemul/sys/mips/include/regdef.h user/dchagin/lemul/sys/mips/mips/db_interface.c user/dchagin/lemul/sys/mips/mips/trap.c user/dchagin/lemul/sys/mips/mips/vm_machdep.c user/dchagin/lemul/sys/modules/Makefile user/dchagin/lemul/sys/modules/ath/Makefile user/dchagin/lemul/sys/net/if_spppsubr.c user/dchagin/lemul/sys/net/netmap.h user/dchagin/lemul/sys/net/netmap_user.h user/dchagin/lemul/sys/netinet/icmp6.h user/dchagin/lemul/sys/netinet/in.h user/dchagin/lemul/sys/netinet6/in6.c user/dchagin/lemul/sys/netinet6/in6_ifattach.c user/dchagin/lemul/sys/netinet6/in6_ifattach.h user/dchagin/lemul/sys/netinet6/in6_proto.c user/dchagin/lemul/sys/netpfil/ipfw/ip_dummynet.c user/dchagin/lemul/sys/netpfil/ipfw/ip_fw2.c user/dchagin/lemul/sys/netsmb/smb_conn.c user/dchagin/lemul/sys/netsmb/smb_conn.h user/dchagin/lemul/sys/netsmb/smb_dev.c user/dchagin/lemul/sys/netsmb/smb_dev.h user/dchagin/lemul/sys/netsmb/smb_trantcp.c user/dchagin/lemul/sys/sys/errno.h user/dchagin/lemul/sys/sys/ksem.h user/dchagin/lemul/sys/sys/param.h user/dchagin/lemul/sys/sys/socket.h user/dchagin/lemul/sys/sys/syscall.h user/dchagin/lemul/sys/sys/syscall.mk user/dchagin/lemul/sys/sys/syscallsubr.h user/dchagin/lemul/sys/sys/sysproto.h user/dchagin/lemul/sys/sys/user.h user/dchagin/lemul/sys/vm/vm_mmap.c user/dchagin/lemul/sys/vm/vm_object.c user/dchagin/lemul/sys/vm/vm_object.h user/dchagin/lemul/sys/vm/vm_phys.c user/dchagin/lemul/sys/vm/vm_radix.c user/dchagin/lemul/sys/vm/vnode_pager.c user/dchagin/lemul/sys/xen/xenstore/xenstore.c user/dchagin/lemul/tools/build/mk/OptionalObsoleteFiles.inc user/dchagin/lemul/tools/regression/usr.bin/xargs/regress.sh user/dchagin/lemul/tools/tools/ath/athalq/Makefile user/dchagin/lemul/tools/tools/ath/athalq/ar9300_ds.c user/dchagin/lemul/tools/tools/ath/athalq/main.c user/dchagin/lemul/tools/tools/nanobsd/nanobsd.sh user/dchagin/lemul/tools/tools/netmap/README user/dchagin/lemul/usr.bin/Makefile user/dchagin/lemul/usr.bin/ar/acplex.l user/dchagin/lemul/usr.bin/biff/biff.1 user/dchagin/lemul/usr.bin/calendar/calendars/calendar.dutch user/dchagin/lemul/usr.bin/csup/token.l user/dchagin/lemul/usr.bin/fstat/fstat.1 user/dchagin/lemul/usr.bin/fstat/fstat.c user/dchagin/lemul/usr.bin/m4/TEST/ack.m4 user/dchagin/lemul/usr.bin/m4/TEST/hanoi.m4 user/dchagin/lemul/usr.bin/m4/TEST/hash.m4 user/dchagin/lemul/usr.bin/m4/TEST/sqroot.m4 user/dchagin/lemul/usr.bin/m4/TEST/string.m4 user/dchagin/lemul/usr.bin/m4/TEST/test.m4 user/dchagin/lemul/usr.bin/m4/eval.c user/dchagin/lemul/usr.bin/m4/extern.h user/dchagin/lemul/usr.bin/m4/m4.1 user/dchagin/lemul/usr.bin/m4/main.c user/dchagin/lemul/usr.bin/m4/parser.y user/dchagin/lemul/usr.bin/m4/tokenizer.l user/dchagin/lemul/usr.bin/nfsstat/nfsstat.1 user/dchagin/lemul/usr.bin/xlint/lint1/scan.l user/dchagin/lemul/usr.sbin/apmd/apmdlex.l user/dchagin/lemul/usr.sbin/bhyve/pci_virtio_net.c user/dchagin/lemul/usr.sbin/bhyve/virtio.h user/dchagin/lemul/usr.sbin/config/lang.l user/dchagin/lemul/usr.sbin/config/main.c user/dchagin/lemul/usr.sbin/gssd/gssd.c user/dchagin/lemul/usr.sbin/jail/jaillex.l user/dchagin/lemul/usr.sbin/kbdcontrol/lex.l user/dchagin/lemul/usr.sbin/ndiscvt/inf-token.l user/dchagin/lemul/usr.sbin/nfsd/nfsv4.4 user/dchagin/lemul/usr.sbin/rrenumd/lexer.l Directory Properties: user/dchagin/lemul/ (props changed) user/dchagin/lemul/contrib/binutils/ (props changed) user/dchagin/lemul/contrib/bmake/ (props changed) user/dchagin/lemul/contrib/libc++/ (props changed) user/dchagin/lemul/lib/libc/ (props changed) user/dchagin/lemul/lib/libz/ (props changed) user/dchagin/lemul/sbin/ (props changed) user/dchagin/lemul/sbin/dumpon/ (props changed) user/dchagin/lemul/share/man/man4/ (props changed) user/dchagin/lemul/sys/ (props changed) user/dchagin/lemul/sys/amd64/vmm/ (props changed) user/dchagin/lemul/sys/boot/ (props changed) user/dchagin/lemul/sys/cddl/contrib/opensolaris/ (props changed) user/dchagin/lemul/sys/conf/ (props changed) user/dchagin/lemul/sys/contrib/octeon-sdk/ (props changed) user/dchagin/lemul/usr.bin/calendar/ (props changed) user/dchagin/lemul/usr.bin/csup/ (props changed) user/dchagin/lemul/usr.sbin/bhyve/ (props changed) user/dchagin/lemul/usr.sbin/jail/ (props changed) user/dchagin/lemul/usr.sbin/ndiscvt/ (props changed) Modified: user/dchagin/lemul/MAINTAINERS ============================================================================== --- user/dchagin/lemul/MAINTAINERS Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/MAINTAINERS Sun May 5 13:56:59 2013 (r250271) @@ -64,7 +64,6 @@ linprocfs des Pre-commit review requeste lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. newsyslog(8) gad Heads-up appreciated. I'm going thru the PR's for it. -cvs peter Heads-up appreciated, try not to break it. nvi peter Try not to break it. libz peter Try not to break it. groff ru Recommends pre-commit review. Modified: user/dchagin/lemul/Makefile.inc1 ============================================================================== --- user/dchagin/lemul/Makefile.inc1 Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/Makefile.inc1 Sun May 5 13:56:59 2013 (r250271) @@ -41,13 +41,6 @@ # /usr/share/mk. These include: # obj depend all install clean cleandepend cleanobj -# You are supposed to define both of these when calling Makefile.inc1 -# directly. However, some old scripts don't. Cope for the moment, but -# issue a new warning for a transition period. -.if defined(TARGET) && !defined(TARGET_ARCH) -.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1. Setting TARGET_ARCH=${TARGET}." -TARGET_ARCH=${TARGET} -.endif .if !defined(TARGET) || !defined(TARGET_ARCH) .error "Both TARGET and TARGET_ARCH must be defined." .endif @@ -65,6 +58,9 @@ TARGET_ARCH=${TARGET} # use that new version. And the new (dynamically-linked) /bin/sh # will expect to find appropriate libraries in /lib and /libexec. # +.if defined(SUBDIR_OVERRIDE) +SUBDIR= ${SUBDIR_OVERRIDE} +.else SUBDIR= share/info lib libexec SUBDIR+=bin .if ${MK_GAMES} != "no" @@ -103,9 +99,6 @@ SUBDIR+=etc SUBDIR+= ${_DIR} .endif .endfor - -.if defined(SUBDIR_OVERRIDE) -SUBDIR= ${SUBDIR_OVERRIDE} .endif .if defined(NOCLEAN) Modified: user/dchagin/lemul/UPDATING ============================================================================== --- user/dchagin/lemul/UPDATING Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/UPDATING Sun May 5 13:56:59 2013 (r250271) @@ -31,6 +31,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130429: + Fix a bug that allows NFS clients to issue READDIR on files. + 20130426: The WITHOUT_IDEA option has been removed because the IDEA patent expired. @@ -101,6 +104,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 while having the GNU version installed as gnupatch, rebuild and install world with the WITH_BSD_PATCH knob set. +20130121: + Due to the use of the new -l option to install(1) during build + and install, you must take care not to directly set the INSTALL + make variable in your /etc/make.conf, /etc/src.conf, or on the + command line. If you with to use the -C flag for all installs + you may be able to add INSTALL+=-C to /etc/make.conf or + /etc/src.conf. + 20130118: The install(1) option -M has changed meaning and now takes an argument that is a file or path to append logs to. In the @@ -280,7 +291,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is now spelled mips. This is to aid compatibility with third-party software that expects this naming scheme in uname(3). Little-endian - settings are unchanged. + settings are unchanged. If you are updating a big-endian mips64 machine + from before this change, you may need to set MACHINE_ARCH=mips64 in + your environment before the new build system will recognize your machine. 20120306: Disable by default the option VFS_ALLOW_NONMPSAFE for all supported Modified: user/dchagin/lemul/bin/hostname/hostname.c ============================================================================== --- user/dchagin/lemul/bin/hostname/hostname.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/hostname/hostname.c Sun May 5 13:56:59 2013 (r250271) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include -static void usage(void); +static void usage(void) __dead2; int main(int argc, char *argv[]) Modified: user/dchagin/lemul/bin/kill/kill.c ============================================================================== --- user/dchagin/lemul/bin/kill/kill.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/kill/kill.c Sun May 5 13:56:59 2013 (r250271) @@ -156,7 +156,7 @@ signame_to_signum(const char *sig) { int n; - if (!strncasecmp(sig, "SIG", (size_t)3)) + if (strncasecmp(sig, "SIG", 3) == 0) sig += 3; for (n = 1; n < sys_nsig; n++) { if (!strcasecmp(sys_signame[n], sig)) Modified: user/dchagin/lemul/bin/mkdir/mkdir.c ============================================================================== --- user/dchagin/lemul/bin/mkdir/mkdir.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/mkdir/mkdir.c Sun May 5 13:56:59 2013 (r250271) @@ -135,7 +135,7 @@ main(int argc, char *argv[]) * Returns 1 if a directory has been created, * 2 if it already existed, and 0 on failure. */ -int +static int build(char *path, mode_t omode) { struct stat sb; @@ -208,7 +208,7 @@ build(char *path, mode_t omode) return (retval); } -void +static void usage(void) { Modified: user/dchagin/lemul/bin/sh/input.c ============================================================================== --- user/dchagin/lemul/bin/sh/input.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/input.c Sun May 5 13:56:59 2013 (r250271) @@ -397,10 +397,10 @@ setinputfile(const char *fname, int push int fd2; INTOFF; - if ((fd = open(fname, O_RDONLY)) < 0) + if ((fd = open(fname, O_RDONLY | O_CLOEXEC)) < 0) error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { - fd2 = fcntl(fd, F_DUPFD, 10); + fd2 = fcntl(fd, F_DUPFD_CLOEXEC, 10); close(fd); if (fd2 < 0) error("Out of file descriptors"); @@ -412,14 +412,13 @@ setinputfile(const char *fname, int push /* - * Like setinputfile, but takes an open file descriptor. Call this with - * interrupts off. + * Like setinputfile, but takes an open file descriptor (which should have + * its FD_CLOEXEC flag already set). Call this with interrupts off. */ void setinputfd(int fd, int push) { - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); if (push) { pushfile(); parsefile->buf = ckmalloc(BUFSIZ + 1); Modified: user/dchagin/lemul/bin/sh/jobs.c ============================================================================== --- user/dchagin/lemul/bin/sh/jobs.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/jobs.c Sun May 5 13:56:59 2013 (r250271) @@ -127,11 +127,12 @@ setjobctl(int on) if (on) { if (ttyfd != -1) close(ttyfd); - if ((ttyfd = open(_PATH_TTY, O_RDWR)) < 0) { + if ((ttyfd = open(_PATH_TTY, O_RDWR | O_CLOEXEC)) < 0) { i = 0; while (i <= 2 && !isatty(i)) i++; - if (i > 2 || (ttyfd = fcntl(i, F_DUPFD, 10)) < 0) + if (i > 2 || + (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) goto out; } if (ttyfd < 10) { @@ -139,7 +140,7 @@ setjobctl(int on) * Keep our TTY file descriptor out of the way of * the user's redirections. */ - if ((i = fcntl(ttyfd, F_DUPFD, 10)) < 0) { + if ((i = fcntl(ttyfd, F_DUPFD_CLOEXEC, 10)) < 0) { close(ttyfd); ttyfd = -1; goto out; @@ -147,11 +148,6 @@ setjobctl(int on) close(ttyfd); ttyfd = i; } - if (fcntl(ttyfd, F_SETFD, FD_CLOEXEC) < 0) { - close(ttyfd); - ttyfd = -1; - goto out; - } do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { Modified: user/dchagin/lemul/bin/sh/main.c ============================================================================== --- user/dchagin/lemul/bin/sh/main.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/main.c Sun May 5 13:56:59 2013 (r250271) @@ -248,7 +248,7 @@ read_profile(const char *name) if (expandedname == NULL) return; INTOFF; - if ((fd = open(expandedname, O_RDONLY)) >= 0) + if ((fd = open(expandedname, O_RDONLY | O_CLOEXEC)) >= 0) setinputfd(fd, 1); INTON; if (fd < 0) Modified: user/dchagin/lemul/bin/sh/miscbltin.c ============================================================================== --- user/dchagin/lemul/bin/sh/miscbltin.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/miscbltin.c Sun May 5 13:56:59 2013 (r250271) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "mystring.h" #include "syntax.h" +#include "trap.h" #undef eflag @@ -102,6 +103,8 @@ readcmd(int argc __unused, char **argv _ struct timeval tv; char *tvptr; fd_set ifds; + ssize_t nread; + int sig; rflag = 0; prompt = NULL; @@ -156,8 +159,10 @@ readcmd(int argc __unused, char **argv _ /* * If there's nothing ready, return an error. */ - if (status <= 0) - return(1); + if (status <= 0) { + sig = pendingsig; + return (128 + (sig != 0 ? sig : SIGALRM)); + } } status = 0; @@ -165,7 +170,19 @@ readcmd(int argc __unused, char **argv _ backslash = 0; STARTSTACKSTR(p); for (;;) { - if (read(STDIN_FILENO, &c, 1) != 1) { + nread = read(STDIN_FILENO, &c, 1); + if (nread == -1) { + if (errno == EINTR) { + sig = pendingsig; + if (sig == 0) + continue; + status = 128 + sig; + break; + } + warning("read error: %s", strerror(errno)); + status = 2; + break; + } else if (nread != 1) { status = 1; break; } Modified: user/dchagin/lemul/bin/sh/redir.c ============================================================================== --- user/dchagin/lemul/bin/sh/redir.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/redir.c Sun May 5 13:56:59 2013 (r250271) @@ -121,7 +121,7 @@ redirect(union node *redir, int flags) if ((flags & REDIR_PUSH) && sv->renamed[fd] == EMPTY) { INTOFF; - if ((i = fcntl(fd, F_DUPFD, 10)) == -1) { + if ((i = fcntl(fd, F_DUPFD_CLOEXEC, 10)) == -1) { switch (errno) { case EBADF: i = CLOSED; @@ -131,8 +131,7 @@ redirect(union node *redir, int flags) error("%d: %s", fd, strerror(errno)); break; } - } else - (void)fcntl(i, F_SETFD, FD_CLOEXEC); + } sv->renamed[fd] = i; INTON; } Modified: user/dchagin/lemul/bin/sh/sh.1 ============================================================================== --- user/dchagin/lemul/bin/sh/sh.1 Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/bin/sh/sh.1 Sun May 5 13:56:59 2013 (r250271) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd April 21, 2013 +.Dd May 3, 2013 .Dt SH 1 .Os .Sh NAME @@ -2372,7 +2372,9 @@ option is specified and the elapses before a complete line of input is supplied, the .Ic read -command will return an exit status of 1 without assigning any values. +command will return an exit status as if terminated by +.Dv SIGALRM +without assigning any values. The .Ar timeout value may optionally be followed by one of @@ -2388,6 +2390,11 @@ is assumed. The .Fl e option exists only for backward compatibility with older scripts. +.Pp +The exit status is 0 on success, 1 on end of file, +between 2 and 128 if an error occurs +and greater than 128 if a trapped signal interrupts +.Ic read . .It Ic readonly Oo Fl p Oc Op Ar name ... Each specified .Ar name Modified: user/dchagin/lemul/contrib/binutils/binutils/arlex.l ============================================================================== --- user/dchagin/lemul/contrib/binutils/binutils/arlex.l Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/binutils/binutils/arlex.l Sun May 5 13:56:59 2013 (r250271) @@ -28,13 +28,13 @@ Foundation, Inc., 51 Franklin Street - F #include "libiberty.h" #include "arparse.h" -#define YY_NO_UNPUT - extern int yylex (void); int linenumber; %} +%option nounput + %a 10000 %o 25000 Modified: user/dchagin/lemul/contrib/binutils/ld/ldlex.l ============================================================================== --- user/dchagin/lemul/contrib/binutils/ld/ldlex.l Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/binutils/ld/ldlex.l Sun May 5 13:56:59 2013 (r250271) @@ -63,8 +63,6 @@ const char *lex_string = NULL; #undef YY_INPUT #define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size) -#define YY_NO_UNPUT - #define MAX_INCLUDE_DEPTH 10 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; static const char *file_name_stack[MAX_INCLUDE_DEPTH]; @@ -72,7 +70,7 @@ static unsigned int lineno_stack[MAX_INC static unsigned int include_stack_ptr = 0; static int vers_node_nesting = 0; -static void yy_input (char *, int *, int); +static void yy_input (char *, yy_size_t *, yy_size_t); static void comment (void); static void lex_warn_invalid (char *where, char *what); @@ -94,6 +92,8 @@ int yywrap (void) { return 1; } #endif %} +%option nounput + %a 4000 %o 5000 @@ -612,7 +612,7 @@ ldlex_popstate (void) either the number of characters read, or 0 to indicate EOF. */ static void -yy_input (char *buf, int *result, int max_size) +yy_input (char *buf, yy_size_t *result, yy_size_t max_size) { *result = 0; if (YY_CURRENT_BUFFER->yy_input_file) Modified: user/dchagin/lemul/contrib/bmake/var.c ============================================================================== --- user/dchagin/lemul/contrib/bmake/var.c Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/bmake/var.c Sun May 5 13:56:59 2013 (r250271) @@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/ #include "job.h" /* + * XXX transition hack for FreeBSD ports. + * bsd.port.mk can set .MAKE.FreeBSD_UL=yes + * to cause us to treat :[LU] as aliases for :t[lu] + * To be reverted when ports converts to :t[lu] (when 8.3 is EOL) + */ +#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL" +#ifdef MAKE_FREEBSD_UL +static int FreeBSD_UL = FALSE; +#endif + +/* * This lets us tell if we have replaced the original environ * (which we cannot free). */ @@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va setenv(MAKE_LEVEL_SAFE, tmp, 1); #endif } +#ifdef MAKE_FREEBSD_UL + if (strcmp(MAKE_FREEBSD_UL, name) == 0) { + FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE); + } +#endif out: @@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t free(loop.str); break; } - case 'D': case 'U': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + int nc = tstr[1]; + + /* we have to be careful, since :U is used internally */ + if (nc == ':' || nc == endc) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = toupper((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; /* yes inside the conditional */ + } + /* FALLTHROUGH */ + } +#endif + case 'D': { Buffer buf; /* Buffer for patterns */ int wantit; /* want data in buffer */ @@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t break; } case 'L': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = tolower((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; + } + /* FALLTHROUGH */ +#endif { if ((v->flags & VAR_JUNK) != 0) v->flags |= VAR_KEEP; Modified: user/dchagin/lemul/contrib/libc++/CREDITS.TXT ============================================================================== --- user/dchagin/lemul/contrib/libc++/CREDITS.TXT Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/CREDITS.TXT Sun May 5 13:56:59 2013 (r250271) @@ -8,69 +8,88 @@ beautification by scripts. The fields a (W), PGP key ID and fingerprint (P), description (D), and snail-mail address (S). -N: Howard Hinnant -E: hhinnant@apple.com -D: Architect and primary author of libc++ +N: Saleem Abdulrasool +E: compnerd@compnerd.org +D: Minor patches and Linux fixes. + +N: Dimitry Andric +E: dimitry@andric.com +D: Visibility fixes, minor FreeBSD portability patches. + +N: Holger Arnold +E: holgerar@gmail.com +D: Minor fix. + +N: Ruben Van Boxem +E: vanboxem dot ruben at gmail dot com +D: Initial Windows patches. + +N: David Chisnall +E: theraven at theravensnest dot org +D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. N: Marshall Clow E: mclow.lists@gmail.com E: marshall@idio.com D: Minor patches and bug fixes. -N: Bjorn Reese -E: breese@users.sourceforge.net -D: Initial regex prototype +N: Google Inc. +D: Copyright owner and contributor of the CityHash algorithm -N: David Chisnall -E: theraven at theravensnest dot org -D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. +N: Howard Hinnant +E: hhinnant@apple.com +D: Architect and primary author of libc++ -N: Ruben Van Boxem -E: vanboxem dot ruben at gmail dot com -D: Initial Windows patches. +N: Hyeon-bin Jeong +E: tuhertz@gmail.com +D: Minor patches and bug fixes. + +N: Argyrios Kyrtzidis +E: kyrtzidis@apple.com +D: Bug fixes. + +N: Michel Morin +E: mimomorin@gmail.com +D: Minor patches to is_convertible. + +N: Andrew Morrow +E: andrew.c.morrow@gmail.com +D: Minor patches and Linux fixes. N: Arvid Picciani E: aep at exys dot org D: Minor patches and musl port. -N: Craig Silverstein -E: csilvers@google.com -D: Implemented Cityhash as the string hash function on 64-bit machines - -N: Google Inc. -D: Copyright owner and contributor of the CityHash algorithm - -N: Jeffrey Yasskin -E: jyasskin@gmail.com -E: jyasskin@google.com -D: Linux fixes. +N: Bjorn Reese +E: breese@users.sourceforge.net +D: Initial regex prototype N: Jonathan Sauer D: Minor patches, mostly related to constexpr +N: Craig Silverstein +E: csilvers@google.com +D: Implemented Cityhash as the string hash function on 64-bit machines + N: Richard Smith D: Minor patches. -N: Andrew Morrow -E: andrew.c.morrow@gmail.com -D: Minor patches and Linux fixes. +N: Michael van der Westhuizen +E: r1mikey at gmail dot com -N: Hyeon-bin Jeong -E: tuhertz@gmail.com -D: Minor patches and bug fixes. +N: Klaas de Vries +E: klaas at klaasgaaf dot nl +D: Minor bug fix. -N: Michel Morin -E: mimomorin@gmail.com -D: Minor patches to is_convertible. - -N: Dimitry Andric -E: dimitry@andric.com -D: Visibility fixes, minor FreeBSD portability patches. +N: Zhang Xiongpang +E: zhangxiongpang@gmail.com +D: Minor patches and bug fixes. -N: Holger Arnold -E: holgerar@gmail.com -D: Minor fix. +N: Jeffrey Yasskin +E: jyasskin@gmail.com +E: jyasskin@google.com +D: Linux fixes. -N: Argyrios Kyrtzidis -E: kyrtzidis@apple.com -D: Bug fixes. +N: Bruce Mitchener, Jr. +E: bruce.mitchener@gmail.com +D: Emscripten-related changes. Modified: user/dchagin/lemul/contrib/libc++/LICENSE.TXT ============================================================================== --- user/dchagin/lemul/contrib/libc++/LICENSE.TXT Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/LICENSE.TXT Sun May 5 13:56:59 2013 (r250271) @@ -14,7 +14,7 @@ Full text of the relevant licenses is in University of Illinois/NCSA Open Source License -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT All rights reserved. @@ -55,7 +55,7 @@ SOFTWARE. ============================================================================== -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Modified: user/dchagin/lemul/contrib/libc++/include/__bit_reference ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__bit_reference Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__bit_reference Sun May 5 13:56:59 2013 (r250271) @@ -81,6 +81,16 @@ class __bit_reference<_Cp, false> { }; +template +_LIBCPP_INLINE_VISIBILITY inline +void +swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT +{ + bool __t = __x; + __x = __y; + __y = __t; +} + template _LIBCPP_INLINE_VISIBILITY inline void Modified: user/dchagin/lemul/contrib/libc++/include/__config ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__config Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__config Sun May 5 13:56:59 2013 (r250271) @@ -11,7 +11,7 @@ #ifndef _LIBCPP_CONFIG #define _LIBCPP_CONFIG -#if !_MSC_VER // explicit macro necessary because it is only defined below in this file +#ifndef _MSC_VER // explicit macro necessary because it is only defined below in this file #pragma GCC system_header #endif @@ -96,24 +96,27 @@ # endif #endif // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN) -#if _WIN32 +#ifdef _WIN32 // only really useful for a DLL #ifdef _LIBCPP_DLL // this should be a compiler builtin define ideally... # ifdef cxx_EXPORTS # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE __declspec(dllexport) +# define _LIBCPP_FUNC_VIS __declspec(dllexport) +# define _LIBCPP_TYPE_VIS __declspec(dllexport) # else # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE __declspec(dllimport) +# define _LIBCPP_FUNC_VIS __declspec(dllimport) +# define _LIBCPP_TYPE_VIS __declspec(dllimport) # endif #else # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE +# define _LIBCPP_FUNC_VIS +# define _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_INLINE_VISIBILITY -# if _MSC_VER +# ifdef _MSC_VER # define _LIBCPP_INLINE_VISIBILITY __forceinline # else // MinGW GCC and Clang # define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__)) @@ -121,11 +124,11 @@ #endif #ifndef _LIBCPP_EXCEPTION_ABI -#define _LIBCPP_EXCEPTION_ABI _LIBCPP_VISIBLE +#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_ALWAYS_INLINE -# if _MSC_VER +# ifdef _MSC_VER # define _LIBCPP_ALWAYS_INLINE __forceinline # endif #endif @@ -136,8 +139,16 @@ #define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden"))) #endif -#ifndef _LIBCPP_VISIBLE -#define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default"))) +#ifndef _LIBCPP_FUNC_VIS +#define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default"))) +#endif + +#ifndef _LIBCPP_TYPE_VIS +# if __has_attribute(type_visibility) +# define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default"))) +# else +# define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default"))) +# endif #endif #ifndef _LIBCPP_INLINE_VISIBILITY @@ -145,7 +156,7 @@ #endif #ifndef _LIBCPP_EXCEPTION_ABI -#define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default"))) +#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_CANTTHROW @@ -261,7 +272,7 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_CONSTEXPR #endif -#if __FreeBSD__ && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L) +#if defined(__FreeBSD__) && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L) #define _LIBCPP_HAS_QUICK_EXIT #define _LIBCPP_HAS_C11_FEATURES #endif @@ -424,7 +435,7 @@ template struct __static_asse #endif #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS -#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum __lx +#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \ __lx __v_; \ _LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \ @@ -432,7 +443,7 @@ template struct __static_asse _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \ }; #else // _LIBCPP_HAS_NO_STRONG_ENUMS -#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_VISIBLE x +#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_TYPE_VIS x #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) #endif // _LIBCPP_HAS_NO_STRONG_ENUMS @@ -440,18 +451,18 @@ template struct __static_asse #define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #endif -#if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__ +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__) #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif -#if __FreeBSD__ +#ifdef __FreeBSD__ #define _DECLARE_C99_LDBL_MATH 1 #endif -#if __APPLE__ || __FreeBSD__ +#if defined(__APPLE__) || defined(__FreeBSD__) #define _LIBCPP_HAS_DEFAULTRUNELOCALE #endif -#if __APPLE__ || __FreeBSD__ || __sun__ +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__) #define _LIBCPP_WCTYPE_IS_MASK #endif Modified: user/dchagin/lemul/contrib/libc++/include/__debug ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__debug Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__debug Sun May 5 13:56:59 2013 (r250271) @@ -16,7 +16,9 @@ # include # include # include -# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort())) +# ifndef _LIBCPP_ASSERT +# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort())) +# endif #endif @@ -24,9 +26,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD -struct _LIBCPP_VISIBLE __c_node; +struct _LIBCPP_TYPE_VIS __c_node; -struct _LIBCPP_VISIBLE __i_node +struct _LIBCPP_TYPE_VIS __i_node { void* __i_; __i_node* __next_; @@ -40,7 +42,7 @@ struct _LIBCPP_VISIBLE __i_node ~__i_node(); }; -struct _LIBCPP_VISIBLE __c_node +struct _LIBCPP_TYPE_VIS __c_node { void* __c_; __c_node* __next_; @@ -117,7 +119,7 @@ _C_node<_Cont>::__subscriptable(const vo return _Cp->__subscriptable(__j, __n); } -class _LIBCPP_VISIBLE __libcpp_db +class _LIBCPP_TYPE_VIS __libcpp_db { __c_node** __cbeg_; __c_node** __cend_; @@ -176,11 +178,11 @@ private: _LIBCPP_HIDDEN __i_node* __find_iterator(const void* __i) const; - friend _LIBCPP_VISIBLE __libcpp_db* __get_db(); + friend _LIBCPP_FUNC_VIS __libcpp_db* __get_db(); }; -_LIBCPP_VISIBLE __libcpp_db* __get_db(); -_LIBCPP_VISIBLE const __libcpp_db* __get_const_db(); +_LIBCPP_FUNC_VIS __libcpp_db* __get_db(); +_LIBCPP_FUNC_VIS const __libcpp_db* __get_const_db(); _LIBCPP_END_NAMESPACE_STD Modified: user/dchagin/lemul/contrib/libc++/include/__functional_03 ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__functional_03 Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__functional_03 Sun May 5 13:56:59 2013 (r250271) @@ -203,7 +203,7 @@ class _LIBCPP_EXCEPTION_ABI bad_function { }; -template class _LIBCPP_VISIBLE function; // undefined +template class _LIBCPP_TYPE_VIS function; // undefined namespace __function { @@ -644,7 +644,7 @@ __func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>: } // __function template -class _LIBCPP_VISIBLE function<_Rp()> +class _LIBCPP_TYPE_VIS function<_Rp()> { typedef __function::__base<_Rp()> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -928,7 +928,7 @@ function<_Rp()>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0)> : public unary_function<_A0, _Rp> { typedef __function::__base<_Rp(_A0)> __base; @@ -1230,7 +1230,7 @@ function<_Rp(_A0)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0, _A1)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1)> : public binary_function<_A0, _A1, _Rp> { typedef __function::__base<_Rp(_A0, _A1)> __base; @@ -1532,7 +1532,7 @@ function<_Rp(_A0, _A1)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0, _A1, _A2)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1, _A2)> { typedef __function::__base<_Rp(_A0, _A1, _A2)> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -1860,11 +1860,11 @@ swap(function<_Fp>& __x, function<_Fp>& {return __x.swap(__y);} template struct __is_bind_expression : public false_type {}; -template struct _LIBCPP_VISIBLE is_bind_expression +template struct _LIBCPP_TYPE_VIS is_bind_expression : public __is_bind_expression::type> {}; template struct __is_placeholder : public integral_constant {}; -template struct _LIBCPP_VISIBLE is_placeholder +template struct _LIBCPP_TYPE_VIS is_placeholder : public __is_placeholder::type> {}; namespace placeholders Modified: user/dchagin/lemul/contrib/libc++/include/__functional_base ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__functional_base Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__functional_base Sun May 5 13:56:59 2013 (r250271) @@ -23,21 +23,21 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_VISIBLE unary_function +struct _LIBCPP_TYPE_VIS unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template -struct _LIBCPP_VISIBLE binary_function +struct _LIBCPP_TYPE_VIS binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; -template struct _LIBCPP_VISIBLE hash; +template struct _LIBCPP_TYPE_VIS hash; template struct __has_result_type @@ -51,7 +51,7 @@ public: }; template -struct _LIBCPP_VISIBLE less : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TYPE_VIS less : binary_function<_Tp, _Tp, bool> { _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const {return __x < __y;} @@ -348,7 +348,7 @@ struct __invoke_return }; template -class _LIBCPP_VISIBLE reference_wrapper +class _LIBCPP_TYPE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: Modified: user/dchagin/lemul/contrib/libc++/include/__functional_base_03 ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__functional_base_03 Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__functional_base_03 Sun May 5 13:56:59 2013 (r250271) @@ -996,7 +996,7 @@ struct __invoke_return2 }; template -class _LIBCPP_VISIBLE reference_wrapper +class _LIBCPP_TYPE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: Modified: user/dchagin/lemul/contrib/libc++/include/__hash_table ============================================================================== --- user/dchagin/lemul/contrib/libc++/include/__hash_table Sun May 5 13:47:39 2013 (r250270) +++ user/dchagin/lemul/contrib/libc++/include/__hash_table Sun May 5 13:56:59 2013 (r250271) @@ -26,7 +26,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -_LIBCPP_VISIBLE +_LIBCPP_FUNC_VIS size_t __next_prime(size_t __n); template @@ -80,14 +80,14 @@ __next_pow2(size_t __n) } template class __hash_table; -template class _LIBCPP_VISIBLE __hash_const_iterator; -template class _LIBCPP_VISIBLE __hash_map_iterator; -template class _LIBCPP_VISIBLE __hash_map_const_iterator; +template class _LIBCPP_TYPE_VIS __hash_const_iterator; +template class _LIBCPP_TYPE_VIS __hash_map_iterator; +template class _LIBCPP_TYPE_VIS __hash_map_const_iterator; template - class _LIBCPP_VISIBLE unordered_map; + class _LIBCPP_TYPE_VIS unordered_map; template -class _LIBCPP_VISIBLE __hash_iterator +class _LIBCPP_TYPE_VIS __hash_iterator { typedef _NodePtr __node_pointer; @@ -142,14 +142,14 @@ private: {} template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_const_iterator; - template friend class _LIBCPP_VISIBLE __hash_map_iterator; - template friend class _LIBCPP_VISIBLE unordered_map; - template friend class _LIBCPP_VISIBLE unordered_multimap; + template friend class _LIBCPP_TYPE_VIS __hash_const_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_iterator; + template friend class _LIBCPP_TYPE_VIS unordered_map; + template friend class _LIBCPP_TYPE_VIS unordered_multimap; }; template -class _LIBCPP_VISIBLE __hash_const_iterator +class _LIBCPP_TYPE_VIS __hash_const_iterator { typedef _ConstNodePtr __node_pointer; @@ -220,15 +220,15 @@ private: {} template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_map_const_iterator; - template friend class _LIBCPP_VISIBLE unordered_map; - template friend class _LIBCPP_VISIBLE unordered_multimap; + template friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator; + template friend class _LIBCPP_TYPE_VIS unordered_map; + template friend class _LIBCPP_TYPE_VIS unordered_multimap; }; -template class _LIBCPP_VISIBLE __hash_const_local_iterator; +template class _LIBCPP_TYPE_VIS __hash_const_local_iterator; template -class _LIBCPP_VISIBLE __hash_local_iterator +class _LIBCPP_TYPE_VIS __hash_local_iterator { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun May 5 14:53:39 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4FD0EC41; Sun, 5 May 2013 14:53:39 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 42773D0; Sun, 5 May 2013 14:53:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45Erdgw021369; Sun, 5 May 2013 14:53:39 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45Erdjm021368; Sun, 5 May 2013 14:53:39 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051453.r45Erdjm021368@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 14:53:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250272 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 14:53:39 -0000 Author: dchagin Date: Sun May 5 14:53:38 2013 New Revision: 250272 URL: http://svnweb.freebsd.org/changeset/base/250272 Log: Get ready to commit x86_64 Linux emulation. All fields of type l_int in struct statfs are defined as long on i386 and amd64. Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_stats.c Sun May 5 13:56:59 2013 (r250271) +++ user/dchagin/lemul/sys/compat/linux/linux_stats.c Sun May 5 14:53:38 2013 (r250272) @@ -326,18 +326,17 @@ linux_lstat(struct thread *td, struct li return(stat_copyout(&buf, args->up)); } -/* XXX - All fields of type l_int are defined as l_long on i386 */ struct l_statfs { - l_int f_type; - l_int f_bsize; - l_int f_blocks; - l_int f_bfree; - l_int f_bavail; - l_int f_files; - l_int f_ffree; + l_long f_type; + l_long f_bsize; + l_long f_blocks; + l_long f_bfree; + l_long f_bavail; + l_long f_files; + l_long f_ffree; l_fsid_t f_fsid; - l_int f_namelen; - l_int f_spare[6]; + l_long f_namelen; + l_long f_spare[6]; }; #define LINUX_CODA_SUPER_MAGIC 0x73757245L From owner-svn-src-user@FreeBSD.ORG Sun May 5 14:57:29 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6B930D9E; Sun, 5 May 2013 14:57:29 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5E124F2; Sun, 5 May 2013 14:57:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45EvTRm022105; Sun, 5 May 2013 14:57:29 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45EvTeA022103; Sun, 5 May 2013 14:57:29 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051457.r45EvTeA022103@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 14:57:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250273 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 14:57:29 -0000 Author: dchagin Date: Sun May 5 14:57:28 2013 New Revision: 250273 URL: http://svnweb.freebsd.org/changeset/base/250273 Log: Get ready to commit x86_64 Linux emulation. 64-bit paltforms, like x86_64, do not use multiplexing on socketcall system calls. Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c user/dchagin/lemul/sys/compat/linux/linux_socket.h Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.c Sun May 5 14:53:38 2013 (r250272) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c Sun May 5 14:57:28 2013 (r250273) @@ -584,15 +584,6 @@ linux_check_hdrincl(struct thread *td, i return (optval == 0); } -struct linux_sendto_args { - int s; - l_uintptr_t msg; - int len; - int flags; - l_uintptr_t to; - int tolen; -}; - /* * Updated sendto() when IP_HDRINCL is set: * tweak endian-dependent fields in the IP packet. @@ -644,13 +635,7 @@ goout: return (error); } -struct linux_socket_args { - int domain; - int type; - int protocol; -}; - -static int +int linux_socket(struct thread *td, struct linux_socket_args *args) { struct socket_args /* { @@ -714,13 +699,7 @@ out: return (retval_socket); } -struct linux_bind_args { - int s; - l_uintptr_t name; - int namelen; -}; - -static int +int linux_bind(struct thread *td, struct linux_bind_args *args) { struct sockaddr *sa; @@ -738,13 +717,6 @@ linux_bind(struct thread *td, struct lin return (error); } -struct linux_connect_args { - int s; - l_uintptr_t name; - int namelen; -}; -int linux_connect(struct thread *, struct linux_connect_args *); - int linux_connect(struct thread *td, struct linux_connect_args *args) { @@ -787,12 +759,7 @@ linux_connect(struct thread *td, struct return (error); } -struct linux_listen_args { - int s; - int backlog; -}; - -static int +int linux_listen(struct thread *td, struct linux_listen_args *args) { struct listen_args /* { @@ -853,13 +820,7 @@ out: return (error); } -struct linux_accept_args { - int s; - l_uintptr_t addr; - l_uintptr_t namelen; -}; - -static int +int linux_accept(struct thread *td, struct linux_accept_args *args) { @@ -867,14 +828,7 @@ linux_accept(struct thread *td, struct l args->namelen, 0)); } -struct linux_accept4_args { - int s; - l_uintptr_t addr; - l_uintptr_t namelen; - int flags; -}; - -static int +int linux_accept4(struct thread *td, struct linux_accept4_args *args) { @@ -882,13 +836,7 @@ linux_accept4(struct thread *td, struct args->namelen, args->flags)); } -struct linux_getsockname_args { - int s; - l_uintptr_t addr; - l_uintptr_t namelen; -}; - -static int +int linux_getsockname(struct thread *td, struct linux_getsockname_args *args) { struct getsockname_args /* { @@ -912,13 +860,7 @@ linux_getsockname(struct thread *td, str return (0); } -struct linux_getpeername_args { - int s; - l_uintptr_t addr; - l_uintptr_t namelen; -}; - -static int +int linux_getpeername(struct thread *td, struct linux_getpeername_args *args) { struct getpeername_args /* { @@ -941,14 +883,7 @@ linux_getpeername(struct thread *td, str return (0); } -struct linux_socketpair_args { - int domain; - int type; - int protocol; - l_uintptr_t rsv; -}; - -static int +int linux_socketpair(struct thread *td, struct linux_socketpair_args *args) { struct socketpair_args /* { @@ -1004,6 +939,7 @@ out: return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) struct linux_send_args { int s; l_uintptr_t msg; @@ -1059,8 +995,9 @@ linux_recv(struct thread *td, struct lin bsd_args.fromlenaddr = 0; return (sys_recvfrom(td, &bsd_args)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ -static int +int linux_sendto(struct thread *td, struct linux_sendto_args *args) { struct msghdr msg; @@ -1084,16 +1021,7 @@ linux_sendto(struct thread *td, struct l return (error); } -struct linux_recvfrom_args { - int s; - l_uintptr_t buf; - int len; - int flags; - l_uintptr_t from; - l_uintptr_t fromlen; -}; - -static int +int linux_recvfrom(struct thread *td, struct linux_recvfrom_args *args) { struct recvfrom_args /* { @@ -1133,13 +1061,7 @@ linux_recvfrom(struct thread *td, struct return (0); } -struct linux_sendmsg_args { - int s; - l_uintptr_t msg; - int flags; -}; - -static int +int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) { struct cmsghdr *cmsg; @@ -1276,13 +1198,7 @@ bad: return (error); } -struct linux_recvmsg_args { - int s; - l_uintptr_t msg; - int flags; -}; - -static int +int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) { struct cmsghdr *cm; @@ -1449,12 +1365,7 @@ bad: return (error); } -struct linux_shutdown_args { - int s; - int how; -}; - -static int +int linux_shutdown(struct thread *td, struct linux_shutdown_args *args) { struct shutdown_args /* { @@ -1467,15 +1378,7 @@ linux_shutdown(struct thread *td, struct return (sys_shutdown(td, &bsd_args)); } -struct linux_setsockopt_args { - int s; - int level; - int optname; - l_uintptr_t optval; - int optlen; -}; - -static int +int linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args) { struct setsockopt_args /* { @@ -1540,15 +1443,7 @@ linux_setsockopt(struct thread *td, stru return (error); } -struct linux_getsockopt_args { - int s; - int level; - int optname; - l_uintptr_t optval; - l_uintptr_t optlen; -}; - -static int +int linux_getsockopt(struct thread *td, struct linux_getsockopt_args *args) { struct getsockopt_args /* { @@ -1651,6 +1546,7 @@ static const unsigned char lxs_args[] = #define LINUX_AL_SIZE sizeof(lxs_args) / sizeof(lxs_args[0]) - 1 +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_socketcall(struct thread *td, struct linux_socketcall_args *args) { @@ -1707,3 +1603,4 @@ linux_socketcall(struct thread *td, stru uprintf("LINUX: 'socket' typ=%d not implemented\n", args->what); return (ENOSYS); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.h Sun May 5 14:53:38 2013 (r250272) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.h Sun May 5 14:57:28 2013 (r250273) @@ -116,6 +116,133 @@ struct l_ucred { uint32_t gid; }; +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) + +struct linux_sendto_args { + int s; + l_uintptr_t msg; + int len; + int flags; + l_uintptr_t to; + int tolen; +}; + +struct linux_socket_args { + int domain; + int type; + int protocol; +}; + +struct linux_bind_args { + int s; + l_uintptr_t name; + int namelen; +}; + +struct linux_connect_args { + int s; + l_uintptr_t name; + int namelen; +}; + +struct linux_listen_args { + int s; + int backlog; +}; + +struct linux_accept_args { + int s; + l_uintptr_t addr; + l_uintptr_t namelen; +}; + +struct linux_accept4_args { + int s; + l_uintptr_t addr; + l_uintptr_t namelen; + int flags; +}; + +struct linux_getsockname_args { + int s; + l_uintptr_t addr; + l_uintptr_t namelen; +}; + +struct linux_getpeername_args { + int s; + l_uintptr_t addr; + l_uintptr_t namelen; +}; + +struct linux_socketpair_args { + int domain; + int type; + int protocol; + l_uintptr_t rsv; +}; + +struct linux_recvfrom_args { + int s; + l_uintptr_t buf; + int len; + int flags; + l_uintptr_t from; + l_uintptr_t fromlen; +}; + +struct linux_sendmsg_args { + int s; + l_uintptr_t msg; + int flags; +}; + +struct linux_recvmsg_args { + int s; + l_uintptr_t msg; + int flags; +}; + +struct linux_shutdown_args { + int s; + int how; +}; + +struct linux_setsockopt_args { + int s; + int level; + int optname; + l_uintptr_t optval; + int optlen; +}; + +struct linux_getsockopt_args { + int s; + int level; + int optname; + l_uintptr_t optval; + l_uintptr_t optlen; +}; + +int linux_socket(struct thread *td, struct linux_socket_args *args); +int linux_bind(struct thread *td, struct linux_bind_args *args); +int linux_connect(struct thread *, struct linux_connect_args *); +int linux_listen(struct thread *td, struct linux_listen_args *args); +int linux_accept(struct thread *td, struct linux_accept_args *args); +int linux_accept4(struct thread *td, struct linux_accept4_args *args); +int linux_getsockname(struct thread *td, struct linux_getsockname_args *args); +int linux_getpeername(struct thread *td, struct linux_getpeername_args *args); +int linux_socketpair(struct thread *td, struct linux_socketpair_args *args); +int linux_sendto(struct thread *td, struct linux_sendto_args *args); +int linux_recvfrom(struct thread *td, struct linux_recvfrom_args *args); +int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args); +int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args); +int linux_shutdown(struct thread *td, struct linux_shutdown_args *args); +int linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args); +int linux_getsockopt(struct thread *td, struct linux_getsockopt_args *args); + +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ + /* Operations for socketcall */ #define LINUX_SOCKET 1 From owner-svn-src-user@FreeBSD.ORG Sun May 5 17:25:40 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0790244D; Sun, 5 May 2013 17:25:40 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EEB61661; Sun, 5 May 2013 17:25:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45HPd85074126; Sun, 5 May 2013 17:25:39 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45HPdFi074125; Sun, 5 May 2013 17:25:39 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051725.r45HPdFi074125@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 17:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250279 - user/dchagin/lemul/sys/compat/linprocfs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 17:25:40 -0000 Author: dchagin Date: Sun May 5 17:25:39 2013 New Revision: 250279 URL: http://svnweb.freebsd.org/changeset/base/250279 Log: Get ready to commit x86_64 Linux emulation. Print out proper procmap entry for 64 bit binaries. Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun May 5 16:44:03 2013 (r250278) +++ user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun May 5 17:25:39 2013 (r250279) @@ -984,6 +984,9 @@ linprocfs_doprocenviron(PFS_FILL_ARGS) return (ret); } +static char l32_map_str[] = "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n"; +static char l64_map_str[] = "%016lx-%016lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n"; + /* * Filler function for proc/pid/maps */ @@ -999,6 +1002,7 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) vm_prot_t e_prot; unsigned int last_timestamp; char *name = "", *freename = NULL; + const char *l_map_str; ino_t ino; int ref_count, shadow_count, flags; int error; @@ -1071,8 +1075,11 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) * format: * start, end, access, offset, major, minor, inode, name. */ - error = sbuf_printf(sb, - "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n", + if (SV_CURPROC_FLAG(SV_LP64)) + l_map_str = l64_map_str; + else + l_map_str = l32_map_str; + error = sbuf_printf(sb, l_map_str, (u_long)e_start, (u_long)e_end, (e_prot & VM_PROT_READ)?"r":"-", (e_prot & VM_PROT_WRITE)?"w":"-", From owner-svn-src-user@FreeBSD.ORG Sun May 5 17:27:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 30EE7565; Sun, 5 May 2013 17:27:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1FA6B664; Sun, 5 May 2013 17:27:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45HRxaQ074547; Sun, 5 May 2013 17:27:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45HRwhB074543; Sun, 5 May 2013 17:27:58 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051727.r45HRwhB074543@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 17:27:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250280 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 17:27:59 -0000 Author: dchagin Date: Sun May 5 17:27:58 2013 New Revision: 250280 URL: http://svnweb.freebsd.org/changeset/base/250280 Log: Get ready to commit x86_64 Linux emulation. Disable i386 call for x86-64 Linux. Modified: user/dchagin/lemul/sys/compat/linux/linux_file.c user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/compat/linux/linux_signal.c user/dchagin/lemul/sys/compat/linux/linux_stats.c Modified: user/dchagin/lemul/sys/compat/linux/linux_file.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_file.c Sun May 5 17:25:39 2013 (r250279) +++ user/dchagin/lemul/sys/compat/linux/linux_file.c Sun May 5 17:27:58 2013 (r250280) @@ -238,6 +238,7 @@ linux_lseek(struct thread *td, struct li return error; } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_llseek(struct thread *td, struct linux_llseek_args *args) { @@ -276,6 +277,7 @@ linux_readdir(struct thread *td, struct lda.count = 1; return linux_getdents(td, &lda); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ /* * Note that linux_getdents(2) and linux_getdents64(2) have the same @@ -919,6 +921,7 @@ linux_truncate(struct thread *td, struct return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_truncate64(struct thread *td, struct linux_truncate64_args *args) { @@ -936,6 +939,8 @@ linux_truncate64(struct thread *td, stru LFREEPATH(path); return (error); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ + int linux_ftruncate(struct thread *td, struct linux_ftruncate_args *args) { @@ -1140,6 +1145,7 @@ linux_mount(struct thread *td, struct li return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_oldumount(struct thread *td, struct linux_oldumount_args *args) { @@ -1149,6 +1155,7 @@ linux_oldumount(struct thread *td, struc args2.flags = 0; return (linux_umount(td, &args2)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_umount(struct thread *td, struct linux_umount_args *args) @@ -1279,7 +1286,7 @@ bsd_to_linux_flock64(struct flock *bsd_f #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ static int -fcntl_common(struct thread *td, struct linux_fcntl64_args *args) +fcntl_common(struct thread *td, struct linux_fcntl_args *args) { struct l_flock linux_flock; struct flock bsd_flock; @@ -1403,17 +1410,13 @@ fcntl_common(struct thread *td, struct l int linux_fcntl(struct thread *td, struct linux_fcntl_args *args) { - struct linux_fcntl64_args args64; #ifdef DEBUG if (ldebug(fcntl)) printf(ARGS(fcntl, "%d, %08x, *"), args->fd, args->cmd); #endif - args64.fd = args->fd; - args64.cmd = args->cmd; - args64.arg = args->arg; - return (fcntl_common(td, &args64)); + return (fcntl_common(td, args)); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) @@ -1422,6 +1425,7 @@ linux_fcntl64(struct thread *td, struct { struct l_flock64 linux_flock; struct flock bsd_flock; + struct linux_fcntl_args fcntl_args; int error; #ifdef DEBUG @@ -1462,7 +1466,10 @@ linux_fcntl64(struct thread *td, struct (intptr_t)&bsd_flock)); } - return (fcntl_common(td, args)); + fcntl_args.fd = args->fd; + fcntl_args.cmd = args->cmd; + fcntl_args.arg = args->arg; + return (fcntl_common(td, &fcntl_args)); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ @@ -1558,6 +1565,7 @@ linux_fadvise64(struct thread *td, struc advice)); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_fadvise64_64(struct thread *td, struct linux_fadvise64_64_args *args) { @@ -1569,6 +1577,7 @@ linux_fadvise64_64(struct thread *td, st return (kern_posix_fadvise(td, args->fd, args->offset, args->len, advice)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_pipe(struct thread *td, struct linux_pipe_args *args) Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Sun May 5 17:25:39 2013 (r250279) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Sun May 5 17:27:58 2013 (r250280) @@ -735,7 +735,6 @@ linux_newuname(struct thread *td, struct return (copyout(&utsname, args->buf, sizeof(utsname))); } -#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) struct l_utimbuf { l_time_t l_actime; l_time_t l_modtime; @@ -838,7 +837,6 @@ linux_futimesat(struct thread *td, struc LFREEPATH(fname); return (error); } -#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_common_wait(struct thread *td, int pid, int *status, @@ -864,6 +862,7 @@ linux_common_wait(struct thread *td, int return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_waitpid(struct thread *td, struct linux_waitpid_args *args) { @@ -888,6 +887,7 @@ linux_waitpid(struct thread *td, struct return (linux_common_wait(td, args->pid, args->status, options, NULL)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int @@ -1070,6 +1070,7 @@ linux_getitimer(struct thread *td, struc return (copyout(&ls, uap->itv, sizeof(ls))); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_nice(struct thread *td, struct linux_nice_args *args) { @@ -1080,6 +1081,7 @@ linux_nice(struct thread *td, struct lin bsd_args.prio = args->inc; return (sys_setpriority(td, &bsd_args)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_setgroups(struct thread *td, struct linux_setgroups_args *args) @@ -1209,6 +1211,7 @@ linux_setrlimit(struct thread *td, struc return (kern_setrlimit(td, which, &bsd_rlim)); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_old_getrlimit(struct thread *td, struct linux_old_getrlimit_args *args) { @@ -1251,6 +1254,7 @@ linux_old_getrlimit(struct thread *td, s #endif return (copyout(&rlim, args->rlim, sizeof(rlim))); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_getrlimit(struct thread *td, struct linux_getrlimit_args *args) Modified: user/dchagin/lemul/sys/compat/linux/linux_signal.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_signal.c Sun May 5 17:25:39 2013 (r250279) +++ user/dchagin/lemul/sys/compat/linux/linux_signal.c Sun May 5 17:27:58 2013 (r250280) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); static int linux_do_tkill(struct thread *td, struct thread *tdt, ksiginfo_t *ksi); +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) void linux_to_bsd_sigset(l_sigset_t *lss, sigset_t *bss) { @@ -91,6 +92,7 @@ bsd_to_linux_sigset(sigset_t *bss, l_sig } } } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ static void linux_to_bsd_sigaction(l_sigaction_t *lsa, struct sigaction *bsa) @@ -175,7 +177,7 @@ linux_do_sigaction(struct thread *td, in return (0); } - +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_signal(struct thread *td, struct linux_signal_args *args) { @@ -197,6 +199,7 @@ linux_signal(struct thread *td, struct l return (error); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_rt_sigaction(struct thread *td, struct linux_rt_sigaction_args *args) @@ -266,6 +269,7 @@ linux_do_sigprocmask(struct thread *td, return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_sigprocmask(struct thread *td, struct linux_sigprocmask_args *args) { @@ -297,6 +301,7 @@ linux_sigprocmask(struct thread *td, str return (error); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_rt_sigprocmask(struct thread *td, struct linux_rt_sigprocmask_args *args) @@ -331,6 +336,7 @@ linux_rt_sigprocmask(struct thread *td, return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_sgetmask(struct thread *td, struct linux_sgetmask_args *args) { @@ -374,9 +380,6 @@ linux_ssetmask(struct thread *td, struct return (0); } -/* - * MPSAFE - */ int linux_sigpending(struct thread *td, struct linux_sigpending_args *args) { @@ -399,6 +402,7 @@ linux_sigpending(struct thread *td, stru mask = lset.__bits[0]; return (copyout(&mask, args->mask, sizeof(mask))); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ /* * MPSAFE Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_stats.c Sun May 5 17:25:39 2013 (r250279) +++ user/dchagin/lemul/sys/compat/linux/linux_stats.c Sun May 5 17:27:58 2013 (r250280) @@ -251,6 +251,7 @@ linux_newfstat(struct thread *td, struct return (error); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) static int stat_copyout(struct stat *buf, void *ubuf) { @@ -325,6 +326,7 @@ linux_lstat(struct thread *td, struct li LFREEPATH(path); return(stat_copyout(&buf, args->up)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ struct l_statfs { l_long f_type; @@ -420,6 +422,7 @@ linux_statfs(struct thread *td, struct l return copyout(&linux_statfs, args->buf, sizeof(linux_statfs)); } +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) static void bsd_to_linux_statfs64(struct statfs *bsd_statfs, struct l_statfs64 *linux_statfs) { @@ -460,6 +463,7 @@ linux_statfs64(struct thread *td, struct bsd_to_linux_statfs64(&bsd_statfs, &linux_statfs); return copyout(&linux_statfs, args->buf, sizeof(linux_statfs)); } +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_fstatfs(struct thread *td, struct linux_fstatfs_args *args) From owner-svn-src-user@FreeBSD.ORG Sun May 5 17:41:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A56B075C; Sun, 5 May 2013 17:41:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 866466BA; Sun, 5 May 2013 17:41:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45Hfx6W080171; Sun, 5 May 2013 17:41:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45HfwqE080164; Sun, 5 May 2013 17:41:58 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051741.r45HfwqE080164@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 17:41:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250281 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 17:41:59 -0000 Author: dchagin Date: Sun May 5 17:41:58 2013 New Revision: 250281 URL: http://svnweb.freebsd.org/changeset/base/250281 Log: Get ready to commit x86_64 Linux emulation. x86_64 Linux do not use multiplexing on ipc system calls. Move struct ipc_perm definition to the MD path as it differs for 64 and 32 bit platform. Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h user/dchagin/lemul/sys/compat/linux/linux_ipc.c user/dchagin/lemul/sys/compat/linux/linux_ipc.h user/dchagin/lemul/sys/i386/linux/linux.h Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/amd64/linux32/linux.h Sun May 5 17:41:58 2013 (r250281) @@ -568,6 +568,16 @@ union l_semun { l_uintptr_t __pad; } __packed; +struct l_ipc_perm { + l_key_t key; + l_uid16_t uid; + l_gid16_t gid; + l_uid16_t cuid; + l_gid16_t cgid; + l_ushort mode; + l_ushort seq; +}; + /* * Socket defines */ Modified: user/dchagin/lemul/sys/compat/linux/linux_ipc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ipc.c Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/compat/linux/linux_ipc.c Sun May 5 17:41:58 2013 (r250281) @@ -117,16 +117,6 @@ bsd_to_linux_shm_info( struct shm_info * lpp->swap_successes = bpp->swap_successes ; } -struct l_ipc_perm { - l_key_t key; - l_uid16_t uid; - l_gid16_t gid; - l_uid16_t cuid; - l_gid16_t cgid; - l_ushort mode; - l_ushort seq; -}; - static void linux_to_bsd_ipc_perm(struct l_ipc_perm *lpp, struct ipc_perm *bpp) { Modified: user/dchagin/lemul/sys/compat/linux/linux_ipc.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ipc.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/compat/linux/linux_ipc.h Sun May 5 17:41:58 2013 (r250281) @@ -82,7 +82,7 @@ #define LINUX_IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger message sizes, etc. */ -#if defined(__i386__) || defined(__amd64__) +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) struct linux_msgctl_args { @@ -177,6 +177,6 @@ int linux_shmctl(struct thread *, struct int linux_shmdt(struct thread *, struct linux_shmdt_args *); int linux_shmget(struct thread *, struct linux_shmget_args *); -#endif /* __i386__ || __amd64__ */ +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ #endif /* _LINUX_IPC_H_ */ Modified: user/dchagin/lemul/sys/i386/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/i386/linux/linux.h Sun May 5 17:41:58 2013 (r250281) @@ -545,6 +545,16 @@ union l_semun { void *__pad; }; +struct l_ipc_perm { + l_key_t key; + l_uid16_t uid; + l_gid16_t gid; + l_uid16_t cuid; + l_gid16_t cgid; + l_ushort mode; + l_ushort seq; +}; + /* * Socket defines */ From owner-svn-src-user@FreeBSD.ORG Sun May 5 17:46:06 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C44098EC; Sun, 5 May 2013 17:46:06 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B733D6D3; Sun, 5 May 2013 17:46:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45Hk6pC080966; Sun, 5 May 2013 17:46:06 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45Hk64W080963; Sun, 5 May 2013 17:46:06 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051746.r45Hk64W080963@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 17:46:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250282 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 17:46:06 -0000 Author: dchagin Date: Sun May 5 17:46:05 2013 New Revision: 250282 URL: http://svnweb.freebsd.org/changeset/base/250282 Log: Get ready to commit x86_64 Linux emulation. Add 64 bit support to the vdso. Modified: user/dchagin/lemul/sys/compat/linux/linux_vdso.c user/dchagin/lemul/sys/compat/linux/linux_vdso.h Modified: user/dchagin/lemul/sys/compat/linux/linux_vdso.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_vdso.c Sun May 5 17:41:58 2013 (r250281) +++ user/dchagin/lemul/sys/compat/linux/linux_vdso.c Sun May 5 17:46:05 2013 (r250282) @@ -29,7 +29,11 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) #define __ELF_WORD_SIZE 32 +#else +#define __ELF_WORD_SIZE 64 +#endif #include #include @@ -136,7 +140,7 @@ __elfN(linux_vdso_fixup)(struct sysentve } void -__elfN(linux_vdso_reloc)(struct sysentvec *sv, int vdso_adjust) +__elfN(linux_vdso_reloc)(struct sysentvec *sv, long vdso_adjust) { struct linux_vdso_sym *lsym; Elf_Ehdr *ehdr; Modified: user/dchagin/lemul/sys/compat/linux/linux_vdso.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_vdso.h Sun May 5 17:41:58 2013 (r250281) +++ user/dchagin/lemul/sys/compat/linux/linux_vdso.h Sun May 5 17:46:05 2013 (r250282) @@ -41,7 +41,7 @@ struct linux_vdso_sym { vm_object_t __elfN(linux_shared_page_init)(char **); void __elfN(linux_shared_page_fini)(vm_object_t); void __elfN(linux_vdso_fixup)(struct sysentvec *); -void __elfN(linux_vdso_reloc)(struct sysentvec *, int); +void __elfN(linux_vdso_reloc)(struct sysentvec *, long); void __elfN(linux_vdso_sym_init)(struct linux_vdso_sym *); #define LINUX_VDSO_SYM_INTPTR(name) \ From owner-svn-src-user@FreeBSD.ORG Sun May 5 18:08:30 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BED46D52; Sun, 5 May 2013 18:08:30 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B0E5B7CC; Sun, 5 May 2013 18:08:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45I8UBX088562; Sun, 5 May 2013 18:08:30 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45I8UKK088561; Sun, 5 May 2013 18:08:30 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051808.r45I8UKK088561@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 18:08:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250283 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 18:08:30 -0000 Author: dchagin Date: Sun May 5 18:08:30 2013 New Revision: 250283 URL: http://svnweb.freebsd.org/changeset/base/250283 Log: Get ready to commit x86_64 Linux emulation. Update debug printf for l_timeval members. Modified: user/dchagin/lemul/sys/compat/linux/linux_signal.c Modified: user/dchagin/lemul/sys/compat/linux/linux_signal.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_signal.c Sun May 5 17:46:05 2013 (r250282) +++ user/dchagin/lemul/sys/compat/linux/linux_signal.c Sun May 5 18:08:30 2013 (r250283) @@ -466,7 +466,7 @@ linux_rt_sigtimedwait(struct thread *td, #ifdef DEBUG if (ldebug(rt_sigtimedwait)) printf(LMSG("linux_rt_sigtimedwait: " - "incoming timeout (%d/%d)\n"), + "incoming timeout (%ld/%ld)\n"), ltv.tv_sec, ltv.tv_usec); #endif tv.tv_sec = (long)ltv.tv_sec; From owner-svn-src-user@FreeBSD.ORG Sun May 5 18:18:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 543141BB; Sun, 5 May 2013 18:18:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 460E885F; Sun, 5 May 2013 18:18:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r45IIxr7092423; Sun, 5 May 2013 18:18:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r45IIxRg092422; Sun, 5 May 2013 18:18:59 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305051818.r45IIxRg092422@svn.freebsd.org> From: Dmitry Chagin Date: Sun, 5 May 2013 18:18:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250284 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 May 2013 18:18:59 -0000 Author: dchagin Date: Sun May 5 18:18:58 2013 New Revision: 250284 URL: http://svnweb.freebsd.org/changeset/base/250284 Log: Glibc was switched to the FUTEX_WAIT_BITSET op and CLOCK_REALTIME flag has been added instead of FUTEX_WAIT to replace the FUTEX_WAIT logic which needs to do gettimeofday() calls before and after the futex syscall to convert the absolute timeout to a relative timeout. Before this the CLOCK_MONOTONIC used by the FUTEX_WAIT_BITSET op. Properly calculate the timeout for the CLOCK_MONOTONIC case. Modified: user/dchagin/lemul/sys/compat/linux/linux_futex.c Modified: user/dchagin/lemul/sys/compat/linux/linux_futex.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_futex.c Sun May 5 18:08:30 2013 (r250283) +++ user/dchagin/lemul/sys/compat/linux/linux_futex.c Sun May 5 18:18:58 2013 (r250284) @@ -753,6 +753,9 @@ linux_sys_futex(struct thread *td, struc if (clockrt) { microtime(&ctv); timevalsub(&utv, &ctv); + } else if (args->op == LINUX_FUTEX_WAIT_BITSET) { + microuptime(&ctv); + timevalsub(&utv, &ctv); } if (utv.tv_sec < 0) timevalclear(&utv); From owner-svn-src-user@FreeBSD.ORG Wed May 8 00:58:25 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 428CA719; Wed, 8 May 2013 00:58:25 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 31EDDB5D; Wed, 8 May 2013 00:58:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r480wPeN054564; Wed, 8 May 2013 00:58:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r480wIK1054522; Wed, 8 May 2013 00:58:18 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305080058.r480wIK1054522@svn.freebsd.org> From: Adrian Chadd Date: Wed, 8 May 2013 00:58:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250343 - in user/adrian/net80211_tx: bin/sh cddl/lib/drti contrib/binutils/binutils contrib/binutils/ld contrib/smbfs/lib/smb contrib/smbfs/mount_smbfs etc/rc.d kerberos5/lib/libgssapi... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 00:58:25 -0000 Author: adrian Date: Wed May 8 00:58:18 2013 New Revision: 250343 URL: http://svnweb.freebsd.org/changeset/base/250343 Log: Merge from HEAD. Added: user/adrian/net80211_tx/tools/regression/bin/sh/builtins/read7.0 - copied unchanged from r250342, head/tools/regression/bin/sh/builtins/read7.0 user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.0.in - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.0.in user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.0.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.0.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.0I.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.0I.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.0J.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.0J.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.0L.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.0L.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.n1.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.n1.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.n2.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.n2.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.n3.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.n3.out user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.quotes.in - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.quotes.in user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.quotes.out - copied unchanged from r250342, head/tools/regression/usr.bin/xargs/regress.quotes.out user/adrian/net80211_tx/tools/tools/ath/athalq/txdiff.pl - copied unchanged from r250342, head/tools/tools/ath/athalq/txdiff.pl user/adrian/net80211_tx/usr.sbin/bsdconfig/packages/ - copied from r250342, head/usr.sbin/bsdconfig/packages/ user/adrian/net80211_tx/usr.sbin/bsdconfig/share/packages/ - copied from r250342, head/usr.sbin/bsdconfig/share/packages/ Modified: user/adrian/net80211_tx/bin/sh/input.c user/adrian/net80211_tx/bin/sh/jobs.c user/adrian/net80211_tx/bin/sh/main.c user/adrian/net80211_tx/bin/sh/miscbltin.c user/adrian/net80211_tx/bin/sh/redir.c user/adrian/net80211_tx/bin/sh/sh.1 user/adrian/net80211_tx/cddl/lib/drti/Makefile user/adrian/net80211_tx/contrib/binutils/binutils/arlex.l user/adrian/net80211_tx/contrib/binutils/ld/ldlex.l user/adrian/net80211_tx/contrib/smbfs/lib/smb/ctx.c user/adrian/net80211_tx/contrib/smbfs/mount_smbfs/mount_smbfs.c user/adrian/net80211_tx/etc/rc.d/ip6addrctl user/adrian/net80211_tx/etc/rc.d/mountlate user/adrian/net80211_tx/kerberos5/lib/libgssapi_krb5/pname_to_uid.c user/adrian/net80211_tx/lib/clang/include/llvm/Config/config.h user/adrian/net80211_tx/lib/libc/gen/errlst.c user/adrian/net80211_tx/lib/libc/locale/duplocale.3 user/adrian/net80211_tx/lib/libc/locale/freelocale.3 user/adrian/net80211_tx/lib/libc/locale/newlocale.3 user/adrian/net80211_tx/lib/libc/locale/querylocale.3 user/adrian/net80211_tx/lib/libc/locale/uselocale.3 user/adrian/net80211_tx/lib/libc/locale/xlocale.3 user/adrian/net80211_tx/lib/libc/net/nslexer.l user/adrian/net80211_tx/lib/libc/nls/C.msg user/adrian/net80211_tx/lib/libc/sys/intro.2 user/adrian/net80211_tx/lib/libipsec/policy_token.l user/adrian/net80211_tx/lib/libkvm/kvm.c user/adrian/net80211_tx/lib/libpmc/Makefile user/adrian/net80211_tx/lib/libprocstat/Symbol.map user/adrian/net80211_tx/lib/libprocstat/libprocstat.3 user/adrian/net80211_tx/lib/libprocstat/libprocstat.c user/adrian/net80211_tx/lib/libprocstat/libprocstat.h user/adrian/net80211_tx/lib/libusb/Makefile user/adrian/net80211_tx/lib/libusb/libusb.3 user/adrian/net80211_tx/lib/libusb/libusb.h user/adrian/net80211_tx/lib/libusb/libusb10.c user/adrian/net80211_tx/lib/libusb/libusb10_io.c user/adrian/net80211_tx/lib/libusb/libusb20.3 user/adrian/net80211_tx/lib/libusb/libusb20.c user/adrian/net80211_tx/lib/libusb/libusb20.h user/adrian/net80211_tx/lib/libusb/libusb20_int.h user/adrian/net80211_tx/lib/libusb/libusb20_ugen20.c user/adrian/net80211_tx/lib/libz/ChangeLog user/adrian/net80211_tx/lib/libz/README user/adrian/net80211_tx/lib/libz/Symbol.map user/adrian/net80211_tx/lib/libz/Versions.def user/adrian/net80211_tx/lib/libz/compress.c user/adrian/net80211_tx/lib/libz/contrib/README.contrib user/adrian/net80211_tx/lib/libz/deflate.c user/adrian/net80211_tx/lib/libz/deflate.h user/adrian/net80211_tx/lib/libz/gzguts.h user/adrian/net80211_tx/lib/libz/gzlib.c user/adrian/net80211_tx/lib/libz/gzread.c user/adrian/net80211_tx/lib/libz/gzwrite.c user/adrian/net80211_tx/lib/libz/infback.c user/adrian/net80211_tx/lib/libz/inffast.c user/adrian/net80211_tx/lib/libz/inflate.c user/adrian/net80211_tx/lib/libz/inftrees.c user/adrian/net80211_tx/lib/libz/test/example.c user/adrian/net80211_tx/lib/libz/test/minigzip.c user/adrian/net80211_tx/lib/libz/trees.c user/adrian/net80211_tx/lib/libz/uncompr.c user/adrian/net80211_tx/lib/libz/zconf.h user/adrian/net80211_tx/lib/libz/zlib.3 user/adrian/net80211_tx/lib/libz/zlib.h user/adrian/net80211_tx/lib/libz/zutil.c user/adrian/net80211_tx/lib/libz/zutil.h user/adrian/net80211_tx/release/picobsd/build/picobsd user/adrian/net80211_tx/sbin/devd/devd.cc user/adrian/net80211_tx/sbin/devd/token.l user/adrian/net80211_tx/sbin/iscontrol/auth_subr.c user/adrian/net80211_tx/sbin/iscontrol/fsm.c user/adrian/net80211_tx/sbin/iscontrol/login.c user/adrian/net80211_tx/sbin/iscontrol/misc.c user/adrian/net80211_tx/sbin/mount/mount.8 user/adrian/net80211_tx/sbin/mount/mount.c user/adrian/net80211_tx/sbin/ping6/ping6.8 user/adrian/net80211_tx/sbin/ping6/ping6.c user/adrian/net80211_tx/share/man/man4/man4.i386/npx.4 user/adrian/net80211_tx/share/misc/bsd-family-tree user/adrian/net80211_tx/sys/amd64/include/param.h user/adrian/net80211_tx/sys/amd64/include/vmparam.h user/adrian/net80211_tx/sys/amd64/vmm/vmm_instruction_emul.c user/adrian/net80211_tx/sys/arm/arm/cpufunc_asm_pj4b.S user/adrian/net80211_tx/sys/arm/arm/db_trace.c user/adrian/net80211_tx/sys/arm/arm/exception.S user/adrian/net80211_tx/sys/arm/arm/locore.S user/adrian/net80211_tx/sys/arm/arm/mp_machdep.c user/adrian/net80211_tx/sys/arm/arm/pmap-v6.c user/adrian/net80211_tx/sys/arm/arm/swtch.S user/adrian/net80211_tx/sys/arm/arm/trap.c user/adrian/net80211_tx/sys/arm/include/param.h user/adrian/net80211_tx/sys/arm/include/pmap.h user/adrian/net80211_tx/sys/arm/include/vmparam.h user/adrian/net80211_tx/sys/arm/mv/armadaxp/armadaxp.c user/adrian/net80211_tx/sys/arm/mv/armadaxp/armadaxp_mp.c user/adrian/net80211_tx/sys/arm/mv/armadaxp/std.armadaxp user/adrian/net80211_tx/sys/arm/mv/common.c user/adrian/net80211_tx/sys/arm/mv/mv_machdep.c user/adrian/net80211_tx/sys/arm/mv/mvvar.h user/adrian/net80211_tx/sys/arm/mv/mvwin.h user/adrian/net80211_tx/sys/boot/fdt/dts/db78460.dts user/adrian/net80211_tx/sys/boot/pc98/libpc98/biosdisk.c user/adrian/net80211_tx/sys/cam/ata/ata_xpt.c user/adrian/net80211_tx/sys/cam/scsi/scsi_all.h user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c user/adrian/net80211_tx/sys/conf/NOTES user/adrian/net80211_tx/sys/conf/options user/adrian/net80211_tx/sys/contrib/dev/acpica/components/namespace/nsinit.c user/adrian/net80211_tx/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/adrian/net80211_tx/sys/contrib/octeon-sdk/cvmx-mgmt-port.h user/adrian/net80211_tx/sys/dev/ahci/ahci.c user/adrian/net80211_tx/sys/dev/ath/if_ath.c user/adrian/net80211_tx/sys/dev/ath/if_ath_sysctl.c user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c user/adrian/net80211_tx/sys/dev/ath/if_athioctl.h user/adrian/net80211_tx/sys/dev/ath/if_athvar.h user/adrian/net80211_tx/sys/dev/bwn/if_bwn.c user/adrian/net80211_tx/sys/dev/cesa/cesa.c user/adrian/net80211_tx/sys/dev/cesa/cesa.h user/adrian/net80211_tx/sys/dev/cxgbe/t4_main.c user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_cpl_io.c user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_ddp.c user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_tom.h user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_core.c user/adrian/net80211_tx/sys/dev/mps/mps_mapping.c user/adrian/net80211_tx/sys/dev/netmap/if_em_netmap.h user/adrian/net80211_tx/sys/dev/netmap/if_re_netmap.h user/adrian/net80211_tx/sys/dev/netmap/netmap.c user/adrian/net80211_tx/sys/dev/netmap/netmap_mem2.c user/adrian/net80211_tx/sys/dev/qlxgb/README.txt user/adrian/net80211_tx/sys/dev/qlxgb/qla_dbg.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_dbg.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_def.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_glbl.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_hw.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_hw.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_inline.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_ioctl.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_ioctl.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_isr.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_misc.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_os.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_os.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_reg.h user/adrian/net80211_tx/sys/dev/qlxgb/qla_ver.h user/adrian/net80211_tx/sys/dev/sound/pci/envy24ht.c user/adrian/net80211_tx/sys/dev/sound/pci/envy24ht.h user/adrian/net80211_tx/sys/dev/usb/template/usb_template.c user/adrian/net80211_tx/sys/dev/usb/usb_debug.h user/adrian/net80211_tx/sys/dev/usb/usb_device.c user/adrian/net80211_tx/sys/dev/usb/usb_device.h user/adrian/net80211_tx/sys/dev/usb/usb_dynamic.c user/adrian/net80211_tx/sys/dev/usb/usb_freebsd.h user/adrian/net80211_tx/sys/dev/usb/usb_freebsd_loader.h user/adrian/net80211_tx/sys/dev/usb/usb_generic.c user/adrian/net80211_tx/sys/dev/usb/usb_hub.c user/adrian/net80211_tx/sys/dev/usb/usb_hub.h user/adrian/net80211_tx/sys/dev/usb/usb_ioctl.h user/adrian/net80211_tx/sys/dev/usb/usb_parse.c user/adrian/net80211_tx/sys/dev/usb/usb_request.c user/adrian/net80211_tx/sys/dev/usb/usb_request.h user/adrian/net80211_tx/sys/fs/msdosfs/msdosfs_denode.c user/adrian/net80211_tx/sys/fs/msdosfs/msdosfs_vnops.c user/adrian/net80211_tx/sys/fs/smbfs/smbfs.h user/adrian/net80211_tx/sys/fs/smbfs/smbfs_io.c user/adrian/net80211_tx/sys/fs/smbfs/smbfs_vfsops.c user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs.h user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c user/adrian/net80211_tx/sys/geom/label/g_label_ntfs.c user/adrian/net80211_tx/sys/i386/include/param.h user/adrian/net80211_tx/sys/i386/include/vmparam.h user/adrian/net80211_tx/sys/ia64/include/param.h user/adrian/net80211_tx/sys/ia64/include/vmparam.h user/adrian/net80211_tx/sys/kern/kern_descrip.c user/adrian/net80211_tx/sys/kern/uipc_sem.c user/adrian/net80211_tx/sys/kern/uipc_socket.c user/adrian/net80211_tx/sys/kern/vfs_cluster.c user/adrian/net80211_tx/sys/kern/vfs_subr.c user/adrian/net80211_tx/sys/kern/vfs_vnops.c user/adrian/net80211_tx/sys/mips/cavium/octe/ethernet-common.c user/adrian/net80211_tx/sys/mips/cavium/octe/wrapper-cvmx-includes.h user/adrian/net80211_tx/sys/mips/include/param.h user/adrian/net80211_tx/sys/mips/include/vmparam.h user/adrian/net80211_tx/sys/net/if.c user/adrian/net80211_tx/sys/net/if_llatbl.c user/adrian/net80211_tx/sys/net/if_llatbl.h user/adrian/net80211_tx/sys/net/if_var.h user/adrian/net80211_tx/sys/netinet/icmp6.h user/adrian/net80211_tx/sys/netinet/in_pcb.h user/adrian/net80211_tx/sys/netinet/in_var.h user/adrian/net80211_tx/sys/netinet/ip_id.c user/adrian/net80211_tx/sys/netinet/ip_input.c user/adrian/net80211_tx/sys/netinet/tcp_subr.c user/adrian/net80211_tx/sys/netinet6/in6.c user/adrian/net80211_tx/sys/netinet6/in6_ifattach.c user/adrian/net80211_tx/sys/netinet6/in6_ifattach.h user/adrian/net80211_tx/sys/netinet6/in6_proto.c user/adrian/net80211_tx/sys/netpfil/ipfw/ip_fw2.c user/adrian/net80211_tx/sys/netpfil/pf/if_pfsync.c user/adrian/net80211_tx/sys/netpfil/pf/pf.c user/adrian/net80211_tx/sys/netsmb/smb_conn.c user/adrian/net80211_tx/sys/netsmb/smb_conn.h user/adrian/net80211_tx/sys/netsmb/smb_dev.c user/adrian/net80211_tx/sys/netsmb/smb_dev.h user/adrian/net80211_tx/sys/netsmb/smb_trantcp.c user/adrian/net80211_tx/sys/powerpc/include/param.h user/adrian/net80211_tx/sys/powerpc/include/vmparam.h user/adrian/net80211_tx/sys/powerpc/powermac/smu.c user/adrian/net80211_tx/sys/sparc64/include/param.h user/adrian/net80211_tx/sys/sparc64/include/vmparam.h user/adrian/net80211_tx/sys/sys/errno.h user/adrian/net80211_tx/sys/sys/ksem.h user/adrian/net80211_tx/sys/sys/socketvar.h user/adrian/net80211_tx/sys/sys/user.h user/adrian/net80211_tx/sys/vm/vm_mmap.c user/adrian/net80211_tx/sys/vm/vm_phys.c user/adrian/net80211_tx/sys/vm/vm_radix.c user/adrian/net80211_tx/sys/x86/acpica/srat.c user/adrian/net80211_tx/tools/regression/usr.bin/xargs/regress.sh user/adrian/net80211_tx/tools/tools/ath/athalq/Makefile user/adrian/net80211_tx/tools/tools/ath/athalq/ar9300_ds.c user/adrian/net80211_tx/tools/tools/ath/athalq/main.c user/adrian/net80211_tx/usr.bin/ar/acplex.l user/adrian/net80211_tx/usr.bin/calendar/calendars/calendar.dutch user/adrian/net80211_tx/usr.bin/csup/token.l user/adrian/net80211_tx/usr.bin/fstat/fstat.1 user/adrian/net80211_tx/usr.bin/fstat/fstat.c user/adrian/net80211_tx/usr.bin/m4/TEST/ack.m4 user/adrian/net80211_tx/usr.bin/m4/TEST/hanoi.m4 user/adrian/net80211_tx/usr.bin/m4/TEST/hash.m4 user/adrian/net80211_tx/usr.bin/m4/TEST/sqroot.m4 user/adrian/net80211_tx/usr.bin/m4/TEST/string.m4 user/adrian/net80211_tx/usr.bin/m4/TEST/test.m4 user/adrian/net80211_tx/usr.bin/m4/eval.c user/adrian/net80211_tx/usr.bin/m4/extern.h user/adrian/net80211_tx/usr.bin/m4/m4.1 user/adrian/net80211_tx/usr.bin/m4/main.c user/adrian/net80211_tx/usr.bin/m4/parser.y user/adrian/net80211_tx/usr.bin/m4/tokenizer.l user/adrian/net80211_tx/usr.bin/xlint/lint1/scan.l user/adrian/net80211_tx/usr.sbin/apmd/apmdlex.l user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c user/adrian/net80211_tx/usr.sbin/bhyve/virtio.h user/adrian/net80211_tx/usr.sbin/bsdconfig/Makefile user/adrian/net80211_tx/usr.sbin/bsdconfig/dot/dot user/adrian/net80211_tx/usr.sbin/bsdconfig/include/messages.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/include/options.hlp user/adrian/net80211_tx/usr.sbin/bsdconfig/share/Makefile user/adrian/net80211_tx/usr.sbin/bsdconfig/share/common.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/share/media/options.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/share/script.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/share/variable.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/startup/rcdelete user/adrian/net80211_tx/usr.sbin/config/lang.l user/adrian/net80211_tx/usr.sbin/gssd/gssd.c user/adrian/net80211_tx/usr.sbin/jail/jaillex.l user/adrian/net80211_tx/usr.sbin/kbdcontrol/lex.l user/adrian/net80211_tx/usr.sbin/ndiscvt/inf-token.l user/adrian/net80211_tx/usr.sbin/pmcannotate/pmcannotate.c user/adrian/net80211_tx/usr.sbin/rrenumd/lexer.l user/adrian/net80211_tx/usr.sbin/rtadvd/rrenum.c Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/cddl/ (props changed) user/adrian/net80211_tx/contrib/binutils/ (props changed) user/adrian/net80211_tx/lib/libc/ (props changed) user/adrian/net80211_tx/lib/libz/ (props changed) user/adrian/net80211_tx/sbin/ (props changed) user/adrian/net80211_tx/share/man/man4/ (props changed) user/adrian/net80211_tx/sys/ (props changed) user/adrian/net80211_tx/sys/amd64/vmm/ (props changed) user/adrian/net80211_tx/sys/boot/ (props changed) user/adrian/net80211_tx/sys/conf/ (props changed) user/adrian/net80211_tx/sys/contrib/dev/acpica/ (props changed) user/adrian/net80211_tx/sys/contrib/dev/acpica/components/namespace/ (props changed) user/adrian/net80211_tx/sys/contrib/octeon-sdk/ (props changed) user/adrian/net80211_tx/usr.bin/calendar/ (props changed) user/adrian/net80211_tx/usr.bin/csup/ (props changed) user/adrian/net80211_tx/usr.sbin/bhyve/ (props changed) user/adrian/net80211_tx/usr.sbin/jail/ (props changed) user/adrian/net80211_tx/usr.sbin/ndiscvt/ (props changed) user/adrian/net80211_tx/usr.sbin/rtadvd/ (props changed) Modified: user/adrian/net80211_tx/bin/sh/input.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/input.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/input.c Wed May 8 00:58:18 2013 (r250343) @@ -397,10 +397,10 @@ setinputfile(const char *fname, int push int fd2; INTOFF; - if ((fd = open(fname, O_RDONLY)) < 0) + if ((fd = open(fname, O_RDONLY | O_CLOEXEC)) < 0) error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { - fd2 = fcntl(fd, F_DUPFD, 10); + fd2 = fcntl(fd, F_DUPFD_CLOEXEC, 10); close(fd); if (fd2 < 0) error("Out of file descriptors"); @@ -412,14 +412,13 @@ setinputfile(const char *fname, int push /* - * Like setinputfile, but takes an open file descriptor. Call this with - * interrupts off. + * Like setinputfile, but takes an open file descriptor (which should have + * its FD_CLOEXEC flag already set). Call this with interrupts off. */ void setinputfd(int fd, int push) { - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); if (push) { pushfile(); parsefile->buf = ckmalloc(BUFSIZ + 1); Modified: user/adrian/net80211_tx/bin/sh/jobs.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/jobs.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/jobs.c Wed May 8 00:58:18 2013 (r250343) @@ -127,11 +127,12 @@ setjobctl(int on) if (on) { if (ttyfd != -1) close(ttyfd); - if ((ttyfd = open(_PATH_TTY, O_RDWR)) < 0) { + if ((ttyfd = open(_PATH_TTY, O_RDWR | O_CLOEXEC)) < 0) { i = 0; while (i <= 2 && !isatty(i)) i++; - if (i > 2 || (ttyfd = fcntl(i, F_DUPFD, 10)) < 0) + if (i > 2 || + (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) goto out; } if (ttyfd < 10) { @@ -139,7 +140,7 @@ setjobctl(int on) * Keep our TTY file descriptor out of the way of * the user's redirections. */ - if ((i = fcntl(ttyfd, F_DUPFD, 10)) < 0) { + if ((i = fcntl(ttyfd, F_DUPFD_CLOEXEC, 10)) < 0) { close(ttyfd); ttyfd = -1; goto out; @@ -147,11 +148,6 @@ setjobctl(int on) close(ttyfd); ttyfd = i; } - if (fcntl(ttyfd, F_SETFD, FD_CLOEXEC) < 0) { - close(ttyfd); - ttyfd = -1; - goto out; - } do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { Modified: user/adrian/net80211_tx/bin/sh/main.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/main.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/main.c Wed May 8 00:58:18 2013 (r250343) @@ -248,7 +248,7 @@ read_profile(const char *name) if (expandedname == NULL) return; INTOFF; - if ((fd = open(expandedname, O_RDONLY)) >= 0) + if ((fd = open(expandedname, O_RDONLY | O_CLOEXEC)) >= 0) setinputfd(fd, 1); INTON; if (fd < 0) Modified: user/adrian/net80211_tx/bin/sh/miscbltin.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/miscbltin.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/miscbltin.c Wed May 8 00:58:18 2013 (r250343) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "mystring.h" #include "syntax.h" +#include "trap.h" #undef eflag @@ -102,6 +103,8 @@ readcmd(int argc __unused, char **argv _ struct timeval tv; char *tvptr; fd_set ifds; + ssize_t nread; + int sig; rflag = 0; prompt = NULL; @@ -156,8 +159,10 @@ readcmd(int argc __unused, char **argv _ /* * If there's nothing ready, return an error. */ - if (status <= 0) - return(1); + if (status <= 0) { + sig = pendingsig; + return (128 + (sig != 0 ? sig : SIGALRM)); + } } status = 0; @@ -165,7 +170,19 @@ readcmd(int argc __unused, char **argv _ backslash = 0; STARTSTACKSTR(p); for (;;) { - if (read(STDIN_FILENO, &c, 1) != 1) { + nread = read(STDIN_FILENO, &c, 1); + if (nread == -1) { + if (errno == EINTR) { + sig = pendingsig; + if (sig == 0) + continue; + status = 128 + sig; + break; + } + warning("read error: %s", strerror(errno)); + status = 2; + break; + } else if (nread != 1) { status = 1; break; } Modified: user/adrian/net80211_tx/bin/sh/redir.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/redir.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/redir.c Wed May 8 00:58:18 2013 (r250343) @@ -121,7 +121,7 @@ redirect(union node *redir, int flags) if ((flags & REDIR_PUSH) && sv->renamed[fd] == EMPTY) { INTOFF; - if ((i = fcntl(fd, F_DUPFD, 10)) == -1) { + if ((i = fcntl(fd, F_DUPFD_CLOEXEC, 10)) == -1) { switch (errno) { case EBADF: i = CLOSED; @@ -131,8 +131,7 @@ redirect(union node *redir, int flags) error("%d: %s", fd, strerror(errno)); break; } - } else - (void)fcntl(i, F_SETFD, FD_CLOEXEC); + } sv->renamed[fd] = i; INTON; } Modified: user/adrian/net80211_tx/bin/sh/sh.1 ============================================================================== --- user/adrian/net80211_tx/bin/sh/sh.1 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/bin/sh/sh.1 Wed May 8 00:58:18 2013 (r250343) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd April 21, 2013 +.Dd May 3, 2013 .Dt SH 1 .Os .Sh NAME @@ -2372,7 +2372,9 @@ option is specified and the elapses before a complete line of input is supplied, the .Ic read -command will return an exit status of 1 without assigning any values. +command will return an exit status as if terminated by +.Dv SIGALRM +without assigning any values. The .Ar timeout value may optionally be followed by one of @@ -2388,6 +2390,11 @@ is assumed. The .Fl e option exists only for backward compatibility with older scripts. +.Pp +The exit status is 0 on success, 1 on end of file, +between 2 and 128 if an error occurs +and greater than 128 if a trapped signal interrupts +.Ic read . .It Ic readonly Oo Fl p Oc Op Ar name ... Each specified .Ar name Modified: user/adrian/net80211_tx/cddl/lib/drti/Makefile ============================================================================== --- user/adrian/net80211_tx/cddl/lib/drti/Makefile Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/cddl/lib/drti/Makefile Wed May 8 00:58:18 2013 (r250343) @@ -9,6 +9,8 @@ FILESGRP= ${LIBGRP} FILESMODE= ${LIBMODE} FILESDIR= ${LIBDIR}/dtrace CLEANFILES= ${FILES} +LIB= drti-dummy +INTERNALLIB= CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \ -I${.CURDIR}/../../../cddl/compat/opensolaris/include \ @@ -18,4 +20,10 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common \ -DPIC ${PICFLAG} +.if make(install) && defined(LIBRARIES_ONLY) +install: + ${INSTALL} -o ${FILESOWN} -g ${FILESGRP} -m ${FILESMODE} \ + ${FILES} ${DESTDIR}${FILESDIR} +.endif + .include Modified: user/adrian/net80211_tx/contrib/binutils/binutils/arlex.l ============================================================================== --- user/adrian/net80211_tx/contrib/binutils/binutils/arlex.l Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/contrib/binutils/binutils/arlex.l Wed May 8 00:58:18 2013 (r250343) @@ -28,13 +28,13 @@ Foundation, Inc., 51 Franklin Street - F #include "libiberty.h" #include "arparse.h" -#define YY_NO_UNPUT - extern int yylex (void); int linenumber; %} +%option nounput + %a 10000 %o 25000 Modified: user/adrian/net80211_tx/contrib/binutils/ld/ldlex.l ============================================================================== --- user/adrian/net80211_tx/contrib/binutils/ld/ldlex.l Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/contrib/binutils/ld/ldlex.l Wed May 8 00:58:18 2013 (r250343) @@ -63,8 +63,6 @@ const char *lex_string = NULL; #undef YY_INPUT #define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size) -#define YY_NO_UNPUT - #define MAX_INCLUDE_DEPTH 10 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; static const char *file_name_stack[MAX_INCLUDE_DEPTH]; @@ -72,7 +70,7 @@ static unsigned int lineno_stack[MAX_INC static unsigned int include_stack_ptr = 0; static int vers_node_nesting = 0; -static void yy_input (char *, int *, int); +static void yy_input (char *, yy_size_t *, yy_size_t); static void comment (void); static void lex_warn_invalid (char *where, char *what); @@ -94,6 +92,8 @@ int yywrap (void) { return 1; } #endif %} +%option nounput + %a 4000 %o 5000 @@ -612,7 +612,7 @@ ldlex_popstate (void) either the number of characters read, or 0 to indicate EOF. */ static void -yy_input (char *buf, int *result, int max_size) +yy_input (char *buf, yy_size_t *result, yy_size_t max_size) { *result = 0; if (YY_CURRENT_BUFFER->yy_input_file) Modified: user/adrian/net80211_tx/contrib/smbfs/lib/smb/ctx.c ============================================================================== --- user/adrian/net80211_tx/contrib/smbfs/lib/smb/ctx.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/contrib/smbfs/lib/smb/ctx.c Wed May 8 00:58:18 2013 (r250343) @@ -602,40 +602,12 @@ smb_ctx_gethandle(struct smb_ctx *ctx) int fd, i; char buf[20]; - /* - * First, try to open as cloned device - */ fd = open("/dev/"NSMB_NAME, O_RDWR); if (fd >= 0) { ctx->ct_fd = fd; return 0; } - /* - * well, no clone capabilities available - we have to scan - * all devices in order to get free one - */ - for (i = 0; i < 1024; i++) { - snprintf(buf, sizeof(buf), "/dev/%s%d", NSMB_NAME, i); - fd = open(buf, O_RDWR); - if (fd >= 0) { - ctx->ct_fd = fd; - return 0; - } - } - /* - * This is a compatibility with old /dev/net/nsmb device - */ - for (i = 0; i < 1024; i++) { - snprintf(buf, sizeof(buf), "/dev/net/%s%d", NSMB_NAME, i); - fd = open(buf, O_RDWR); - if (fd >= 0) { - ctx->ct_fd = fd; - return 0; - } - if (errno == ENOENT) - return ENOENT; - } - return ENOENT; + return ENOENT; } int Modified: user/adrian/net80211_tx/contrib/smbfs/mount_smbfs/mount_smbfs.c ============================================================================== --- user/adrian/net80211_tx/contrib/smbfs/mount_smbfs/mount_smbfs.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/contrib/smbfs/mount_smbfs/mount_smbfs.c Wed May 8 00:58:18 2013 (r250343) @@ -82,7 +82,7 @@ main(int argc, char *argv[]) struct xvfsconf vfc; #endif char *next; - int opt, error, mntflags, caseopt, dev; + int opt, error, mntflags, caseopt, fd; uid_t uid; gid_t gid; mode_t dir_mode, file_mode; @@ -90,7 +90,7 @@ main(int argc, char *argv[]) iov = NULL; iovlen = 0; - dev = 0; + fd = 0; uid = (uid_t)-1; gid = (gid_t)-1; caseopt = 0; @@ -266,11 +266,11 @@ main(int argc, char *argv[]) exit(1); } - dev = ctx->ct_fd; + fd = ctx->ct_fd; build_iovec(&iov, &iovlen, "fstype", strdup("smbfs"), -1); build_iovec(&iov, &iovlen, "fspath", mount_point, -1); - build_iovec_argf(&iov, &iovlen, "dev", "%d", dev); + build_iovec_argf(&iov, &iovlen, "fd", "%d", fd); build_iovec(&iov, &iovlen, "mountpoint", mount_point, -1); build_iovec_argf(&iov, &iovlen, "uid", "%d", uid); build_iovec_argf(&iov, &iovlen, "gid", "%d", gid); Modified: user/adrian/net80211_tx/etc/rc.d/ip6addrctl ============================================================================== --- user/adrian/net80211_tx/etc/rc.d/ip6addrctl Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/etc/rc.d/ip6addrctl Wed May 8 00:58:18 2013 (r250343) @@ -24,38 +24,42 @@ config_file="/etc/ip6addrctl.conf" set_rcvar_obsolete ipv6_enable ipv6_activate_all_interfaces set_rcvar_obsolete ipv6_prefer ip6addrctl_policy +IP6ADDRCTL_CMD="/usr/sbin/ip6addrctl" + ip6addrctl_prefer_ipv6() { afexists inet6 || return 0 - ip6addrctl flush >/dev/null 2>&1 - ip6addrctl add ::1/128 50 0 - ip6addrctl add ::/0 40 1 - ip6addrctl add ::ffff:0:0/96 35 4 - ip6addrctl add 2002::/16 30 2 - ip6addrctl add 2001::/32 5 5 - ip6addrctl add fc00::/7 3 13 - ip6addrctl add ::/96 1 3 - ip6addrctl add fec0::/10 1 11 - ip6addrctl add 3ffe::/16 1 12 - checkyesno ip6addrctl_verbose && ip6addrctl + ${IP6ADDRCTL_CMD} flush >/dev/null 2>&1 + cat </dev/null 2>&1 - ip6addrctl add ::1/128 50 0 - ip6addrctl add ::/0 40 1 - ip6addrctl add ::ffff:0:0/96 100 4 - ip6addrctl add 2002::/16 30 2 - ip6addrctl add 2001::/32 5 5 - ip6addrctl add fc00::/7 3 13 - ip6addrctl add ::/96 1 3 - ip6addrctl add fec0::/10 1 11 - ip6addrctl add 3ffe::/16 1 12 - checkyesno ip6addrctl_verbose && ip6addrctl + ${IP6ADDRCTL_CMD} flush >/dev/null 2>&1 + cat </dev/null 2>&1 - ip6addrctl install "${config_file}" - checkyesno ip6addrctl_verbose && ip6addrctl + ${IP6ADDRCTL_CMD} flush >/dev/null 2>&1 + ${IP6ADDRCTL_CMD} install "${config_file}" else if checkyesno ipv6_activate_all_interfaces; then ip6addrctl_prefer_ipv6 @@ -92,7 +95,7 @@ ip6addrctl_start() ip6addrctl_prefer_ipv4 ;; [Nn][Oo][Nn][Ee]) - ip6addrctl flush >/dev/null 2>&1 + ${IP6ADDRCTL_CMD} flush >/dev/null 2>&1 ;; *) warn "\$ip6addrctl_policy is invalid: ${ip6addrctl_policy}. " \ @@ -100,6 +103,11 @@ ip6addrctl_start() ip6addrctl_prefer_ipv4 ;; esac + + if checkyesno ip6addrctl_verbose; then + echo 'Address selection policy table for IPv4 and IPv6:' + ${IP6ADDRCTL_CMD} + fi } ip6addrctl_stop() Modified: user/adrian/net80211_tx/etc/rc.d/mountlate ============================================================================== --- user/adrian/net80211_tx/etc/rc.d/mountlate Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/etc/rc.d/mountlate Wed May 8 00:58:18 2013 (r250343) @@ -21,19 +21,10 @@ mountlate_start() # Mount "late" filesystems. # err=0 - latefs= - # / (root) fs is always remounted, so remove from list - latefs="`/sbin/mount -d -a -l | grep -v ' /$'`" - case ${latefs} in - '') - ;; - *) - echo -n 'Mounting late file systems:' - mount -a -l - err=$? - echo '.' - ;; - esac + echo -n 'Mounting late file systems:' + mount -a -L + err=$? + echo '.' case ${err} in 0) Modified: user/adrian/net80211_tx/kerberos5/lib/libgssapi_krb5/pname_to_uid.c ============================================================================== --- user/adrian/net80211_tx/kerberos5/lib/libgssapi_krb5/pname_to_uid.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/kerberos5/lib/libgssapi_krb5/pname_to_uid.c Wed May 8 00:58:18 2013 (r250343) @@ -26,6 +26,7 @@ */ /* $FreeBSD$ */ +#include #include #include "krb5/gsskrb5_locl.h" @@ -37,8 +38,12 @@ _gsskrb5_pname_to_uid(OM_uint32 *minor_s krb5_context context; krb5_const_principal name = (krb5_const_principal) pname; krb5_error_code kret; - char lname[MAXLOGNAME + 1], buf[128]; + char lname[MAXLOGNAME + 1], buf[1024], *bufp; struct passwd pwd, *pw; + size_t buflen; + int error; + OM_uint32 ret; + static size_t buflen_hint = 1024; GSSAPI_KRB5_INIT (&context); @@ -49,11 +54,30 @@ _gsskrb5_pname_to_uid(OM_uint32 *minor_s } *minor_status = 0; - getpwnam_r(lname, &pwd, buf, sizeof(buf), &pw); + buflen = buflen_hint; + for (;;) { + pw = NULL; + bufp = buf; + if (buflen > sizeof(buf)) + bufp = malloc(buflen); + if (bufp == NULL) + break; + error = getpwnam_r(lname, &pwd, bufp, buflen, &pw); + if (error != ERANGE) + break; + if (buflen > sizeof(buf)) + free(bufp); + buflen += 1024; + if (buflen > buflen_hint) + buflen_hint = buflen; + } if (pw) { *uidp = pw->pw_uid; - return (GSS_S_COMPLETE); + ret = GSS_S_COMPLETE; } else { - return (GSS_S_FAILURE); + ret = GSS_S_FAILURE; } + if (bufp != NULL && buflen > sizeof(buf)) + free(bufp); + return (ret); } Modified: user/adrian/net80211_tx/lib/clang/include/llvm/Config/config.h ============================================================================== --- user/adrian/net80211_tx/lib/clang/include/llvm/Config/config.h Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/clang/include/llvm/Config/config.h Wed May 8 00:58:18 2013 (r250343) @@ -5,6 +5,9 @@ #ifndef CONFIG_H #define CONFIG_H +/* Get __FreeBSD_version. */ +#include + /* Bug report URL. */ #define BUG_REPORT_URL "http://llvm.org/bugs/" @@ -248,7 +251,9 @@ #define HAVE_LOG10 1 /* Define to 1 if you have the `log2' function. */ +#if __FreeBSD_version >= 900027 || (__FreeBSD_version < 900000 && __FreeBSD_version >= 802502) #define HAVE_LOG2 1 +#endif /* Define to 1 if you have the `longjmp' function. */ #define HAVE_LONGJMP 1 Modified: user/adrian/net80211_tx/lib/libc/gen/errlst.c ============================================================================== --- user/adrian/net80211_tx/lib/libc/gen/errlst.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/gen/errlst.c Wed May 8 00:58:18 2013 (r250343) @@ -152,5 +152,7 @@ const char *const sys_errlist[] = { "Protocol error", /* 92 - EPROTO */ "Capabilities insufficient", /* 93 - ENOTCAPABLE */ "Not permitted in capability mode", /* 94 - ECAPMODE */ + "State not recoverable", /* 95 - ENOTRECOVERABLE */ + "Previous owner died", /* 96 - EOWNERDEAD */ }; const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); Modified: user/adrian/net80211_tx/lib/libc/locale/duplocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/duplocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/duplocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17 2011 +.Dd September 17, 2011 .Dt DUPLOCALE 3 .Os .Sh NAME @@ -66,8 +66,8 @@ The locale returned by this call must be .Xr uselocale 3 , .Xr xlocale 3 .Sh STANDARDS -This function, conforms to -.St -p1003.1-2008 +This function conforms to +.St -p1003.1-2008 . .Sh BUGS Ideally, .Xr uselocale 3 Modified: user/adrian/net80211_tx/lib/libc/locale/freelocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/freelocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/freelocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd September 17 2011 +.Dd September 17, 2011 .Dt FREELOCALE 3 .Os .Sh NAME @@ -57,5 +57,12 @@ Returns 0 on success or -1 on error. .Xr uselocale 3 , .Xr xlocale 3 .Sh STANDARDS -This function, conforms to -.St -p1003.1-2008 . +The +.Fn freelocale +function +differs from +.St -p1003.1-2008 +in that its return type is +.Vt int +rather than +.Vt void . Modified: user/adrian/net80211_tx/lib/libc/locale/newlocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/newlocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/newlocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd September 17 2011 +.Dd September 17, 2011 .Dt NEWLOCALE 3 .Os .Sh NAME @@ -108,5 +108,5 @@ You must free the returned locale with .Xr uselocale 3 , .Xr xlocale 3 .Sh STANDARDS -This function, conforms to -.St -p1003.1-2008 +This function conforms to +.St -p1003.1-2008 . Modified: user/adrian/net80211_tx/lib/libc/locale/querylocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/querylocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/querylocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17 2011 +.Dd May 3, 2013 .Dt QUERYLOCALE 3 .Os .Sh NAME @@ -52,6 +52,3 @@ If more than one bit in the mask is set, .Xr newlocale 3 , .Xr uselocale 3 , .Xr xlocale 3 -.Sh STANDARDS -This function, conforms to -.St -p1003.1-2008 Modified: user/adrian/net80211_tx/lib/libc/locale/uselocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/uselocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/uselocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17 2011 +.Dd September 17, 2011 .Dt USELOCALE 3 .Os .Sh NAME @@ -57,4 +57,4 @@ or LC_GLOBAL_LOCALE if this thread has n .Xr xlocale 3 .Sh STANDARDS This function conforms to -.St -p1003.1-2008 +.St -p1003.1-2008 . Modified: user/adrian/net80211_tx/lib/libc/locale/xlocale.3 ============================================================================== --- user/adrian/net80211_tx/lib/libc/locale/xlocale.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/locale/xlocale.3 Wed May 8 00:58:18 2013 (r250343) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17 2011 +.Dd September 17, 2011 .Dt XLOCALE 3 .Os .Sh NAME Modified: user/adrian/net80211_tx/lib/libc/net/nslexer.l ============================================================================== --- user/adrian/net80211_tx/lib/libc/net/nslexer.l Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/net/nslexer.l Wed May 8 00:58:18 2013 (r250343) @@ -53,11 +53,10 @@ static char *rcsid = #include "nsparser.h" -#define YY_NO_INPUT -#define YY_NO_UNPUT - %} +%option noinput +%option nounput %option yylineno BLANK [ \t] Modified: user/adrian/net80211_tx/lib/libc/nls/C.msg ============================================================================== --- user/adrian/net80211_tx/lib/libc/nls/C.msg Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/nls/C.msg Wed May 8 00:58:18 2013 (r250343) @@ -191,6 +191,12 @@ $ EPROTO 92 Protocol error $ ENOTCAPABLE 93 Capabilities insufficient +$ ECAPMODE +94 Not permitted in capability mode +$ ENOTRECOVERABLE +95 State not recoverable +$ EOWNERDEAD +96 Previous owner died $ $ strsignal() support catalog $ Modified: user/adrian/net80211_tx/lib/libc/sys/intro.2 ============================================================================== --- user/adrian/net80211_tx/lib/libc/sys/intro.2 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libc/sys/intro.2 Wed May 8 00:58:18 2013 (r250343) @@ -28,7 +28,7 @@ .\" @(#)intro.2 8.5 (Berkeley) 2/27/95 .\" $FreeBSD$ .\" -.Dd April 27, 2013 +.Dd May 4, 2013 .Dt INTRO 2 .Os .Sh NAME @@ -470,6 +470,10 @@ An operation on a capability file descri the capability allows. .It Er 94 ECAPMODE Em "Not permitted in capability mode" . The system call or operation is not permitted for capability mode processes. +.It Er 95 ENOTRECOVERABLE Em "State not recoverable" . +The state protected by a robust mutex is not recoverable. +.It Er 96 EOWNERDEAD Em "Previous owner died" . +The owner of a robust mutex terminated while holding the mutex lock. .El .Sh DEFINITIONS .Bl -tag -width Ds Modified: user/adrian/net80211_tx/lib/libipsec/policy_token.l ============================================================================== --- user/adrian/net80211_tx/lib/libipsec/policy_token.l Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libipsec/policy_token.l Wed May 8 00:58:18 2013 (r250343) @@ -139,8 +139,8 @@ void __policy__strbuffer__init__(msg) char *msg; { - if (yy_current_buffer) - yy_delete_buffer(yy_current_buffer); + if (YY_CURRENT_BUFFER) + yy_delete_buffer(YY_CURRENT_BUFFER); strbuffer = (YY_BUFFER_STATE)yy_scan_string(msg); yy_switch_to_buffer(strbuffer); Modified: user/adrian/net80211_tx/lib/libkvm/kvm.c ============================================================================== --- user/adrian/net80211_tx/lib/libkvm/kvm.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libkvm/kvm.c Wed May 8 00:58:18 2013 (r250343) @@ -166,7 +166,7 @@ _kvm_open(kvm_t *kd, const char *uf, con if (mf == 0) mf = _PATH_MEM; - if ((kd->pmfd = open(mf, flag, 0)) < 0) { + if ((kd->pmfd = open(mf, flag | O_CLOEXEC, 0)) < 0) { _kvm_syserr(kd, kd->program, "%s", mf); goto failed; } @@ -179,10 +179,6 @@ _kvm_open(kvm_t *kd, const char *uf, con _kvm_syserr(kd, kd->program, "empty file"); goto failed; } - if (fcntl(kd->pmfd, F_SETFD, FD_CLOEXEC) < 0) { - _kvm_syserr(kd, kd->program, "%s", mf); - goto failed; - } if (S_ISCHR(st.st_mode)) { /* * If this is a character special device, then check that @@ -191,14 +187,11 @@ _kvm_open(kvm_t *kd, const char *uf, con * case you're working with a live kernel.) */ if (strcmp(mf, _PATH_DEVNULL) == 0) { - kd->vmfd = open(_PATH_DEVNULL, O_RDONLY); + kd->vmfd = open(_PATH_DEVNULL, O_RDONLY | O_CLOEXEC); return (kd); } else if (strcmp(mf, _PATH_MEM) == 0) { - if ((kd->vmfd = open(_PATH_KMEM, flag)) < 0) { - _kvm_syserr(kd, kd->program, "%s", _PATH_KMEM); - goto failed; - } - if (fcntl(kd->vmfd, F_SETFD, FD_CLOEXEC) < 0) { + if ((kd->vmfd = open(_PATH_KMEM, flag | O_CLOEXEC)) < + 0) { _kvm_syserr(kd, kd->program, "%s", _PATH_KMEM); goto failed; } @@ -210,11 +203,7 @@ _kvm_open(kvm_t *kd, const char *uf, con * Initialize the virtual address translation machinery, * but first setup the namelist fd. */ - if ((kd->nlfd = open(uf, O_RDONLY, 0)) < 0) { - _kvm_syserr(kd, kd->program, "%s", uf); - goto failed; - } - if (fcntl(kd->nlfd, F_SETFD, FD_CLOEXEC) < 0) { + if ((kd->nlfd = open(uf, O_RDONLY | O_CLOEXEC, 0)) < 0) { _kvm_syserr(kd, kd->program, "%s", uf); goto failed; } Modified: user/adrian/net80211_tx/lib/libpmc/Makefile ============================================================================== --- user/adrian/net80211_tx/lib/libpmc/Makefile Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libpmc/Makefile Wed May 8 00:58:18 2013 (r250343) @@ -23,35 +23,31 @@ MAN+= pmclog.3 MAN+= pmc.soft.3 # PMC-dependent manual pages -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" MAN+= pmc.atom.3 MAN+= pmc.core.3 MAN+= pmc.core2.3 +MAN+= pmc.corei7.3 +MAN+= pmc.corei7uc.3 MAN+= pmc.haswell.3 MAN+= pmc.haswelluc.3 MAN+= pmc.iaf.3 MAN+= pmc.ivybridge.3 MAN+= pmc.ivybridgexeon.3 -MAN+= pmc.ucf.3 MAN+= pmc.k7.3 MAN+= pmc.k8.3 +MAN+= pmc.mips24k.3 +MAN+= pmc.octeon.3 MAN+= pmc.p4.3 MAN+= pmc.p5.3 MAN+= pmc.p6.3 -MAN+= pmc.corei7.3 -MAN+= pmc.corei7uc.3 MAN+= pmc.sandybridge.3 -MAN+= pmc.sandybridgeuc.3 -MAN+= pmc.sandybridgexeon.3 +MAN+= pmc.sandybridgeuc.3 +MAN+= pmc.sandybridgexeon.3 +MAN+= pmc.tsc.3 +MAN+= pmc.ucf.3 MAN+= pmc.westmere.3 MAN+= pmc.westmereuc.3 -MAN+= pmc.tsc.3 -.elif ${MACHINE_CPUARCH} == "arm" MAN+= pmc.xscale.3 -.elif ${MACHINE_CPUARCH} == "mips" -MAN+= pmc.mips24k.3 -MAN+= pmc.octeon.3 -.endif MLINKS+= \ pmc_allocate.3 pmc_release.3 \ Modified: user/adrian/net80211_tx/lib/libprocstat/Symbol.map ============================================================================== --- user/adrian/net80211_tx/lib/libprocstat/Symbol.map Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libprocstat/Symbol.map Wed May 8 00:58:18 2013 (r250343) @@ -22,6 +22,7 @@ FBSD_1.3 { procstat_freegroups; procstat_freekstack; procstat_freevmmap; + procstat_get_sem_info; procstat_get_shm_info; procstat_getargv; procstat_getauxv; Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.3 ============================================================================== --- user/adrian/net80211_tx/lib/libprocstat/libprocstat.3 Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.3 Wed May 8 00:58:18 2013 (r250343) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 20, 2013 +.Dd May 3, 2013 .Dt LIBPROCSTAT 3 .Os .Sh NAME @@ -53,6 +53,7 @@ .Nm procstat_freevmmap , .Nm procstat_get_pipe_info , .Nm procstat_get_pts_info , +.Nm procstat_get_sem_info , .Nm procstat_get_shm_info , .Nm procstat_get_socket_info , .Nm procstat_get_vnode_info @@ -115,6 +116,13 @@ .Fa "char *errbuf" .Fc .Ft int +.Fo procstat_get_sem_info +.Fa "struct procstat *procstat" +.Fa "struct filestat *fst" +.Fa "struct semstat *sem" +.Fa "char *errbuf" +.Fc +.Ft int .Fo procstat_get_shm_info .Fa "struct procstat *procstat" .Fa "struct filestat *fst" @@ -463,12 +471,13 @@ function call. The .Fn procstat_get_pipe_info , .Fn procstat_get_pts_info , +.Fn procstat_get_sem_info , .Fn procstat_get_shm_info , .Fn procstat_get_socket_info and .Fn procstat_get_vnode_info functions are used to retrieve information about pipes, pseudo-terminals, -shared memory objects, +semaphores, shared memory objects, sockets, and vnodes, respectively. Each of them have a similar interface API. The @@ -505,6 +514,8 @@ argument indicates an actual error messa .Nm procstat_get_pipe_info .It Li PS_FST_TYPE_PTS .Nm procstat_get_pts_info +.It Li PS_FST_TYPE_SEM +.Nm procstat_get_sem_info .It Li PS_FST_TYPE_SHM .Nm procstat_get_shm_info .El @@ -517,6 +528,7 @@ argument indicates an actual error messa .Xr elf 3 , .Xr kvm 3 , .Xr queue 3 , +.Xr sem_open 3 , .Xr sysctl 3 , .Xr pts 4 , .Xr core 5 , Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.c ============================================================================== --- user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Wed May 8 00:55:29 2013 (r250342) +++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Wed May 8 00:58:18 2013 (r250343) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #define _WANT_FILE #include #include +#include #include #define _KERNEL #include @@ -129,6 +130,10 @@ static int procstat_get_pts_info_sysctl( struct ptsstat *pts, char *errbuf); static int procstat_get_pts_info_kvm(kvm_t *kd, struct filestat *fst, struct ptsstat *pts, char *errbuf); +static int procstat_get_sem_info_sysctl(struct filestat *fst, + struct semstat *sem, char *errbuf); +static int procstat_get_sem_info_kvm(kvm_t *kd, struct filestat *fst, + struct semstat *sem, char *errbuf); static int procstat_get_shm_info_sysctl(struct filestat *fst, struct shmstat *shm, char *errbuf); static int procstat_get_shm_info_kvm(kvm_t *kd, struct filestat *fst, @@ -556,6 +561,10 @@ procstat_getfiles_kvm(struct procstat *p data = file.f_data; break; #endif + case DTYPE_SEM: + type = PS_FST_TYPE_SEM; + data = file.f_data; + break; case DTYPE_SHM: type = PS_FST_TYPE_SHM; data = file.f_data; @@ -1003,6 +1012,87 @@ procstat_get_pts_info_sysctl(struct file } int +procstat_get_sem_info(struct procstat *procstat, struct filestat *fst, + struct semstat *sem, char *errbuf) +{ + + assert(sem); + if (procstat->type == PROCSTAT_KVM) { + return (procstat_get_sem_info_kvm(procstat->kd, fst, sem, + errbuf)); + } else if (procstat->type == PROCSTAT_SYSCTL || + procstat->type == PROCSTAT_CORE) { + return (procstat_get_sem_info_sysctl(fst, sem, errbuf)); + } else { + warnx("unknown access method: %d", procstat->type); + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + return (1); + } +} + +static int +procstat_get_sem_info_kvm(kvm_t *kd, struct filestat *fst, + struct semstat *sem, char *errbuf) +{ + struct ksem ksem; + void *ksemp; + char *path; + int i; + + assert(kd); + assert(sem); + assert(fst); + bzero(sem, sizeof(*sem)); + ksemp = fst->fs_typedep; + if (ksemp == NULL) + goto fail; + if (!kvm_read_all(kd, (unsigned long)ksemp, &ksem, + sizeof(struct ksem))) { + warnx("can't read ksem at %p", (void *)ksemp); + goto fail; + } + sem->mode = S_IFREG | ksem.ks_mode; + sem->value = ksem.ks_value; + if (fst->fs_path == NULL && ksem.ks_path != NULL) { + path = malloc(MAXPATHLEN); + for (i = 0; i < MAXPATHLEN - 1; i++) { + if (!kvm_read_all(kd, (unsigned long)ksem.ks_path + i, + path + i, 1)) + break; + if (path[i] == '\0') + break; + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed May 8 00:59:17 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D8CD082F; Wed, 8 May 2013 00:59:17 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CAC1EB5E; Wed, 8 May 2013 00:59:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r480xHoN054746; Wed, 8 May 2013 00:59:17 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r480xHN2054745; Wed, 8 May 2013 00:59:17 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305080059.r480xHN2054745@svn.freebsd.org> From: Adrian Chadd Date: Wed, 8 May 2013 00:59:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250344 - user/adrian/net80211_tx/tools/tools/ath/athalq X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 00:59:17 -0000 Author: adrian Date: Wed May 8 00:59:17 2013 New Revision: 250344 URL: http://svnweb.freebsd.org/changeset/base/250344 Log: Add beacon stuck/resume printing. Modified: user/adrian/net80211_tx/tools/tools/ath/athalq/main.c Modified: user/adrian/net80211_tx/tools/tools/ath/athalq/main.c ============================================================================== --- user/adrian/net80211_tx/tools/tools/ath/athalq/main.c Wed May 8 00:58:18 2013 (r250343) +++ user/adrian/net80211_tx/tools/tools/ath/athalq/main.c Wed May 8 00:59:17 2013 (r250344) @@ -75,6 +75,36 @@ ath_alq_print_intr_status(struct if_ath_ be32toh(is.intr_status)); } +static void +ath_alq_print_beacon_miss(struct if_ath_alq_payload *a) +{ + + printf("[%u.%06u] [%llu] BMISS\n", + (unsigned int) be32toh(a->hdr.tstamp_sec), + (unsigned int) be32toh(a->hdr.tstamp_usec), + (unsigned long long) be64toh(a->hdr.threadid)); +} + +static void +ath_alq_print_beacon_stuck(struct if_ath_alq_payload *a) +{ + + printf("[%u.%06u] [%llu] BSTUCK\n", + (unsigned int) be32toh(a->hdr.tstamp_sec), + (unsigned int) be32toh(a->hdr.tstamp_usec), + (unsigned long long) be64toh(a->hdr.threadid)); +} + +static void +ath_alq_print_beacon_resume(struct if_ath_alq_payload *a) +{ + + printf("[%u.%06u] [%llu] BRESUME\n", + (unsigned int) be32toh(a->hdr.tstamp_sec), + (unsigned int) be32toh(a->hdr.tstamp_usec), + (unsigned long long) be64toh(a->hdr.threadid)); +} + int main(int argc, const char *argv[]) { @@ -147,6 +177,15 @@ main(int argc, const char *argv[]) case ATH_ALQ_INTR_STATUS: ath_alq_print_intr_status(a); break; + case ATH_ALQ_MISSED_BEACON: + ath_alq_print_beacon_miss(a); + break; + case ATH_ALQ_STUCK_BEACON: + ath_alq_print_beacon_stuck(a); + break; + case ATH_ALQ_RESUME_BEACON: + ath_alq_print_beacon_resume(a); + break; default: if (be32toh(hdr.sc_hal_magic) == AR5210_MAGIC) ar5210_alq_payload(a); From owner-svn-src-user@FreeBSD.ORG Wed May 8 01:03:41 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 91FDE992; Wed, 8 May 2013 01:03:41 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8514EB9E; Wed, 8 May 2013 01:03:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4813fxY057439; Wed, 8 May 2013 01:03:41 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4813f7G057438; Wed, 8 May 2013 01:03:41 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305080103.r4813f7G057438@svn.freebsd.org> From: Adrian Chadd Date: Wed, 8 May 2013 01:03:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250345 - user/adrian/net80211_tx/sys/dev/ath X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 01:03:41 -0000 Author: adrian Date: Wed May 8 01:03:41 2013 New Revision: 250345 URL: http://svnweb.freebsd.org/changeset/base/250345 Log: The cleanup code now takes a list of frames to complete; so it can complete them outside of the TX lock. Thus, kill the comment. Whilst I'm at it, make the debugging output optional now, rather than a printf. Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c Wed May 8 00:59:17 2013 (r250344) +++ user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c Wed May 8 01:03:41 2013 (r250345) @@ -5761,17 +5761,7 @@ ath_tx_node_reassoc(struct ath_softc *sc if (tid->hwq_depth == 0) continue; ath_tx_tid_pause(sc, tid); - - /* - * XXX the TID cleanup code needs to be given an athbuf list - * to add completing frames to. Grr. - * - * So do that before this goes into the tree! - * - * That way we can hold the TX lock for the entirety of all - * of this nonsense; then the caller can make it sane. - */ - device_printf(sc->sc_dev, + DPRINTF(sc, ATH_DEBUG_NODE, "%s: %6D: TID %d: cleaning up TID\n", __func__, an->an_node.ni_macaddr, From owner-svn-src-user@FreeBSD.ORG Wed May 8 01:13:58 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4FDEFC9C; Wed, 8 May 2013 01:13:58 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 297B8C10; Wed, 8 May 2013 01:13:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r481DvRs061420; Wed, 8 May 2013 01:13:57 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r481DvwN061419; Wed, 8 May 2013 01:13:57 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305080113.r481DvwN061419@svn.freebsd.org> From: Adrian Chadd Date: Wed, 8 May 2013 01:13:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250347 - in user/adrian/net80211_tx: . sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 01:13:58 -0000 Author: adrian Date: Wed May 8 01:13:57 2013 New Revision: 250347 URL: http://svnweb.freebsd.org/changeset/base/250347 Log: Merge from HEAD. Modified: Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/sys/ (props changed) From owner-svn-src-user@FreeBSD.ORG Wed May 8 06:58:10 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B7D024A2; Wed, 8 May 2013 06:58:10 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AA36D994; Wed, 8 May 2013 06:58:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r486wA5J080656; Wed, 8 May 2013 06:58:10 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r486wATE080655; Wed, 8 May 2013 06:58:10 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080658.r486wATE080655@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 06:58:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250348 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 06:58:10 -0000 Author: pho Date: Wed May 8 06:58:10 2013 New Revision: 250348 URL: http://svnweb.freebsd.org/changeset/base/250348 Log: Fix problem flaged by the compiler. Modified: user/pho/stress2/misc/tmpfs6.sh Modified: user/pho/stress2/misc/tmpfs6.sh ============================================================================== --- user/pho/stress2/misc/tmpfs6.sh Wed May 8 01:13:57 2013 (r250347) +++ user/pho/stress2/misc/tmpfs6.sh Wed May 8 06:58:10 2013 (r250348) @@ -39,7 +39,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > tmpfs6.c -cc -o tmpfs6 -Wall tmpfs6.c +cc -o tmpfs6 -Wall -Wextra -O2 tmpfs6.c || exit 1 rm -f tmpfs6.c mount | grep $mntpoint | grep -q tmpfs && umount $mntpoint @@ -79,7 +79,7 @@ test(void) if ((fd = open(filename, O_CREAT | O_TRUNC | O_RDWR, S_IRWXU)) == -1) err(1, "open(%s)", filename); - if ((len = write(fd, wbuffer, FILESIZE)) != len) + if ((len = write(fd, wbuffer, FILESIZE)) != FILESIZE) err(1, "write()"); fsync(fd); @@ -90,7 +90,7 @@ test(void) if (lseek(fd, 0, SEEK_SET) != 0) err(1, "lseek()"); - if ((len = write(fd, addr, FILESIZE)) != len) + if ((len = write(fd, addr, FILESIZE)) != FILESIZE) err(1, "write() 2"); if (munmap(addr, FILESIZE) == -1) From owner-svn-src-user@FreeBSD.ORG Wed May 8 06:59:08 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 568CF5BF; Wed, 8 May 2013 06:59:08 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 30AC3999; Wed, 8 May 2013 06:59:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r486x8Eo080851; Wed, 8 May 2013 06:59:08 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r486x8qR080850; Wed, 8 May 2013 06:59:08 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080659.r486x8qR080850@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 06:59:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250349 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 06:59:08 -0000 Author: pho Date: Wed May 8 06:59:07 2013 New Revision: 250349 URL: http://svnweb.freebsd.org/changeset/base/250349 Log: Added shm_open(2) test scenario. Added: user/pho/stress2/misc/shm_open.sh (contents, props changed) Added: user/pho/stress2/misc/shm_open.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/shm_open.sh Wed May 8 06:59:07 2013 (r250349) @@ -0,0 +1,73 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# "panic: kmem_malloc(4096): kmem_map too small" seen. + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/shm_open.c +cc -o shm_open -Wall -Wextra -O2 -g shm_open.c || exit 1 +rm -f shm_open.c +cd $odir + +su $testuser -c /tmp/shm_open + +rm -f /tmp/shm_open +exit + +EOF +#include +#include +#include +#include +#include +#include + +int +main(void) +{ + int fd, i; + off_t len; + char name[80]; + + len = 1024 * 1024; + for (i = 0; i < 500000; i++) { + sprintf(name, "/testing.%06d", i); + + if ((fd = shm_open(name, O_RDWR | O_CREAT, 0644)) == -1) + err(1, "shm_open()"); + if (ftruncate(fd, len) == -1) + err(1, "ftruncate"); + close(fd); + } + + return(0); +} From owner-svn-src-user@FreeBSD.ORG Wed May 8 07:00:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 47B836F9; Wed, 8 May 2013 07:00:45 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3B9FB9A9; Wed, 8 May 2013 07:00:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4870j49081508; Wed, 8 May 2013 07:00:45 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4870jMJ081507; Wed, 8 May 2013 07:00:45 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080700.r4870jMJ081507@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 07:00:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250350 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 07:00:45 -0000 Author: pho Date: Wed May 8 07:00:44 2013 New Revision: 250350 URL: http://svnweb.freebsd.org/changeset/base/250350 Log: Added "FAIL" to a failed test and include a "ls" of the two files used. Modified: user/pho/stress2/misc/sendfile.sh Modified: user/pho/stress2/misc/sendfile.sh ============================================================================== --- user/pho/stress2/misc/sendfile.sh Wed May 8 06:59:07 2013 (r250349) +++ user/pho/stress2/misc/sendfile.sh Wed May 8 07:00:44 2013 (r250350) @@ -51,7 +51,7 @@ for i in 1 2 3 4 8 16 1k 2k 3k 4k 5k 1m dd if=/dev/random of=$in bs=$i count=1 2>&1 | \ egrep -v "records|transferred" /tmp/sendfile $in $out 12345 - cmp $in $out || ls -l $in $out + cmp $in $out || { echo FAIL; ls -l $in $out; } rm -f $in $out done rm -f /tmp/sendfile From owner-svn-src-user@FreeBSD.ORG Wed May 8 07:06:05 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BBF81949; Wed, 8 May 2013 07:06:05 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 955B99DB; Wed, 8 May 2013 07:06:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r487657f084215; Wed, 8 May 2013 07:06:05 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r48765Xs084214; Wed, 8 May 2013 07:06:05 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080706.r48765Xs084214@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 07:06:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250351 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 07:06:05 -0000 Author: pho Date: Wed May 8 07:06:05 2013 New Revision: 250351 URL: http://svnweb.freebsd.org/changeset/base/250351 Log: Added test scenario that exercise the highest syscall numbers, using syscall4.sh Added: user/pho/stress2/misc/syscall5.sh (contents, props changed) Added: user/pho/stress2/misc/syscall5.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/syscall5.sh Wed May 8 07:06:05 2013 (r250351) @@ -0,0 +1,65 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# Call syscall4.sh with syscall number as argument. +# Only run the last ~16 syscalls, if no argument is specified. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +syscall=`grep SYS_MAXSYSCALL /usr/include/sys/syscall.h | awk '{print $NF}'` + + +# syscalls with knows issues: +broken=" +swapcontext +rfork +_umtx_op +" + +n=$syscall +n=$((n - 1)) + +rm -f ./syscall5.log +start=`date '+%s'` +while [ $n -gt 0 ]; do + ps -lUnobody | grep syscall4 | awk '{print $2}' | xargs kill + name=`grep -w $n /usr/include/sys/syscall.h | awk '{print $2}' | + sed 's/SYS_//'` + echo "`date '+%T'` syscall $n ($name)" | + tee /dev/tty >> ./syscall5.log + sync; sleep 1 + echo "$broken" | grep -qw "$name" || + ./syscall4.sh $n || break + n=$((n - 1)) + [ $# -eq 0 -a `date '+%s'` -gt $((start + 1800)) ] && break +done +rm -f ./syscall5.log From owner-svn-src-user@FreeBSD.ORG Wed May 8 07:07:02 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E159BBD0; Wed, 8 May 2013 07:07:02 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BC8F09F4; Wed, 8 May 2013 07:07:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r48772Ti084451; Wed, 8 May 2013 07:07:02 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r48772lG084450; Wed, 8 May 2013 07:07:02 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080707.r48772lG084450@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 07:07:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250352 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 07:07:02 -0000 Author: pho Date: Wed May 8 07:07:02 2013 New Revision: 250352 URL: http://svnweb.freebsd.org/changeset/base/250352 Log: One more sendfile(2) scenario. Added: user/pho/stress2/misc/sendfile7.sh (contents, props changed) Added: user/pho/stress2/misc/sendfile7.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/sendfile7.sh Wed May 8 07:07:02 2013 (r250352) @@ -0,0 +1,41 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# Run sendfile5.sh with VM pressure added. +# "panic: vm_page_requeue: page 0xc47fdcc0 is not queued" seen. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +./sendfile5.sh & + +while kill -0 $! 2>/dev/null; do + ../testcases/swap/swap -t 2m -i 40 +done +wait From owner-svn-src-user@FreeBSD.ORG Wed May 8 07:09:55 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EBADBE17; Wed, 8 May 2013 07:09:55 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DD54CA13; Wed, 8 May 2013 07:09:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4879tUd085084; Wed, 8 May 2013 07:09:55 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4879tUe085083; Wed, 8 May 2013 07:09:55 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080709.r4879tUe085083@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 07:09:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250353 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 07:09:56 -0000 Author: pho Date: Wed May 8 07:09:55 2013 New Revision: 250353 URL: http://svnweb.freebsd.org/changeset/base/250353 Log: Added sendfile(2) scenario based on a PR. Added: user/pho/stress2/misc/sendfile6.sh (contents, props changed) Added: user/pho/stress2/misc/sendfile6.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/sendfile6.sh Wed May 8 07:09:55 2013 (r250353) @@ -0,0 +1,256 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# Test scenario by Nate Eldredge neldredge math ucsdnedu +# kern/127213: [tmpfs] sendfile on tmpfs data corruption +# Variation of tmpfs7.sh where UFS is used instead of tmpfs. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +set -e + +odir=`pwd` +cd /tmp +cat > server.c < +#include +#include +#include +#include "util.h" + +int main(int argc, char *argv[]) { + int f, listener, connection; + if (argc < 3) { + fprintf(stderr, "Usage: %s filename socketname\n", argv[0]); + exit(1); + } + if ((f = open(argv[1], O_RDONLY)) < 0) { + perror(argv[1]); + exit(1); + } + if ((listener = listen_unix_socket(argv[2])) < 0) { + exit(1); + } + if ((connection = accept_unix_socket(listener)) >= 0) { + real_sendfile(f, connection); + } + return 0; +} +EOF +cat > client.c < +#include +#include +#include +#include "util.h" + +int main(int argc, char *argv[]) { + int s; + if (argc < 2) { + fprintf(stderr, "Usage: %s socketname\n", argv[0]); + exit(1); + } + if ((s = connect_unix_socket(argv[1])) < 0) { + exit(1); + } + fake_sendfile(s, 1); + return 0; +} +EOF + +cat > util.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int create_unix_socket(void) { + int fd; + if ((fd = socket(PF_LOCAL, SOCK_STREAM, 0)) < 0) { + perror("socket"); + return -1; + } + return fd; +} + +int make_unix_sockaddr(const char *pathname, struct sockaddr_un *sa) { + memset(sa, 0, sizeof(*sa)); + sa->sun_family = PF_LOCAL; + if (strlen(pathname) + 1 > sizeof(sa->sun_path)) { +// fprintf(stderr, "%s: pathname too long (max %lu)\n", +// pathname, sizeof(sa->sun_path)); + errno = ENAMETOOLONG; + return -1; + } + strcpy(sa->sun_path, pathname); + return 0; +} + +static char *sockname; +void delete_socket(void) { + unlink(sockname); +} + +int listen_unix_socket(const char *path) { + int fd; + struct sockaddr_un sa; + if (make_unix_sockaddr(path, &sa) < 0) + return -1; + if ((fd = create_unix_socket()) < 0) + return -1; + if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { + perror("bind"); + close(fd); + return -1; + } + sockname = strdup(path); + atexit(delete_socket); + + if (listen(fd, 5) < 0) { + perror("listen"); + close(fd); + return -1; + } + return fd; +} + +int accept_unix_socket(int fd) { + int s; + if ((s = accept(fd, NULL, 0)) < 0) { + perror("accept"); + return -1; + } + return s; +} + +int connect_unix_socket(const char *path) { + int fd; + struct sockaddr_un sa; + if (make_unix_sockaddr(path, &sa) < 0) + return -1; + if ((fd = create_unix_socket()) < 0) + return -1; + if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { + perror("connect"); + return -1; + } + return fd; +} + +#define BUFSIZE 65536 + +int fake_sendfile(int from, int to) { + char buf[BUFSIZE]; + int v; + int sent = 0; + while ((v = read(from, buf, BUFSIZE)) > 0) { + int d = 0; + while (d < v) { + int w = write(to, buf, v - d); + if (w <= 0) { + perror("write"); + return -1; + } + d += w; + sent += w; + } + } + if (v != 0) { + perror("read"); + return -1; + } + return sent; +} + +int real_sendfile(int from, int to) { + int v; + v = sendfile(from, to, 0, 0, NULL, NULL, 0); + if (v < 0) { + perror("sendfile"); + } + return v; +} +EOF + +cat > util.h < +#include +#include +#include +#include +#include +#include + +int create_unix_socket(void); +int make_unix_sockaddr(const char *pathname, struct sockaddr_un *sa); +int listen_unix_socket(const char *path); +int accept_unix_socket(int fd); +int connect_unix_socket(const char *path); +int fake_sendfile(int from, int to); +int real_sendfile(int from, int to); +EOF + +cc -c -Wall -Wextra -O2 util.c +cc -o server -Wall -Wextra -O2 server.c util.o +cc -o client -Wall -Wextra -O2 client.c util.o +rm -f server.c client.c util.c util.o util.h mysocket + +mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 1g -u $mdstart || exit 1 +bsdlabel -w md$mdstart auto +newfs -U md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint + +dd if=/dev/random of=$mntpoint/data bs=123456 count=1 > /dev/null 2>&1 +./server $mntpoint/data mysocket & +sleep 0.2 +./client mysocket > data.$$ +cmp $mntpoint/data data.$$ || + { echo "FAIL Data mismatch"; ls -l $mntpoint/data data.$$; } +rm -f data.$$ server client mysocket + +while mount | grep "on $mntpoint " | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart From owner-svn-src-user@FreeBSD.ORG Wed May 8 07:14:08 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1AF3B139; Wed, 8 May 2013 07:14:08 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0E1E9A48; Wed, 8 May 2013 07:14:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r487E7Bp087568; Wed, 8 May 2013 07:14:07 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r487E7q9087567; Wed, 8 May 2013 07:14:07 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305080714.r487E7q9087567@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 07:14:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250354 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 07:14:08 -0000 Author: pho Date: Wed May 8 07:14:07 2013 New Revision: 250354 URL: http://svnweb.freebsd.org/changeset/base/250354 Log: Added a tmpfs scenario based on a PR. Added: user/pho/stress2/misc/tmpfs7.sh (contents, props changed) Added: user/pho/stress2/misc/tmpfs7.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/tmpfs7.sh Wed May 8 07:14:07 2013 (r250354) @@ -0,0 +1,250 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# Test scenario by Nate Eldredge neldredge math ucsdnedu + +# kern/127213: [tmpfs] sendfile on tmpfs data corruption + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +set -e + +odir=`pwd` +cd /tmp +cat > server.c < +#include +#include +#include +#include "util.h" + +int main(int argc, char *argv[]) { + int f, listener, connection; + if (argc < 3) { + fprintf(stderr, "Usage: %s filename socketname\n", argv[0]); + exit(1); + } + if ((f = open(argv[1], O_RDONLY)) < 0) { + perror(argv[1]); + exit(1); + } + if ((listener = listen_unix_socket(argv[2])) < 0) { + exit(1); + } + if ((connection = accept_unix_socket(listener)) >= 0) { + real_sendfile(f, connection); + } + return 0; +} +EOF +cat > client.c < +#include +#include +#include +#include "util.h" + +int main(int argc, char *argv[]) { + int s; + if (argc < 2) { + fprintf(stderr, "Usage: %s socketname\n", argv[0]); + exit(1); + } + if ((s = connect_unix_socket(argv[1])) < 0) { + exit(1); + } + fake_sendfile(s, 1); + return 0; +} +EOF + +cat > util.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int create_unix_socket(void) { + int fd; + if ((fd = socket(PF_LOCAL, SOCK_STREAM, 0)) < 0) { + perror("socket"); + return -1; + } + return fd; +} + +int make_unix_sockaddr(const char *pathname, struct sockaddr_un *sa) { + memset(sa, 0, sizeof(*sa)); + sa->sun_family = PF_LOCAL; + if (strlen(pathname) + 1 > sizeof(sa->sun_path)) { +// fprintf(stderr, "%s: pathname too long (max %lu)\n", +// pathname, sizeof(sa->sun_path)); + errno = ENAMETOOLONG; + return -1; + } + strcpy(sa->sun_path, pathname); + return 0; +} + +static char *sockname; +void delete_socket(void) { + unlink(sockname); +} + +int listen_unix_socket(const char *path) { + int fd; + struct sockaddr_un sa; + if (make_unix_sockaddr(path, &sa) < 0) + return -1; + if ((fd = create_unix_socket()) < 0) + return -1; + if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { + perror("bind"); + close(fd); + return -1; + } + sockname = strdup(path); + atexit(delete_socket); + + if (listen(fd, 5) < 0) { + perror("listen"); + close(fd); + return -1; + } + return fd; +} + +int accept_unix_socket(int fd) { + int s; + if ((s = accept(fd, NULL, 0)) < 0) { + perror("accept"); + return -1; + } + return s; +} + +int connect_unix_socket(const char *path) { + int fd; + struct sockaddr_un sa; + if (make_unix_sockaddr(path, &sa) < 0) + return -1; + if ((fd = create_unix_socket()) < 0) + return -1; + if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { + perror("connect"); + return -1; + } + return fd; +} + +#define BUFSIZE 65536 + +int fake_sendfile(int from, int to) { + char buf[BUFSIZE]; + int v; + int sent = 0; + while ((v = read(from, buf, BUFSIZE)) > 0) { + int d = 0; + while (d < v) { + int w = write(to, buf, v - d); + if (w <= 0) { + perror("write"); + return -1; + } + d += w; + sent += w; + } + } + if (v != 0) { + perror("read"); + return -1; + } + return sent; +} + +int real_sendfile(int from, int to) { + int v; + v = sendfile(from, to, 0, 0, NULL, NULL, 0); + if (v < 0) { + perror("sendfile"); + } + return v; +} +EOF + +cat > util.h < +#include +#include +#include +#include +#include +#include + +int create_unix_socket(void); +int make_unix_sockaddr(const char *pathname, struct sockaddr_un *sa); +int listen_unix_socket(const char *path); +int accept_unix_socket(int fd); +int connect_unix_socket(const char *path); +int fake_sendfile(int from, int to); +int real_sendfile(int from, int to); +EOF + +cc -c -Wall -Wextra -O2 util.c +cc -o server -Wall -Wextra -O2 server.c util.o +cc -o client -Wall -Wextra -O2 client.c util.o +rm -f server.c client.c util.c util.o util.h mysocket + +mount | grep "$mntpoint" | grep -q tmpfs && umount $mntpoint +mount -t tmpfs tmpfs $mntpoint + +dd if=/dev/random of=$mntpoint/data bs=123456 count=1 > /dev/null 2>&1 +./server $mntpoint/data mysocket & +sleep 0.2 +./client mysocket > data.$$ +cmp $mntpoint/data data.$$ || + { echo "FAIL Data mismatch"; ls -l $mntpoint/data data.$$; } +rm -f data.$$ server client mysocket + +while mount | grep "$mntpoint" | grep -q tmpfs; do + umount $mntpoint || sleep 1 +done From owner-svn-src-user@FreeBSD.ORG Wed May 8 10:53:17 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id ED03E7CC; Wed, 8 May 2013 10:53:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C6B426EE; Wed, 8 May 2013 10:53:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r48ArHd2064018; Wed, 8 May 2013 10:53:17 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r48ArH85064017; Wed, 8 May 2013 10:53:17 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305081053.r48ArH85064017@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 10:53:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250360 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 10:53:18 -0000 Author: pho Date: Wed May 8 10:53:17 2013 New Revision: 250360 URL: http://svnweb.freebsd.org/changeset/base/250360 Log: Added general purpose UFS with SU test scenario. Added: user/pho/stress2/misc/marcus.sh (contents, props changed) Added: user/pho/stress2/misc/marcus.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/marcus.sh Wed May 8 10:53:17 2013 (r250360) @@ -0,0 +1,54 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +# Run with marcus.cfg on a 1g swap backed MD with UFS SU fs. + +. ../default.cfg + +mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -a -t swap -s 1g -u $mdstart +bsdlabel -w md$mdstart auto +newfs -U md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint +chmod 777 $mntpoint + +export runRUNTIME=30m +export RUNDIR=$mntpoint/stressX + +su $testuser -c 'cd ..; ./run.sh marcus.cfg' + +while mount | grep $mntpoint | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +checkfs /dev/md${mdstart}$part +mdconfig -d -u $mdstart From owner-svn-src-user@FreeBSD.ORG Wed May 8 10:57:26 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6FB0ED01; Wed, 8 May 2013 10:57:26 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 49DD079F; Wed, 8 May 2013 10:57:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r48AvQ0h064850; Wed, 8 May 2013 10:57:26 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r48AvQlk064849; Wed, 8 May 2013 10:57:26 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201305081057.r48AvQlk064849@svn.freebsd.org> From: Peter Holm Date: Wed, 8 May 2013 10:57:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250362 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 10:57:26 -0000 Author: pho Date: Wed May 8 10:57:25 2013 New Revision: 250362 URL: http://svnweb.freebsd.org/changeset/base/250362 Log: Added a new TCP test scenario. Added: user/pho/stress2/misc/tcp2.sh (contents, props changed) Added: user/pho/stress2/misc/tcp2.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/tcp2.sh Wed May 8 10:57:25 2013 (r250362) @@ -0,0 +1,53 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (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$ +# + +# "panic: kmem_malloc(4096): kmem_map too small ..." seen. +# "panic: sackhint bytes rtx >= 0" seen. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +rm -rf /tmp/stressX.control +[ ! -d $RUNDIR ] && mkdir -p $RUNDIR +chmod 777 $RUNDIR +export runRUNTIME=15m +export tcpLOAD=100 +export swapLOAD=100 +n=`su $testuser -c "limits | grep maxprocesses | awk '{print \\$NF}'"` +export tcpINCARNATIONS=$((n / 2 - 40)) +export TESTPROGS=" +./testcases/tcp/tcp +./testcases/swap/swap +" + +su $testuser -c '(cd ..; ./testcases/run/run $TESTPROGS)' + +ps -U$testuser | sed 1d | awk '{print $1}' | xargs kill -9 From owner-svn-src-user@FreeBSD.ORG Thu May 9 00:33:00 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 452AB3E6; Thu, 9 May 2013 00:33:00 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 785A3677; Thu, 9 May 2013 00:16:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r490GhjD085168; Thu, 9 May 2013 00:16:43 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r490Gfki085155; Thu, 9 May 2013 00:16:41 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305090016.r490Gfki085155@svn.freebsd.org> From: Attilio Rao Date: Thu, 9 May 2013 00:16:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250398 - in user/attilio/jeff-numa/sys: kern sparc64/include sparc64/sparc64 x86/x86 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 00:33:00 -0000 Author: attilio Date: Thu May 9 00:16:41 2013 New Revision: 250398 URL: http://svnweb.freebsd.org/changeset/base/250398 Log: Revert bitset usage based on HEAD sync. Modified: user/attilio/jeff-numa/sys/kern/kern_cpuset.c user/attilio/jeff-numa/sys/kern/kern_ktr.c user/attilio/jeff-numa/sys/sparc64/include/ktr.h user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c Modified: user/attilio/jeff-numa/sys/kern/kern_cpuset.c ============================================================================== --- user/attilio/jeff-numa/sys/kern/kern_cpuset.c Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/kern/kern_cpuset.c Thu May 9 00:16:41 2013 (r250398) @@ -630,7 +630,7 @@ cpusetobj_ffs(const cpuset_t *set) for (i = 0; i < _NCPUWORDS; i++) { if (set->__bits[i] != 0) { cbit = ffsl(set->__bits[i]); - cbit += i * _BITSET_BITS; + cbit += i * _NCPUBITS; break; } } Modified: user/attilio/jeff-numa/sys/kern/kern_ktr.c ============================================================================== --- user/attilio/jeff-numa/sys/kern/kern_ktr.c Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/kern/kern_ktr.c Thu May 9 00:16:41 2013 (r250398) @@ -104,7 +104,7 @@ int ktr_entries = KTR_BOOT_ENTRIES; int ktr_version = KTR_VERSION; struct ktr_entry ktr_buf_init[KTR_BOOT_ENTRIES]; struct ktr_entry *ktr_buf = ktr_buf_init; -cpuset_t ktr_cpumask = BITSET_T_INITIALIZER(KTR_CPUMASK); +cpuset_t ktr_cpumask = CPUSET_T_INITIALIZER(KTR_CPUMASK); static char ktr_cpumask_str[CPUSETBUFSIZ]; TUNABLE_INT("debug.ktr.mask", &ktr_mask); Modified: user/attilio/jeff-numa/sys/sparc64/include/ktr.h ============================================================================== --- user/attilio/jeff-numa/sys/sparc64/include/ktr.h Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/sparc64/include/ktr.h Thu May 9 00:16:41 2013 (r250398) @@ -81,7 +81,7 @@ l2: add r2, 1, r3 ; \ brz r1, l3 ## f ; \ nop ; \ lduw [PCPU(CPUID)], r2 ; \ - mov _BITSET_BITS, r3 ; \ + mov _NCPUBITS, r3 ; \ mov %g0, %y ; \ udiv r2, r3, r2 ; \ srl r2, 0, r2 ; \ @@ -89,7 +89,7 @@ l2: add r2, 1, r3 ; \ SET(ktr_cpumask, r3, r1) ; \ ldx [r1 + r2], r1 ; \ lduw [PCPU(CPUID)], r2 ; \ - mov _BITSET_BITS, r3 ; \ + mov _NCPUBITS, r3 ; \ mov %g0, %y ; \ udiv r2, r3, r2 ; \ srl r2, 0, r2 ; \ Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c ============================================================================== --- user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c Thu May 9 00:16:41 2013 (r250398) @@ -58,7 +58,7 @@ ASSYM(PCPU_PAGES, PCPU_PAGES); ASSYM(TAR_VPN_SHIFT, TAR_VPN_SHIFT); -ASSYM(_BITSET_BITS, _BITSET_BITS); +ASSYM(_NCPUBITS, _NCPUBITS); ASSYM(TLB_DEMAP_ALL, TLB_DEMAP_ALL); ASSYM(TLB_DEMAP_CONTEXT, TLB_DEMAP_CONTEXT); Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c ============================================================================== --- user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c Thu May 9 00:16:41 2013 (r250398) @@ -456,7 +456,7 @@ intr_describe(int vec, void *ih, const c * allocate CPUs round-robin. */ -static cpuset_t intr_cpus = BITSET_T_INITIALIZER(0x1); +static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1); static int current_cpu; static void Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S ============================================================================== --- user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S Thu May 9 00:16:41 2013 (r250398) @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); #define IPI_DONE(r1, r2, r3, r4, r5, r6) \ rd %y, r6 ; \ lduw [PCPU(CPUID)], r2 ; \ - mov _BITSET_BITS, r3 ; \ + mov _NCPUBITS, r3 ; \ mov %g0, %y ; \ udiv r2, r3, r4 ; \ srl r4, 0, r5 ; \ Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S ============================================================================== --- user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S Thu May 9 00:16:41 2013 (r250398) @@ -172,7 +172,7 @@ ENTRY(cpu_switch) * Mark the pmap of the last non-kernel vmspace to run as no longer * active on this CPU. */ - mov _BITSET_BITS, %l5 + mov _NCPUBITS, %l5 mov %g0, %y udiv %l3, %l5, %l6 srl %l6, 0, %l4 @@ -241,7 +241,7 @@ ENTRY(cpu_switch) /* * Mark the pmap as active on this CPU. */ - mov _BITSET_BITS, %l5 + mov _NCPUBITS, %l5 mov %g0, %y udiv %l3, %l5, %l6 srl %l6, 0, %l4 Modified: user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c ============================================================================== --- user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c Thu May 9 00:14:24 2013 (r250397) +++ user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c Thu May 9 00:16:41 2013 (r250398) @@ -452,7 +452,7 @@ DB_SHOW_COMMAND(irqs, db_show_irqs) * allocate CPUs round-robin. */ -static cpuset_t intr_cpus = BITSET_T_INITIALIZER(0x1); +static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1); static int current_cpu; /* From owner-svn-src-user@FreeBSD.ORG Thu May 9 00:33:01 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 12D8E43E; Thu, 9 May 2013 00:33:01 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5FE3B82F; Thu, 9 May 2013 00:26:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r490QOAk088935; Thu, 9 May 2013 00:26:24 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r490QKJ5088902; Thu, 9 May 2013 00:26:20 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305090026.r490QKJ5088902@svn.freebsd.org> From: Attilio Rao Date: Thu, 9 May 2013 00:26:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250399 - in user/attilio/jeff-numa: cddl/lib/drti contrib/bsnmp contrib/gcc/config/i386 gnu/usr.bin/cc/include lib/libprocstat lib/libusb release/picobsd/build sbin/etherswitchcfg sbin... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 00:33:01 -0000 Author: attilio Date: Thu May 9 00:26:20 2013 New Revision: 250399 URL: http://svnweb.freebsd.org/changeset/base/250399 Log: MFC Added: user/attilio/jeff-numa/share/man/man4/acpi_rapidstart.4 - copied unchanged from r250398, user/attilio/vmcontention/share/man/man4/acpi_rapidstart.4 user/attilio/jeff-numa/sys/dev/acpi_support/acpi_rapidstart.c - copied unchanged from r250398, user/attilio/vmcontention/sys/dev/acpi_support/acpi_rapidstart.c user/attilio/jeff-numa/sys/dev/etherswitch/ip17x/ - copied from r250398, user/attilio/vmcontention/sys/dev/etherswitch/ip17x/ user/attilio/jeff-numa/sys/modules/acpi/acpi_rapidstart/ - copied from r250398, user/attilio/vmcontention/sys/modules/acpi/acpi_rapidstart/ user/attilio/jeff-numa/usr.sbin/bsdconfig/packages/ - copied from r250398, user/attilio/vmcontention/usr.sbin/bsdconfig/packages/ user/attilio/jeff-numa/usr.sbin/bsdconfig/share/packages/ - copied from r250398, user/attilio/vmcontention/usr.sbin/bsdconfig/share/packages/ user/attilio/jeff-numa/usr.sbin/bsnmpd/modules/snmp_hast/ - copied from r250398, user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/ Modified: user/attilio/jeff-numa/cddl/lib/drti/Makefile user/attilio/jeff-numa/contrib/bsnmp/oid-list user/attilio/jeff-numa/contrib/gcc/config/i386/tmmintrin.h user/attilio/jeff-numa/gnu/usr.bin/cc/include/Makefile user/attilio/jeff-numa/lib/libprocstat/libprocstat.c user/attilio/jeff-numa/lib/libusb/libusb.3 user/attilio/jeff-numa/lib/libusb/libusb.h user/attilio/jeff-numa/lib/libusb/libusb10.c user/attilio/jeff-numa/lib/libusb/libusb10_io.c user/attilio/jeff-numa/release/picobsd/build/picobsd user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.8 user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.c user/attilio/jeff-numa/sbin/growfs/growfs.c user/attilio/jeff-numa/sbin/iscontrol/auth_subr.c user/attilio/jeff-numa/sbin/iscontrol/fsm.c user/attilio/jeff-numa/sbin/iscontrol/login.c user/attilio/jeff-numa/sbin/iscontrol/misc.c user/attilio/jeff-numa/sbin/ping6/ping6.8 user/attilio/jeff-numa/share/man/man4/igb.4 user/attilio/jeff-numa/share/misc/bsd-family-tree user/attilio/jeff-numa/sys/amd64/include/param.h user/attilio/jeff-numa/sys/arm/arm/cpufunc_asm_pj4b.S user/attilio/jeff-numa/sys/arm/arm/locore.S user/attilio/jeff-numa/sys/arm/arm/mp_machdep.c user/attilio/jeff-numa/sys/arm/arm/pmap-v6.c user/attilio/jeff-numa/sys/arm/freescale/imx/bus_space.c user/attilio/jeff-numa/sys/arm/freescale/imx/common.c user/attilio/jeff-numa/sys/arm/freescale/imx/console.c user/attilio/jeff-numa/sys/arm/freescale/imx/i2c.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ccm.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ccmreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ccmvar.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_dpllreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_gpio.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_iomux.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_iomuxreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_iomuxvar.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ipuv3.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ipuv3reg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_sdmareg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_ssireg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx51_tzicreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx_gpt.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx_gptreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx_gptvar.h user/attilio/jeff-numa/sys/arm/freescale/imx/imx_machdep.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx_wdog.c user/attilio/jeff-numa/sys/arm/freescale/imx/imx_wdogreg.h user/attilio/jeff-numa/sys/arm/freescale/imx/tzic.c user/attilio/jeff-numa/sys/arm/include/param.h user/attilio/jeff-numa/sys/arm/include/pmap.h user/attilio/jeff-numa/sys/arm/mv/armadaxp/armadaxp.c user/attilio/jeff-numa/sys/arm/mv/armadaxp/armadaxp_mp.c user/attilio/jeff-numa/sys/arm/mv/armadaxp/std.armadaxp user/attilio/jeff-numa/sys/arm/mv/common.c user/attilio/jeff-numa/sys/arm/mv/mv_machdep.c user/attilio/jeff-numa/sys/arm/mv/mvvar.h user/attilio/jeff-numa/sys/arm/mv/mvwin.h user/attilio/jeff-numa/sys/boot/fdt/dts/db78460.dts user/attilio/jeff-numa/sys/boot/pc98/libpc98/biosdisk.c user/attilio/jeff-numa/sys/cam/ata/ata_xpt.c user/attilio/jeff-numa/sys/conf/NOTES user/attilio/jeff-numa/sys/conf/files user/attilio/jeff-numa/sys/conf/options user/attilio/jeff-numa/sys/contrib/dev/acpica/components/namespace/nsinit.c user/attilio/jeff-numa/sys/dev/ath/ath_hal/ah_desc.h user/attilio/jeff-numa/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c user/attilio/jeff-numa/sys/dev/ath/ath_hal/ar5416/ar5416desc.h user/attilio/jeff-numa/sys/dev/ath/if_ath.c user/attilio/jeff-numa/sys/dev/ath/if_ath_rx.c user/attilio/jeff-numa/sys/dev/ath/if_ath_sysctl.c user/attilio/jeff-numa/sys/dev/ath/if_ath_tx.c user/attilio/jeff-numa/sys/dev/ath/if_athioctl.h user/attilio/jeff-numa/sys/dev/ath/if_athvar.h user/attilio/jeff-numa/sys/dev/bwn/if_bwn.c user/attilio/jeff-numa/sys/dev/cesa/cesa.c user/attilio/jeff-numa/sys/dev/cesa/cesa.h user/attilio/jeff-numa/sys/dev/etherswitch/arswitch/arswitch.c user/attilio/jeff-numa/sys/dev/etherswitch/etherswitch.c user/attilio/jeff-numa/sys/dev/etherswitch/etherswitch.h user/attilio/jeff-numa/sys/dev/etherswitch/etherswitch_if.m user/attilio/jeff-numa/sys/dev/etherswitch/ukswitch/ukswitch.c user/attilio/jeff-numa/sys/dev/qlxgb/README.txt user/attilio/jeff-numa/sys/dev/qlxgb/qla_dbg.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_dbg.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_def.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_glbl.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_hw.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_hw.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_inline.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_ioctl.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_ioctl.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_isr.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_misc.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_os.c user/attilio/jeff-numa/sys/dev/qlxgb/qla_os.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_reg.h user/attilio/jeff-numa/sys/dev/qlxgb/qla_ver.h user/attilio/jeff-numa/sys/dev/sound/pci/envy24ht.c user/attilio/jeff-numa/sys/dev/sound/pci/envy24ht.h user/attilio/jeff-numa/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/jeff-numa/sys/i386/include/param.h user/attilio/jeff-numa/sys/ia64/include/param.h user/attilio/jeff-numa/sys/kern/uipc_socket.c user/attilio/jeff-numa/sys/kern/vfs_cluster.c user/attilio/jeff-numa/sys/mips/conf/ROUTERSTATION user/attilio/jeff-numa/sys/mips/conf/ROUTERSTATION.hints user/attilio/jeff-numa/sys/mips/include/param.h user/attilio/jeff-numa/sys/net/if.c user/attilio/jeff-numa/sys/net/if_llatbl.c user/attilio/jeff-numa/sys/net/if_llatbl.h user/attilio/jeff-numa/sys/net/if_var.h user/attilio/jeff-numa/sys/netinet/in_pcb.h user/attilio/jeff-numa/sys/netinet/in_var.h user/attilio/jeff-numa/sys/netinet/ip_id.c user/attilio/jeff-numa/sys/netinet/ip_input.c user/attilio/jeff-numa/sys/netinet/tcp_subr.c user/attilio/jeff-numa/sys/netpfil/pf/if_pfsync.c user/attilio/jeff-numa/sys/netpfil/pf/pf.c user/attilio/jeff-numa/sys/ofed/include/linux/workqueue.h user/attilio/jeff-numa/sys/powerpc/include/param.h user/attilio/jeff-numa/sys/powerpc/powermac/smu.c user/attilio/jeff-numa/sys/sparc64/include/param.h user/attilio/jeff-numa/sys/sys/_cpuset.h user/attilio/jeff-numa/sys/sys/socketvar.h user/attilio/jeff-numa/sys/vm/vm_radix.c user/attilio/jeff-numa/sys/x86/acpica/srat.c user/attilio/jeff-numa/usr.sbin/bsdconfig/Makefile user/attilio/jeff-numa/usr.sbin/bsdconfig/dot/dot user/attilio/jeff-numa/usr.sbin/bsdconfig/include/messages.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/include/options.hlp user/attilio/jeff-numa/usr.sbin/bsdconfig/share/Makefile user/attilio/jeff-numa/usr.sbin/bsdconfig/share/common.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/media/options.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/script.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/share/variable.subr user/attilio/jeff-numa/usr.sbin/bsdconfig/startup/rcdelete user/attilio/jeff-numa/usr.sbin/pmcannotate/pmcannotate.c user/attilio/jeff-numa/usr.sbin/rtadvd/rrenum.c Directory Properties: user/attilio/jeff-numa/ (props changed) user/attilio/jeff-numa/cddl/ (props changed) user/attilio/jeff-numa/contrib/gcc/ (props changed) user/attilio/jeff-numa/sbin/ (props changed) user/attilio/jeff-numa/share/man/man4/ (props changed) user/attilio/jeff-numa/sys/ (props changed) user/attilio/jeff-numa/sys/boot/ (props changed) user/attilio/jeff-numa/sys/conf/ (props changed) user/attilio/jeff-numa/sys/contrib/dev/acpica/ (props changed) user/attilio/jeff-numa/sys/contrib/dev/acpica/components/namespace/ (props changed) user/attilio/jeff-numa/usr.sbin/rtadvd/ (props changed) Modified: user/attilio/jeff-numa/cddl/lib/drti/Makefile ============================================================================== --- user/attilio/jeff-numa/cddl/lib/drti/Makefile Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/cddl/lib/drti/Makefile Thu May 9 00:26:20 2013 (r250399) @@ -9,6 +9,8 @@ FILESGRP= ${LIBGRP} FILESMODE= ${LIBMODE} FILESDIR= ${LIBDIR}/dtrace CLEANFILES= ${FILES} +LIB= drti-dummy +INTERNALLIB= CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \ -I${.CURDIR}/../../../cddl/compat/opensolaris/include \ @@ -18,4 +20,10 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common \ -DPIC ${PICFLAG} +.if make(install) && defined(LIBRARIES_ONLY) +install: + ${INSTALL} -o ${FILESOWN} -g ${FILESGRP} -m ${FILESMODE} \ + ${FILES} ${DESTDIR}${FILESDIR} +.endif + .include Modified: user/attilio/jeff-numa/contrib/bsnmp/oid-list ============================================================================== --- user/attilio/jeff-numa/contrib/bsnmp/oid-list Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/contrib/bsnmp/oid-list Thu May 9 00:26:20 2013 (r250399) @@ -24,6 +24,7 @@ enterprises 204 pingData bsnmp-ping (Nate Nielsen ) 205 begemotBridge bridge module 210 begemotWlan WLAN module + 220 begemotHast HAST module 300 BEGEMOT-ACM DLR ACM project 303 BEGEMOT-WLINK DLR WLINK simulator Modified: user/attilio/jeff-numa/contrib/gcc/config/i386/tmmintrin.h ============================================================================== --- user/attilio/jeff-numa/contrib/gcc/config/i386/tmmintrin.h Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/contrib/gcc/config/i386/tmmintrin.h Thu May 9 00:26:20 2013 (r250399) @@ -222,227 +222,3 @@ _mm_abs_pi32 (__m64 __X) #endif /* __SSSE3__ */ #endif /* _TMMINTRIN_H_INCLUDED */ -/* Copyright (C) 2006 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING. If not, write to - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, if you include this header file into source - files compiled by GCC, this header file does not by itself cause - the resulting executable to be covered by the GNU General Public - License. This exception does not however invalidate any other - reasons why the executable file might be covered by the GNU General - Public License. */ - -/* Implemented from the specification included in the Intel C++ Compiler - User Guide and Reference, version 9.1. */ - -#ifndef _TMMINTRIN_H_INCLUDED -#define _TMMINTRIN_H_INCLUDED - -#ifdef __SSSE3__ -#include - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadds_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadds_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_maddubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_maddubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_mulhrs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_mulhrs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_shuffle_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_shuffle_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y); -} - -#define _mm_alignr_epi8(__X, __Y, __N) \ - ((__m128i)__builtin_ia32_palignr128 ((__v2di) __X, (__v2di) __Y, (__N) * 8)) - -#define _mm_alignr_pi8(__X, __Y, __N) \ - ((__m64)__builtin_ia32_palignr ((long long) (__X), (long long) (__Y), (__N) * 8)) - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi8 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi16 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi32 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi8 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsb ((__v8qi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi16 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsw ((__v4hi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi32 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsd ((__v2si)__X); -} - -#endif /* __SSSE3__ */ - -#endif /* _TMMINTRIN_H_INCLUDED */ Modified: user/attilio/jeff-numa/gnu/usr.bin/cc/include/Makefile ============================================================================== --- user/attilio/jeff-numa/gnu/usr.bin/cc/include/Makefile Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/gnu/usr.bin/cc/include/Makefile Thu May 9 00:26:20 2013 (r250399) @@ -9,7 +9,8 @@ INCSDIR=${INCLUDEDIR}/gcc/${GCCVER} .PATH: ${GCCDIR}/config/${GCC_CPU} .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" -INCS= emmintrin.h mmintrin.h pmmintrin.h tmmintrin.h xmmintrin.h mm_malloc.h +INCS= emmintrin.h mmintrin.h mm3dnow.h pmmintrin.h tmmintrin.h xmmintrin.h \ + mm_malloc.h .elif ${TARGET_ARCH} == "ia64" INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" Modified: user/attilio/jeff-numa/lib/libprocstat/libprocstat.c ============================================================================== --- user/attilio/jeff-numa/lib/libprocstat/libprocstat.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/lib/libprocstat/libprocstat.c Thu May 9 00:26:20 2013 (r250399) @@ -897,7 +897,8 @@ procstat_get_pipe_info(struct procstat * return (procstat_get_pipe_info_sysctl(fst, ps, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -926,7 +927,8 @@ procstat_get_pipe_info_kvm(kvm_t *kd, st return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -962,7 +964,8 @@ procstat_get_pts_info(struct procstat *p return (procstat_get_pts_info_sysctl(fst, pts, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -990,7 +993,8 @@ procstat_get_pts_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1025,7 +1029,8 @@ procstat_get_sem_info(struct procstat *p return (procstat_get_sem_info_sysctl(fst, sem, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1071,7 +1076,8 @@ procstat_get_sem_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1106,7 +1112,8 @@ procstat_get_shm_info(struct procstat *p return (procstat_get_shm_info_sysctl(fst, shm, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1152,7 +1159,8 @@ procstat_get_shm_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1187,7 +1195,8 @@ procstat_get_vnode_info(struct procstat return (procstat_get_vnode_info_sysctl(fst, vn, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1254,7 +1263,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s break; } if (i == NTYPES) { - snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); return (1); } vn->vn_mntdir = getmnton(kd, vnode.v_mount); @@ -1268,7 +1278,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1349,7 +1360,10 @@ procstat_get_vnode_info_sysctl(struct fi if (vntype == PS_FST_VTYPE_VNON || vntype == PS_FST_VTYPE_VBAD) return (0); if ((status & KF_ATTR_VALID) == 0) { - snprintf(errbuf, _POSIX2_LINE_MAX, "? (no info available)"); + if (errbuf != NULL) { + snprintf(errbuf, _POSIX2_LINE_MAX, + "? (no info available)"); + } return (1); } if (path && *path) { @@ -1390,7 +1404,8 @@ procstat_get_socket_info(struct procstat return (procstat_get_socket_info_sysctl(fst, sock, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1488,7 +1503,8 @@ procstat_get_socket_info_kvm(kvm_t *kd, return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } Modified: user/attilio/jeff-numa/lib/libusb/libusb.3 ============================================================================== --- user/attilio/jeff-numa/lib/libusb/libusb.3 Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/lib/libusb/libusb.3 Thu May 9 00:26:20 2013 (r250399) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 7, 2012 +.Dd May 7, 2013 .Dt LIBUSB 3 .Os .Sh NAME @@ -102,6 +102,15 @@ counter decremented once. Returns the number of the bus contained by the device .Fa dev . .Pp +.Ft int +.Fn libusb_get_port_path "libusb_context *ctx" "libusb_device *dev" "uint8_t *buf" "uint8_t bufsize" +Stores, in the buffer +.Fa buf +of size +.Fa bufsize , +the list of all port numbers from root for the device +.Fa dev . +.Pp .Ft uint8_t .Fn libusb_get_device_address "libusb_device *dev" Returns the device_address contained by the device Modified: user/attilio/jeff-numa/lib/libusb/libusb.h ============================================================================== --- user/attilio/jeff-numa/lib/libusb/libusb.h Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/lib/libusb/libusb.h Thu May 9 00:26:20 2013 (r250399) @@ -369,6 +369,7 @@ void libusb_exit(struct libusb_context * ssize_t libusb_get_device_list(libusb_context * ctx, libusb_device *** list); void libusb_free_device_list(libusb_device ** list, int unref_devices); uint8_t libusb_get_bus_number(libusb_device * dev); +int libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf, uint8_t bufsize); uint8_t libusb_get_device_address(libusb_device * dev); enum libusb_speed libusb_get_device_speed(libusb_device * dev); int libusb_clear_halt(libusb_device_handle *devh, uint8_t endpoint); @@ -441,7 +442,7 @@ int libusb_handle_events(libusb_context int libusb_handle_events_locked(libusb_context * ctx, struct timeval *tv); int libusb_get_next_timeout(libusb_context * ctx, struct timeval *tv); void libusb_set_pollfd_notifiers(libusb_context * ctx, libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data); -struct libusb_pollfd **libusb_get_pollfds(libusb_context * ctx); +const struct libusb_pollfd **libusb_get_pollfds(libusb_context * ctx); /* Synchronous device I/O */ Modified: user/attilio/jeff-numa/lib/libusb/libusb10.c ============================================================================== --- user/attilio/jeff-numa/lib/libusb/libusb10.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/lib/libusb/libusb10.c Thu May 9 00:26:20 2013 (r250399) @@ -290,6 +290,13 @@ libusb_get_bus_number(libusb_device *dev return (libusb20_dev_get_bus_number(dev->os_priv)); } +int +libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf, + uint8_t bufsize) +{ + return (libusb20_dev_get_port_path(dev->os_priv, buf, bufsize)); +} + uint8_t libusb_get_device_address(libusb_device *dev) { Modified: user/attilio/jeff-numa/lib/libusb/libusb10_io.c ============================================================================== --- user/attilio/jeff-numa/lib/libusb/libusb10_io.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/lib/libusb/libusb10_io.c Thu May 9 00:26:20 2013 (r250399) @@ -397,7 +397,7 @@ libusb_set_pollfd_notifiers(libusb_conte ctx->fd_cb_user_data = user_data; } -struct libusb_pollfd ** +const struct libusb_pollfd ** libusb_get_pollfds(libusb_context *ctx) { struct libusb_super_pollfd *pollfd; @@ -423,7 +423,7 @@ libusb_get_pollfds(libusb_context *ctx) done: CTX_UNLOCK(ctx); - return (ret); + return ((const struct libusb_pollfd **)ret); } Modified: user/attilio/jeff-numa/release/picobsd/build/picobsd ============================================================================== --- user/attilio/jeff-numa/release/picobsd/build/picobsd Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/release/picobsd/build/picobsd Thu May 9 00:26:20 2013 (r250399) @@ -175,17 +175,10 @@ create_includes_and_libraries2() { # opt if [ -d "$1" ] ; then cd $1 ; ${BINMAKE} ${o_par} $2 # specific target, e.g. ld-elf.so else - MAKEOBJDIRPREFIX=${l_objtree} - export MAKEOBJDIRPREFIX - # export WITH_RESCUE=yes # build crunchide - # ${BINMAKE} ${o_par} _+_= $no toolchain _includes _libraries - ( - # eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V BMAKEENV` - eval "export XMAKE=\"`cd ${SRC}; make -f Makefile -V XMAKE`\"" - ${BINMAKE} ${o_par} _+_= $no toolchain - ) + export MAKEOBJDIRPREFIX=${l_objtree} + make ${o_par} $no toolchain + # XXX do we need any of these ? eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V WMAKEENV` - ${BINMAKE} ${o_par} _+_= $no _includes _libraries [ ${o_arch} != `uname -m` ] && \ (cd ${l_objtree}; ln -s . ${o_arch}.${o_arch} || true ) fi @@ -442,11 +435,10 @@ do_kernel() { # OK # export CONFIG export WARNS CWARNFLAGS [ "${o_do_modules}" = "yes" ] && export MODULES="" - ${BINMAKE} ${o_par} KERNCONF=${l_kernconf} \ + # kernel build not parallelizable yet + ${BINMAKE} KERNCONF=${l_kernconf} \ -v -f ${PICO_TREE}/build/Makefile.conf ) || \ fail $? missing_kernel -# -DWITHOUT_CLANG_IS_CC \ - } # Populate the variable part of the floppy filesystem. Must be done before Modified: user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.8 ============================================================================== --- user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 00:26:20 2013 (r250399) @@ -11,12 +11,16 @@ .Ar info .Nm .Op Fl "f control file" +.Ar config +.Ar command parameter +.Nm +.Op Fl "f control file" .Ar phy .Ar phy.register[=value] .Nm .Op Fl "f control file" .Ar port%d -.Ar command parameter +.Ar [flags] command parameter .Nm .Op Fl "f control file" .Ar reg @@ -46,6 +50,14 @@ Produce more verbose output. Without this flag, lines that represent inactive or empty configuration options are omitted. .El +.Ss config +The config command provides access to global switch configuration +parameters. +It support the following commands: +.Bl -tag -width ".Ar vlan_mode mode" -compact +.It Ar vlan_mode mode +Sets the switch VLAN mode (depends on the hardware). +.El .Ss phy The phy command provides access to the registers of the PHYs attached to or integrated into the switch controller. @@ -68,13 +80,46 @@ Sets the default port VID that is used t .It Ar media mediaspec Specifies the physical media configuration to be configured for a port. .It Ar mediaopt mediaoption -Specifies a list of media options for a port. See +Specifies a list of media options for a port. +See .Xr ifconfig 8 for details on .Ar media and .Ar mediaopt . .El +And the following flags (please note that not all flags +are supporterd by all switch drivers): +.Bl -tag -width ".Ar addtag" -compact +.It Ar addtag +Add VLAN tag to each packet sent by the port. +.It Ar -addtag +Disable the add VLAN tag option. +.It Ar striptag +Strip the VLAN tags from the packets sent by the port. +.It Ar -striptag +Disable the strip VLAN tag option. +.It Ar firstlock +This options makes the switch port lock on the first MAC address it seems. +After that, usually you need to reset the switch to learn different +MAC addresses. +.It Ar -firstlock +Disable the first lock option. +Note that sometimes you need to reset the +switch to really disable this option. +.It Ar dropuntagged +Drop packets without a VLAN tag. +.It Ar -dropuntagged +Disable the drop untagged packets option. +.It Ar doubletag +Enable QinQ for the port. +.It Ar -doubletag +Disable QinQ for the port. +.It Ar ingress +Enable the ingress filter on the port. +.It Ar -ingress +Disable the ingress filter. +.El .Ss reg The reg command provides access to the registers of the switch controller. .Ss vlangroup Modified: user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.c ============================================================================== --- user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 00:26:20 2013 (r250399) @@ -58,6 +58,7 @@ void print_media_word_ifconfig(int); enum cmdmode { MODE_NONE = 0, MODE_PORT, + MODE_CONFIG, MODE_VLANGROUP, MODE_REGISTER, MODE_PHYREG @@ -68,6 +69,7 @@ struct cfg { int verbose; int mediatypes; const char *controlfile; + etherswitch_conf_t conf; etherswitch_info_t info; enum cmdmode mode; int unit; @@ -82,7 +84,37 @@ struct cmds { static struct cmds cmds[]; -static void usage(void); +/* + * Print a value a la the %b format of the kernel's printf. + * Stolen from ifconfig.c. + */ +static void +printb(const char *s, unsigned v, const char *bits) +{ + int i, any = 0; + char c; + + if (bits && *bits == 8) + printf("%s=%o", s, v); + else + printf("%s=%x", s, v); + bits++; + if (bits) { + putchar('<'); + while ((i = *bits++) != '\0') { + if (v & (1 << (i-1))) { + if (any) + putchar(','); + any = 1; + for (; (c = *bits) > 32; bits++) + putchar(c); + } else + for (; *bits > 32; bits++) + ; + } + putchar('>'); + } +} static int read_register(struct cfg *cfg, int r) @@ -150,6 +182,47 @@ set_port_vid(struct cfg *cfg, char *argv } static void +set_port_flag(struct cfg *cfg, char *argv[]) +{ + char *flag; + int n; + uint32_t f; + etherswitch_port_t p; + + n = 0; + f = 0; + flag = argv[0]; + if (strcmp(flag, "none") != 0) { + if (*flag == '-') { + n++; + flag++; + } + if (strcasecmp(flag, "striptag") == 0) + f = ETHERSWITCH_PORT_STRIPTAG; + else if (strcasecmp(flag, "addtag") == 0) + f = ETHERSWITCH_PORT_ADDTAG; + else if (strcasecmp(flag, "firstlock") == 0) + f = ETHERSWITCH_PORT_FIRSTLOCK; + else if (strcasecmp(flag, "dropuntagged") == 0) + f = ETHERSWITCH_PORT_DROPUNTAGGED; + else if (strcasecmp(flag, "doubletag") == 0) + f = ETHERSWITCH_PORT_DOUBLE_TAG; + else if (strcasecmp(flag, "ingress") == 0) + f = ETHERSWITCH_PORT_INGRESS; + } + bzero(&p, sizeof(p)); + p.es_port = cfg->unit; + if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); + if (n) + p.es_flags &= ~f; + else + p.es_flags |= f; + if (ioctl(cfg->fd, IOETHERSWITCHSETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETPORT)"); +} + +static void set_port_media(struct cfg *cfg, char *argv[]) { etherswitch_port_t p; @@ -290,6 +363,66 @@ set_phyregister(struct cfg *cfg, char *a } static void +set_vlan_mode(struct cfg *cfg, char *argv[]) +{ + etherswitch_conf_t conf; + + bzero(&conf, sizeof(conf)); + conf.cmd = ETHERSWITCH_CONF_VLAN_MODE; + if (strcasecmp(argv[1], "isl") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_ISL; + else if (strcasecmp(argv[1], "port") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_PORT; + else if (strcasecmp(argv[1], "dot1q") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q; + else if (strcasecmp(argv[1], "dot1q4k") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q_4K; + else if (strcasecmp(argv[1], "qinq") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOUBLE_TAG; + else + conf.vlan_mode = 0; + if (ioctl(cfg->fd, IOETHERSWITCHSETCONF, &conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETCONF)"); +} + +static void +print_config(struct cfg *cfg) +{ + const char *c; + + /* Get the device name. */ + c = strrchr(cfg->controlfile, '/'); + if (c != NULL) + c = c + 1; + else + c = cfg->controlfile; + + /* Print VLAN mode. */ + if (cfg->conf.cmd & ETHERSWITCH_CONF_VLAN_MODE) { + printf("%s: VLAN mode: ", c); + switch (cfg->conf.vlan_mode) { + case ETHERSWITCH_VLAN_ISL: + printf("ISL\n"); + break; + case ETHERSWITCH_VLAN_PORT: + printf("PORT\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q: + printf("DOT1Q\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q_4K: + printf("DOT1Q4K\n"); + break; + case ETHERSWITCH_VLAN_DOUBLE_TAG: + printf("QinQ\n"); + break; + default: + printf("none\n"); + } + } +} + +static void print_port(struct cfg *cfg, int port) { etherswitch_port_t p; @@ -303,7 +436,10 @@ print_port(struct cfg *cfg, int port) if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); printf("port%d:\n", port); - printf("\tpvid: %d\n", p.es_pvid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_DOT1Q) + printf("\tpvid: %d\n", p.es_pvid); + printb("\tflags", p.es_flags, ETHERSWITCH_PORT_FLAGS_BITS); + printf("\n"); printf("\tmedia: "); print_media_word(p.es_ifmr.ifm_current, 1); if (p.es_ifmr.ifm_active != p.es_ifmr.ifm_current) { @@ -335,10 +471,13 @@ print_vlangroup(struct cfg *cfg, int vla vg.es_vlangroup = vlangroup; if (ioctl(cfg->fd, IOETHERSWITCHGETVLANGROUP, &vg) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETVLANGROUP)"); - if (cfg->verbose == 0 && vg.es_member_ports == 0) + if (vg.es_vid == 0 && vg.es_member_ports == 0) return; printf("vlangroup%d:\n", vlangroup); - printf("\tvlan: %d\n", vg.es_vid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_PORT) + printf("\tport: %d\n", vg.es_vid); + else + printf("\tvlan: %d\n", vg.es_vid); printf("\tmembers "); comma = 0; if (vg.es_member_ports != 0) @@ -368,9 +507,16 @@ print_info(struct cfg *cfg) c = c + 1; else c = cfg->controlfile; - if (cfg->verbose) - printf("%s: %s with %d ports and %d VLAN groups\n", - c, cfg->info.es_name, cfg->info.es_nports, cfg->info.es_nvlangroups); + if (cfg->verbose) { + printf("%s: %s with %d ports and %d VLAN groups\n", c, + cfg->info.es_name, cfg->info.es_nports, + cfg->info.es_nvlangroups); + printf("%s: ", c); + printb("VLAN capabilities", cfg->info.es_vlan_caps, + ETHERSWITCH_VLAN_CAPS_BITS); + printf("\n"); + } + print_config(cfg); for (i=0; iinfo.es_nports; i++) { print_port(cfg, i); } @@ -380,9 +526,23 @@ print_info(struct cfg *cfg) } static void -usage(void) +usage(struct cfg *cfg __unused, char *argv[] __unused) { fprintf(stderr, "usage: etherswitchctl\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] info\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] config " + "command parameter\n"); + fprintf(stderr, "\t\tconfig commands: vlan_mode\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] phy " + "phy.register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] portX " + "[flags] command parameter\n"); + fprintf(stderr, "\t\tport commands: pvid, media, mediaopt\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] reg " + "register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] vlangroupX " + "command parameter\n"); + fprintf(stderr, "\t\tvlangroup commands: vlan, members\n"); exit(EX_USAGE); } @@ -394,6 +554,15 @@ newmode(struct cfg *cfg, enum cmdmode mo switch (cfg->mode) { case MODE_NONE: break; + case MODE_CONFIG: + /* + * Read the updated the configuration (it can be different + * from the last time we read it). + */ + if (ioctl(cfg->fd, IOETHERSWITCHGETCONF, &cfg->conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); + print_config(cfg); + break; case MODE_PORT: print_port(cfg, cfg->unit); break; @@ -430,7 +599,7 @@ main(int argc, char *argv[]) case '?': /* FALLTHROUGH */ default: - usage(); + usage(&cfg, argv); } argc -= optind; argv += optind; @@ -439,6 +608,8 @@ main(int argc, char *argv[]) err(EX_UNAVAILABLE, "Can't open control file: %s", cfg.controlfile); if (ioctl(cfg.fd, IOETHERSWITCHGETINFO, &cfg.info) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETINFO)"); + if (ioctl(cfg.fd, IOETHERSWITCHGETCONF, &cfg.conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); if (argc == 0) { print_info(&cfg); return (0); @@ -457,15 +628,20 @@ main(int argc, char *argv[]) if (cfg.unit < 0 || cfg.unit >= cfg.info.es_nvlangroups) errx(EX_USAGE, "port unit must be between 0 and %d", cfg.info.es_nvlangroups); newmode(&cfg, MODE_VLANGROUP); + } else if (strcmp(argv[0], "config") == 0) { + newmode(&cfg, MODE_CONFIG); } else if (strcmp(argv[0], "phy") == 0) { newmode(&cfg, MODE_PHYREG); } else if (strcmp(argv[0], "reg") == 0) { newmode(&cfg, MODE_REGISTER); + } else if (strcmp(argv[0], "help") == 0) { + usage(&cfg, argv); } else { errx(EX_USAGE, "Unknown command \"%s\"", argv[0]); } break; case MODE_PORT: + case MODE_CONFIG: case MODE_VLANGROUP: for(i=0; cmds[i].name != NULL; i++) { if (cfg.mode == cmds[i].mode && strcmp(argv[0], cmds[i].name) == 0) { @@ -510,6 +686,19 @@ static struct cmds cmds[] = { { MODE_PORT, "pvid", 1, set_port_vid }, { MODE_PORT, "media", 1, set_port_media }, { MODE_PORT, "mediaopt", 1, set_port_mediaopt }, + { MODE_PORT, "addtag", 0, set_port_flag }, + { MODE_PORT, "-addtag", 0, set_port_flag }, + { MODE_PORT, "ingress", 0, set_port_flag }, + { MODE_PORT, "-ingress", 0, set_port_flag }, + { MODE_PORT, "striptag", 0, set_port_flag }, + { MODE_PORT, "-striptag", 0, set_port_flag }, + { MODE_PORT, "doubletag", 0, set_port_flag }, + { MODE_PORT, "-doubletag", 0, set_port_flag }, + { MODE_PORT, "firstlock", 0, set_port_flag }, + { MODE_PORT, "-firstlock", 0, set_port_flag }, + { MODE_PORT, "dropuntagged", 0, set_port_flag }, + { MODE_PORT, "-dropuntagged", 0, set_port_flag }, + { MODE_CONFIG, "vlan_mode", 1, set_vlan_mode }, { MODE_VLANGROUP, "vlan", 1, set_vlangroup_vid }, { MODE_VLANGROUP, "members", 1, set_vlangroup_members }, { 0, NULL, 0, NULL } Modified: user/attilio/jeff-numa/sbin/growfs/growfs.c ============================================================================== --- user/attilio/jeff-numa/sbin/growfs/growfs.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/growfs/growfs.c Thu May 9 00:26:20 2013 (r250399) @@ -1544,7 +1544,7 @@ main(int argc, char **argv) printf(" from %s to %s? [Yes/No] ", oldsizebuf, newsizebuf); fflush(stdout); fgets(reply, (int)sizeof(reply), stdin); - if (strcmp(reply, "Yes\n")){ + if (strcasecmp(reply, "Yes\n")){ printf("\nNothing done\n"); exit (0); } Modified: user/attilio/jeff-numa/sbin/iscontrol/auth_subr.c ============================================================================== --- user/attilio/jeff-numa/sbin/iscontrol/auth_subr.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/iscontrol/auth_subr.c Thu May 9 00:26:20 2013 (r250399) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/jeff-numa/sbin/iscontrol/fsm.c ============================================================================== --- user/attilio/jeff-numa/sbin/iscontrol/fsm.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/iscontrol/fsm.c Thu May 9 00:26:20 2013 (r250399) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/jeff-numa/sbin/iscontrol/login.c ============================================================================== --- user/attilio/jeff-numa/sbin/iscontrol/login.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/iscontrol/login.c Thu May 9 00:26:20 2013 (r250399) @@ -39,9 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/jeff-numa/sbin/iscontrol/misc.c ============================================================================== --- user/attilio/jeff-numa/sbin/iscontrol/misc.c Thu May 9 00:16:41 2013 (r250398) +++ user/attilio/jeff-numa/sbin/iscontrol/misc.c Thu May 9 00:26:20 2013 (r250399) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/jeff-numa/sbin/ping6/ping6.8 ============================================================================== --- user/attilio/jeff-numa/sbin/ping6/ping6.8 Thu May 9 00:16:41 2013 (r250398) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu May 9 00:33:01 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 31DF5450; Thu, 9 May 2013 00:33:01 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 10F22611; Thu, 9 May 2013 00:14:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r490EIjP084593; Thu, 9 May 2013 00:14:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r490EIEP084592; Thu, 9 May 2013 00:14:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305090014.r490EIEP084592@svn.freebsd.org> From: Attilio Rao Date: Thu, 9 May 2013 00:14:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250396 - user/attilio/jeff-numa/sys/x86/acpica X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 00:33:01 -0000 Author: attilio Date: Thu May 9 00:14:18 2013 New Revision: 250396 URL: http://svnweb.freebsd.org/changeset/base/250396 Log: Revert slit parsing per HEAD syncing. Modified: user/attilio/jeff-numa/sys/x86/acpica/srat.c Modified: user/attilio/jeff-numa/sys/x86/acpica/srat.c ============================================================================== --- user/attilio/jeff-numa/sys/x86/acpica/srat.c Thu May 9 00:04:59 2013 (r250395) +++ user/attilio/jeff-numa/sys/x86/acpica/srat.c Thu May 9 00:14:18 2013 (r250396) @@ -331,48 +331,6 @@ srat_walk_table(acpi_subtable_handler *h acpi_walk_subtables(srat + 1, (char *)srat + srat->Header.Length, handler, arg); } - -static void -acpi_handle_slit(ACPI_TABLE_SLIT *slit) -{ - UINT64 i, j; - - printf("ACPI System Locality Information Table: %ju localities\n", - (uintmax_t)slit->LocalityCount); - printf(" "); - for (i = 0; i < slit->LocalityCount; i++) - printf(" %3ju", (uintmax_t)i); - printf("\n +"); - for (i = 0; i < slit->LocalityCount; i++) - printf("----"); - printf("\n"); - for (i = 0; i < slit->LocalityCount; i++) { - printf(" %3ju |", (uintmax_t)i); - for (j = 0; j < slit->LocalityCount; j++) - printf(" %3u", - slit->Entry[i * slit->LocalityCount + j]); - printf("\n"); - } -} - -static void -parse_slit(void *arg __unused) -{ - ACPI_TABLE_SLIT *slit; - vm_paddr_t slit_physaddr; - - if (resource_disabled("slit", 0)) - return; - - slit_physaddr = acpi_find_table(ACPI_SIG_SLIT); - if (slit_physaddr == 0) - return; - slit = acpi_map_table(slit_physaddr, ACPI_SIG_SLIT); - acpi_handle_slit(slit); - acpi_unmap_table(slit); -} - -SYSINIT(parse_slit, SI_SUB_VM - 1, SI_ORDER_SECOND, parse_slit, NULL); /* * Setup per-CPU ACPI IDs. From owner-svn-src-user@FreeBSD.ORG Thu May 9 00:33:01 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4C4D045C; Thu, 9 May 2013 00:33:01 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C926E619; Thu, 9 May 2013 00:14:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r490ES0A084671; Thu, 9 May 2013 00:14:28 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r490EPxV084648; Thu, 9 May 2013 00:14:25 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305090014.r490EPxV084648@svn.freebsd.org> From: Attilio Rao Date: Thu, 9 May 2013 00:14:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250397 - in user/attilio/vmcontention: cddl/lib/drti contrib/bsnmp contrib/gcc/config/i386 gnu/usr.bin/cc/include lib/libprocstat lib/libusb release/picobsd/build sbin/etherswitchcfg s... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 00:33:01 -0000 Author: attilio Date: Thu May 9 00:14:24 2013 New Revision: 250397 URL: http://svnweb.freebsd.org/changeset/base/250397 Log: MFC Added: user/attilio/vmcontention/share/man/man4/acpi_rapidstart.4 - copied unchanged from r250395, head/share/man/man4/acpi_rapidstart.4 user/attilio/vmcontention/sys/dev/acpi_support/acpi_rapidstart.c - copied unchanged from r250395, head/sys/dev/acpi_support/acpi_rapidstart.c user/attilio/vmcontention/sys/dev/etherswitch/ip17x/ - copied from r250395, head/sys/dev/etherswitch/ip17x/ user/attilio/vmcontention/sys/modules/acpi/acpi_rapidstart/ - copied from r250395, head/sys/modules/acpi/acpi_rapidstart/ user/attilio/vmcontention/sys/sys/_bitset.h - copied unchanged from r250395, head/sys/sys/_bitset.h user/attilio/vmcontention/sys/sys/bitset.h - copied unchanged from r250395, head/sys/sys/bitset.h user/attilio/vmcontention/usr.sbin/bsdconfig/packages/ - copied from r250395, head/usr.sbin/bsdconfig/packages/ user/attilio/vmcontention/usr.sbin/bsdconfig/share/packages/ - copied from r250395, head/usr.sbin/bsdconfig/share/packages/ user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/ - copied from r250395, head/usr.sbin/bsnmpd/modules/snmp_hast/ Modified: user/attilio/vmcontention/cddl/lib/drti/Makefile user/attilio/vmcontention/contrib/bsnmp/oid-list user/attilio/vmcontention/contrib/gcc/config/i386/tmmintrin.h user/attilio/vmcontention/gnu/usr.bin/cc/include/Makefile user/attilio/vmcontention/lib/libprocstat/libprocstat.c user/attilio/vmcontention/lib/libusb/libusb.3 user/attilio/vmcontention/lib/libusb/libusb.h user/attilio/vmcontention/lib/libusb/libusb10.c user/attilio/vmcontention/lib/libusb/libusb10_io.c user/attilio/vmcontention/release/picobsd/build/picobsd user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.8 user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.c user/attilio/vmcontention/sbin/growfs/growfs.c user/attilio/vmcontention/sbin/iscontrol/auth_subr.c user/attilio/vmcontention/sbin/iscontrol/fsm.c user/attilio/vmcontention/sbin/iscontrol/login.c user/attilio/vmcontention/sbin/iscontrol/misc.c user/attilio/vmcontention/sbin/ping6/ping6.8 user/attilio/vmcontention/share/man/man4/igb.4 user/attilio/vmcontention/share/misc/bsd-family-tree user/attilio/vmcontention/sys/amd64/include/param.h user/attilio/vmcontention/sys/amd64/include/vmparam.h user/attilio/vmcontention/sys/arm/arm/cpufunc_asm_pj4b.S user/attilio/vmcontention/sys/arm/arm/locore.S user/attilio/vmcontention/sys/arm/arm/mp_machdep.c user/attilio/vmcontention/sys/arm/arm/pmap-v6.c user/attilio/vmcontention/sys/arm/freescale/imx/bus_space.c user/attilio/vmcontention/sys/arm/freescale/imx/common.c user/attilio/vmcontention/sys/arm/freescale/imx/console.c user/attilio/vmcontention/sys/arm/freescale/imx/i2c.c user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ccm.c user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ccmreg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ccmvar.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_dpllreg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_gpio.c user/attilio/vmcontention/sys/arm/freescale/imx/imx51_iomux.c user/attilio/vmcontention/sys/arm/freescale/imx/imx51_iomuxreg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_iomuxvar.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ipuv3.c user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ipuv3reg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_sdmareg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_ssireg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx51_tzicreg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx_gpt.c user/attilio/vmcontention/sys/arm/freescale/imx/imx_gptreg.h user/attilio/vmcontention/sys/arm/freescale/imx/imx_gptvar.h user/attilio/vmcontention/sys/arm/freescale/imx/imx_machdep.c user/attilio/vmcontention/sys/arm/freescale/imx/imx_wdog.c user/attilio/vmcontention/sys/arm/freescale/imx/imx_wdogreg.h user/attilio/vmcontention/sys/arm/freescale/imx/tzic.c user/attilio/vmcontention/sys/arm/include/param.h user/attilio/vmcontention/sys/arm/include/pmap.h user/attilio/vmcontention/sys/arm/include/vmparam.h user/attilio/vmcontention/sys/arm/mv/armadaxp/armadaxp.c user/attilio/vmcontention/sys/arm/mv/armadaxp/armadaxp_mp.c user/attilio/vmcontention/sys/arm/mv/armadaxp/std.armadaxp user/attilio/vmcontention/sys/arm/mv/common.c user/attilio/vmcontention/sys/arm/mv/mv_machdep.c user/attilio/vmcontention/sys/arm/mv/mvvar.h user/attilio/vmcontention/sys/arm/mv/mvwin.h user/attilio/vmcontention/sys/boot/fdt/dts/db78460.dts user/attilio/vmcontention/sys/boot/pc98/libpc98/biosdisk.c user/attilio/vmcontention/sys/cam/ata/ata_xpt.c user/attilio/vmcontention/sys/conf/NOTES user/attilio/vmcontention/sys/conf/files user/attilio/vmcontention/sys/conf/options user/attilio/vmcontention/sys/contrib/dev/acpica/components/namespace/nsinit.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_desc.h user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416desc.h user/attilio/vmcontention/sys/dev/ath/if_ath.c user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c user/attilio/vmcontention/sys/dev/ath/if_ath_sysctl.c user/attilio/vmcontention/sys/dev/ath/if_ath_tx.c user/attilio/vmcontention/sys/dev/ath/if_athioctl.h user/attilio/vmcontention/sys/dev/ath/if_athvar.h user/attilio/vmcontention/sys/dev/bwn/if_bwn.c user/attilio/vmcontention/sys/dev/cesa/cesa.c user/attilio/vmcontention/sys/dev/cesa/cesa.h user/attilio/vmcontention/sys/dev/etherswitch/arswitch/arswitch.c user/attilio/vmcontention/sys/dev/etherswitch/etherswitch.c user/attilio/vmcontention/sys/dev/etherswitch/etherswitch.h user/attilio/vmcontention/sys/dev/etherswitch/etherswitch_if.m user/attilio/vmcontention/sys/dev/etherswitch/ukswitch/ukswitch.c user/attilio/vmcontention/sys/dev/qlxgb/README.txt user/attilio/vmcontention/sys/dev/qlxgb/qla_dbg.c user/attilio/vmcontention/sys/dev/qlxgb/qla_dbg.h user/attilio/vmcontention/sys/dev/qlxgb/qla_def.h user/attilio/vmcontention/sys/dev/qlxgb/qla_glbl.h user/attilio/vmcontention/sys/dev/qlxgb/qla_hw.c user/attilio/vmcontention/sys/dev/qlxgb/qla_hw.h user/attilio/vmcontention/sys/dev/qlxgb/qla_inline.h user/attilio/vmcontention/sys/dev/qlxgb/qla_ioctl.c user/attilio/vmcontention/sys/dev/qlxgb/qla_ioctl.h user/attilio/vmcontention/sys/dev/qlxgb/qla_isr.c user/attilio/vmcontention/sys/dev/qlxgb/qla_misc.c user/attilio/vmcontention/sys/dev/qlxgb/qla_os.c user/attilio/vmcontention/sys/dev/qlxgb/qla_os.h user/attilio/vmcontention/sys/dev/qlxgb/qla_reg.h user/attilio/vmcontention/sys/dev/qlxgb/qla_ver.h user/attilio/vmcontention/sys/dev/sound/pci/envy24ht.c user/attilio/vmcontention/sys/dev/sound/pci/envy24ht.h user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c user/attilio/vmcontention/sys/i386/include/param.h user/attilio/vmcontention/sys/i386/include/vmparam.h user/attilio/vmcontention/sys/ia64/include/param.h user/attilio/vmcontention/sys/ia64/include/vmparam.h user/attilio/vmcontention/sys/kern/uipc_socket.c user/attilio/vmcontention/sys/kern/vfs_cluster.c user/attilio/vmcontention/sys/mips/conf/ROUTERSTATION user/attilio/vmcontention/sys/mips/conf/ROUTERSTATION.hints user/attilio/vmcontention/sys/mips/include/param.h user/attilio/vmcontention/sys/mips/include/vmparam.h user/attilio/vmcontention/sys/net/if.c user/attilio/vmcontention/sys/net/if_llatbl.c user/attilio/vmcontention/sys/net/if_llatbl.h user/attilio/vmcontention/sys/net/if_var.h user/attilio/vmcontention/sys/netinet/in_pcb.h user/attilio/vmcontention/sys/netinet/in_var.h user/attilio/vmcontention/sys/netinet/ip_id.c user/attilio/vmcontention/sys/netinet/ip_input.c user/attilio/vmcontention/sys/netinet/tcp_subr.c user/attilio/vmcontention/sys/netpfil/pf/if_pfsync.c user/attilio/vmcontention/sys/netpfil/pf/pf.c user/attilio/vmcontention/sys/ofed/include/linux/workqueue.h user/attilio/vmcontention/sys/powerpc/include/param.h user/attilio/vmcontention/sys/powerpc/include/vmparam.h user/attilio/vmcontention/sys/powerpc/powermac/smu.c user/attilio/vmcontention/sys/sparc64/include/param.h user/attilio/vmcontention/sys/sparc64/include/vmparam.h user/attilio/vmcontention/sys/sys/_cpuset.h user/attilio/vmcontention/sys/sys/cpuset.h user/attilio/vmcontention/sys/sys/socketvar.h user/attilio/vmcontention/sys/vm/vm_phys.c user/attilio/vmcontention/sys/vm/vm_radix.c user/attilio/vmcontention/sys/x86/acpica/srat.c user/attilio/vmcontention/usr.sbin/bsdconfig/Makefile user/attilio/vmcontention/usr.sbin/bsdconfig/dot/dot user/attilio/vmcontention/usr.sbin/bsdconfig/include/messages.subr user/attilio/vmcontention/usr.sbin/bsdconfig/include/options.hlp user/attilio/vmcontention/usr.sbin/bsdconfig/share/Makefile user/attilio/vmcontention/usr.sbin/bsdconfig/share/common.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/media/options.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/script.subr user/attilio/vmcontention/usr.sbin/bsdconfig/share/variable.subr user/attilio/vmcontention/usr.sbin/bsdconfig/startup/rcdelete user/attilio/vmcontention/usr.sbin/pmcannotate/pmcannotate.c user/attilio/vmcontention/usr.sbin/rtadvd/rrenum.c Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/cddl/ (props changed) user/attilio/vmcontention/contrib/gcc/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/share/man/man4/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/components/namespace/ (props changed) user/attilio/vmcontention/usr.sbin/rtadvd/ (props changed) Modified: user/attilio/vmcontention/cddl/lib/drti/Makefile ============================================================================== --- user/attilio/vmcontention/cddl/lib/drti/Makefile Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/cddl/lib/drti/Makefile Thu May 9 00:14:24 2013 (r250397) @@ -9,6 +9,8 @@ FILESGRP= ${LIBGRP} FILESMODE= ${LIBMODE} FILESDIR= ${LIBDIR}/dtrace CLEANFILES= ${FILES} +LIB= drti-dummy +INTERNALLIB= CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \ -I${.CURDIR}/../../../cddl/compat/opensolaris/include \ @@ -18,4 +20,10 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common \ -DPIC ${PICFLAG} +.if make(install) && defined(LIBRARIES_ONLY) +install: + ${INSTALL} -o ${FILESOWN} -g ${FILESGRP} -m ${FILESMODE} \ + ${FILES} ${DESTDIR}${FILESDIR} +.endif + .include Modified: user/attilio/vmcontention/contrib/bsnmp/oid-list ============================================================================== --- user/attilio/vmcontention/contrib/bsnmp/oid-list Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/contrib/bsnmp/oid-list Thu May 9 00:14:24 2013 (r250397) @@ -24,6 +24,7 @@ enterprises 204 pingData bsnmp-ping (Nate Nielsen ) 205 begemotBridge bridge module 210 begemotWlan WLAN module + 220 begemotHast HAST module 300 BEGEMOT-ACM DLR ACM project 303 BEGEMOT-WLINK DLR WLINK simulator Modified: user/attilio/vmcontention/contrib/gcc/config/i386/tmmintrin.h ============================================================================== --- user/attilio/vmcontention/contrib/gcc/config/i386/tmmintrin.h Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/contrib/gcc/config/i386/tmmintrin.h Thu May 9 00:14:24 2013 (r250397) @@ -222,227 +222,3 @@ _mm_abs_pi32 (__m64 __X) #endif /* __SSSE3__ */ #endif /* _TMMINTRIN_H_INCLUDED */ -/* Copyright (C) 2006 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING. If not, write to - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, if you include this header file into source - files compiled by GCC, this header file does not by itself cause - the resulting executable to be covered by the GNU General Public - License. This exception does not however invalidate any other - reasons why the executable file might be covered by the GNU General - Public License. */ - -/* Implemented from the specification included in the Intel C++ Compiler - User Guide and Reference, version 9.1. */ - -#ifndef _TMMINTRIN_H_INCLUDED -#define _TMMINTRIN_H_INCLUDED - -#ifdef __SSSE3__ -#include - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadds_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadds_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_maddubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_maddubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_mulhrs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_mulhrs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_shuffle_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_shuffle_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y); -} - -#define _mm_alignr_epi8(__X, __Y, __N) \ - ((__m128i)__builtin_ia32_palignr128 ((__v2di) __X, (__v2di) __Y, (__N) * 8)) - -#define _mm_alignr_pi8(__X, __Y, __N) \ - ((__m64)__builtin_ia32_palignr ((long long) (__X), (long long) (__Y), (__N) * 8)) - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi8 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi16 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi32 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi8 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsb ((__v8qi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi16 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsw ((__v4hi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi32 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsd ((__v2si)__X); -} - -#endif /* __SSSE3__ */ - -#endif /* _TMMINTRIN_H_INCLUDED */ Modified: user/attilio/vmcontention/gnu/usr.bin/cc/include/Makefile ============================================================================== --- user/attilio/vmcontention/gnu/usr.bin/cc/include/Makefile Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/gnu/usr.bin/cc/include/Makefile Thu May 9 00:14:24 2013 (r250397) @@ -9,7 +9,8 @@ INCSDIR=${INCLUDEDIR}/gcc/${GCCVER} .PATH: ${GCCDIR}/config/${GCC_CPU} .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" -INCS= emmintrin.h mmintrin.h pmmintrin.h tmmintrin.h xmmintrin.h mm_malloc.h +INCS= emmintrin.h mmintrin.h mm3dnow.h pmmintrin.h tmmintrin.h xmmintrin.h \ + mm_malloc.h .elif ${TARGET_ARCH} == "ia64" INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" Modified: user/attilio/vmcontention/lib/libprocstat/libprocstat.c ============================================================================== --- user/attilio/vmcontention/lib/libprocstat/libprocstat.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/lib/libprocstat/libprocstat.c Thu May 9 00:14:24 2013 (r250397) @@ -897,7 +897,8 @@ procstat_get_pipe_info(struct procstat * return (procstat_get_pipe_info_sysctl(fst, ps, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -926,7 +927,8 @@ procstat_get_pipe_info_kvm(kvm_t *kd, st return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -962,7 +964,8 @@ procstat_get_pts_info(struct procstat *p return (procstat_get_pts_info_sysctl(fst, pts, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -990,7 +993,8 @@ procstat_get_pts_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1025,7 +1029,8 @@ procstat_get_sem_info(struct procstat *p return (procstat_get_sem_info_sysctl(fst, sem, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1071,7 +1076,8 @@ procstat_get_sem_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1106,7 +1112,8 @@ procstat_get_shm_info(struct procstat *p return (procstat_get_shm_info_sysctl(fst, shm, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1152,7 +1159,8 @@ procstat_get_shm_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1187,7 +1195,8 @@ procstat_get_vnode_info(struct procstat return (procstat_get_vnode_info_sysctl(fst, vn, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1254,7 +1263,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s break; } if (i == NTYPES) { - snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); return (1); } vn->vn_mntdir = getmnton(kd, vnode.v_mount); @@ -1268,7 +1278,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1349,7 +1360,10 @@ procstat_get_vnode_info_sysctl(struct fi if (vntype == PS_FST_VTYPE_VNON || vntype == PS_FST_VTYPE_VBAD) return (0); if ((status & KF_ATTR_VALID) == 0) { - snprintf(errbuf, _POSIX2_LINE_MAX, "? (no info available)"); + if (errbuf != NULL) { + snprintf(errbuf, _POSIX2_LINE_MAX, + "? (no info available)"); + } return (1); } if (path && *path) { @@ -1390,7 +1404,8 @@ procstat_get_socket_info(struct procstat return (procstat_get_socket_info_sysctl(fst, sock, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1488,7 +1503,8 @@ procstat_get_socket_info_kvm(kvm_t *kd, return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } Modified: user/attilio/vmcontention/lib/libusb/libusb.3 ============================================================================== --- user/attilio/vmcontention/lib/libusb/libusb.3 Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/lib/libusb/libusb.3 Thu May 9 00:14:24 2013 (r250397) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 7, 2012 +.Dd May 7, 2013 .Dt LIBUSB 3 .Os .Sh NAME @@ -102,6 +102,15 @@ counter decremented once. Returns the number of the bus contained by the device .Fa dev . .Pp +.Ft int +.Fn libusb_get_port_path "libusb_context *ctx" "libusb_device *dev" "uint8_t *buf" "uint8_t bufsize" +Stores, in the buffer +.Fa buf +of size +.Fa bufsize , +the list of all port numbers from root for the device +.Fa dev . +.Pp .Ft uint8_t .Fn libusb_get_device_address "libusb_device *dev" Returns the device_address contained by the device Modified: user/attilio/vmcontention/lib/libusb/libusb.h ============================================================================== --- user/attilio/vmcontention/lib/libusb/libusb.h Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/lib/libusb/libusb.h Thu May 9 00:14:24 2013 (r250397) @@ -369,6 +369,7 @@ void libusb_exit(struct libusb_context * ssize_t libusb_get_device_list(libusb_context * ctx, libusb_device *** list); void libusb_free_device_list(libusb_device ** list, int unref_devices); uint8_t libusb_get_bus_number(libusb_device * dev); +int libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf, uint8_t bufsize); uint8_t libusb_get_device_address(libusb_device * dev); enum libusb_speed libusb_get_device_speed(libusb_device * dev); int libusb_clear_halt(libusb_device_handle *devh, uint8_t endpoint); @@ -441,7 +442,7 @@ int libusb_handle_events(libusb_context int libusb_handle_events_locked(libusb_context * ctx, struct timeval *tv); int libusb_get_next_timeout(libusb_context * ctx, struct timeval *tv); void libusb_set_pollfd_notifiers(libusb_context * ctx, libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data); -struct libusb_pollfd **libusb_get_pollfds(libusb_context * ctx); +const struct libusb_pollfd **libusb_get_pollfds(libusb_context * ctx); /* Synchronous device I/O */ Modified: user/attilio/vmcontention/lib/libusb/libusb10.c ============================================================================== --- user/attilio/vmcontention/lib/libusb/libusb10.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/lib/libusb/libusb10.c Thu May 9 00:14:24 2013 (r250397) @@ -290,6 +290,13 @@ libusb_get_bus_number(libusb_device *dev return (libusb20_dev_get_bus_number(dev->os_priv)); } +int +libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf, + uint8_t bufsize) +{ + return (libusb20_dev_get_port_path(dev->os_priv, buf, bufsize)); +} + uint8_t libusb_get_device_address(libusb_device *dev) { Modified: user/attilio/vmcontention/lib/libusb/libusb10_io.c ============================================================================== --- user/attilio/vmcontention/lib/libusb/libusb10_io.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/lib/libusb/libusb10_io.c Thu May 9 00:14:24 2013 (r250397) @@ -397,7 +397,7 @@ libusb_set_pollfd_notifiers(libusb_conte ctx->fd_cb_user_data = user_data; } -struct libusb_pollfd ** +const struct libusb_pollfd ** libusb_get_pollfds(libusb_context *ctx) { struct libusb_super_pollfd *pollfd; @@ -423,7 +423,7 @@ libusb_get_pollfds(libusb_context *ctx) done: CTX_UNLOCK(ctx); - return (ret); + return ((const struct libusb_pollfd **)ret); } Modified: user/attilio/vmcontention/release/picobsd/build/picobsd ============================================================================== --- user/attilio/vmcontention/release/picobsd/build/picobsd Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/release/picobsd/build/picobsd Thu May 9 00:14:24 2013 (r250397) @@ -175,17 +175,10 @@ create_includes_and_libraries2() { # opt if [ -d "$1" ] ; then cd $1 ; ${BINMAKE} ${o_par} $2 # specific target, e.g. ld-elf.so else - MAKEOBJDIRPREFIX=${l_objtree} - export MAKEOBJDIRPREFIX - # export WITH_RESCUE=yes # build crunchide - # ${BINMAKE} ${o_par} _+_= $no toolchain _includes _libraries - ( - # eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V BMAKEENV` - eval "export XMAKE=\"`cd ${SRC}; make -f Makefile -V XMAKE`\"" - ${BINMAKE} ${o_par} _+_= $no toolchain - ) + export MAKEOBJDIRPREFIX=${l_objtree} + make ${o_par} $no toolchain + # XXX do we need any of these ? eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V WMAKEENV` - ${BINMAKE} ${o_par} _+_= $no _includes _libraries [ ${o_arch} != `uname -m` ] && \ (cd ${l_objtree}; ln -s . ${o_arch}.${o_arch} || true ) fi @@ -442,11 +435,10 @@ do_kernel() { # OK # export CONFIG export WARNS CWARNFLAGS [ "${o_do_modules}" = "yes" ] && export MODULES="" - ${BINMAKE} ${o_par} KERNCONF=${l_kernconf} \ + # kernel build not parallelizable yet + ${BINMAKE} KERNCONF=${l_kernconf} \ -v -f ${PICO_TREE}/build/Makefile.conf ) || \ fail $? missing_kernel -# -DWITHOUT_CLANG_IS_CC \ - } # Populate the variable part of the floppy filesystem. Must be done before Modified: user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.8 ============================================================================== --- user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 00:14:24 2013 (r250397) @@ -11,12 +11,16 @@ .Ar info .Nm .Op Fl "f control file" +.Ar config +.Ar command parameter +.Nm +.Op Fl "f control file" .Ar phy .Ar phy.register[=value] .Nm .Op Fl "f control file" .Ar port%d -.Ar command parameter +.Ar [flags] command parameter .Nm .Op Fl "f control file" .Ar reg @@ -46,6 +50,14 @@ Produce more verbose output. Without this flag, lines that represent inactive or empty configuration options are omitted. .El +.Ss config +The config command provides access to global switch configuration +parameters. +It support the following commands: +.Bl -tag -width ".Ar vlan_mode mode" -compact +.It Ar vlan_mode mode +Sets the switch VLAN mode (depends on the hardware). +.El .Ss phy The phy command provides access to the registers of the PHYs attached to or integrated into the switch controller. @@ -68,13 +80,46 @@ Sets the default port VID that is used t .It Ar media mediaspec Specifies the physical media configuration to be configured for a port. .It Ar mediaopt mediaoption -Specifies a list of media options for a port. See +Specifies a list of media options for a port. +See .Xr ifconfig 8 for details on .Ar media and .Ar mediaopt . .El +And the following flags (please note that not all flags +are supporterd by all switch drivers): +.Bl -tag -width ".Ar addtag" -compact +.It Ar addtag +Add VLAN tag to each packet sent by the port. +.It Ar -addtag +Disable the add VLAN tag option. +.It Ar striptag +Strip the VLAN tags from the packets sent by the port. +.It Ar -striptag +Disable the strip VLAN tag option. +.It Ar firstlock +This options makes the switch port lock on the first MAC address it seems. +After that, usually you need to reset the switch to learn different +MAC addresses. +.It Ar -firstlock +Disable the first lock option. +Note that sometimes you need to reset the +switch to really disable this option. +.It Ar dropuntagged +Drop packets without a VLAN tag. +.It Ar -dropuntagged +Disable the drop untagged packets option. +.It Ar doubletag +Enable QinQ for the port. +.It Ar -doubletag +Disable QinQ for the port. +.It Ar ingress +Enable the ingress filter on the port. +.It Ar -ingress +Disable the ingress filter. +.El .Ss reg The reg command provides access to the registers of the switch controller. .Ss vlangroup Modified: user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.c ============================================================================== --- user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 00:14:24 2013 (r250397) @@ -58,6 +58,7 @@ void print_media_word_ifconfig(int); enum cmdmode { MODE_NONE = 0, MODE_PORT, + MODE_CONFIG, MODE_VLANGROUP, MODE_REGISTER, MODE_PHYREG @@ -68,6 +69,7 @@ struct cfg { int verbose; int mediatypes; const char *controlfile; + etherswitch_conf_t conf; etherswitch_info_t info; enum cmdmode mode; int unit; @@ -82,7 +84,37 @@ struct cmds { static struct cmds cmds[]; -static void usage(void); +/* + * Print a value a la the %b format of the kernel's printf. + * Stolen from ifconfig.c. + */ +static void +printb(const char *s, unsigned v, const char *bits) +{ + int i, any = 0; + char c; + + if (bits && *bits == 8) + printf("%s=%o", s, v); + else + printf("%s=%x", s, v); + bits++; + if (bits) { + putchar('<'); + while ((i = *bits++) != '\0') { + if (v & (1 << (i-1))) { + if (any) + putchar(','); + any = 1; + for (; (c = *bits) > 32; bits++) + putchar(c); + } else + for (; *bits > 32; bits++) + ; + } + putchar('>'); + } +} static int read_register(struct cfg *cfg, int r) @@ -150,6 +182,47 @@ set_port_vid(struct cfg *cfg, char *argv } static void +set_port_flag(struct cfg *cfg, char *argv[]) +{ + char *flag; + int n; + uint32_t f; + etherswitch_port_t p; + + n = 0; + f = 0; + flag = argv[0]; + if (strcmp(flag, "none") != 0) { + if (*flag == '-') { + n++; + flag++; + } + if (strcasecmp(flag, "striptag") == 0) + f = ETHERSWITCH_PORT_STRIPTAG; + else if (strcasecmp(flag, "addtag") == 0) + f = ETHERSWITCH_PORT_ADDTAG; + else if (strcasecmp(flag, "firstlock") == 0) + f = ETHERSWITCH_PORT_FIRSTLOCK; + else if (strcasecmp(flag, "dropuntagged") == 0) + f = ETHERSWITCH_PORT_DROPUNTAGGED; + else if (strcasecmp(flag, "doubletag") == 0) + f = ETHERSWITCH_PORT_DOUBLE_TAG; + else if (strcasecmp(flag, "ingress") == 0) + f = ETHERSWITCH_PORT_INGRESS; + } + bzero(&p, sizeof(p)); + p.es_port = cfg->unit; + if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); + if (n) + p.es_flags &= ~f; + else + p.es_flags |= f; + if (ioctl(cfg->fd, IOETHERSWITCHSETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETPORT)"); +} + +static void set_port_media(struct cfg *cfg, char *argv[]) { etherswitch_port_t p; @@ -290,6 +363,66 @@ set_phyregister(struct cfg *cfg, char *a } static void +set_vlan_mode(struct cfg *cfg, char *argv[]) +{ + etherswitch_conf_t conf; + + bzero(&conf, sizeof(conf)); + conf.cmd = ETHERSWITCH_CONF_VLAN_MODE; + if (strcasecmp(argv[1], "isl") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_ISL; + else if (strcasecmp(argv[1], "port") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_PORT; + else if (strcasecmp(argv[1], "dot1q") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q; + else if (strcasecmp(argv[1], "dot1q4k") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q_4K; + else if (strcasecmp(argv[1], "qinq") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOUBLE_TAG; + else + conf.vlan_mode = 0; + if (ioctl(cfg->fd, IOETHERSWITCHSETCONF, &conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETCONF)"); +} + +static void +print_config(struct cfg *cfg) +{ + const char *c; + + /* Get the device name. */ + c = strrchr(cfg->controlfile, '/'); + if (c != NULL) + c = c + 1; + else + c = cfg->controlfile; + + /* Print VLAN mode. */ + if (cfg->conf.cmd & ETHERSWITCH_CONF_VLAN_MODE) { + printf("%s: VLAN mode: ", c); + switch (cfg->conf.vlan_mode) { + case ETHERSWITCH_VLAN_ISL: + printf("ISL\n"); + break; + case ETHERSWITCH_VLAN_PORT: + printf("PORT\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q: + printf("DOT1Q\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q_4K: + printf("DOT1Q4K\n"); + break; + case ETHERSWITCH_VLAN_DOUBLE_TAG: + printf("QinQ\n"); + break; + default: + printf("none\n"); + } + } +} + +static void print_port(struct cfg *cfg, int port) { etherswitch_port_t p; @@ -303,7 +436,10 @@ print_port(struct cfg *cfg, int port) if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); printf("port%d:\n", port); - printf("\tpvid: %d\n", p.es_pvid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_DOT1Q) + printf("\tpvid: %d\n", p.es_pvid); + printb("\tflags", p.es_flags, ETHERSWITCH_PORT_FLAGS_BITS); + printf("\n"); printf("\tmedia: "); print_media_word(p.es_ifmr.ifm_current, 1); if (p.es_ifmr.ifm_active != p.es_ifmr.ifm_current) { @@ -335,10 +471,13 @@ print_vlangroup(struct cfg *cfg, int vla vg.es_vlangroup = vlangroup; if (ioctl(cfg->fd, IOETHERSWITCHGETVLANGROUP, &vg) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETVLANGROUP)"); - if (cfg->verbose == 0 && vg.es_member_ports == 0) + if (vg.es_vid == 0 && vg.es_member_ports == 0) return; printf("vlangroup%d:\n", vlangroup); - printf("\tvlan: %d\n", vg.es_vid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_PORT) + printf("\tport: %d\n", vg.es_vid); + else + printf("\tvlan: %d\n", vg.es_vid); printf("\tmembers "); comma = 0; if (vg.es_member_ports != 0) @@ -368,9 +507,16 @@ print_info(struct cfg *cfg) c = c + 1; else c = cfg->controlfile; - if (cfg->verbose) - printf("%s: %s with %d ports and %d VLAN groups\n", - c, cfg->info.es_name, cfg->info.es_nports, cfg->info.es_nvlangroups); + if (cfg->verbose) { + printf("%s: %s with %d ports and %d VLAN groups\n", c, + cfg->info.es_name, cfg->info.es_nports, + cfg->info.es_nvlangroups); + printf("%s: ", c); + printb("VLAN capabilities", cfg->info.es_vlan_caps, + ETHERSWITCH_VLAN_CAPS_BITS); + printf("\n"); + } + print_config(cfg); for (i=0; iinfo.es_nports; i++) { print_port(cfg, i); } @@ -380,9 +526,23 @@ print_info(struct cfg *cfg) } static void -usage(void) +usage(struct cfg *cfg __unused, char *argv[] __unused) { fprintf(stderr, "usage: etherswitchctl\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] info\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] config " + "command parameter\n"); + fprintf(stderr, "\t\tconfig commands: vlan_mode\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] phy " + "phy.register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] portX " + "[flags] command parameter\n"); + fprintf(stderr, "\t\tport commands: pvid, media, mediaopt\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] reg " + "register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] vlangroupX " + "command parameter\n"); + fprintf(stderr, "\t\tvlangroup commands: vlan, members\n"); exit(EX_USAGE); } @@ -394,6 +554,15 @@ newmode(struct cfg *cfg, enum cmdmode mo switch (cfg->mode) { case MODE_NONE: break; + case MODE_CONFIG: + /* + * Read the updated the configuration (it can be different + * from the last time we read it). + */ + if (ioctl(cfg->fd, IOETHERSWITCHGETCONF, &cfg->conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); + print_config(cfg); + break; case MODE_PORT: print_port(cfg, cfg->unit); break; @@ -430,7 +599,7 @@ main(int argc, char *argv[]) case '?': /* FALLTHROUGH */ default: - usage(); + usage(&cfg, argv); } argc -= optind; argv += optind; @@ -439,6 +608,8 @@ main(int argc, char *argv[]) err(EX_UNAVAILABLE, "Can't open control file: %s", cfg.controlfile); if (ioctl(cfg.fd, IOETHERSWITCHGETINFO, &cfg.info) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETINFO)"); + if (ioctl(cfg.fd, IOETHERSWITCHGETCONF, &cfg.conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); if (argc == 0) { print_info(&cfg); return (0); @@ -457,15 +628,20 @@ main(int argc, char *argv[]) if (cfg.unit < 0 || cfg.unit >= cfg.info.es_nvlangroups) errx(EX_USAGE, "port unit must be between 0 and %d", cfg.info.es_nvlangroups); newmode(&cfg, MODE_VLANGROUP); + } else if (strcmp(argv[0], "config") == 0) { + newmode(&cfg, MODE_CONFIG); } else if (strcmp(argv[0], "phy") == 0) { newmode(&cfg, MODE_PHYREG); } else if (strcmp(argv[0], "reg") == 0) { newmode(&cfg, MODE_REGISTER); + } else if (strcmp(argv[0], "help") == 0) { + usage(&cfg, argv); } else { errx(EX_USAGE, "Unknown command \"%s\"", argv[0]); } break; case MODE_PORT: + case MODE_CONFIG: case MODE_VLANGROUP: for(i=0; cmds[i].name != NULL; i++) { if (cfg.mode == cmds[i].mode && strcmp(argv[0], cmds[i].name) == 0) { @@ -510,6 +686,19 @@ static struct cmds cmds[] = { { MODE_PORT, "pvid", 1, set_port_vid }, { MODE_PORT, "media", 1, set_port_media }, { MODE_PORT, "mediaopt", 1, set_port_mediaopt }, + { MODE_PORT, "addtag", 0, set_port_flag }, + { MODE_PORT, "-addtag", 0, set_port_flag }, + { MODE_PORT, "ingress", 0, set_port_flag }, + { MODE_PORT, "-ingress", 0, set_port_flag }, + { MODE_PORT, "striptag", 0, set_port_flag }, + { MODE_PORT, "-striptag", 0, set_port_flag }, + { MODE_PORT, "doubletag", 0, set_port_flag }, + { MODE_PORT, "-doubletag", 0, set_port_flag }, + { MODE_PORT, "firstlock", 0, set_port_flag }, + { MODE_PORT, "-firstlock", 0, set_port_flag }, + { MODE_PORT, "dropuntagged", 0, set_port_flag }, + { MODE_PORT, "-dropuntagged", 0, set_port_flag }, + { MODE_CONFIG, "vlan_mode", 1, set_vlan_mode }, { MODE_VLANGROUP, "vlan", 1, set_vlangroup_vid }, { MODE_VLANGROUP, "members", 1, set_vlangroup_members }, { 0, NULL, 0, NULL } Modified: user/attilio/vmcontention/sbin/growfs/growfs.c ============================================================================== --- user/attilio/vmcontention/sbin/growfs/growfs.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/growfs/growfs.c Thu May 9 00:14:24 2013 (r250397) @@ -1544,7 +1544,7 @@ main(int argc, char **argv) printf(" from %s to %s? [Yes/No] ", oldsizebuf, newsizebuf); fflush(stdout); fgets(reply, (int)sizeof(reply), stdin); - if (strcmp(reply, "Yes\n")){ + if (strcasecmp(reply, "Yes\n")){ printf("\nNothing done\n"); exit (0); } Modified: user/attilio/vmcontention/sbin/iscontrol/auth_subr.c ============================================================================== --- user/attilio/vmcontention/sbin/iscontrol/auth_subr.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/iscontrol/auth_subr.c Thu May 9 00:14:24 2013 (r250397) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/vmcontention/sbin/iscontrol/fsm.c ============================================================================== --- user/attilio/vmcontention/sbin/iscontrol/fsm.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/iscontrol/fsm.c Thu May 9 00:14:24 2013 (r250397) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/vmcontention/sbin/iscontrol/login.c ============================================================================== --- user/attilio/vmcontention/sbin/iscontrol/login.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/iscontrol/login.c Thu May 9 00:14:24 2013 (r250397) @@ -39,9 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/vmcontention/sbin/iscontrol/misc.c ============================================================================== --- user/attilio/vmcontention/sbin/iscontrol/misc.c Thu May 9 00:14:18 2013 (r250396) +++ user/attilio/vmcontention/sbin/iscontrol/misc.c Thu May 9 00:14:24 2013 (r250397) @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if __FreeBSD_version < 500000 -#include -#endif #include #include #include Modified: user/attilio/vmcontention/sbin/ping6/ping6.8 ============================================================================== --- user/attilio/vmcontention/sbin/ping6/ping6.8 Thu May 9 00:14:18 2013 (r250396) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu May 9 02:23:03 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8C2D797C; Thu, 9 May 2013 02:23:03 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6DAFA172A; Thu, 9 May 2013 02:23:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r492N3Va048329; Thu, 9 May 2013 02:23:03 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r492N3w7048328; Thu, 9 May 2013 02:23:03 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305090223.r492N3w7048328@svn.freebsd.org> From: Attilio Rao Date: Thu, 9 May 2013 02:23:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250401 - user/attilio/jeff-numa/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 02:23:03 -0000 Author: attilio Date: Thu May 9 02:23:02 2013 New Revision: 250401 URL: http://svnweb.freebsd.org/changeset/base/250401 Log: Port vm_phys changes to recent -CURRENT. Sponsored by: EMC / Isilon storage division Modified: user/attilio/jeff-numa/sys/vm/vm_phys.c Modified: user/attilio/jeff-numa/sys/vm/vm_phys.c ============================================================================== --- user/attilio/jeff-numa/sys/vm/vm_phys.c Thu May 9 02:04:28 2013 (r250400) +++ user/attilio/jeff-numa/sys/vm/vm_phys.c Thu May 9 02:23:02 2013 (r250401) @@ -48,7 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#if MAXDOMAIN > 1 +#if MAXMEMDOM > 1 #include #endif #include @@ -96,7 +96,7 @@ static struct mtx vm_phys_fictitious_reg MALLOC_DEFINE(M_FICT_PAGES, "", ""); static struct vm_freelist - vm_phys_free_queues[MAXDOMAIN][VM_NFREELIST][VM_NFREEPOOL][VM_NFREEORDER]; + vm_phys_free_queues[MAXMEMDOM][VM_NFREELIST][VM_NFREEPOOL][VM_NFREEORDER]; static int vm_nfreelists = VM_FREELIST_DEFAULT + 1; @@ -115,6 +115,8 @@ SYSCTL_OID(_vm, OID_AUTO, phys_segs, CTL SYSCTL_INT(_vm, OID_AUTO, ndomains, CTLFLAG_RD, &vm_ndomains, 0, "Number of physical memory domains available."); +static vm_page_t vm_phys_alloc_domain_pages(int domain, int flind, int pool, + int order); static void _vm_phys_create_seg(vm_paddr_t start, vm_paddr_t end, int flind, int domain); static void vm_phys_create_seg(vm_paddr_t start, vm_paddr_t end, int flind); @@ -125,7 +127,7 @@ static void vm_phys_split_pages(vm_page_ static __inline int vm_rr_selectdomain(void) { -#if MAXDOMAIN > 1 +#if MAXMEMDOM > 1 struct thread *td; td = curthread; @@ -388,16 +390,43 @@ vm_phys_add_page(vm_paddr_t pa) } /* + * Allocate a contiguous, power of two-sized set of physical pages + * from the free lists. + * + * The free page queues must be locked. + */ +vm_page_t +vm_phys_alloc_pages(int pool, int order) +{ + vm_page_t m; + int domain, flind; + + KASSERT(pool < VM_NFREEPOOL, + ("vm_phys_alloc_pages: pool %d is out of range", pool)); + KASSERT(order < VM_NFREEORDER, + ("vm_phys_alloc_pages: order %d is out of range", order)); + + domain = vm_rr_selectdomain(); + for (flind = 0; flind < vm_nfreelists; flind++) { + m = vm_phys_alloc_domain_pages(domain, flind, pool, order); + if (m != NULL) + return (m); + } + return (NULL); +} + +/* * Find and dequeue a free page on the given free list, with the * specified pool and order */ -static vm_page_t -vm_phys_alloc_freelist_pages_domain(int domain, int flind, int pool, int order) -{ - struct vm_freelist *fl; - struct vm_freelist *alt; - int oind, pind; +vm_page_t +vm_phys_alloc_freelist_pages(int flind, int pool, int order) +{ +#if MAXMEMDOM > 1 vm_page_t m; + int i; +#endif + int domain; KASSERT(flind < VM_NFREELIST, ("vm_phys_alloc_freelist_pages: freelist %d is out of range", flind)); @@ -406,6 +435,39 @@ vm_phys_alloc_freelist_pages_domain(int KASSERT(order < VM_NFREEORDER, ("vm_phys_alloc_freelist_pages: order %d is out of range", order)); +#if MAXMEMDOM > 1 + /* + * This routine expects to be called with a VM_FREELIST_* constant. + * On a system with multiple domains we need to adjust the flind + * appropriately. If it is for VM_FREELIST_DEFAULT we need to + * iterate over the per-domain lists. + */ + domain = vm_rr_selectdomain(); + if (flind == VM_FREELIST_DEFAULT) { + m = NULL; + for (i = 0; i < vm_ndomains; i++, flind++) { + m = vm_phys_alloc_domain_pages(domain, flind, pool, + order); + if (m != NULL) + break; + } + return (m); + } else if (flind > VM_FREELIST_DEFAULT) + flind += vm_ndomains - 1; +#else + domain = 0; +#endif + return (vm_phys_alloc_domain_pages(domain, flind, pool, order)); +} + +static vm_page_t +vm_phys_alloc_domain_pages(int domain, int flind, int pool, int order) +{ + struct vm_freelist *fl; + struct vm_freelist *alt; + int oind, pind; + vm_page_t m; + mtx_assert(&vm_page_queue_free_mtx, MA_OWNED); fl = &vm_phys_free_queues[domain][flind][pool][0]; for (oind = order; oind < VM_NFREEORDER; oind++) { @@ -439,40 +501,6 @@ vm_phys_alloc_freelist_pages_domain(int } /* - * See the comments for vm_phys_alloc_freelist_pages_domain(). - * When MAXDOMAIN is bumped picks up a domain in round-robin fashion. - */ -vm_page_t -vm_phys_alloc_freelist_pages(int flind, int pool, int order) -{ - - return (vm_phys_alloc_freelist_pages_domain(vm_rr_selectdomain(), - flind, pool, order)); -} - -/* - * Allocate a contiguous, power of two-sized set of physical pages - * from the free lists. - * - * The free page queues must be locked. - */ -vm_page_t -vm_phys_alloc_pages(int pool, int order) -{ - vm_page_t m; - int domain, flind; - - domain = vm_rr_selectdomain(); - for (flind = 0; flind < vm_nfreelists; flind++) { - m = vm_phys_alloc_freelist_pages_domain(domain, flind, pool, - order); - if (m != NULL) - return (m); - } - return (NULL); -} - -/* * Find the vm_page corresponding to the given physical address. */ vm_page_t From owner-svn-src-user@FreeBSD.ORG Thu May 9 08:21:57 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 26832315; Thu, 9 May 2013 08:21:57 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1584281C; Thu, 9 May 2013 08:21:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r498Lv24071963; Thu, 9 May 2013 08:21:57 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r498LrGu071941; Thu, 9 May 2013 08:21:53 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305090821.r498LrGu071941@svn.freebsd.org> From: Adrian Chadd Date: Thu, 9 May 2013 08:21:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250403 - in user/adrian/net80211_tx: contrib/bsnmp contrib/gcc/config/i386 gnu/usr.bin/cc/include lib/libprocstat lib/libthr/thread sbin/etherswitchcfg sbin/growfs sbin/ping6 share/man... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 08:21:57 -0000 Author: adrian Date: Thu May 9 08:21:53 2013 New Revision: 250403 URL: http://svnweb.freebsd.org/changeset/base/250403 Log: Merge from HEAD Added: user/adrian/net80211_tx/share/man/man4/acpi_rapidstart.4 - copied unchanged from r250402, head/share/man/man4/acpi_rapidstart.4 user/adrian/net80211_tx/sys/dev/acpi_support/acpi_rapidstart.c - copied unchanged from r250402, head/sys/dev/acpi_support/acpi_rapidstart.c user/adrian/net80211_tx/sys/dev/etherswitch/ip17x/ - copied from r250402, head/sys/dev/etherswitch/ip17x/ user/adrian/net80211_tx/sys/modules/acpi/acpi_rapidstart/ - copied from r250402, head/sys/modules/acpi/acpi_rapidstart/ user/adrian/net80211_tx/sys/sys/_bitset.h - copied unchanged from r250402, head/sys/sys/_bitset.h user/adrian/net80211_tx/sys/sys/bitset.h - copied unchanged from r250402, head/sys/sys/bitset.h user/adrian/net80211_tx/usr.sbin/bsnmpd/modules/snmp_hast/ - copied from r250402, head/usr.sbin/bsnmpd/modules/snmp_hast/ Modified: user/adrian/net80211_tx/contrib/bsnmp/oid-list user/adrian/net80211_tx/contrib/gcc/config/i386/tmmintrin.h user/adrian/net80211_tx/gnu/usr.bin/cc/include/Makefile user/adrian/net80211_tx/lib/libprocstat/libprocstat.c user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.8 user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.c user/adrian/net80211_tx/sbin/growfs/growfs.c user/adrian/net80211_tx/sbin/ping6/ping6.8 user/adrian/net80211_tx/share/man/man3/queue.3 user/adrian/net80211_tx/share/man/man4/igb.4 user/adrian/net80211_tx/sys/arm/freescale/imx/bus_space.c user/adrian/net80211_tx/sys/arm/freescale/imx/common.c user/adrian/net80211_tx/sys/arm/freescale/imx/console.c user/adrian/net80211_tx/sys/arm/freescale/imx/i2c.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ccm.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ccmreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ccmvar.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_dpllreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_gpio.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_iomux.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_iomuxreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_iomuxvar.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ipuv3.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ipuv3reg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_sdmareg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_ssireg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx51_tzicreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx_gpt.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx_gptreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx_gptvar.h user/adrian/net80211_tx/sys/arm/freescale/imx/imx_machdep.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx_wdog.c user/adrian/net80211_tx/sys/arm/freescale/imx/imx_wdogreg.h user/adrian/net80211_tx/sys/arm/freescale/imx/tzic.c user/adrian/net80211_tx/sys/conf/files user/adrian/net80211_tx/sys/dev/ath/if_ath.c user/adrian/net80211_tx/sys/dev/ath/if_athvar.h user/adrian/net80211_tx/sys/dev/etherswitch/arswitch/arswitch.c user/adrian/net80211_tx/sys/dev/etherswitch/etherswitch.c user/adrian/net80211_tx/sys/dev/etherswitch/etherswitch.h user/adrian/net80211_tx/sys/dev/etherswitch/etherswitch_if.m user/adrian/net80211_tx/sys/dev/etherswitch/ukswitch/ukswitch.c user/adrian/net80211_tx/sys/dev/qlxgb/qla_os.c user/adrian/net80211_tx/sys/kern/uipc_socket.c user/adrian/net80211_tx/sys/mips/conf/ROUTERSTATION user/adrian/net80211_tx/sys/mips/conf/ROUTERSTATION.hints user/adrian/net80211_tx/sys/ofed/include/linux/workqueue.h user/adrian/net80211_tx/sys/sys/_cpuset.h user/adrian/net80211_tx/sys/sys/cpuset.h user/adrian/net80211_tx/sys/vm/vm_phys.c user/adrian/net80211_tx/sys/x86/acpica/srat.c Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/contrib/gcc/ (props changed) user/adrian/net80211_tx/sbin/ (props changed) user/adrian/net80211_tx/share/man/man4/ (props changed) user/adrian/net80211_tx/sys/ (props changed) user/adrian/net80211_tx/sys/conf/ (props changed) Modified: user/adrian/net80211_tx/contrib/bsnmp/oid-list ============================================================================== --- user/adrian/net80211_tx/contrib/bsnmp/oid-list Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/contrib/bsnmp/oid-list Thu May 9 08:21:53 2013 (r250403) @@ -24,6 +24,7 @@ enterprises 204 pingData bsnmp-ping (Nate Nielsen ) 205 begemotBridge bridge module 210 begemotWlan WLAN module + 220 begemotHast HAST module 300 BEGEMOT-ACM DLR ACM project 303 BEGEMOT-WLINK DLR WLINK simulator Modified: user/adrian/net80211_tx/contrib/gcc/config/i386/tmmintrin.h ============================================================================== --- user/adrian/net80211_tx/contrib/gcc/config/i386/tmmintrin.h Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/contrib/gcc/config/i386/tmmintrin.h Thu May 9 08:21:53 2013 (r250403) @@ -222,227 +222,3 @@ _mm_abs_pi32 (__m64 __X) #endif /* __SSSE3__ */ #endif /* _TMMINTRIN_H_INCLUDED */ -/* Copyright (C) 2006 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING. If not, write to - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, if you include this header file into source - files compiled by GCC, this header file does not by itself cause - the resulting executable to be covered by the GNU General Public - License. This exception does not however invalidate any other - reasons why the executable file might be covered by the GNU General - Public License. */ - -/* Implemented from the specification included in the Intel C++ Compiler - User Guide and Reference, version 9.1. */ - -#ifndef _TMMINTRIN_H_INCLUDED -#define _TMMINTRIN_H_INCLUDED - -#ifdef __SSSE3__ -#include - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadd_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hadds_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadd_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hadds_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsub_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_hsubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsub_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_hsubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_maddubs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_maddubs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_mulhrs_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_mulhrs_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_shuffle_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_shuffle_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi8 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi16 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_sign_epi32 (__m128i __X, __m128i __Y) -{ - return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi8 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi16 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_sign_pi32 (__m64 __X, __m64 __Y) -{ - return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y); -} - -#define _mm_alignr_epi8(__X, __Y, __N) \ - ((__m128i)__builtin_ia32_palignr128 ((__v2di) __X, (__v2di) __Y, (__N) * 8)) - -#define _mm_alignr_pi8(__X, __Y, __N) \ - ((__m64)__builtin_ia32_palignr ((long long) (__X), (long long) (__Y), (__N) * 8)) - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi8 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi16 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X); -} - -static __inline __m128i __attribute__((__always_inline__)) -_mm_abs_epi32 (__m128i __X) -{ - return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi8 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsb ((__v8qi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi16 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsw ((__v4hi)__X); -} - -static __inline __m64 __attribute__((__always_inline__)) -_mm_abs_pi32 (__m64 __X) -{ - return (__m64) __builtin_ia32_pabsd ((__v2si)__X); -} - -#endif /* __SSSE3__ */ - -#endif /* _TMMINTRIN_H_INCLUDED */ Modified: user/adrian/net80211_tx/gnu/usr.bin/cc/include/Makefile ============================================================================== --- user/adrian/net80211_tx/gnu/usr.bin/cc/include/Makefile Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/gnu/usr.bin/cc/include/Makefile Thu May 9 08:21:53 2013 (r250403) @@ -9,7 +9,8 @@ INCSDIR=${INCLUDEDIR}/gcc/${GCCVER} .PATH: ${GCCDIR}/config/${GCC_CPU} .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" -INCS= emmintrin.h mmintrin.h pmmintrin.h tmmintrin.h xmmintrin.h mm_malloc.h +INCS= emmintrin.h mmintrin.h mm3dnow.h pmmintrin.h tmmintrin.h xmmintrin.h \ + mm_malloc.h .elif ${TARGET_ARCH} == "ia64" INCS= ia64intrin.h .elif ${TARGET_ARCH} == "arm" Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.c ============================================================================== --- user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Thu May 9 08:21:53 2013 (r250403) @@ -897,7 +897,8 @@ procstat_get_pipe_info(struct procstat * return (procstat_get_pipe_info_sysctl(fst, ps, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -926,7 +927,8 @@ procstat_get_pipe_info_kvm(kvm_t *kd, st return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -962,7 +964,8 @@ procstat_get_pts_info(struct procstat *p return (procstat_get_pts_info_sysctl(fst, pts, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -990,7 +993,8 @@ procstat_get_pts_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1025,7 +1029,8 @@ procstat_get_sem_info(struct procstat *p return (procstat_get_sem_info_sysctl(fst, sem, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1071,7 +1076,8 @@ procstat_get_sem_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1106,7 +1112,8 @@ procstat_get_shm_info(struct procstat *p return (procstat_get_shm_info_sysctl(fst, shm, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1152,7 +1159,8 @@ procstat_get_shm_info_kvm(kvm_t *kd, str return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1187,7 +1195,8 @@ procstat_get_vnode_info(struct procstat return (procstat_get_vnode_info_sysctl(fst, vn, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1254,7 +1263,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s break; } if (i == NTYPES) { - snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "?(%s)", tagstr); return (1); } vn->vn_mntdir = getmnton(kd, vnode.v_mount); @@ -1268,7 +1278,8 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } @@ -1349,7 +1360,10 @@ procstat_get_vnode_info_sysctl(struct fi if (vntype == PS_FST_VTYPE_VNON || vntype == PS_FST_VTYPE_VBAD) return (0); if ((status & KF_ATTR_VALID) == 0) { - snprintf(errbuf, _POSIX2_LINE_MAX, "? (no info available)"); + if (errbuf != NULL) { + snprintf(errbuf, _POSIX2_LINE_MAX, + "? (no info available)"); + } return (1); } if (path && *path) { @@ -1390,7 +1404,8 @@ procstat_get_socket_info(struct procstat return (procstat_get_socket_info_sysctl(fst, sock, errbuf)); } else { warnx("unknown access method: %d", procstat->type); - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } } @@ -1488,7 +1503,8 @@ procstat_get_socket_info_kvm(kvm_t *kd, return (0); fail: - snprintf(errbuf, _POSIX2_LINE_MAX, "error"); + if (errbuf != NULL) + snprintf(errbuf, _POSIX2_LINE_MAX, "error"); return (1); } Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c ============================================================================== --- user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c Thu May 9 08:21:53 2013 (r250403) @@ -725,8 +725,10 @@ _setcontext(const ucontext_t *ucp) { ucontext_t uc; - if (ucp == NULL) - return (EINVAL); + if (ucp == NULL) { + errno = EINVAL; + return (-1); + } if (!SIGISMEMBER(uc.uc_sigmask, SIGCANCEL)) return __sys_setcontext(ucp); (void) memcpy(&uc, ucp, sizeof(uc)); @@ -740,8 +742,10 @@ _swapcontext(ucontext_t *oucp, const uco { ucontext_t uc; - if (oucp == NULL || ucp == NULL) - return (EINVAL); + if (oucp == NULL || ucp == NULL) { + errno = EINVAL; + return (-1); + } if (SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL)) { (void) memcpy(&uc, ucp, sizeof(uc)); SIGDELSET(uc.uc_sigmask, SIGCANCEL); Modified: user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.8 ============================================================================== --- user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.8 Thu May 9 08:21:53 2013 (r250403) @@ -11,12 +11,16 @@ .Ar info .Nm .Op Fl "f control file" +.Ar config +.Ar command parameter +.Nm +.Op Fl "f control file" .Ar phy .Ar phy.register[=value] .Nm .Op Fl "f control file" .Ar port%d -.Ar command parameter +.Ar [flags] command parameter .Nm .Op Fl "f control file" .Ar reg @@ -46,6 +50,14 @@ Produce more verbose output. Without this flag, lines that represent inactive or empty configuration options are omitted. .El +.Ss config +The config command provides access to global switch configuration +parameters. +It support the following commands: +.Bl -tag -width ".Ar vlan_mode mode" -compact +.It Ar vlan_mode mode +Sets the switch VLAN mode (depends on the hardware). +.El .Ss phy The phy command provides access to the registers of the PHYs attached to or integrated into the switch controller. @@ -68,13 +80,46 @@ Sets the default port VID that is used t .It Ar media mediaspec Specifies the physical media configuration to be configured for a port. .It Ar mediaopt mediaoption -Specifies a list of media options for a port. See +Specifies a list of media options for a port. +See .Xr ifconfig 8 for details on .Ar media and .Ar mediaopt . .El +And the following flags (please note that not all flags +are supporterd by all switch drivers): +.Bl -tag -width ".Ar addtag" -compact +.It Ar addtag +Add VLAN tag to each packet sent by the port. +.It Ar -addtag +Disable the add VLAN tag option. +.It Ar striptag +Strip the VLAN tags from the packets sent by the port. +.It Ar -striptag +Disable the strip VLAN tag option. +.It Ar firstlock +This options makes the switch port lock on the first MAC address it seems. +After that, usually you need to reset the switch to learn different +MAC addresses. +.It Ar -firstlock +Disable the first lock option. +Note that sometimes you need to reset the +switch to really disable this option. +.It Ar dropuntagged +Drop packets without a VLAN tag. +.It Ar -dropuntagged +Disable the drop untagged packets option. +.It Ar doubletag +Enable QinQ for the port. +.It Ar -doubletag +Disable QinQ for the port. +.It Ar ingress +Enable the ingress filter on the port. +.It Ar -ingress +Disable the ingress filter. +.El .Ss reg The reg command provides access to the registers of the switch controller. .Ss vlangroup Modified: user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.c ============================================================================== --- user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sbin/etherswitchcfg/etherswitchcfg.c Thu May 9 08:21:53 2013 (r250403) @@ -58,6 +58,7 @@ void print_media_word_ifconfig(int); enum cmdmode { MODE_NONE = 0, MODE_PORT, + MODE_CONFIG, MODE_VLANGROUP, MODE_REGISTER, MODE_PHYREG @@ -68,6 +69,7 @@ struct cfg { int verbose; int mediatypes; const char *controlfile; + etherswitch_conf_t conf; etherswitch_info_t info; enum cmdmode mode; int unit; @@ -82,7 +84,37 @@ struct cmds { static struct cmds cmds[]; -static void usage(void); +/* + * Print a value a la the %b format of the kernel's printf. + * Stolen from ifconfig.c. + */ +static void +printb(const char *s, unsigned v, const char *bits) +{ + int i, any = 0; + char c; + + if (bits && *bits == 8) + printf("%s=%o", s, v); + else + printf("%s=%x", s, v); + bits++; + if (bits) { + putchar('<'); + while ((i = *bits++) != '\0') { + if (v & (1 << (i-1))) { + if (any) + putchar(','); + any = 1; + for (; (c = *bits) > 32; bits++) + putchar(c); + } else + for (; *bits > 32; bits++) + ; + } + putchar('>'); + } +} static int read_register(struct cfg *cfg, int r) @@ -150,6 +182,47 @@ set_port_vid(struct cfg *cfg, char *argv } static void +set_port_flag(struct cfg *cfg, char *argv[]) +{ + char *flag; + int n; + uint32_t f; + etherswitch_port_t p; + + n = 0; + f = 0; + flag = argv[0]; + if (strcmp(flag, "none") != 0) { + if (*flag == '-') { + n++; + flag++; + } + if (strcasecmp(flag, "striptag") == 0) + f = ETHERSWITCH_PORT_STRIPTAG; + else if (strcasecmp(flag, "addtag") == 0) + f = ETHERSWITCH_PORT_ADDTAG; + else if (strcasecmp(flag, "firstlock") == 0) + f = ETHERSWITCH_PORT_FIRSTLOCK; + else if (strcasecmp(flag, "dropuntagged") == 0) + f = ETHERSWITCH_PORT_DROPUNTAGGED; + else if (strcasecmp(flag, "doubletag") == 0) + f = ETHERSWITCH_PORT_DOUBLE_TAG; + else if (strcasecmp(flag, "ingress") == 0) + f = ETHERSWITCH_PORT_INGRESS; + } + bzero(&p, sizeof(p)); + p.es_port = cfg->unit; + if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); + if (n) + p.es_flags &= ~f; + else + p.es_flags |= f; + if (ioctl(cfg->fd, IOETHERSWITCHSETPORT, &p) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETPORT)"); +} + +static void set_port_media(struct cfg *cfg, char *argv[]) { etherswitch_port_t p; @@ -290,6 +363,66 @@ set_phyregister(struct cfg *cfg, char *a } static void +set_vlan_mode(struct cfg *cfg, char *argv[]) +{ + etherswitch_conf_t conf; + + bzero(&conf, sizeof(conf)); + conf.cmd = ETHERSWITCH_CONF_VLAN_MODE; + if (strcasecmp(argv[1], "isl") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_ISL; + else if (strcasecmp(argv[1], "port") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_PORT; + else if (strcasecmp(argv[1], "dot1q") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q; + else if (strcasecmp(argv[1], "dot1q4k") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOT1Q_4K; + else if (strcasecmp(argv[1], "qinq") == 0) + conf.vlan_mode = ETHERSWITCH_VLAN_DOUBLE_TAG; + else + conf.vlan_mode = 0; + if (ioctl(cfg->fd, IOETHERSWITCHSETCONF, &conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHSETCONF)"); +} + +static void +print_config(struct cfg *cfg) +{ + const char *c; + + /* Get the device name. */ + c = strrchr(cfg->controlfile, '/'); + if (c != NULL) + c = c + 1; + else + c = cfg->controlfile; + + /* Print VLAN mode. */ + if (cfg->conf.cmd & ETHERSWITCH_CONF_VLAN_MODE) { + printf("%s: VLAN mode: ", c); + switch (cfg->conf.vlan_mode) { + case ETHERSWITCH_VLAN_ISL: + printf("ISL\n"); + break; + case ETHERSWITCH_VLAN_PORT: + printf("PORT\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q: + printf("DOT1Q\n"); + break; + case ETHERSWITCH_VLAN_DOT1Q_4K: + printf("DOT1Q4K\n"); + break; + case ETHERSWITCH_VLAN_DOUBLE_TAG: + printf("QinQ\n"); + break; + default: + printf("none\n"); + } + } +} + +static void print_port(struct cfg *cfg, int port) { etherswitch_port_t p; @@ -303,7 +436,10 @@ print_port(struct cfg *cfg, int port) if (ioctl(cfg->fd, IOETHERSWITCHGETPORT, &p) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETPORT)"); printf("port%d:\n", port); - printf("\tpvid: %d\n", p.es_pvid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_DOT1Q) + printf("\tpvid: %d\n", p.es_pvid); + printb("\tflags", p.es_flags, ETHERSWITCH_PORT_FLAGS_BITS); + printf("\n"); printf("\tmedia: "); print_media_word(p.es_ifmr.ifm_current, 1); if (p.es_ifmr.ifm_active != p.es_ifmr.ifm_current) { @@ -335,10 +471,13 @@ print_vlangroup(struct cfg *cfg, int vla vg.es_vlangroup = vlangroup; if (ioctl(cfg->fd, IOETHERSWITCHGETVLANGROUP, &vg) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETVLANGROUP)"); - if (cfg->verbose == 0 && vg.es_member_ports == 0) + if (vg.es_vid == 0 && vg.es_member_ports == 0) return; printf("vlangroup%d:\n", vlangroup); - printf("\tvlan: %d\n", vg.es_vid); + if (cfg->conf.vlan_mode == ETHERSWITCH_VLAN_PORT) + printf("\tport: %d\n", vg.es_vid); + else + printf("\tvlan: %d\n", vg.es_vid); printf("\tmembers "); comma = 0; if (vg.es_member_ports != 0) @@ -368,9 +507,16 @@ print_info(struct cfg *cfg) c = c + 1; else c = cfg->controlfile; - if (cfg->verbose) - printf("%s: %s with %d ports and %d VLAN groups\n", - c, cfg->info.es_name, cfg->info.es_nports, cfg->info.es_nvlangroups); + if (cfg->verbose) { + printf("%s: %s with %d ports and %d VLAN groups\n", c, + cfg->info.es_name, cfg->info.es_nports, + cfg->info.es_nvlangroups); + printf("%s: ", c); + printb("VLAN capabilities", cfg->info.es_vlan_caps, + ETHERSWITCH_VLAN_CAPS_BITS); + printf("\n"); + } + print_config(cfg); for (i=0; iinfo.es_nports; i++) { print_port(cfg, i); } @@ -380,9 +526,23 @@ print_info(struct cfg *cfg) } static void -usage(void) +usage(struct cfg *cfg __unused, char *argv[] __unused) { fprintf(stderr, "usage: etherswitchctl\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] info\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] config " + "command parameter\n"); + fprintf(stderr, "\t\tconfig commands: vlan_mode\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] phy " + "phy.register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] portX " + "[flags] command parameter\n"); + fprintf(stderr, "\t\tport commands: pvid, media, mediaopt\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] reg " + "register[=value]\n"); + fprintf(stderr, "\tetherswitchcfg [-f control file] vlangroupX " + "command parameter\n"); + fprintf(stderr, "\t\tvlangroup commands: vlan, members\n"); exit(EX_USAGE); } @@ -394,6 +554,15 @@ newmode(struct cfg *cfg, enum cmdmode mo switch (cfg->mode) { case MODE_NONE: break; + case MODE_CONFIG: + /* + * Read the updated the configuration (it can be different + * from the last time we read it). + */ + if (ioctl(cfg->fd, IOETHERSWITCHGETCONF, &cfg->conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); + print_config(cfg); + break; case MODE_PORT: print_port(cfg, cfg->unit); break; @@ -430,7 +599,7 @@ main(int argc, char *argv[]) case '?': /* FALLTHROUGH */ default: - usage(); + usage(&cfg, argv); } argc -= optind; argv += optind; @@ -439,6 +608,8 @@ main(int argc, char *argv[]) err(EX_UNAVAILABLE, "Can't open control file: %s", cfg.controlfile); if (ioctl(cfg.fd, IOETHERSWITCHGETINFO, &cfg.info) != 0) err(EX_OSERR, "ioctl(IOETHERSWITCHGETINFO)"); + if (ioctl(cfg.fd, IOETHERSWITCHGETCONF, &cfg.conf) != 0) + err(EX_OSERR, "ioctl(IOETHERSWITCHGETCONF)"); if (argc == 0) { print_info(&cfg); return (0); @@ -457,15 +628,20 @@ main(int argc, char *argv[]) if (cfg.unit < 0 || cfg.unit >= cfg.info.es_nvlangroups) errx(EX_USAGE, "port unit must be between 0 and %d", cfg.info.es_nvlangroups); newmode(&cfg, MODE_VLANGROUP); + } else if (strcmp(argv[0], "config") == 0) { + newmode(&cfg, MODE_CONFIG); } else if (strcmp(argv[0], "phy") == 0) { newmode(&cfg, MODE_PHYREG); } else if (strcmp(argv[0], "reg") == 0) { newmode(&cfg, MODE_REGISTER); + } else if (strcmp(argv[0], "help") == 0) { + usage(&cfg, argv); } else { errx(EX_USAGE, "Unknown command \"%s\"", argv[0]); } break; case MODE_PORT: + case MODE_CONFIG: case MODE_VLANGROUP: for(i=0; cmds[i].name != NULL; i++) { if (cfg.mode == cmds[i].mode && strcmp(argv[0], cmds[i].name) == 0) { @@ -510,6 +686,19 @@ static struct cmds cmds[] = { { MODE_PORT, "pvid", 1, set_port_vid }, { MODE_PORT, "media", 1, set_port_media }, { MODE_PORT, "mediaopt", 1, set_port_mediaopt }, + { MODE_PORT, "addtag", 0, set_port_flag }, + { MODE_PORT, "-addtag", 0, set_port_flag }, + { MODE_PORT, "ingress", 0, set_port_flag }, + { MODE_PORT, "-ingress", 0, set_port_flag }, + { MODE_PORT, "striptag", 0, set_port_flag }, + { MODE_PORT, "-striptag", 0, set_port_flag }, + { MODE_PORT, "doubletag", 0, set_port_flag }, + { MODE_PORT, "-doubletag", 0, set_port_flag }, + { MODE_PORT, "firstlock", 0, set_port_flag }, + { MODE_PORT, "-firstlock", 0, set_port_flag }, + { MODE_PORT, "dropuntagged", 0, set_port_flag }, + { MODE_PORT, "-dropuntagged", 0, set_port_flag }, + { MODE_CONFIG, "vlan_mode", 1, set_vlan_mode }, { MODE_VLANGROUP, "vlan", 1, set_vlangroup_vid }, { MODE_VLANGROUP, "members", 1, set_vlangroup_members }, { 0, NULL, 0, NULL } Modified: user/adrian/net80211_tx/sbin/growfs/growfs.c ============================================================================== --- user/adrian/net80211_tx/sbin/growfs/growfs.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sbin/growfs/growfs.c Thu May 9 08:21:53 2013 (r250403) @@ -1544,7 +1544,7 @@ main(int argc, char **argv) printf(" from %s to %s? [Yes/No] ", oldsizebuf, newsizebuf); fflush(stdout); fgets(reply, (int)sizeof(reply), stdin); - if (strcmp(reply, "Yes\n")){ + if (strcasecmp(reply, "Yes\n")){ printf("\nNothing done\n"); exit (0); } Modified: user/adrian/net80211_tx/sbin/ping6/ping6.8 ============================================================================== --- user/adrian/net80211_tx/sbin/ping6/ping6.8 Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sbin/ping6/ping6.8 Thu May 9 08:21:53 2013 (r250403) @@ -234,7 +234,7 @@ is used instead. The former is in RFC 4620, the latter is in an old Internet Draft draft-ietf-ipngwg-icmp-name-lookup. Note that KAME-derived implementations including -.Fx +.Fx use the latter. .It Fl o Exit successfully after receiving one reply packet. Modified: user/adrian/net80211_tx/share/man/man3/queue.3 ============================================================================== --- user/adrian/net80211_tx/share/man/man3/queue.3 Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/share/man/man3/queue.3 Thu May 9 08:21:53 2013 (r250403) @@ -404,7 +404,8 @@ The macro .Nm SLIST_REMOVE_AFTER removes the element after .Fa elm -from the list. Unlike +from the list. +Unlike .Fa SLIST_REMOVE , this macro does not traverse the entire list. .Pp @@ -595,7 +596,8 @@ The macro .Nm STAILQ_REMOVE_AFTER removes the element after .Fa elm -from the tail queue. Unlike +from the tail queue. +Unlike .Fa STAILQ_REMOVE , this macro does not traverse the entire tail queue. .Pp Copied: user/adrian/net80211_tx/share/man/man4/acpi_rapidstart.4 (from r250402, head/share/man/man4/acpi_rapidstart.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/adrian/net80211_tx/share/man/man4/acpi_rapidstart.4 Thu May 9 08:21:53 2013 (r250403, copy of r250402, head/share/man/man4/acpi_rapidstart.4) @@ -0,0 +1,84 @@ +.\" Copyright (c) 2013 Takanori Watanabe +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (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$ +.\" +.Dd May 8, 2013 +.Dt ACPI_RAPIDSTART 4 +.Os +.Sh NAME +.Nm acpi_rapidstart +.Nd "Intel rapid start technology ACPI driver" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device acpi_rapidstart" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +acpi_rapidstart_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for Intel Rapid Start technology ACPI device interface. +Note that this is only for the ACPI device interface. +This has _CID PNP0C02 so it should be loaded at boot time to avoid attaching +to the acpi_sysresource driver. +.Sh SYSCTLS +The following +.Xr sysctl 8 +nodes are currently implemented: +.Bl -tag -width indent +.It Va dev.acpi_rapidstart.0.ffs +Rapid start flag. +It is a bitwise OR of the following: +.Pp +.Bl -tag -width indent-two -compact +.It Li 1 +Enter Fast Flash Standby in RTC wake. +.It Li 2 +Enter Fast Flash Standby in Critical Battery Wake enable +.El +.It Va dev.acpi_rapidstart.0.ftv +Fast Flash Standby timer value in minutes. +.El +.Sh SEE ALSO +.Xr acpi 4 , +.Xr sysctl 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 10.0 . +.Sh AUTHORS +The +.Nm +driver was written by +.An Takanori Watanabe Aq takawata@FreeBSD.org . Modified: user/adrian/net80211_tx/share/man/man4/igb.4 ============================================================================== --- user/adrian/net80211_tx/share/man/man4/igb.4 Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/share/man/man4/igb.4 Thu May 9 08:21:53 2013 (r250403) @@ -161,7 +161,7 @@ The minimum is 80, and the maximum is 40 If set to 1, enable Adaptive Interrupt Moderation. The default is to enable Adaptive Interrupt Moderation. .It Va hw.igb.num_queues -Numer of queues used for data transfer. +Number of queues used for data transfer. If set to 0, number of queues will be configured automatically based on number of CPUs and max supported MSI-X messages on the device. Modified: user/adrian/net80211_tx/sys/arm/freescale/imx/bus_space.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/freescale/imx/bus_space.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sys/arm/freescale/imx/bus_space.c Thu May 9 08:21:53 2013 (r250403) @@ -1,5 +1,5 @@ /*- - * Copyright (C) 2012 FreeBSD Foundation + * Copyright (C) 2012, 2013 FreeBSD Foundation * All rights reserved. * * This software was developed by Oleksandr Tymoshenko under sponsorship Modified: user/adrian/net80211_tx/sys/arm/freescale/imx/common.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/freescale/imx/common.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sys/arm/freescale/imx/common.c Thu May 9 08:21:53 2013 (r250403) @@ -1,6 +1,6 @@ /*- * Copyright (C) 2008-2011 MARVELL INTERNATIONAL LTD. - * Copyright (c) 2012 The FreeBSD Foundation + * Copyright (c) 2012, 2013 The FreeBSD Foundation * All rights reserved. * * Developed by Semihalf. Modified: user/adrian/net80211_tx/sys/arm/freescale/imx/console.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/freescale/imx/console.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sys/arm/freescale/imx/console.c Thu May 9 08:21:53 2013 (r250403) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2012 The FreeBSD Foundation + * Copyright (c) 2012, 2013 The FreeBSD Foundation * All rights reserved. * * This software was developed by Oleksandr Rybalko under sponsorship Modified: user/adrian/net80211_tx/sys/arm/freescale/imx/i2c.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/freescale/imx/i2c.c Thu May 9 04:41:03 2013 (r250402) +++ user/adrian/net80211_tx/sys/arm/freescale/imx/i2c.c Thu May 9 08:21:53 2013 (r250403) @@ -1,6 +1,6 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu May 9 08:30:29 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2B5E4838; Thu, 9 May 2013 08:30:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 03C64881; Thu, 9 May 2013 08:30:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r498USAn075128; Thu, 9 May 2013 08:30:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r498USLk075127; Thu, 9 May 2013 08:30:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305090830.r498USLk075127@svn.freebsd.org> From: Adrian Chadd Date: Thu, 9 May 2013 08:30:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250404 - user/adrian/net80211_tx/sys/dev/ath X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 08:30:29 -0000 Author: adrian Date: Thu May 9 08:30:28 2013 New Revision: 250404 URL: http://svnweb.freebsd.org/changeset/base/250404 Log: Use the TX lock instead of the NODE lock in the ps-poll code. Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath.c Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/ath/if_ath.c Thu May 9 08:21:53 2013 (r250403) +++ user/adrian/net80211_tx/sys/dev/ath/if_ath.c Thu May 9 08:30:28 2013 (r250404) @@ -6272,7 +6272,7 @@ ath_node_recv_pspoll(struct ieee80211_no * turn-around time. */ - ATH_NODE_LOCK(an); + ATH_TX_LOCK(sc); /* * Legacy - we're called and the node isn't asleep. @@ -6284,7 +6284,7 @@ ath_node_recv_pspoll(struct ieee80211_no __func__, ni->ni_macaddr, ":"); - ATH_NODE_UNLOCK(an); + ATH_TX_UNLOCK(sc); avp->av_recv_pspoll(ni, m); return; } @@ -6304,7 +6304,7 @@ ath_node_recv_pspoll(struct ieee80211_no * only care if there are any frames here! */ if (an->an_swq_depth == 0) { - ATH_NODE_UNLOCK(an); + ATH_TX_UNLOCK(sc); DPRINTF(sc, ATH_DEBUG_NODE_PWRSAVE, "%s: %6D: SWQ empty; punting to net80211\n", __func__, @@ -6314,13 +6314,10 @@ ath_node_recv_pspoll(struct ieee80211_no return; } - ATH_NODE_UNLOCK(an); - /* * Ok, let's schedule the highest TID that has traffic * and then schedule something. */ - ATH_TX_LOCK(sc); for (tid = IEEE80211_TID_SIZE - 1; tid >= 0; tid--) { struct ath_tid *atid = &an->an_tid[tid]; /* @@ -6334,6 +6331,7 @@ ath_node_recv_pspoll(struct ieee80211_no * scheduler code here to optimise latency * at the expense of a REALLY deep callstack. */ + ATH_TX_UNLOCK(sc); taskqueue_enqueue(sc->sc_tq, &sc->sc_txqtask); DPRINTF(sc, ATH_DEBUG_NODE_PWRSAVE, "%s: %6D: leaking frame to TID %d\n", @@ -6341,7 +6339,6 @@ ath_node_recv_pspoll(struct ieee80211_no ni->ni_macaddr, ":", tid); - ATH_TX_UNLOCK(sc); return; } From owner-svn-src-user@FreeBSD.ORG Fri May 10 06:42:07 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D36E9C29; Fri, 10 May 2013 06:42:07 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C612217A; Fri, 10 May 2013 06:42:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4A6g7T4043436; Fri, 10 May 2013 06:42:07 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4A6g7Ro043432; Fri, 10 May 2013 06:42:07 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305100642.r4A6g7Ro043432@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 06:42:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250437 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 06:42:07 -0000 Author: dchagin Date: Fri May 10 06:42:06 2013 New Revision: 250437 URL: http://svnweb.freebsd.org/changeset/base/250437 Log: Fix a bug introduced in r249442. Copying in linux_newuname() vdso symbol linux_platform to the user space leads linuxulator to panic because linux_platform already is mapped into the process address space. To avoid panic add the linux_kplatform pointer which is referenced to a kernel mapped vdso symbol. Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/compat/linux/linux_misc.h user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Fri May 10 06:28:01 2013 (r250436) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysvec.c Fri May 10 06:42:06 2013 (r250437) @@ -110,6 +110,7 @@ MALLOC_DEFINE(M_LINUX, "linux", "Linux m #define LINUX_SYS_linux_rt_sendsig 0 #define LINUX_SYS_linux_sendsig 0 +const char *linux_kplatform; static int linux_szsigcode; static vm_object_t linux_shared_page_obj; static char *linux_shared_page_mapping; @@ -1084,6 +1085,9 @@ linux_vdso_install(void *param) bcopy(elf_linux_sysvec.sv_sigcode, linux_shared_page_mapping, linux_szsigcode); elf_linux_sysvec.sv_shared_page_obj = linux_shared_page_obj; + + linux_kplatform = linux_shared_page_mapping + + (linux_platform - (caddr_t)LINUX32_SHAREDPAGE); } SYSINIT(elf_linux_vdso_init, SI_SUB_EXEC, SI_ORDER_ANY, (sysinit_cfunc_t)linux_vdso_install, NULL); Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Fri May 10 06:28:01 2013 (r250436) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Fri May 10 06:42:06 2013 (r250437) @@ -730,7 +730,7 @@ linux_newuname(struct thread *td, struct *p = '\0'; break; } - strlcpy(utsname.machine, linux_platform, LINUX_MAX_UTSNAME); + strlcpy(utsname.machine, linux_kplatform, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); } Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.h Fri May 10 06:28:01 2013 (r250436) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.h Fri May 10 06:42:06 2013 (r250437) @@ -55,7 +55,7 @@ #define LINUX_MREMAP_MAYMOVE 1 #define LINUX_MREMAP_FIXED 2 -extern const char *linux_platform; +extern const char *linux_kplatform; /* * Non-standard aux entry types used in Linux ELF binaries. Modified: user/dchagin/lemul/sys/i386/linux/linux_sysvec.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Fri May 10 06:28:01 2013 (r250436) +++ user/dchagin/lemul/sys/i386/linux/linux_sysvec.c Fri May 10 06:42:06 2013 (r250437) @@ -117,7 +117,7 @@ static void linux_vdso_install(void *par static void linux_vdso_deinstall(void *param); static int linux_szplatform; -const char *linux_platform; +const char *linux_kplatform; static eventhandler_tag linux_exec_tag; static eventhandler_tag linux_thread_dtor_tag; @@ -327,7 +327,7 @@ linux_copyout_strings(struct image_param /* * install LINUX_PLATFORM */ - copyout(linux_platform, ((caddr_t)arginfo - linux_szplatform), + copyout(linux_kplatform, ((caddr_t)arginfo - linux_szplatform), linux_szplatform); /* @@ -1172,8 +1172,8 @@ linux_elf_modevent(module_t mod, int typ NULL, 1000); linux_thread_dtor_tag = EVENTHANDLER_REGISTER(thread_dtor, linux_thread_dtor, NULL, EVENTHANDLER_PRI_ANY); - linux_get_machine(&linux_platform); - linux_szplatform = roundup(strlen(linux_platform) + 1, + linux_get_machine(&linux_kplatform); + linux_szplatform = roundup(strlen(linux_kplatform) + 1, sizeof(char *)); linux_osd_jail_register(); stclohz = (stathz ? stathz : hz); From owner-svn-src-user@FreeBSD.ORG Fri May 10 06:43:42 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 40041E42; Fri, 10 May 2013 06:43:42 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 33ADD18F; Fri, 10 May 2013 06:43:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4A6hgxr043804; Fri, 10 May 2013 06:43:42 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4A6hgLF043803; Fri, 10 May 2013 06:43:42 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305100643.r4A6hgLF043803@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 06:43:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250438 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 06:43:42 -0000 Author: dchagin Date: Fri May 10 06:43:41 2013 New Revision: 250438 URL: http://svnweb.freebsd.org/changeset/base/250438 Log: Get ready to commit x86_64 Linux emulation. Add FEATURE macros for v4l and v4l2 for the 64-bit Linuxulator. Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Fri May 10 06:42:06 2013 (r250437) +++ user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Fri May 10 06:43:41 2013 (r250438) @@ -93,8 +93,13 @@ __FBSDID("$FreeBSD$"); CTASSERT(LINUX_IFNAMSIZ == IFNAMSIZ); +#if defined(__amd64__) && !defined(COMPAT_LINUX32) +FEATURE(linuxulator64_v4l, "V4L ioctl wrapper support in the 64-bit linuxulator"); +FEATURE(linuxulator64_v4l2, "V4L2 ioctl wrapper support in the 64-bit linuxulator"); +#else FEATURE(linuxulator_v4l, "V4L ioctl wrapper support in the linuxulator"); FEATURE(linuxulator_v4l2, "V4L2 ioctl wrapper support in the linuxulator"); +#endif static linux_ioctl_function_t linux_ioctl_cdrom; static linux_ioctl_function_t linux_ioctl_vfat; From owner-svn-src-user@FreeBSD.ORG Fri May 10 06:45:27 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B3169F0; Fri, 10 May 2013 06:45:27 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A64941A9; Fri, 10 May 2013 06:45:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4A6jRO8044306; Fri, 10 May 2013 06:45:27 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4A6jRnw044305; Fri, 10 May 2013 06:45:27 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305100645.r4A6jRnw044305@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 06:45:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250439 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 06:45:27 -0000 Author: dchagin Date: Fri May 10 06:45:27 2013 New Revision: 250439 URL: http://svnweb.freebsd.org/changeset/base/250439 Log: Get ready to commit x86_64 Linux emulation. Add newfstatat system call for 64-bit Linuxulator. Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_stats.c Fri May 10 06:43:41 2013 (r250438) +++ user/dchagin/lemul/sys/compat/linux/linux_stats.c Fri May 10 06:45:27 2013 (r250439) @@ -627,4 +627,34 @@ linux_fstatat64(struct thread *td, struc return (error); } +#else + +int +linux_newfstatat(struct thread *td, struct linux_newfstatat_args *args) +{ + char *path; + int error, dfd, flag; + struct stat buf; + + if (args->flag & ~LINUX_AT_SYMLINK_NOFOLLOW) + return (EINVAL); + flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) ? + AT_SYMLINK_NOFOLLOW : 0; + + dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; + LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); + +#ifdef DEBUG + if (ldebug(newfstatat)) + printf(ARGS(newfstatat, "%i, %s, %i"), args->dfd, path, args->flag); +#endif + + error = linux_kern_statat(td, flag, dfd, path, UIO_SYSSPACE, &buf); + if (!error) + error = newstat_copyout(&buf, args->statbuf); + LFREEPATH(path); + + return (error); +} + #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ From owner-svn-src-user@FreeBSD.ORG Fri May 10 06:46:52 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C7BF0309; Fri, 10 May 2013 06:46:52 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A98301BE; Fri, 10 May 2013 06:46:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4A6kqdw044717; Fri, 10 May 2013 06:46:52 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4A6kqxe044715; Fri, 10 May 2013 06:46:52 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305100646.r4A6kqxe044715@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 06:46:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250440 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 06:46:52 -0000 Author: dchagin Date: Fri May 10 06:46:52 2013 New Revision: 250440 URL: http://svnweb.freebsd.org/changeset/base/250440 Log: Get ready to commit x86_64 Linux emulation. Add sysctl variables for the 64-bit Linuxulator. Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.c user/dchagin/lemul/sys/compat/linux/linux_mib.h Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_mib.c Fri May 10 06:45:27 2013 (r250439) +++ user/dchagin/lemul/sys/compat/linux/linux_mib.c Fri May 10 06:46:52 2013 (r250440) @@ -137,7 +137,7 @@ static struct linux_prison lprison0 = { static unsigned linux_osd_jail_slot; -static SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, +static SYSCTL_NODE(_compat, OID_AUTO, LINUX_OID, CTLFLAG_RW, 0, "Linux mode"); static int linux_set_osname(struct thread *td, char *osname); @@ -145,7 +145,7 @@ static int linux_set_osrelease(struct th static int linux_set_oss_version(struct thread *td, int oss_version); static int -linux_sysctl_osname(SYSCTL_HANDLER_ARGS) +__linuxN(sysctl_osname)(SYSCTL_HANDLER_ARGS) { char osname[LINUX_MAX_UTSNAME]; int error; @@ -166,13 +166,13 @@ linux_sysctl_osname(SYSCTL_HANDLER_ARGS) return (error); } -SYSCTL_PROC(_compat_linux, OID_AUTO, osname, +SYSCTL_PROC(LINUX_COMPAT_OID, OID_AUTO, osname, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, - 0, 0, linux_sysctl_osname, "A", + 0, 0, __linuxN(sysctl_osname), "A", "Linux kernel OS name"); static int -linux_sysctl_osrelease(SYSCTL_HANDLER_ARGS) +__linuxN(sysctl_osrelease)(SYSCTL_HANDLER_ARGS) { char osrelease[LINUX_MAX_UTSNAME]; int error; @@ -193,13 +193,13 @@ linux_sysctl_osrelease(SYSCTL_HANDLER_AR return (error); } -SYSCTL_PROC(_compat_linux, OID_AUTO, osrelease, +SYSCTL_PROC(LINUX_COMPAT_OID, OID_AUTO, osrelease, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, - 0, 0, linux_sysctl_osrelease, "A", + 0, 0, __linuxN(sysctl_osrelease), "A", "Linux kernel OS release"); static int -linux_sysctl_oss_version(SYSCTL_HANDLER_ARGS) +__linuxN(sysctl_oss_version)(SYSCTL_HANDLER_ARGS) { int oss_version; int error; @@ -220,9 +220,9 @@ linux_sysctl_oss_version(SYSCTL_HANDLER_ return (error); } -SYSCTL_PROC(_compat_linux, OID_AUTO, oss_version, +SYSCTL_PROC(LINUX_COMPAT_OID, OID_AUTO, oss_version, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, - 0, 0, linux_sysctl_oss_version, "I", + 0, 0, __linuxN(sysctl_oss_version), "I", "Linux OSS version"); /* @@ -543,6 +543,15 @@ linux_prison_set(void *obj, void *data) return (0); } +#if defined(__amd64__) && !defined(COMPAT_LINUX32) +SYSCTL_JAIL_PARAM_SYS_NODE(linux64, CTLFLAG_RW, "Jail Linux parameters"); +SYSCTL_JAIL_PARAM_STRING(_linux64, osname, CTLFLAG_RW, LINUX_MAX_UTSNAME, + "Jail Linux kernel OS name"); +SYSCTL_JAIL_PARAM_STRING(_linux64, osrelease, CTLFLAG_RW, LINUX_MAX_UTSNAME, + "Jail Linux kernel OS release"); +SYSCTL_JAIL_PARAM(_linux64, oss_version, CTLTYPE_INT | CTLFLAG_RW, + "I", "Jail Linux OSS version"); +#else SYSCTL_JAIL_PARAM_SYS_NODE(linux, CTLFLAG_RW, "Jail Linux parameters"); SYSCTL_JAIL_PARAM_STRING(_linux, osname, CTLFLAG_RW, LINUX_MAX_UTSNAME, "Jail Linux kernel OS name"); @@ -550,6 +559,7 @@ SYSCTL_JAIL_PARAM_STRING(_linux, osrelea "Jail Linux kernel OS release"); SYSCTL_JAIL_PARAM(_linux, oss_version, CTLTYPE_INT | CTLFLAG_RW, "I", "Jail Linux OSS version"); +#endif static int linux_prison_get(void *obj, void *data) @@ -828,7 +838,7 @@ linux_debug(int syscall, int toggle, int */ #define LINUX_MAX_DEBUGSTR 16 static int -linux_sysctl_debug(SYSCTL_HANDLER_ARGS) +__linuxN(sysctl_debug)(SYSCTL_HANDLER_ARGS) { char value[LINUX_MAX_DEBUGSTR], *p; int error, sysc, toggle; @@ -850,9 +860,9 @@ linux_sysctl_debug(SYSCTL_HANDLER_ARGS) return (error); } -SYSCTL_PROC(_compat_linux, OID_AUTO, debug, +SYSCTL_PROC(LINUX_COMPAT_OID, OID_AUTO, debug, CTLTYPE_STRING | CTLFLAG_RW, - 0, 0, linux_sysctl_debug, "A", + 0, 0, __linuxN(sysctl_debug), "A", "Linux debugging control"); #endif /* DEBUG || KTR */ Modified: user/dchagin/lemul/sys/compat/linux/linux_mib.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_mib.h Fri May 10 06:45:27 2013 (r250439) +++ user/dchagin/lemul/sys/compat/linux/linux_mib.h Fri May 10 06:46:52 2013 (r250440) @@ -58,4 +58,12 @@ int linux_kernver(struct thread *td); #define linux_use26(t) (linux_kernver(t) >= LINUX_KERNVER_2006000) +#if defined(__amd64__) && !defined(COMPAT_LINUX32) +#define LINUX_OID linux64 +#else +#define LINUX_OID linux +#endif +#define __linuxN(x) __CONCAT(__CONCAT(LINUX_OID,_),x) +#define LINUX_COMPAT_OID __CONCAT(_compat_,LINUX_OID) + #endif /* _LINUX_MIB_H_ */ From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:05:58 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 12ED9D4F; Fri, 10 May 2013 11:05:58 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E8D57195; Fri, 10 May 2013 11:05:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4AB5vYc036015; Fri, 10 May 2013 11:05:57 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4AB5viP036008; Fri, 10 May 2013 11:05:57 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101105.r4AB5viP036008@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:05:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250445 - in user/dchagin/lemul/sys: amd64/linux modules/linux64 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:05:58 -0000 Author: dchagin Date: Fri May 10 11:05:56 2013 New Revision: 250445 URL: http://svnweb.freebsd.org/changeset/base/250445 Log: Add preliminary support for x86-64 Linux binaries. Added: user/dchagin/lemul/sys/amd64/linux/ user/dchagin/lemul/sys/amd64/linux/Makefile (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux.h (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_dummy.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_genassym.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_ipc64.h (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_locore.s (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_machdep.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_support.s (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_sysvec.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_vdso.lds.s (contents, props changed) user/dchagin/lemul/sys/amd64/linux/syscalls.conf (contents, props changed) user/dchagin/lemul/sys/amd64/linux/syscalls.master user/dchagin/lemul/sys/modules/linux64/ user/dchagin/lemul/sys/modules/linux64/Makefile (contents, props changed) Added: user/dchagin/lemul/sys/amd64/linux/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/Makefile Fri May 10 11:05:56 2013 (r250445) @@ -0,0 +1,17 @@ +# Makefile for syscall tables +# +# $FreeBSD$ + +all: + @echo "make sysent only" + +sysent: linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c + +linux_sysent.c linux_syscall.h linux_proto.h linux_syscalls.c linux_systrace_args.c: \ + ../../kern/makesyscalls.sh syscalls.master syscalls.conf + -mv -f linux_sysent.c linux_sysent.c.bak + -mv -f linux_syscall.h linux_syscall.h.bak + -mv -f linux_proto.h linux_proto.h.bak + -mv -f linux_syscalls.c linux_syscalls.c.bak + -mv -f linux_systrace_args.c linux_systrace_args.c.bak + sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf Added: user/dchagin/lemul/sys/amd64/linux/linux.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/linux.h Fri May 10 11:05:56 2013 (r250445) @@ -0,0 +1,668 @@ +/*- + * Copyright (c) 2013 Dmitry Chagin + * Copyright (c) 2004 Tim J. Robbins + * Copyright (c) 2001 Doug Rabson + * Copyright (c) 1994-1996 Søren Schmidt + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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$ + */ + +#ifndef _AMD64_LINUX_H_ +#define _AMD64_LINUX_H_ + +#include + +/* + * debugging support + */ +extern u_char linux_debug_map[]; +#define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) +#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid +#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid +#define LINUX_DTRACE linuxulator + +#ifdef MALLOC_DECLARE +MALLOC_DECLARE(M_LINUX); +#endif + +#define PTRIN(v) (void *)(v) +#define PTROUT(v) (uintptr_t)(v) + +/* + * Provide a separate set of types for the Linux types. + */ +typedef int32_t l_int; +typedef int64_t l_long; +typedef int16_t l_short; +typedef uint32_t l_uint; +typedef uint64_t l_ulong; +typedef uint16_t l_ushort; + +typedef l_ulong l_uintptr_t; +typedef l_long l_clock_t; +typedef l_int l_daddr_t; +typedef l_ulong l_dev_t; +typedef l_uint l_gid_t; +typedef l_uint l_uid_t; +typedef l_ulong l_ino_t; +typedef l_int l_key_t; +typedef l_long l_loff_t; +typedef l_uint l_mode_t; +typedef l_long l_off_t; +typedef l_int l_pid_t; +typedef l_ulong l_size_t; +typedef l_long l_ssize_t; +typedef l_long l_suseconds_t; +typedef l_long l_time_t; +typedef l_int l_timer_t; +typedef l_int l_mqd_t; +typedef l_size_t l_socklen_t; + +typedef struct { + l_int val[2]; +} l_fsid_t; + +typedef struct { + l_time_t tv_sec; + l_suseconds_t tv_usec; +} l_timeval; + +#define l_fd_set fd_set + +/* + * Miscellaneous + */ +#define LINUX_NAME_MAX 255 +#define LINUX_CTL_MAXNAME 10 + +#define LINUX_AT_COUNT 17 /* Count of used aux entry types. */ + +struct l___sysctl_args +{ + l_uintptr_t name; + l_int nlen; + l_uintptr_t oldval; + l_uintptr_t oldlenp; + l_uintptr_t newval; + l_size_t newlen; + l_ulong __spare[4]; +}; + +/* Scheduling policies */ +#define LINUX_SCHED_OTHER 0 +#define LINUX_SCHED_FIFO 1 +#define LINUX_SCHED_RR 2 + +/* Resource limits */ +#define LINUX_RLIMIT_CPU 0 +#define LINUX_RLIMIT_FSIZE 1 +#define LINUX_RLIMIT_DATA 2 +#define LINUX_RLIMIT_STACK 3 +#define LINUX_RLIMIT_CORE 4 +#define LINUX_RLIMIT_RSS 5 +#define LINUX_RLIMIT_NPROC 6 +#define LINUX_RLIMIT_NOFILE 7 +#define LINUX_RLIMIT_MEMLOCK 8 +#define LINUX_RLIMIT_AS 9 /* Address space limit */ + +#define LINUX_RLIM_NLIMITS 10 + +struct l_rlimit { + l_ulong rlim_cur; + l_ulong rlim_max; +}; + +/* mmap options */ +#define LINUX_MAP_SHARED 0x0001 +#define LINUX_MAP_PRIVATE 0x0002 +#define LINUX_MAP_FIXED 0x0010 +#define LINUX_MAP_ANON 0x0020 +#define LINUX_MAP_GROWSDOWN 0x0100 + +/* + * stat family of syscalls + */ +struct l_timespec { + l_time_t tv_sec; + l_long tv_nsec; +}; + +struct l_newstat { + l_dev_t st_dev; + l_ino_t st_ino; + l_ulong st_nlink; + l_uint st_mode; + l_uid_t st_uid; + l_gid_t st_gid; + l_uint __st_pad1; + l_dev_t st_rdev; + l_off_t st_size; + l_long st_blksize; + l_long st_blocks; + struct l_timespec st_atim; + struct l_timespec st_mtim; + struct l_timespec st_ctim; + l_long __unused1; + l_long __unused2; + l_long __unused3; +}; + +/* + * Signalling + */ +#define LINUX_SIGHUP 1 +#define LINUX_SIGINT 2 +#define LINUX_SIGQUIT 3 +#define LINUX_SIGILL 4 +#define LINUX_SIGTRAP 5 +#define LINUX_SIGABRT 6 +#define LINUX_SIGIOT LINUX_SIGABRT +#define LINUX_SIGBUS 7 +#define LINUX_SIGFPE 8 +#define LINUX_SIGKILL 9 +#define LINUX_SIGUSR1 10 +#define LINUX_SIGSEGV 11 +#define LINUX_SIGUSR2 12 +#define LINUX_SIGPIPE 13 +#define LINUX_SIGALRM 14 +#define LINUX_SIGTERM 15 +#define LINUX_SIGSTKFLT 16 +#define LINUX_SIGCHLD 17 +#define LINUX_SIGCONT 18 +#define LINUX_SIGSTOP 19 +#define LINUX_SIGTSTP 20 +#define LINUX_SIGTTIN 21 +#define LINUX_SIGTTOU 22 +#define LINUX_SIGURG 23 +#define LINUX_SIGXCPU 24 +#define LINUX_SIGXFSZ 25 +#define LINUX_SIGVTALRM 26 +#define LINUX_SIGPROF 27 +#define LINUX_SIGWINCH 28 +#define LINUX_SIGIO 29 +#define LINUX_SIGPOLL LINUX_SIGIO +#define LINUX_SIGPWR 30 +#define LINUX_SIGSYS 31 +#define LINUX_SIGRTMIN 32 + +#define LINUX_SIGTBLSZ 31 +#define LINUX_NSIG 64 +#define LINUX_NBPW 64 +#define LINUX_NSIG_WORDS (LINUX_NSIG / LINUX_NBPW) + +/* sigaction flags */ +#define LINUX_SA_NOCLDSTOP 0x00000001 +#define LINUX_SA_NOCLDWAIT 0x00000002 +#define LINUX_SA_SIGINFO 0x00000004 +#define LINUX_SA_RESTORER 0x04000000 +#define LINUX_SA_ONSTACK 0x08000000 +#define LINUX_SA_RESTART 0x10000000 +#define LINUX_SA_INTERRUPT 0x20000000 +#define LINUX_SA_NOMASK 0x40000000 +#define LINUX_SA_ONESHOT 0x80000000 + +/* sigprocmask actions */ +#define LINUX_SIG_BLOCK 0 +#define LINUX_SIG_UNBLOCK 1 +#define LINUX_SIG_SETMASK 2 + +/* primitives to manipulate sigset_t */ + +#define LINUX_SIGEMPTYSET(set) \ + do { \ + (set).__bits[0] = 0; \ + } while(0) + +#define LINUX_SIGISMEMBER(set, sig) \ + (1UL & ((set).__bits[0] >> _SIG_IDX(sig))) + +#define LINUX_SIGADDSET(set, sig) \ + (set).__bits[0] = 1UL << _SIG_IDX(sig) + +/* sigaltstack */ +#define LINUX_MINSIGSTKSZ 2048 +#define LINUX_SS_ONSTACK 1 +#define LINUX_SS_DISABLE 2 + +int linux_to_bsd_sigaltstack(int lsa); +int bsd_to_linux_sigaltstack(int bsa); + +typedef void (*l_handler_t)(l_int); + +typedef struct { + l_ulong __bits[LINUX_NSIG_WORDS]; +} l_sigset_t; + +typedef struct { + l_handler_t lsa_handler; + l_ulong lsa_flags; + l_uintptr_t lsa_restorer; + l_sigset_t lsa_mask; +} l_sigaction_t; + +typedef struct { + l_uintptr_t ss_sp; + l_int ss_flags; + l_size_t ss_size; +} l_stack_t; + +struct l_fpstate { + u_int16_t cwd; + u_int16_t swd; + u_int16_t twd; + u_int16_t fop; + u_int64_t rip; + u_int64_t rdp; + u_int32_t mxcsr; + u_int32_t mxcsr_mask; + u_int32_t st_space[32]; + u_int32_t xmm_space[64]; + u_int32_t reserved2[24]; +}; + +struct l_sigcontext { + l_ulong sc_r8; + l_ulong sc_r9; + l_ulong sc_r10; + l_ulong sc_r11; + l_ulong sc_r12; + l_ulong sc_r13; + l_ulong sc_r14; + l_ulong sc_r15; + l_ulong sc_rdi; + l_ulong sc_rsi; + l_ulong sc_rbp; + l_ulong sc_rbx; + l_ulong sc_rdx; + l_ulong sc_rax; + l_ulong sc_rcx; + l_ulong sc_rsp; + l_ulong sc_rip; + l_ulong sc_rflags; + l_ushort sc_cs; + l_ushort sc_gs; + l_ushort sc_fs; + l_ushort sc___pad0; + l_ulong sc_err; + l_ulong sc_trapno; + l_sigset_t sc_mask; + l_ulong sc_cr2; + struct l_fpstate *sc_fpstate; + l_ulong sc_reserved1[8]; +}; + +struct l_ucontext { + l_ulong uc_flags; + l_uintptr_t uc_link; + l_stack_t uc_stack; + struct l_sigcontext uc_mcontext; + l_sigset_t uc_sigmask; +}; + +#define LINUX_SI_PREAMBLE_SIZE (4 * sizeof(int)) +#define LINUX_SI_MAX_SIZE 128 +#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE - \ + LINUX_SI_PREAMBLE_SIZE) / sizeof(l_int)) +union l_sigval { + l_int sival_int; + l_uintptr_t sival_ptr; +}; + +typedef struct l_siginfo { + l_int lsi_signo; + l_int lsi_errno; + l_int lsi_code; + union { + l_int _pad[LINUX_SI_PAD_SIZE]; + + struct { + l_pid_t _pid; + l_uid_t _uid; + } _kill; + + struct { + l_timer_t _tid; + l_int _overrun; + char _pad[sizeof(l_uid_t) - sizeof(int)]; + union l_sigval _sigval; + l_uint _sys_private; + } _timer; + + struct { + l_pid_t _pid; /* sender's pid */ + l_uid_t _uid; /* sender's uid */ + union l_sigval _sigval; + } _rt; + + struct { + l_pid_t _pid; /* which child */ + l_uid_t _uid; /* sender's uid */ + l_int _status; /* exit code */ + l_clock_t _utime; + l_clock_t _stime; + } _sigchld; + + struct { + l_uintptr_t _addr; /* Faulting insn/memory ref. */ + } _sigfault; + + struct { + l_long _band; /* POLL_IN,POLL_OUT,POLL_MSG */ + l_int _fd; + } _sigpoll; + } _sifields; +} l_siginfo_t; + +#define lsi_pid _sifields._kill._pid +#define lsi_uid _sifields._kill._uid +#define lsi_tid _sifields._timer._tid +#define lsi_overrun _sifields._timer._overrun +#define lsi_sys_private _sifields._timer._sys_private +#define lsi_status _sifields._sigchld._status +#define lsi_utime _sifields._sigchld._utime +#define lsi_stime _sifields._sigchld._stime +#define lsi_value _sifields._rt._sigval +#define lsi_int _sifields._rt._sigval.sival_int +#define lsi_ptr _sifields._rt._sigval.sival_ptr +#define lsi_addr _sifields._sigfault._addr +#define lsi_band _sifields._sigpoll._band +#define lsi_fd _sifields._sigpoll._fd + +/* + * We make the stack look like Linux expects it when calling a signal + * handler, but use the BSD way of calling the handler and sigreturn(). + * This means that we need to pass the pointer to the handler too. + * It is appended to the frame to not interfere with the rest of it. + */ + +struct l_rt_sigframe { + struct l_ucontext sf_sc; + struct l_siginfo sf_si; + l_handler_t sf_handler; +}; + +/* + * open/fcntl flags + */ +#define LINUX_O_RDONLY 00000000 +#define LINUX_O_WRONLY 00000001 +#define LINUX_O_RDWR 00000002 +#define LINUX_O_ACCMODE 00000003 +#define LINUX_O_CREAT 00000100 +#define LINUX_O_EXCL 00000200 +#define LINUX_O_NOCTTY 00000400 +#define LINUX_O_TRUNC 00001000 +#define LINUX_O_APPEND 00002000 +#define LINUX_O_NONBLOCK 00004000 +#define LINUX_O_NDELAY LINUX_O_NONBLOCK +#define LINUX_O_SYNC 00010000 +#define LINUX_FASYNC 00020000 +#define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ +#define LINUX_O_LARGEFILE 00100000 +#define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ +#define LINUX_O_NOFOLLOW 00400000 /* Do not follow links */ +#define LINUX_O_NOATIME 01000000 +#define LINUX_O_CLOEXEC 02000000 + +#define LINUX_F_DUPFD 0 +#define LINUX_F_GETFD 1 +#define LINUX_F_SETFD 2 +#define LINUX_F_GETFL 3 +#define LINUX_F_SETFL 4 +#define LINUX_F_GETLK 5 +#define LINUX_F_SETLK 6 +#define LINUX_F_SETLKW 7 +#define LINUX_F_SETOWN 8 +#define LINUX_F_GETOWN 9 + +#define LINUX_F_RDLCK 0 +#define LINUX_F_WRLCK 1 +#define LINUX_F_UNLCK 2 + +/* + * mount flags + */ +#define LINUX_MS_RDONLY 0x0001 +#define LINUX_MS_NOSUID 0x0002 +#define LINUX_MS_NODEV 0x0004 +#define LINUX_MS_NOEXEC 0x0008 +#define LINUX_MS_REMOUNT 0x0020 + +/* + * SystemV IPC defines + */ +#define LINUX_IPC_RMID 0 +#define LINUX_IPC_SET 1 +#define LINUX_IPC_STAT 2 +#define LINUX_IPC_INFO 3 + +#define LINUX_SHM_LOCK 11 +#define LINUX_SHM_UNLOCK 12 +#define LINUX_SHM_STAT 13 +#define LINUX_SHM_INFO 14 + +#define LINUX_SHM_RDONLY 0x1000 +#define LINUX_SHM_RND 0x2000 +#define LINUX_SHM_REMAP 0x4000 + +/* semctl commands */ +#define LINUX_GETPID 11 +#define LINUX_GETVAL 12 +#define LINUX_GETALL 13 +#define LINUX_GETNCNT 14 +#define LINUX_GETZCNT 15 +#define LINUX_SETVAL 16 +#define LINUX_SETALL 17 +#define LINUX_SEM_STAT 18 +#define LINUX_SEM_INFO 19 + +union l_semun { + l_int val; + l_uintptr_t buf; + l_uintptr_t array; + l_uintptr_t __buf; + l_uintptr_t __pad; +}; + +struct l_ipc_perm { + l_key_t key; + l_uid_t uid; + l_gid_t gid; + l_uid_t cuid; + l_gid_t cgid; + l_ushort mode; + l_ushort seq; +}; + +/* + * Socket defines + */ + +#define LINUX_SOL_SOCKET 1 +#define LINUX_SOL_IP 0 +#define LINUX_SOL_IPX 256 +#define LINUX_SOL_AX25 257 +#define LINUX_SOL_TCP 6 +#define LINUX_SOL_UDP 17 + +#define LINUX_SO_DEBUG 1 +#define LINUX_SO_REUSEADDR 2 +#define LINUX_SO_TYPE 3 +#define LINUX_SO_ERROR 4 +#define LINUX_SO_DONTROUTE 5 +#define LINUX_SO_BROADCAST 6 +#define LINUX_SO_SNDBUF 7 +#define LINUX_SO_RCVBUF 8 +#define LINUX_SO_KEEPALIVE 9 +#define LINUX_SO_OOBINLINE 10 +#define LINUX_SO_NO_CHECK 11 +#define LINUX_SO_PRIORITY 12 +#define LINUX_SO_LINGER 13 +#define LINUX_SO_PASSCRED 16 +#define LINUX_SO_PEERCRED 17 +#define LINUX_SO_RCVLOWAT 18 +#define LINUX_SO_SNDLOWAT 19 +#define LINUX_SO_RCVTIMEO 20 +#define LINUX_SO_SNDTIMEO 21 +#define LINUX_SO_TIMESTAMP 29 +#define LINUX_SO_ACCEPTCONN 30 + +#define LINUX_IP_TOS 1 +#define LINUX_IP_TTL 2 +#define LINUX_IP_HDRINCL 3 +#define LINUX_IP_OPTIONS 4 + +#define LINUX_IP_MULTICAST_IF 32 +#define LINUX_IP_MULTICAST_TTL 33 +#define LINUX_IP_MULTICAST_LOOP 34 +#define LINUX_IP_ADD_MEMBERSHIP 35 +#define LINUX_IP_DROP_MEMBERSHIP 36 + +struct l_sockaddr { + l_ushort sa_family; + char sa_data[14]; +}; + +struct l_msghdr { + l_uintptr_t msg_name; + l_int msg_namelen; + l_uintptr_t msg_iov; + l_size_t msg_iovlen; + l_uintptr_t msg_control; + l_size_t msg_controllen; + l_uint msg_flags; +}; + +struct l_cmsghdr { + l_size_t cmsg_len; + l_int cmsg_level; + l_int cmsg_type; +}; + +struct l_ifmap { + l_ulong mem_start; + l_ulong mem_end; + l_ushort base_addr; + u_char irq; + u_char dma; + u_char port; +} __packed; + +#define LINUX_IFHWADDRLEN 6 +#define LINUX_IFNAMSIZ 16 + +struct l_ifreq { + union { + char ifrn_name[LINUX_IFNAMSIZ]; + } ifr_ifrn; + + union { + struct l_sockaddr ifru_addr; + struct l_sockaddr ifru_dstaddr; + struct l_sockaddr ifru_broadaddr; + struct l_sockaddr ifru_netmask; + struct l_sockaddr ifru_hwaddr; + l_short ifru_flags[1]; + l_int ifru_metric; + l_int ifru_mtu; + struct l_ifmap ifru_map; + char ifru_slave[LINUX_IFNAMSIZ]; + l_uintptr_t ifru_data; + } ifr_ifru; +} __packed; + +#define ifr_name ifr_ifrn.ifrn_name /* Interface name */ +#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ + +struct l_ifconf { + int ifc_len; + union { + l_uintptr_t ifcu_buf; + l_uintptr_t ifcu_req; + } ifc_ifcu; +}; + +#define ifc_buf ifc_ifcu.ifcu_buf +#define ifc_req ifc_ifcu.ifcu_req + +/* + * poll() + */ +#define LINUX_POLLIN 0x0001 +#define LINUX_POLLPRI 0x0002 +#define LINUX_POLLOUT 0x0004 +#define LINUX_POLLERR 0x0008 +#define LINUX_POLLHUP 0x0010 +#define LINUX_POLLNVAL 0x0020 +#define LINUX_POLLRDNORM 0x0040 +#define LINUX_POLLRDBAND 0x0080 +#define LINUX_POLLWRNORM 0x0100 +#define LINUX_POLLWRBAND 0x0200 +#define LINUX_POLLMSG 0x0400 + +struct l_pollfd { + l_int fd; + l_short events; + l_short revents; +}; + +#define LINUX_CLOCK_REALTIME 0 +#define LINUX_CLOCK_MONOTONIC 1 +#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2 +#define LINUX_CLOCK_THREAD_CPUTIME_ID 3 +#define LINUX_CLOCK_REALTIME_HR 4 +#define LINUX_CLOCK_MONOTONIC_HR 5 + + +#define LINUX_CLONE_VM 0x00000100 +#define LINUX_CLONE_FS 0x00000200 +#define LINUX_CLONE_FILES 0x00000400 +#define LINUX_CLONE_SIGHAND 0x00000800 +#define LINUX_CLONE_PID 0x00001000 /* No longer exist in Linux */ +#define LINUX_CLONE_VFORK 0x00004000 +#define LINUX_CLONE_PARENT 0x00008000 +#define LINUX_CLONE_THREAD 0x00010000 +#define LINUX_CLONE_SETTLS 0x00080000 +#define LINUX_CLONE_PARENT_SETTID 0x00100000 +#define LINUX_CLONE_CHILD_CLEARTID 0x00200000 +#define LINUX_CLONE_CHILD_SETTID 0x01000000 + +#define LINUX_ARCH_SET_GS 0x1001 +#define LINUX_ARCH_SET_FS 0x1002 +#define LINUX_ARCH_GET_GS 0x1003 +#define LINUX_ARCH_GET_FS 0x1004 + +/* robust futexes */ +struct linux_robust_list { + l_uintptr_t next; +}; + +struct linux_robust_list_head { + struct linux_robust_list list; + l_long futex_offset; + l_uintptr_t pending_list; +}; + +#endif /* !_AMD64_LINUX_H_ */ Added: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Fri May 10 11:05:56 2013 (r250445) @@ -0,0 +1,156 @@ +/*- + * Copyright (c) 2013 Dmitry Chagin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_compat.h" +#include "opt_kdtrace.h" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +DUMMY(mincore); +DUMMY(sendfile); +DUMMY(ptrace); +DUMMY(syslog); +DUMMY(setfsuid); +DUMMY(setfsgid); +DUMMY(sysfs); +DUMMY(vhangup); +DUMMY(pivot_root); +DUMMY(adjtimex); +DUMMY(swapoff); +DUMMY(create_module); +DUMMY(init_module); +DUMMY(delete_module); +DUMMY(get_kernel_syms); +DUMMY(query_module); +DUMMY(quotactl); +DUMMY(nfsservctl); +DUMMY(getpmsg); +DUMMY(putpmsg); +DUMMY(afs_syscall); +DUMMY(tuxcall); +DUMMY(security); +DUMMY(set_thread_area); +DUMMY(lookup_dcookie); +DUMMY(epoll_create); +DUMMY(epoll_ctl_old); +DUMMY(epoll_wait_old); +DUMMY(remap_file_pages); +DUMMY(semtimedop); +DUMMY(timer_create); +DUMMY(timer_settime); +DUMMY(timer_gettime); +DUMMY(timer_getoverrun); +DUMMY(timer_delete); +DUMMY(epoll_ctl); +DUMMY(epoll_wait); +DUMMY(mbind); +DUMMY(get_mempolicy); +DUMMY(set_mempolicy); +DUMMY(mq_open); +DUMMY(mq_unlink); +DUMMY(mq_timedsend); +DUMMY(mq_timedreceive); +DUMMY(mq_notify); +DUMMY(mq_getsetattr); +DUMMY(kexec_load); +DUMMY(add_key); +DUMMY(request_key); +DUMMY(keyctl); +DUMMY(ioprio_set); +DUMMY(ioprio_get); +DUMMY(inotify_init); +DUMMY(inotify_add_watch); +DUMMY(inotify_rm_watch); +DUMMY(migrate_pages); +DUMMY(ppoll); +DUMMY(unshare); +DUMMY(splice); +DUMMY(tee); +DUMMY(sync_file_range); +DUMMY(vmsplice); +DUMMY(move_pages); +DUMMY(utimensat); +DUMMY(epoll_pwait); +DUMMY(signalfd); +DUMMY(timerfd); +DUMMY(eventfd); +DUMMY(fallocate); +DUMMY(timerfd_settime); +DUMMY(timerfd_gettime); +DUMMY(signalfd4); +DUMMY(eventfd2); +DUMMY(epoll_create1); +DUMMY(inotify_init1); +DUMMY(preadv); +DUMMY(pwritev); +DUMMY(rt_tsigqueueinfo); +DUMMY(perf_event_open); +DUMMY(recvmmsg); +DUMMY(fanotify_init); +DUMMY(fanotify_mark); +DUMMY(name_to_handle_at); +DUMMY(open_by_handle_at); +DUMMY(clock_adjtime); +DUMMY(syncfs); +DUMMY(sendmmsg); +DUMMY(setns); +DUMMY(process_vm_readv); +DUMMY(process_vm_writev); +DUMMY(kcmp); +DUMMY(finit_module); + +#define DUMMY_XATTR(s) \ +int \ +linux_ ## s ## xattr( \ + struct thread *td, struct linux_ ## s ## xattr_args *arg) \ +{ \ + \ + return (ENOATTR); \ +} +DUMMY_XATTR(set); +DUMMY_XATTR(lset); +DUMMY_XATTR(fset); +DUMMY_XATTR(get); +DUMMY_XATTR(lget); +DUMMY_XATTR(fget); +DUMMY_XATTR(list); +DUMMY_XATTR(llist); +DUMMY_XATTR(flist); +DUMMY_XATTR(remove); +DUMMY_XATTR(lremove); +DUMMY_XATTR(fremove); Added: user/dchagin/lemul/sys/amd64/linux/linux_genassym.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/linux_genassym.c Fri May 10 11:05:56 2013 (r250445) @@ -0,0 +1,15 @@ +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include +#include + +ASSYM(LINUX_RT_SIGF_HANDLER, offsetof(struct l_rt_sigframe, sf_handler)); +ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc)); +ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext)); +ASSYM(LINUX_VERSION_CODE, LINUX_VERSION_CODE); +ASSYM(LINUX_SC_RSP, offsetof(struct l_sigcontext, sc_rsp)); Added: user/dchagin/lemul/sys/amd64/linux/linux_ipc64.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/linux_ipc64.h Fri May 10 11:05:56 2013 (r250445) @@ -0,0 +1,142 @@ +/*- + * Copyright (c) 2002 Maxim Sobolev + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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$ + */ + +#ifndef _AMD64_LINUX_LINUX_IPC64_H_ +#define _AMD64_LINUX_LINUX_IPC64_H_ + +/* + * The ipc64_perm structure for i386 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 32-bit mode_t and seq + * - 2 miscellaneous 32-bit values + */ + +struct l_ipc64_perm +{ + l_key_t key; + l_uid_t uid; + l_gid_t gid; + l_uid_t cuid; + l_gid_t cgid; + l_mode_t mode; + l_ushort __pad1; + l_ushort seq; + l_ushort __pad2; + l_ulong __unused1; + l_ulong __unused2; +}; + +/* + * The msqid64_ds structure for i386 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 64-bit time_t to solve y2038 problem + * - 2 miscellaneous 32-bit values + */ + +struct l_msqid64_ds { + struct l_ipc64_perm msg_perm; + l_time_t msg_stime; /* last msgsnd time */ + l_ulong __unused1; + l_time_t msg_rtime; /* last msgrcv time */ + l_ulong __unused2; + l_time_t msg_ctime; /* last change time */ + l_ulong __unused3; + l_ulong msg_cbytes; /* current number of bytes on queue */ + l_ulong msg_qnum; /* number of messages in queue */ + l_ulong msg_qbytes; /* max number of bytes on queue */ + l_pid_t msg_lspid; /* pid of last msgsnd */ + l_pid_t msg_lrpid; /* last receive pid */ + l_ulong __unused4; + l_ulong __unused5; +}; + +/* + * The semid64_ds structure for i386 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 64-bit time_t to solve y2038 problem + * - 2 miscellaneous 32-bit values + */ + +struct l_semid64_ds { + struct l_ipc64_perm sem_perm; /* permissions */ + l_time_t sem_otime; /* last semop time */ + l_ulong __unused1; + l_time_t sem_ctime; /* last change time */ + l_ulong __unused2; + l_ulong sem_nsems; /* no. of semaphores in array */ + l_ulong __unused3; + l_ulong __unused4; +}; + +/* + * The shmid64_ds structure for i386 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 64-bit time_t to solve y2038 problem + * - 2 miscellaneous 32-bit values + */ + +struct l_shmid64_ds { + struct l_ipc64_perm shm_perm; /* operation perms */ + l_size_t shm_segsz; /* size of segment (bytes) */ + l_time_t shm_atime; /* last attach time */ + l_time_t shm_dtime; /* last detach time */ + l_time_t shm_ctime; /* last change time */ + l_pid_t shm_cpid; /* pid of creator */ + l_pid_t shm_lpid; /* pid of last operator */ + l_ulong shm_nattch; /* no. of current attaches */ + l_ulong __unused4; + l_ulong __unused5; +}; + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:08:47 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 31A08FF2; Fri, 10 May 2013 11:08:47 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 241931B1; Fri, 10 May 2013 11:08:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4AB8lVr036736; Fri, 10 May 2013 11:08:47 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4AB8ldf036734; Fri, 10 May 2013 11:08:47 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101108.r4AB8ldf036734@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:08:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250446 - user/dchagin/lemul/sys/amd64/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:08:47 -0000 Author: dchagin Date: Fri May 10 11:08:46 2013 New Revision: 250446 URL: http://svnweb.freebsd.org/changeset/base/250446 Log: Generate system call table for 64-bit linuxulator. Added: user/dchagin/lemul/sys/amd64/linux/linux_proto.h (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_syscall.h (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_syscalls.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_sysent.c (contents, props changed) user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c (contents, props changed) Added: user/dchagin/lemul/sys/amd64/linux/linux_proto.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/amd64/linux/linux_proto.h Fri May 10 11:08:46 2013 (r250446) @@ -0,0 +1,1629 @@ +/* + * System call prototypes. + * + * DO NOT EDIT-- this file is automatically generated. + * $FreeBSD$ + * created from FreeBSD + */ + +#ifndef _LINUX_SYSPROTO_H_ +#define _LINUX_SYSPROTO_H_ + +#include +#include +#include +#include +#include +#include + +#include + +struct proc; + +struct thread; + +#define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \ + 0 : sizeof(register_t) - sizeof(t)) + +#if BYTE_ORDER == LITTLE_ENDIAN +#define PADL_(t) 0 +#define PADR_(t) PAD_(t) +#else +#define PADL_(t) PAD_(t) +#define PADR_(t) 0 +#endif + +#define nosys linux_nosys +struct linux_open_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; +}; +struct linux_newstat_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_newstat *)]; struct l_newstat * buf; char buf_r_[PADR_(struct l_newstat *)]; +}; +struct linux_newfstat_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char buf_l_[PADL_(struct l_newstat *)]; struct l_newstat * buf; char buf_r_[PADR_(struct l_newstat *)]; +}; +struct linux_newlstat_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_newstat *)]; struct l_newstat * buf; char buf_r_[PADR_(struct l_newstat *)]; +}; +struct linux_lseek_args { + char fdes_l_[PADL_(l_uint)]; l_uint fdes; char fdes_r_[PADR_(l_uint)]; + char off_l_[PADL_(l_off_t)]; l_off_t off; char off_r_[PADR_(l_off_t)]; + char whence_l_[PADL_(l_int)]; l_int whence; char whence_r_[PADR_(l_int)]; +}; +struct linux_mmap2_args { + char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)]; + char len_l_[PADL_(l_ulong)]; l_ulong len; char len_r_[PADR_(l_ulong)]; + char prot_l_[PADL_(l_ulong)]; l_ulong prot; char prot_r_[PADR_(l_ulong)]; + char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)]; + char fd_l_[PADL_(l_ulong)]; l_ulong fd; char fd_r_[PADR_(l_ulong)]; + char pgoff_l_[PADL_(l_ulong)]; l_ulong pgoff; char pgoff_r_[PADR_(l_ulong)]; +}; +struct linux_mprotect_args { + char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)]; + char len_l_[PADL_(int)]; int len; char len_r_[PADR_(int)]; + char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)]; +}; +struct linux_brk_args { + char dsend_l_[PADL_(l_ulong)]; l_ulong dsend; char dsend_r_[PADR_(l_ulong)]; +}; +struct linux_rt_sigaction_args { + char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)]; + char act_l_[PADL_(l_sigaction_t *)]; l_sigaction_t * act; char act_r_[PADR_(l_sigaction_t *)]; + char oact_l_[PADL_(l_sigaction_t *)]; l_sigaction_t * oact; char oact_r_[PADR_(l_sigaction_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; +}; +struct linux_rt_sigprocmask_args { + char how_l_[PADL_(l_int)]; l_int how; char how_r_[PADR_(l_int)]; + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char omask_l_[PADL_(l_sigset_t *)]; l_sigset_t * omask; char omask_r_[PADR_(l_sigset_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; +}; +struct linux_rt_sigreturn_args { + char ucp_l_[PADL_(struct l_ucontext *)]; struct l_ucontext * ucp; char ucp_r_[PADR_(struct l_ucontext *)]; +}; +struct linux_ioctl_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)]; + char arg_l_[PADL_(uintptr_t)]; uintptr_t arg; char arg_r_[PADR_(uintptr_t)]; +}; +struct linux_pread_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char nbyte_l_[PADL_(l_size_t)]; l_size_t nbyte; char nbyte_r_[PADR_(l_size_t)]; + char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)]; +}; +struct linux_pwrite_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char nbyte_l_[PADL_(l_size_t)]; l_size_t nbyte; char nbyte_r_[PADR_(l_size_t)]; + char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)]; +}; +struct linux_access_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)]; +}; +struct linux_pipe_args { + char pipefds_l_[PADL_(l_ulong *)]; l_ulong * pipefds; char pipefds_r_[PADR_(l_ulong *)]; +}; +struct linux_select_args { + char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)]; + char readfds_l_[PADL_(l_fd_set *)]; l_fd_set * readfds; char readfds_r_[PADR_(l_fd_set *)]; + char writefds_l_[PADL_(l_fd_set *)]; l_fd_set * writefds; char writefds_r_[PADR_(l_fd_set *)]; + char exceptfds_l_[PADL_(l_fd_set *)]; l_fd_set * exceptfds; char exceptfds_r_[PADR_(l_fd_set *)]; + char timeout_l_[PADL_(struct l_timeval *)]; struct l_timeval * timeout; char timeout_r_[PADR_(struct l_timeval *)]; +}; +struct linux_mremap_args { + char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)]; + char old_len_l_[PADL_(l_ulong)]; l_ulong old_len; char old_len_r_[PADR_(l_ulong)]; + char new_len_l_[PADL_(l_ulong)]; l_ulong new_len; char new_len_r_[PADR_(l_ulong)]; + char flags_l_[PADL_(l_ulong)]; l_ulong flags; char flags_r_[PADR_(l_ulong)]; + char new_addr_l_[PADL_(l_ulong)]; l_ulong new_addr; char new_addr_r_[PADR_(l_ulong)]; +}; +struct linux_msync_args { + char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char fl_l_[PADL_(l_int)]; l_int fl; char fl_r_[PADR_(l_int)]; +}; +struct linux_mincore_args { + char start_l_[PADL_(l_ulong)]; l_ulong start; char start_r_[PADR_(l_ulong)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char vec_l_[PADL_(u_char *)]; u_char * vec; char vec_r_[PADR_(u_char *)]; +}; +struct linux_shmget_args { + char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)]; + char size_l_[PADL_(l_size_t)]; l_size_t size; char size_r_[PADR_(l_size_t)]; + char shmflg_l_[PADL_(l_int)]; l_int shmflg; char shmflg_r_[PADR_(l_int)]; +}; +struct linux_shmat_args { + char shmid_l_[PADL_(l_int)]; l_int shmid; char shmid_r_[PADR_(l_int)]; + char shmaddr_l_[PADL_(char *)]; char * shmaddr; char shmaddr_r_[PADR_(char *)]; + char shmflg_l_[PADL_(l_int)]; l_int shmflg; char shmflg_r_[PADR_(l_int)]; +}; +struct linux_shmctl_args { + char shmid_l_[PADL_(l_int)]; l_int shmid; char shmid_r_[PADR_(l_int)]; + char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)]; + char buf_l_[PADL_(struct l_shmid_ds *)]; struct l_shmid_ds * buf; char buf_r_[PADR_(struct l_shmid_ds *)]; +}; +struct linux_pause_args { + register_t dummy; +}; +struct linux_nanosleep_args { + char rqtp_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * rqtp; char rqtp_r_[PADR_(const struct l_timespec *)]; + char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; +}; +struct linux_getitimer_args { + char which_l_[PADL_(l_int)]; l_int which; char which_r_[PADR_(l_int)]; + char itv_l_[PADL_(struct l_itimerval *)]; struct l_itimerval * itv; char itv_r_[PADR_(struct l_itimerval *)]; +}; +struct linux_alarm_args { + char secs_l_[PADL_(l_uint)]; l_uint secs; char secs_r_[PADR_(l_uint)]; +}; +struct linux_setitimer_args { + char which_l_[PADL_(l_int)]; l_int which; char which_r_[PADR_(l_int)]; + char itv_l_[PADL_(struct l_itimerval *)]; struct l_itimerval * itv; char itv_r_[PADR_(struct l_itimerval *)]; + char oitv_l_[PADL_(struct l_itimerval *)]; struct l_itimerval * oitv; char oitv_r_[PADR_(struct l_itimerval *)]; +}; +struct linux_getpid_args { + register_t dummy; +}; +struct linux_sendfile_args { + char out_l_[PADL_(int)]; int out; char out_r_[PADR_(int)]; + char in_l_[PADL_(int)]; int in; char in_r_[PADR_(int)]; + char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)]; + char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)]; +}; +struct linux_socket_args { + char domain_l_[PADL_(l_int)]; l_int domain; char domain_r_[PADR_(l_int)]; + char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)]; + char protocol_l_[PADL_(l_int)]; l_int protocol; char protocol_r_[PADR_(l_int)]; +}; +struct linux_connect_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char name_l_[PADL_(l_uintptr_t)]; l_uintptr_t name; char name_r_[PADR_(l_uintptr_t)]; + char namelen_l_[PADL_(l_int)]; l_int namelen; char namelen_r_[PADR_(l_int)]; +}; +struct linux_accept_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)]; + char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)]; +}; +struct linux_sendto_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)]; + char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char to_l_[PADL_(l_uintptr_t)]; l_uintptr_t to; char to_r_[PADR_(l_uintptr_t)]; + char tolen_l_[PADL_(l_int)]; l_int tolen; char tolen_r_[PADR_(l_int)]; +}; +struct linux_recvfrom_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char buf_l_[PADL_(l_uintptr_t)]; l_uintptr_t buf; char buf_r_[PADR_(l_uintptr_t)]; + char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char from_l_[PADL_(l_uintptr_t)]; l_uintptr_t from; char from_r_[PADR_(l_uintptr_t)]; + char fromlen_l_[PADL_(l_uintptr_t)]; l_uintptr_t fromlen; char fromlen_r_[PADR_(l_uintptr_t)]; +}; +struct linux_sendmsg_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; +}; +struct linux_recvmsg_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(l_uintptr_t)]; l_uintptr_t msg; char msg_r_[PADR_(l_uintptr_t)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; +}; +struct linux_shutdown_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char how_l_[PADL_(l_int)]; l_int how; char how_r_[PADR_(l_int)]; +}; +struct linux_bind_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char name_l_[PADL_(l_uintptr_t)]; l_uintptr_t name; char name_r_[PADR_(l_uintptr_t)]; + char namelen_l_[PADL_(l_int)]; l_int namelen; char namelen_r_[PADR_(l_int)]; +}; +struct linux_listen_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char backlog_l_[PADL_(l_int)]; l_int backlog; char backlog_r_[PADR_(l_int)]; +}; +struct linux_getsockname_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)]; + char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)]; +}; +struct linux_getpeername_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)]; + char namelen_l_[PADL_(l_uintptr_t)]; l_uintptr_t namelen; char namelen_r_[PADR_(l_uintptr_t)]; +}; +struct linux_socketpair_args { + char domain_l_[PADL_(l_int)]; l_int domain; char domain_r_[PADR_(l_int)]; + char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)]; + char protocol_l_[PADL_(l_int)]; l_int protocol; char protocol_r_[PADR_(l_int)]; + char rsv_l_[PADL_(l_uintptr_t)]; l_uintptr_t rsv; char rsv_r_[PADR_(l_uintptr_t)]; +}; +struct linux_setsockopt_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char level_l_[PADL_(l_int)]; l_int level; char level_r_[PADR_(l_int)]; + char optname_l_[PADL_(l_int)]; l_int optname; char optname_r_[PADR_(l_int)]; + char optval_l_[PADL_(l_uintptr_t)]; l_uintptr_t optval; char optval_r_[PADR_(l_uintptr_t)]; + char optlen_l_[PADL_(l_int)]; l_int optlen; char optlen_r_[PADR_(l_int)]; +}; +struct linux_getsockopt_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char level_l_[PADL_(l_int)]; l_int level; char level_r_[PADR_(l_int)]; + char optname_l_[PADL_(l_int)]; l_int optname; char optname_r_[PADR_(l_int)]; + char optval_l_[PADL_(l_uintptr_t)]; l_uintptr_t optval; char optval_r_[PADR_(l_uintptr_t)]; + char optlen_l_[PADL_(l_uintptr_t)]; l_uintptr_t optlen; char optlen_r_[PADR_(l_uintptr_t)]; +}; +struct linux_clone_args { + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)]; + char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)]; + char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)]; + char tls_l_[PADL_(void *)]; void * tls; char tls_r_[PADR_(void *)]; +}; +struct linux_fork_args { + register_t dummy; +}; +struct linux_vfork_args { + register_t dummy; +}; +struct linux_execve_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char argp_l_[PADL_(char **)]; char ** argp; char argp_r_[PADR_(char **)]; + char envp_l_[PADL_(char **)]; char ** envp; char envp_r_[PADR_(char **)]; +}; +struct linux_exit_args { + char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)]; +}; +struct linux_wait4_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char status_l_[PADL_(l_uint *)]; l_uint * status; char status_r_[PADR_(l_uint *)]; + char options_l_[PADL_(l_int)]; l_int options; char options_r_[PADR_(l_int)]; + char rusage_l_[PADL_(struct l_rusage *)]; struct l_rusage * rusage; char rusage_r_[PADR_(struct l_rusage *)]; +}; +struct linux_kill_args { + char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; + char signum_l_[PADL_(l_int)]; l_int signum; char signum_r_[PADR_(l_int)]; +}; +struct linux_newuname_args { + char buf_l_[PADL_(struct l_new_utsname *)]; struct l_new_utsname * buf; char buf_r_[PADR_(struct l_new_utsname *)]; +}; +struct linux_semget_args { + char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)]; + char nsems_l_[PADL_(l_int)]; l_int nsems; char nsems_r_[PADR_(l_int)]; + char semflg_l_[PADL_(l_int)]; l_int semflg; char semflg_r_[PADR_(l_int)]; +}; +struct linux_semop_args { + char semid_l_[PADL_(l_int)]; l_int semid; char semid_r_[PADR_(l_int)]; + char tsops_l_[PADL_(struct l_sembuf *)]; struct l_sembuf * tsops; char tsops_r_[PADR_(struct l_sembuf *)]; + char nsops_l_[PADL_(l_uint)]; l_uint nsops; char nsops_r_[PADR_(l_uint)]; +}; +struct linux_semctl_args { + char semid_l_[PADL_(l_int)]; l_int semid; char semid_r_[PADR_(l_int)]; + char semnum_l_[PADL_(l_int)]; l_int semnum; char semnum_r_[PADR_(l_int)]; + char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)]; + char arg_l_[PADL_(union l_semun)]; union l_semun arg; char arg_r_[PADR_(union l_semun)]; +}; +struct linux_shmdt_args { + char shmaddr_l_[PADL_(char *)]; char * shmaddr; char shmaddr_r_[PADR_(char *)]; +}; +struct linux_msgget_args { + char key_l_[PADL_(l_key_t)]; l_key_t key; char key_r_[PADR_(l_key_t)]; + char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)]; +}; +struct linux_msgsnd_args { + char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)]; + char msgp_l_[PADL_(struct l_msgbuf *)]; struct l_msgbuf * msgp; char msgp_r_[PADR_(struct l_msgbuf *)]; + char msgsz_l_[PADL_(l_size_t)]; l_size_t msgsz; char msgsz_r_[PADR_(l_size_t)]; + char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)]; +}; +struct linux_msgrcv_args { + char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)]; + char msgp_l_[PADL_(struct l_msgbuf *)]; struct l_msgbuf * msgp; char msgp_r_[PADR_(struct l_msgbuf *)]; + char msgsz_l_[PADL_(l_size_t)]; l_size_t msgsz; char msgsz_r_[PADR_(l_size_t)]; + char msgtyp_l_[PADL_(l_long)]; l_long msgtyp; char msgtyp_r_[PADR_(l_long)]; + char msgflg_l_[PADL_(l_int)]; l_int msgflg; char msgflg_r_[PADR_(l_int)]; +}; +struct linux_msgctl_args { + char msqid_l_[PADL_(l_int)]; l_int msqid; char msqid_r_[PADR_(l_int)]; + char cmd_l_[PADL_(l_int)]; l_int cmd; char cmd_r_[PADR_(l_int)]; + char buf_l_[PADL_(struct l_msqid_ds *)]; struct l_msqid_ds * buf; char buf_r_[PADR_(struct l_msqid_ds *)]; +}; +struct linux_fcntl_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)]; + char arg_l_[PADL_(l_ulong)]; l_ulong arg; char arg_r_[PADR_(l_ulong)]; +}; +struct linux_fdatasync_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; +}; +struct linux_truncate_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char length_l_[PADL_(l_ulong)]; l_ulong length; char length_r_[PADR_(l_ulong)]; +}; +struct linux_ftruncate_args { + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; + char length_l_[PADL_(l_long)]; l_long length; char length_r_[PADR_(l_long)]; +}; +struct linux_getdents_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char dent_l_[PADL_(void *)]; void * dent; char dent_r_[PADR_(void *)]; + char count_l_[PADL_(l_uint)]; l_uint count; char count_r_[PADR_(l_uint)]; +}; +struct linux_getcwd_args { + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char bufsize_l_[PADL_(l_ulong)]; l_ulong bufsize; char bufsize_r_[PADR_(l_ulong)]; +}; +struct linux_chdir_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; +}; +struct linux_rename_args { + char from_l_[PADL_(char *)]; char * from; char from_r_[PADR_(char *)]; + char to_l_[PADL_(char *)]; char * to; char to_r_[PADR_(char *)]; +}; +struct linux_mkdir_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; +}; +struct linux_rmdir_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; +}; +struct linux_creat_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; +}; +struct linux_link_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char to_l_[PADL_(char *)]; char * to; char to_r_[PADR_(char *)]; +}; +struct linux_unlink_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; +}; +struct linux_symlink_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char to_l_[PADL_(char *)]; char * to; char to_r_[PADR_(char *)]; +}; +struct linux_readlink_args { + char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char count_l_[PADL_(l_int)]; l_int count; char count_r_[PADR_(l_int)]; +}; +struct linux_chmod_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; +}; +struct linux_chown_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char uid_l_[PADL_(l_uid_t)]; l_uid_t uid; char uid_r_[PADR_(l_uid_t)]; + char gid_l_[PADL_(l_gid_t)]; l_gid_t gid; char gid_r_[PADR_(l_gid_t)]; +}; +struct linux_lchown_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char uid_l_[PADL_(l_uid_t)]; l_uid_t uid; char uid_r_[PADR_(l_uid_t)]; + char gid_l_[PADL_(l_gid_t)]; l_gid_t gid; char gid_r_[PADR_(l_gid_t)]; +}; +struct linux_getrlimit_args { + char resource_l_[PADL_(l_uint)]; l_uint resource; char resource_r_[PADR_(l_uint)]; + char rlim_l_[PADL_(struct l_rlimit *)]; struct l_rlimit * rlim; char rlim_r_[PADR_(struct l_rlimit *)]; +}; +struct linux_sysinfo_args { + char info_l_[PADL_(struct l_sysinfo *)]; struct l_sysinfo * info; char info_r_[PADR_(struct l_sysinfo *)]; +}; +struct linux_times_args { + char buf_l_[PADL_(struct l_times_argv *)]; struct l_times_argv * buf; char buf_r_[PADR_(struct l_times_argv *)]; +}; +struct linux_ptrace_args { + char req_l_[PADL_(l_long)]; l_long req; char req_r_[PADR_(l_long)]; + char pid_l_[PADL_(l_long)]; l_long pid; char pid_r_[PADR_(l_long)]; + char addr_l_[PADL_(l_long)]; l_long addr; char addr_r_[PADR_(l_long)]; + char data_l_[PADL_(l_long)]; l_long data; char data_r_[PADR_(l_long)]; +}; +struct linux_getuid_args { + register_t dummy; +}; +struct linux_syslog_args { + char type_l_[PADL_(l_int)]; l_int type; char type_r_[PADR_(l_int)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)]; +}; +struct linux_getgid_args { + register_t dummy; +}; +struct linux_getppid_args { + register_t dummy; +}; +struct linux_getgroups_args { + char gidsetsize_l_[PADL_(l_int)]; l_int gidsetsize; char gidsetsize_r_[PADR_(l_int)]; + char grouplist_l_[PADL_(l_gid_t *)]; l_gid_t * grouplist; char grouplist_r_[PADR_(l_gid_t *)]; +}; +struct linux_setgroups_args { + char gidsetsize_l_[PADL_(l_int)]; l_int gidsetsize; char gidsetsize_r_[PADR_(l_int)]; + char grouplist_l_[PADL_(l_gid_t *)]; l_gid_t * grouplist; char grouplist_r_[PADR_(l_gid_t *)]; +}; +struct linux_setfsuid_args { + char uid_l_[PADL_(l_uid_t)]; l_uid_t uid; char uid_r_[PADR_(l_uid_t)]; +}; +struct linux_setfsgid_args { + char gid_l_[PADL_(l_gid_t)]; l_gid_t gid; char gid_r_[PADR_(l_gid_t)]; +}; +struct linux_getsid_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; +}; +struct linux_capget_args { + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; +}; +struct linux_capset_args { + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; +}; +struct linux_rt_sigpending_args { + char set_l_[PADL_(l_sigset_t *)]; l_sigset_t * set; char set_r_[PADR_(l_sigset_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; +}; +struct linux_rt_sigtimedwait_args { + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char ptr_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * ptr; char ptr_r_[PADR_(l_siginfo_t *)]; + char timeout_l_[PADL_(struct l_timeval *)]; struct l_timeval * timeout; char timeout_r_[PADR_(struct l_timeval *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; +}; +struct linux_rt_sigqueueinfo_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)]; + char info_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * info; char info_r_[PADR_(l_siginfo_t *)]; +}; +struct linux_rt_sigsuspend_args { + char newset_l_[PADL_(l_sigset_t *)]; l_sigset_t * newset; char newset_r_[PADR_(l_sigset_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; +}; +struct linux_sigaltstack_args { + char uss_l_[PADL_(l_stack_t *)]; l_stack_t * uss; char uss_r_[PADR_(l_stack_t *)]; + char uoss_l_[PADL_(l_stack_t *)]; l_stack_t * uoss; char uoss_r_[PADR_(l_stack_t *)]; +}; +struct linux_utime_args { + char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)]; + char times_l_[PADL_(struct l_utimbuf *)]; struct l_utimbuf * times; char times_r_[PADR_(struct l_utimbuf *)]; +}; +struct linux_mknod_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; +}; +struct linux_personality_args { + char per_l_[PADL_(l_ulong)]; l_ulong per; char per_r_[PADR_(l_ulong)]; +}; +struct linux_ustat_args { + char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)]; + char ubuf_l_[PADL_(struct l_ustat *)]; struct l_ustat * ubuf; char ubuf_r_[PADR_(struct l_ustat *)]; +}; +struct linux_statfs_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(struct l_statfs_buf *)]; struct l_statfs_buf * buf; char buf_r_[PADR_(struct l_statfs_buf *)]; +}; +struct linux_fstatfs_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char buf_l_[PADL_(struct l_statfs_buf *)]; struct l_statfs_buf * buf; char buf_r_[PADR_(struct l_statfs_buf *)]; +}; +struct linux_sysfs_args { + char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)]; + char arg1_l_[PADL_(l_ulong)]; l_ulong arg1; char arg1_r_[PADR_(l_ulong)]; + char arg2_l_[PADL_(l_ulong)]; l_ulong arg2; char arg2_r_[PADR_(l_ulong)]; +}; +struct linux_getpriority_args { + char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)]; + char who_l_[PADL_(int)]; int who; char who_r_[PADR_(int)]; +}; +struct linux_sched_setparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; +struct linux_sched_getparam_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; +struct linux_sched_setscheduler_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; + char param_l_[PADL_(struct l_sched_param *)]; struct l_sched_param * param; char param_r_[PADR_(struct l_sched_param *)]; +}; +struct linux_sched_getscheduler_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; +}; +struct linux_sched_get_priority_max_args { + char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; +}; +struct linux_sched_get_priority_min_args { + char policy_l_[PADL_(l_int)]; l_int policy; char policy_r_[PADR_(l_int)]; +}; +struct linux_sched_rr_get_interval_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char interval_l_[PADL_(struct l_timespec *)]; struct l_timespec * interval; char interval_r_[PADR_(struct l_timespec *)]; +}; +struct linux_vhangup_args { + register_t dummy; +}; +struct linux_pivot_root_args { + register_t dummy; +}; +struct linux_sysctl_args { + char args_l_[PADL_(struct l___sysctl_args *)]; struct l___sysctl_args * args; char args_r_[PADR_(struct l___sysctl_args *)]; +}; +struct linux_prctl_args { + char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)]; + char arg2_l_[PADL_(l_int)]; l_int arg2; char arg2_r_[PADR_(l_int)]; + char arg3_l_[PADL_(l_int)]; l_int arg3; char arg3_r_[PADR_(l_int)]; + char arg4_l_[PADL_(l_int)]; l_int arg4; char arg4_r_[PADR_(l_int)]; + char arg5_l_[PADL_(l_int)]; l_int arg5; char arg5_r_[PADR_(l_int)]; +}; +struct linux_arch_prctl_args { + char code_l_[PADL_(l_int)]; l_int code; char code_r_[PADR_(l_int)]; + char addr_l_[PADL_(l_ulong)]; l_ulong addr; char addr_r_[PADR_(l_ulong)]; +}; +struct linux_adjtimex_args { + register_t dummy; +}; +struct linux_setrlimit_args { + char resource_l_[PADL_(l_uint)]; l_uint resource; char resource_r_[PADR_(l_uint)]; + char rlim_l_[PADL_(struct l_rlimit *)]; struct l_rlimit * rlim; char rlim_r_[PADR_(struct l_rlimit *)]; +}; +struct linux_mount_args { + char specialfile_l_[PADL_(char *)]; char * specialfile; char specialfile_r_[PADR_(char *)]; + char dir_l_[PADL_(char *)]; char * dir; char dir_r_[PADR_(char *)]; + char filesystemtype_l_[PADL_(char *)]; char * filesystemtype; char filesystemtype_r_[PADR_(char *)]; + char rwflag_l_[PADL_(l_ulong)]; l_ulong rwflag; char rwflag_r_[PADR_(l_ulong)]; + char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)]; +}; +struct linux_umount_args { + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; +}; +struct linux_swapoff_args { + register_t dummy; +}; +struct linux_reboot_args { + char magic1_l_[PADL_(l_int)]; l_int magic1; char magic1_r_[PADR_(l_int)]; + char magic2_l_[PADL_(l_int)]; l_int magic2; char magic2_r_[PADR_(l_int)]; + char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)]; + char arg_l_[PADL_(void *)]; void * arg; char arg_r_[PADR_(void *)]; +}; +struct linux_sethostname_args { + char hostname_l_[PADL_(char *)]; char * hostname; char hostname_r_[PADR_(char *)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; +}; +struct linux_setdomainname_args { + char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)]; + char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)]; +}; +struct linux_iopl_args { + char level_l_[PADL_(l_uint)]; l_uint level; char level_r_[PADR_(l_uint)]; +}; +struct linux_create_module_args { + register_t dummy; +}; +struct linux_init_module_args { + register_t dummy; +}; +struct linux_delete_module_args { + register_t dummy; +}; +struct linux_get_kernel_syms_args { + register_t dummy; +}; +struct linux_query_module_args { + register_t dummy; +}; +struct linux_quotactl_args { + register_t dummy; +}; +struct linux_nfsservctl_args { + register_t dummy; +}; +struct linux_getpmsg_args { + register_t dummy; +}; +struct linux_putpmsg_args { + register_t dummy; +}; +struct linux_afs_syscall_args { + register_t dummy; +}; +struct linux_tuxcall_args { + register_t dummy; +}; +struct linux_security_args { + register_t dummy; +}; +struct linux_gettid_args { + register_t dummy; +}; +struct linux_setxattr_args { + register_t dummy; +}; +struct linux_lsetxattr_args { + register_t dummy; +}; +struct linux_fsetxattr_args { + register_t dummy; +}; +struct linux_getxattr_args { + register_t dummy; +}; +struct linux_lgetxattr_args { + register_t dummy; +}; +struct linux_fgetxattr_args { + register_t dummy; +}; +struct linux_listxattr_args { + register_t dummy; +}; +struct linux_llistxattr_args { + register_t dummy; +}; +struct linux_flistxattr_args { + register_t dummy; +}; +struct linux_removexattr_args { + register_t dummy; +}; +struct linux_lremovexattr_args { + register_t dummy; +}; +struct linux_fremovexattr_args { + register_t dummy; +}; +struct linux_tkill_args { + char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)]; + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; +}; +struct linux_time_args { + char tm_l_[PADL_(l_time_t *)]; l_time_t * tm; char tm_r_[PADR_(l_time_t *)]; +}; +struct linux_sys_futex_args { + char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)]; + char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)]; + char val_l_[PADL_(int)]; int val; char val_r_[PADR_(int)]; + char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; + char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; + char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; +}; +struct linux_sched_setaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; +struct linux_sched_getaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; +struct linux_set_thread_area_args { + register_t dummy; +}; +struct linux_lookup_dcookie_args { + register_t dummy; +}; +struct linux_epoll_create_args { + register_t dummy; +}; +struct linux_epoll_ctl_old_args { + register_t dummy; +}; +struct linux_epoll_wait_old_args { + register_t dummy; +}; +struct linux_remap_file_pages_args { + register_t dummy; +}; +struct linux_getdents64_args { + char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)]; + char dirent_l_[PADL_(void *)]; void * dirent; char dirent_r_[PADR_(void *)]; + char count_l_[PADL_(l_uint)]; l_uint count; char count_r_[PADR_(l_uint)]; +}; +struct linux_set_tid_address_args { + char tidptr_l_[PADL_(int *)]; int * tidptr; char tidptr_r_[PADR_(int *)]; +}; +struct linux_semtimedop_args { + register_t dummy; +}; +struct linux_fadvise64_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char advice_l_[PADL_(int)]; int advice; char advice_r_[PADR_(int)]; +}; +struct linux_timer_create_args { + register_t dummy; +}; +struct linux_timer_settime_args { + register_t dummy; +}; +struct linux_timer_gettime_args { + register_t dummy; +}; +struct linux_timer_getoverrun_args { + register_t dummy; +}; +struct linux_timer_delete_args { + register_t dummy; +}; +struct linux_clock_settime_args { + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tp; char tp_r_[PADR_(struct l_timespec *)]; +}; +struct linux_clock_gettime_args { + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tp; char tp_r_[PADR_(struct l_timespec *)]; +}; +struct linux_clock_getres_args { + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char tp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tp; char tp_r_[PADR_(struct l_timespec *)]; +}; +struct linux_clock_nanosleep_args { + char which_l_[PADL_(clockid_t)]; clockid_t which; char which_r_[PADR_(clockid_t)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; + char rqtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rqtp; char rqtp_r_[PADR_(struct l_timespec *)]; + char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)]; +}; +struct linux_exit_group_args { + char error_code_l_[PADL_(int)]; int error_code; char error_code_r_[PADR_(int)]; +}; +struct linux_epoll_wait_args { + register_t dummy; +}; +struct linux_epoll_ctl_args { + register_t dummy; +}; +struct linux_tgkill_args { + char tgid_l_[PADL_(int)]; int tgid; char tgid_r_[PADR_(int)]; + char pid_l_[PADL_(int)]; int pid; char pid_r_[PADR_(int)]; + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; +}; +struct linux_utimes_args { + char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)]; + char tptr_l_[PADL_(struct l_timeval *)]; struct l_timeval * tptr; char tptr_r_[PADR_(struct l_timeval *)]; +}; +struct linux_mbind_args { + register_t dummy; +}; +struct linux_set_mempolicy_args { + register_t dummy; +}; +struct linux_get_mempolicy_args { + register_t dummy; +}; +struct linux_mq_open_args { + register_t dummy; +}; +struct linux_mq_unlink_args { + register_t dummy; +}; +struct linux_mq_timedsend_args { + register_t dummy; +}; +struct linux_mq_timedreceive_args { + register_t dummy; +}; +struct linux_mq_notify_args { + register_t dummy; +}; +struct linux_mq_getsetattr_args { + register_t dummy; +}; +struct linux_kexec_load_args { + register_t dummy; +}; +struct linux_waitid_args { + char idtype_l_[PADL_(int)]; int idtype; char idtype_r_[PADR_(int)]; + char id_l_[PADL_(l_pid_t)]; l_pid_t id; char id_r_[PADR_(l_pid_t)]; + char info_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * info; char info_r_[PADR_(l_siginfo_t *)]; + char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)]; + char rusage_l_[PADL_(struct l_rusage *)]; struct l_rusage * rusage; char rusage_r_[PADR_(struct l_rusage *)]; +}; +struct linux_add_key_args { + register_t dummy; +}; +struct linux_request_key_args { + register_t dummy; +}; +struct linux_keyctl_args { + register_t dummy; +}; +struct linux_ioprio_set_args { + register_t dummy; +}; +struct linux_ioprio_get_args { + register_t dummy; +}; +struct linux_inotify_init_args { + register_t dummy; +}; +struct linux_inotify_add_watch_args { + register_t dummy; +}; +struct linux_inotify_rm_watch_args { + register_t dummy; +}; +struct linux_migrate_pages_args { + register_t dummy; +}; +struct linux_openat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; +}; +struct linux_mkdirat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; +}; +struct linux_mknodat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; + char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; +}; +struct linux_fchownat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; + char uid_l_[PADL_(l_uid_t)]; l_uid_t uid; char uid_r_[PADR_(l_uid_t)]; + char gid_l_[PADL_(l_gid_t)]; l_gid_t gid; char gid_r_[PADR_(l_gid_t)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; +}; +struct linux_futimesat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char utimes_l_[PADL_(struct l_timeval *)]; struct l_timeval * utimes; char utimes_r_[PADR_(struct l_timeval *)]; +}; +struct linux_newfstatat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char statbuf_l_[PADL_(struct l_stat64 *)]; struct l_stat64 * statbuf; char statbuf_r_[PADR_(struct l_stat64 *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; +}; +struct linux_unlinkat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; +}; +struct linux_renameat_args { + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(const char *)]; const char * newname; char newname_r_[PADR_(const char *)]; +}; +struct linux_linkat_args { + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(const char *)]; const char * newname; char newname_r_[PADR_(const char *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; +}; +struct linux_symlinkat_args { + char oldname_l_[PADL_(const char *)]; const char * oldname; char oldname_r_[PADR_(const char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(const char *)]; const char * newname; char newname_r_[PADR_(const char *)]; +}; +struct linux_readlinkat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char bufsiz_l_[PADL_(l_int)]; l_int bufsiz; char bufsiz_r_[PADR_(l_int)]; +}; +struct linux_fchmodat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; + char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; +}; +struct linux_faccessat_args { + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; + char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; +}; +struct linux_pselect6_args { + char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)]; + char readfds_l_[PADL_(l_fd_set *)]; l_fd_set * readfds; char readfds_r_[PADR_(l_fd_set *)]; + char writefds_l_[PADL_(l_fd_set *)]; l_fd_set * writefds; char writefds_r_[PADR_(l_fd_set *)]; + char exceptfds_l_[PADL_(l_fd_set *)]; l_fd_set * exceptfds; char exceptfds_r_[PADR_(l_fd_set *)]; + char tsp_l_[PADL_(struct l_timespec *)]; struct l_timespec * tsp; char tsp_r_[PADR_(struct l_timespec *)]; + char sig_l_[PADL_(l_uintptr_t *)]; l_uintptr_t * sig; char sig_r_[PADR_(l_uintptr_t *)]; +}; +struct linux_ppoll_args { + register_t dummy; +}; +struct linux_unshare_args { + register_t dummy; +}; +struct linux_set_robust_list_args { + char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; +}; +struct linux_get_robust_list_args { + char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; + char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; +}; +struct linux_splice_args { + register_t dummy; +}; +struct linux_tee_args { + register_t dummy; +}; +struct linux_sync_file_range_args { + register_t dummy; +}; +struct linux_vmsplice_args { + register_t dummy; +}; +struct linux_move_pages_args { + register_t dummy; +}; +struct linux_utimensat_args { + register_t dummy; +}; +struct linux_epoll_pwait_args { + register_t dummy; +}; +struct linux_signalfd_args { + register_t dummy; +}; +struct linux_timerfd_args { + register_t dummy; +}; +struct linux_eventfd_args { + register_t dummy; +}; +struct linux_fallocate_args { + register_t dummy; +}; +struct linux_timerfd_settime_args { + register_t dummy; +}; +struct linux_timerfd_gettime_args { + register_t dummy; +}; +struct linux_accept4_args { + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char addr_l_[PADL_(l_uintptr_t)]; l_uintptr_t addr; char addr_r_[PADR_(l_uintptr_t)]; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:10:59 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BEDCC1CD; Fri, 10 May 2013 11:10:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B12981C9; Fri, 10 May 2013 11:10:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4ABAxRh038839; Fri, 10 May 2013 11:10:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4ABAwDp038835; Fri, 10 May 2013 11:10:58 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101110.r4ABAwDp038835@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:10:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250447 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:10:59 -0000 Author: dchagin Date: Fri May 10 11:10:58 2013 New Revision: 250447 URL: http://svnweb.freebsd.org/changeset/base/250447 Log: Change linux faccessat syscall definition to match actual linux one. The AT_EACCESS and AT_SYMLINK_NOFOLLOW flags are actually implemented within the glibc wrapper function for faccessat(). If either of these flags are specified, then the wrapper function employs fstatat() to determine access permissions. Modified: user/dchagin/lemul/sys/amd64/linux/syscalls.master user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_file.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/syscalls.master Fri May 10 11:08:46 2013 (r250446) +++ user/dchagin/lemul/sys/amd64/linux/syscalls.master Fri May 10 11:10:58 2013 (r250447) @@ -446,7 +446,7 @@ 268 AUE_FCHMODAT STD { int linux_fchmodat(l_int dfd, const char *filename, \ l_mode_t mode); } 269 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, \ - l_int amode, l_int flag); } + l_int amode); } 270 AUE_SELECT STD { int linux_pselect6(l_int nfds, \ l_fd_set *readfds, l_fd_set *writefds, \ l_fd_set *exceptfds, \ Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Fri May 10 11:08:46 2013 (r250446) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Fri May 10 11:10:58 2013 (r250447) @@ -504,7 +504,7 @@ char *buf, l_int bufsiz); } 306 AUE_FCHMODAT STD { int linux_fchmodat(l_int dfd, const char *filename, \ l_mode_t mode); } -307 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, l_int amode, int flag); } +307 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, l_int amode); } 308 AUE_SELECT STD { int linux_pselect6(l_int nfds, \ l_fd_set *readfds, l_fd_set *writefds, \ l_fd_set *exceptfds, \ Modified: user/dchagin/lemul/sys/compat/linux/linux_file.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_file.c Fri May 10 11:08:46 2013 (r250446) +++ user/dchagin/lemul/sys/compat/linux/linux_file.c Fri May 10 11:10:58 2013 (r250447) @@ -582,8 +582,6 @@ linux_faccessat(struct thread *td, struc char *path; int error, dfd, flag; - if (args->flag & ~LINUX_AT_EACCESS) - return (EINVAL); /* linux convention */ if (args->amode & ~(F_OK | X_OK | W_OK | R_OK)) return (EINVAL); @@ -596,7 +594,7 @@ linux_faccessat(struct thread *td, struc printf(ARGS(access, "%s, %d"), path, args->amode); #endif - flag = (args->flag & LINUX_AT_EACCESS) == 0 ? 0 : AT_EACCESS; + flag = AT_EACCESS; error = kern_accessat(td, dfd, path, UIO_SYSSPACE, flag, args->amode); LFREEPATH(path); Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Fri May 10 11:08:46 2013 (r250446) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Fri May 10 11:10:58 2013 (r250447) @@ -514,7 +514,7 @@ char *buf, l_int bufsiz); } 306 AUE_FCHMODAT STD { int linux_fchmodat(l_int dfd, const char *filename, \ l_mode_t mode); } -307 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, l_int amode, l_int flag); } +307 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, l_int amode); } 308 AUE_SELECT STD { int linux_pselect6(l_int nfds, \ l_fd_set *readfds, l_fd_set *writefds, \ l_fd_set *exceptfds, \ From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:12:42 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BAB4B334; Fri, 10 May 2013 11:12:42 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ABEDB1D9; Fri, 10 May 2013 11:12:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4ABCgqX039292; Fri, 10 May 2013 11:12:42 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4ABCeIT039272; Fri, 10 May 2013 11:12:40 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101112.r4ABCeIT039272@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:12:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250448 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:12:42 -0000 Author: dchagin Date: Fri May 10 11:12:39 2013 New Revision: 250448 URL: http://svnweb.freebsd.org/changeset/base/250448 Log: Regen after r250447. Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_proto.h Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux/linux_proto.h Fri May 10 11:12:39 2013 (r250448) @@ -928,7 +928,6 @@ struct linux_faccessat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)]; - char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_pselect6_args { char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)]; Modified: user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Fri May 10 11:12:39 2013 (r250448) @@ -1949,8 +1949,7 @@ systrace_args(int sysnum, void *params, iarg[0] = p->dfd; /* l_int */ uarg[1] = (intptr_t) p->filename; /* const char * */ iarg[2] = p->amode; /* l_int */ - iarg[3] = p->flag; /* l_int */ - *n_args = 4; + *n_args = 3; break; } /* linux_pselect6 */ @@ -5112,9 +5111,6 @@ systrace_entry_setargdesc(int sysnum, in case 2: p = "l_int"; break; - case 3: - p = "l_int"; - break; default: break; }; Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -985,7 +985,6 @@ struct linux_faccessat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)]; - char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)]; }; struct linux_pselect6_args { char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)]; Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #include "opt_compat.h" Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Fri May 10 11:12:39 2013 (r250448) @@ -2051,8 +2051,7 @@ systrace_args(int sysnum, void *params, iarg[0] = p->dfd; /* l_int */ uarg[1] = (intptr_t) p->filename; /* const char * */ iarg[2] = p->amode; /* l_int */ - iarg[3] = p->flag; /* int */ - *n_args = 4; + *n_args = 3; break; } /* linux_pselect6 */ @@ -5316,9 +5315,6 @@ systrace_entry_setargdesc(int sysnum, in case 2: p = "l_int"; break; - case 3: - p = "int"; - break; default: break; }; Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1008,7 +1008,6 @@ struct linux_faccessat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; char filename_l_[PADL_(const char *)]; const char * filename; char filename_r_[PADR_(const char *)]; char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)]; - char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_pselect6_args { char nfds_l_[PADL_(l_int)]; l_int nfds; char nfds_r_[PADR_(l_int)]; Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Fri May 10 11:12:39 2013 (r250448) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 247493 2013-02-28 19:35:04Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 250447 2013-05-10 11:10:58Z dchagin */ #include Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Fri May 10 11:10:58 2013 (r250447) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Fri May 10 11:12:39 2013 (r250448) @@ -2142,8 +2142,7 @@ systrace_args(int sysnum, void *params, iarg[0] = p->dfd; /* l_int */ uarg[1] = (intptr_t) p->filename; /* const char * */ iarg[2] = p->amode; /* l_int */ - iarg[3] = p->flag; /* l_int */ - *n_args = 4; + *n_args = 3; break; } /* linux_pselect6 */ @@ -5612,9 +5611,6 @@ systrace_entry_setargdesc(int sysnum, in case 2: p = "l_int"; break; - case 3: - p = "l_int"; - break; default: break; }; From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:15:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 294B9477; Fri, 10 May 2013 11:15:45 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1B66B1EC; Fri, 10 May 2013 11:15:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4ABFist039932; Fri, 10 May 2013 11:15:44 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4ABFiKx039929; Fri, 10 May 2013 11:15:44 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101115.r4ABFiKx039929@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:15:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250449 - in user/dchagin/lemul/sys/compat: linprocfs linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:15:45 -0000 Author: dchagin Date: Fri May 10 11:15:44 2013 New Revision: 250449 URL: http://svnweb.freebsd.org/changeset/base/250449 Log: As from now for amd64 we have two linuxulator modules and can't depend on both partialy detach linprocfs from linux.ko by using appropriate sysctl. Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c user/dchagin/lemul/sys/compat/linux/linux_ioctl.c user/dchagin/lemul/sys/compat/linux/linux_ioctl.h Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Fri May 10 11:12:39 2013 (r250448) +++ user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Fri May 10 11:15:44 2013 (r250449) @@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -77,7 +78,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include @@ -97,11 +98,6 @@ __FBSDID("$FreeBSD$"); #include #endif /* __i386__ || __amd64__ */ -#ifdef COMPAT_FREEBSD32 -#include -#endif - -#include #include #include #include @@ -598,10 +594,30 @@ linprocfs_doversion(PFS_FILL_ARGS) { char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; + size_t size; + int error = 0; + + size = sizeof(osname); + if (SV_CURPROC_FLAG(SV_LP64)) + error = kernel_sysctlbyname(td, "compat.linux64.osname", &osname, &size, 0, 0, 0, 0); + if (SV_CURPROC_FLAG(SV_ILP32) || error) + error = kernel_sysctlbyname(td, "compat.linux.osname", &osname, &size, 0, 0, 0, 0); + if (error) + sbuf_printf(sb, "unknown "); + else + sbuf_printf(sb, "%s ", osname); + + error = 0; + size = sizeof(osrelease); + if (SV_CURPROC_FLAG(SV_LP64)) + error = kernel_sysctlbyname(td, "compat.linux64.osrelease", &osrelease, &size, 0, 0, 0, 0); + if (SV_CURPROC_FLAG(SV_ILP32) || error) + error = kernel_sysctlbyname(td, "compat.linux.osrelease", &osrelease, &size, 0, 0, 0, 0); + if (error) + sbuf_printf(sb, "version unknown ("); + else + sbuf_printf(sb, "version %s (", osrelease); - linux_get_osname(td, osname); - linux_get_osrelease(td, osrelease); - sbuf_printf(sb, "%s version %s (", osname, osrelease); linprocfs_osbuilder(td, sb); sbuf_cat(sb, ") (gcc version " __VERSION__ ") "); linprocfs_osbuild(td, sb); @@ -1116,6 +1132,35 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) } /* + * Criteria for interface name translation + */ +#define IFP_IS_ETH(ifp) (ifp->if_type == IFT_ETHER) + +static int +linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) +{ + struct ifnet *ifscan; + int ethno; + + IFNET_RLOCK_ASSERT(); + + /* Short-circuit non ethernet interfaces */ + if (!IFP_IS_ETH(ifp)) + return (strlcpy(buffer, ifp->if_xname, buflen)); + + /* Determine the (relative) unit number for ethernet interfaces */ + ethno = 0; + TAILQ_FOREACH(ifscan, &V_ifnet, if_link) { + if (ifscan == ifp) + return (snprintf(buffer, buflen, "eth%d", ethno)); + if (IFP_IS_ETH(ifscan)) + ethno++; + } + + return (0); +} + +/* * Filler function for proc/net/dev */ static int @@ -1175,10 +1220,18 @@ static int linprocfs_doosrelease(PFS_FILL_ARGS) { char osrelease[LINUX_MAX_UTSNAME]; + size_t size; + int error = 0; - linux_get_osrelease(td, osrelease); - sbuf_printf(sb, "%s\n", osrelease); - + size = sizeof(osrelease); + if (SV_CURPROC_FLAG(SV_LP64)) + error = kernel_sysctlbyname(td, "compat.linux64.osrelease", &osrelease, &size, 0, 0, 0, 0); + if (SV_CURPROC_FLAG(SV_ILP32) || error) + error = kernel_sysctlbyname(td, "compat.linux.osrelease", &osrelease, &size, 0, 0, 0, 0); + if (error) + sbuf_printf(sb, "unknown\n"); + else + sbuf_printf(sb, "%s\n", osrelease); return (0); } @@ -1189,10 +1242,18 @@ static int linprocfs_doostype(PFS_FILL_ARGS) { char osname[LINUX_MAX_UTSNAME]; + size_t size; + int error = 0; - linux_get_osname(td, osname); - sbuf_printf(sb, "%s\n", osname); - + size = sizeof(osname); + if (SV_CURPROC_FLAG(SV_LP64)) + error = kernel_sysctlbyname(td, "compat.linux64.osname", &osname, &size, 0, 0, 0, 0); + if (SV_CURPROC_FLAG(SV_ILP32) || error) + error = kernel_sysctlbyname(td, "compat.linux.osname", &osname, &size, 0, 0, 0, 0); + if (error) + sbuf_printf(sb, "unknown\n"); + else + sbuf_printf(sb, "%s\n", osname); return (0); } @@ -1262,8 +1323,6 @@ linprocfs_doscsiscsi(PFS_FILL_ARGS) return (0); } -extern struct cdevsw *cdevsw[]; - /* * Filler function for proc/devices */ Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Fri May 10 11:12:39 2013 (r250448) +++ user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Fri May 10 11:15:44 2013 (r250449) @@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include @@ -2089,34 +2088,6 @@ linux_ioctl_console(struct thread *td, s #define IFP_IS_ETH(ifp) (ifp->if_type == IFT_ETHER) /* - * Interface function used by linprocfs (at the time of writing). It's not - * used by the Linuxulator itself. - */ -int -linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) -{ - struct ifnet *ifscan; - int ethno; - - IFNET_RLOCK_ASSERT(); - - /* Short-circuit non ethernet interfaces */ - if (!IFP_IS_ETH(ifp)) - return (strlcpy(buffer, ifp->if_xname, buflen)); - - /* Determine the (relative) unit number for ethernet interfaces */ - ethno = 0; - TAILQ_FOREACH(ifscan, &V_ifnet, if_link) { - if (ifscan == ifp) - return (snprintf(buffer, buflen, "eth%d", ethno)); - if (IFP_IS_ETH(ifscan)) - ethno++; - } - - return (0); -} - -/* * Translate a Linux interface name to a FreeBSD interface name, * and return the associated ifnet structure * bsdname and lxname need to be least IFNAMSIZ bytes long, but Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ioctl.h Fri May 10 11:12:39 2013 (r250448) +++ user/dchagin/lemul/sys/compat/linux/linux_ioctl.h Fri May 10 11:15:44 2013 (r250449) @@ -581,13 +581,6 @@ #define LINUX_IOCTL_DRM_MAX 0x64ff /* - * This doesn't really belong here, but I can't think of a better - * place to put it. - */ -struct ifnet; -int linux_ifname(struct ifnet *, char *, size_t); - -/* * video */ #define LINUX_VIDIOCGCAP 0x7601 From owner-svn-src-user@FreeBSD.ORG Fri May 10 11:18:00 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 18BCF5A9; Fri, 10 May 2013 11:18:00 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EFA911FA; Fri, 10 May 2013 11:17:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4ABHxTg040346; Fri, 10 May 2013 11:17:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4ABHxGF040343; Fri, 10 May 2013 11:17:59 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101117.r4ABHxGF040343@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 11:17:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250450 - user/dchagin/lemul/usr.bin/kdump X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 11:18:00 -0000 Author: dchagin Date: Fri May 10 11:17:58 2013 New Revision: 250450 URL: http://svnweb.freebsd.org/changeset/base/250450 Log: Teach kdump to understand x86-64 linux emulation. Added: user/dchagin/lemul/usr.bin/kdump/linux32_syscalls.conf (contents, props changed) Modified: user/dchagin/lemul/usr.bin/kdump/Makefile user/dchagin/lemul/usr.bin/kdump/kdump.c Modified: user/dchagin/lemul/usr.bin/kdump/Makefile ============================================================================== --- user/dchagin/lemul/usr.bin/kdump/Makefile Fri May 10 11:15:44 2013 (r250449) +++ user/dchagin/lemul/usr.bin/kdump/Makefile Fri May 10 11:17:58 2013 (r250450) @@ -1,10 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ -.if (${MACHINE_ARCH} == "amd64") -SFX= 32 -.endif - .PATH: ${.CURDIR}/../ktrace PROG= kdump @@ -15,10 +11,14 @@ CFLAGS+= -I${.CURDIR}/../ktrace -I${.CUR .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" SRCS+= linux_syscalls.c .endif +.if ${MACHINE_ARCH} == "amd64" +SRCS+= linux32_syscalls.c +.endif NO_WERROR?= YES -CLEANFILES= ioctl.c kdump_subr.c kdump_subr.h linux_syscalls.c +CLEANFILES= ioctl.c kdump_subr.c kdump_subr.h linux_syscalls.c \ + linux32_syscalls.c ioctl.c: mkioctls env MACHINE=${MACHINE} CPP="${CPP}" \ @@ -33,8 +33,16 @@ kdump_subr.c: mksubr kdump_subr.h linux_syscalls.c: /bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh \ - ${.CURDIR}/../../sys/${MACHINE_ARCH}/linux${SFX}/syscalls.master ${.CURDIR}/linux_syscalls.conf + ${.CURDIR}/../../sys/${MACHINE_ARCH}/linux/syscalls.master ${.CURDIR}/linux_syscalls.conf echo "int nlinux_syscalls = sizeof(linux_syscallnames) / sizeof(linux_syscallnames[0]);" \ >> linux_syscalls.c +.if ${MACHINE_ARCH} == "amd64" +linux32_syscalls.c: + /bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh \ + ${.CURDIR}/../../sys/${MACHINE_ARCH}/linux32/syscalls.master ${.CURDIR}/linux32_syscalls.conf + echo "int nlinux32_syscalls = sizeof(linux32_syscallnames) / sizeof(linux32_syscallnames[0]);" \ + >> linux32_syscalls.c +.endif + .include Modified: user/dchagin/lemul/usr.bin/kdump/kdump.c ============================================================================== --- user/dchagin/lemul/usr.bin/kdump/kdump.c Fri May 10 11:15:44 2013 (r250449) +++ user/dchagin/lemul/usr.bin/kdump/kdump.c Fri May 10 11:17:58 2013 (r250450) @@ -128,8 +128,8 @@ struct ktr_header ktr_header; #if defined(__amd64__) || defined(__i386__) -void linux_ktrsyscall(struct ktr_syscall *); -void linux_ktrsysret(struct ktr_sysret *); +void linux_ktrsyscall(struct ktr_syscall *, u_int); +void linux_ktrsysret(struct ktr_sysret *, u_int); extern char *linux_syscallnames[]; extern int nlinux_syscalls; @@ -151,6 +151,11 @@ static int bsd_to_linux_errno[ELAST + 1] }; #endif +#if defined(__amd64__) +extern char *linux32_syscallnames[]; +extern int nlinux32_syscalls; +#endif + struct proc_info { TAILQ_ENTRY(proc_info) info; @@ -277,7 +282,8 @@ main(int argc, char *argv[]) case KTR_SYSCALL: #if defined(__amd64__) || defined(__i386__) if ((sv_flags & SV_ABI_MASK) == SV_ABI_LINUX) - linux_ktrsyscall((struct ktr_syscall *)m); + linux_ktrsyscall((struct ktr_syscall *)m, + sv_flags); else #endif ktrsyscall((struct ktr_syscall *)m, sv_flags); @@ -285,7 +291,8 @@ main(int argc, char *argv[]) case KTR_SYSRET: #if defined(__amd64__) || defined(__i386__) if ((sv_flags & SV_ABI_MASK) == SV_ABI_LINUX) - linux_ktrsysret((struct ktr_sysret *)m); + linux_ktrsysret((struct ktr_sysret *)m, + sv_flags); else #endif ktrsysret((struct ktr_sysret *)m, sv_flags); @@ -1689,16 +1696,27 @@ ktrfaultend(struct ktr_faultend *ktr) } #if defined(__amd64__) || defined(__i386__) + +#if defined(__amd64__) +#define NLINUX_SYSCALLS(v) ((v) & SV_ILP32 ? \ + nlinux32_syscalls : nlinux_syscalls) +#define LINUX_SYSCALLNAMES(v, i) ((v) & SV_ILP32 ? \ + linux32_syscallnames[i] : linux_syscallnames[i]) +#else +#define NLINUX_SYSCALLS(v) (nlinux_syscalls) +#define LINUX_SYSCALLNAMES(v, i) (linux_syscallnames[i]) +#endif + void -linux_ktrsyscall(struct ktr_syscall *ktr) +linux_ktrsyscall(struct ktr_syscall *ktr, u_int sv_flags) { int narg = ktr->ktr_narg; register_t *ip; - if (ktr->ktr_code >= nlinux_syscalls || ktr->ktr_code < 0) + if (ktr->ktr_code >= NLINUX_SYSCALLS(sv_flags) || ktr->ktr_code < 0) printf("[%d]", ktr->ktr_code); else - printf("%s", linux_syscallnames[ktr->ktr_code]); + printf("%s", LINUX_SYSCALLNAMES(sv_flags, ktr->ktr_code)); ip = &ktr->ktr_args[0]; if (narg) { char c = '('; @@ -1710,16 +1728,16 @@ linux_ktrsyscall(struct ktr_syscall *ktr } void -linux_ktrsysret(struct ktr_sysret *ktr) +linux_ktrsysret(struct ktr_sysret *ktr, u_int sv_flags) { register_t ret = ktr->ktr_retval; int error = ktr->ktr_error; int code = ktr->ktr_code; - if (code >= nlinux_syscalls || code < 0) + if (code >= NLINUX_SYSCALLS(sv_flags) || code < 0) printf("[%d] ", code); else - printf("%s ", linux_syscallnames[code]); + printf("%s ", LINUX_SYSCALLNAMES(sv_flags, code)); if (error == 0) { if (fancy) { Added: user/dchagin/lemul/usr.bin/kdump/linux32_syscalls.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/usr.bin/kdump/linux32_syscalls.conf Fri May 10 11:17:58 2013 (r250450) @@ -0,0 +1,11 @@ +# $FreeBSD$ +sysnames="linux32_syscalls.c" +sysproto="/dev/null" +sysproto_h=_LINUX32_SYSPROTO_H_ +syshdr="/dev/null" +syssw="/dev/null" +sysmk="/dev/null" +syscallprefix="LINUX32_SYS_" +switchname="/dev/null" +namesname="linux32_syscallnames" +systrace="/dev/null" From owner-svn-src-user@FreeBSD.ORG Fri May 10 14:39:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1156B88A; Fri, 10 May 2013 14:39:23 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 04641E27; Fri, 10 May 2013 14:39:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4AEdMCI012101; Fri, 10 May 2013 14:39:22 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4AEdMdX012099; Fri, 10 May 2013 14:39:22 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201305101439.r4AEdMdX012099@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 May 2013 14:39:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250456 - in user/dchagin/lemul/sys: amd64/linux modules X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 May 2013 14:39:23 -0000 Author: dchagin Date: Fri May 10 14:39:22 2013 New Revision: 250456 URL: http://svnweb.freebsd.org/changeset/base/250456 Log: Connect linux64 module to the build. Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c user/dchagin/lemul/sys/modules/Makefile Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Fri May 10 14:28:44 2013 (r250455) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Fri May 10 14:39:22 2013 (r250456) @@ -41,6 +41,9 @@ __FBSDID("$FreeBSD$"); #include #include +/* DTrace init */ +LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); + DUMMY(mincore); DUMMY(sendfile); DUMMY(ptrace); Modified: user/dchagin/lemul/sys/modules/Makefile ============================================================================== --- user/dchagin/lemul/sys/modules/Makefile Fri May 10 14:28:44 2013 (r250455) +++ user/dchagin/lemul/sys/modules/Makefile Fri May 10 14:39:22 2013 (r250456) @@ -184,6 +184,7 @@ SUBDIR= \ ${_linprocfs} \ ${_linsysfs} \ ${_linux} \ + ${_linux64} \ lmc \ lpt \ mac_biba \ @@ -685,6 +686,7 @@ _lindev= lindev _linprocfs= linprocfs _linsysfs= linsysfs _linux= linux +_linux64= linux64 _mly= mly .if ${MK_OFED} != "no" || defined(ALL_MODULES) _mlx4= mlx4 From owner-svn-src-user@FreeBSD.ORG Sat May 11 19:42:00 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 541BC6CD; Sat, 11 May 2013 19:42:00 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 428BB689; Sat, 11 May 2013 19:42:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4BJg0oR036569; Sat, 11 May 2013 19:42:00 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4BJfqbt036514; Sat, 11 May 2013 19:41:52 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305111941.r4BJfqbt036514@svn.freebsd.org> From: Attilio Rao Date: Sat, 11 May 2013 19:41:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250525 - in user/attilio/vmcontention: . bin/dd bin/sh etc lib/libc/gen lib/libthr/thread sbin/dmesg sbin/hastctl sbin/hastd share/examples/ppi share/man/man3 share/misc share/syscons/... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 May 2013 19:42:00 -0000 Author: attilio Date: Sat May 11 19:41:52 2013 New Revision: 250525 URL: http://svnweb.freebsd.org/changeset/base/250525 Log: MFC Added: user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts - copied unchanged from r250524, head/sys/boot/fdt/dts/beaglebone-black.dts user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.3 - copied unchanged from r250524, head/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.3 Deleted: user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.8 user/attilio/vmcontention/usr.sbin/makefs/compat/ user/attilio/vmcontention/usr.sbin/makefs/getid.c Modified: user/attilio/vmcontention/Makefile.inc1 user/attilio/vmcontention/bin/dd/args.c user/attilio/vmcontention/bin/dd/conv_tab.c user/attilio/vmcontention/bin/dd/dd.c user/attilio/vmcontention/bin/dd/extern.h user/attilio/vmcontention/bin/dd/misc.c user/attilio/vmcontention/bin/dd/position.c user/attilio/vmcontention/bin/sh/var.c user/attilio/vmcontention/etc/protocols user/attilio/vmcontention/lib/libc/gen/posix_spawn_file_actions_addopen.3 user/attilio/vmcontention/lib/libc/gen/wordexp.c user/attilio/vmcontention/lib/libthr/thread/thr_sig.c user/attilio/vmcontention/sbin/dmesg/dmesg.8 user/attilio/vmcontention/sbin/dmesg/dmesg.c user/attilio/vmcontention/sbin/hastctl/Makefile user/attilio/vmcontention/sbin/hastd/Makefile user/attilio/vmcontention/sbin/hastd/token.l user/attilio/vmcontention/share/examples/ppi/ppilcd.c user/attilio/vmcontention/share/man/man3/queue.3 user/attilio/vmcontention/share/misc/pci_vendors user/attilio/vmcontention/share/syscons/fonts/iso05-8x16.fnt user/attilio/vmcontention/sys/amd64/amd64/fpu.c user/attilio/vmcontention/sys/amd64/amd64/genassym.c user/attilio/vmcontention/sys/amd64/amd64/identcpu.c user/attilio/vmcontention/sys/amd64/amd64/machdep.c user/attilio/vmcontention/sys/amd64/ia32/ia32_signal.c user/attilio/vmcontention/sys/amd64/include/pcb.h user/attilio/vmcontention/sys/amd64/linux32/linux32_machdep.c user/attilio/vmcontention/sys/amd64/linux32/linux32_sysvec.c user/attilio/vmcontention/sys/amd64/vmm/io/vlapic.c user/attilio/vmcontention/sys/amd64/vmm/vmm_dev.c user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.c user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.h user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone.dts user/attilio/vmcontention/sys/cam/ata/ata_pmp.c user/attilio/vmcontention/sys/cam/ctl/scsi_ctl.c user/attilio/vmcontention/sys/cam/scsi/scsi_da.c user/attilio/vmcontention/sys/cam/scsi/scsi_pt.c user/attilio/vmcontention/sys/conf/options user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-app-init.h user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-helper-board.c user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-helper-sgmii.c user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-pcie.c user/attilio/vmcontention/sys/contrib/octeon-sdk/cvmx-rtc.h user/attilio/vmcontention/sys/dev/aic7xxx/aic7xxx.h user/attilio/vmcontention/sys/dev/ath/if_ath.c user/attilio/vmcontention/sys/dev/ath/if_ath_tx_edma.c user/attilio/vmcontention/sys/dev/cp/if_cp.c user/attilio/vmcontention/sys/dev/ctau/if_ct.c user/attilio/vmcontention/sys/dev/cx/csigma.c user/attilio/vmcontention/sys/dev/cx/if_cx.c user/attilio/vmcontention/sys/dev/e1000/if_em.c user/attilio/vmcontention/sys/dev/e1000/if_em.h user/attilio/vmcontention/sys/dev/e1000/if_lem.c user/attilio/vmcontention/sys/dev/e1000/if_lem.h user/attilio/vmcontention/sys/dev/hptmv/entry.c user/attilio/vmcontention/sys/dev/isci/scil/scif_sas_domain.c user/attilio/vmcontention/sys/dev/netmap/netmap_mem2.c user/attilio/vmcontention/sys/dev/nsp/nsp.c user/attilio/vmcontention/sys/dev/pci/pci.c user/attilio/vmcontention/sys/dev/sfxge/common/efx_mcdi.c user/attilio/vmcontention/sys/dev/sn/if_sn.c user/attilio/vmcontention/sys/dev/stg/tmc18c30.c user/attilio/vmcontention/sys/fs/nullfs/null.h user/attilio/vmcontention/sys/fs/nullfs/null_subr.c user/attilio/vmcontention/sys/fs/nullfs/null_vfsops.c user/attilio/vmcontention/sys/fs/nullfs/null_vnops.c user/attilio/vmcontention/sys/kern/kern_lock.c user/attilio/vmcontention/sys/kern/subr_witness.c user/attilio/vmcontention/sys/kern/uipc_syscalls.c user/attilio/vmcontention/sys/kern/uipc_usrreq.c user/attilio/vmcontention/sys/kern/vfs_subr.c user/attilio/vmcontention/sys/kern/vfs_syscalls.c user/attilio/vmcontention/sys/mips/conf/OCTEON1 user/attilio/vmcontention/sys/mips/conf/ROUTERSTATION.hints user/attilio/vmcontention/sys/mips/mips/bus_space_fdt.c user/attilio/vmcontention/sys/mips/mips/bus_space_generic.c user/attilio/vmcontention/sys/net/if_gre.c user/attilio/vmcontention/sys/net80211/ieee80211_ht.c user/attilio/vmcontention/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c user/attilio/vmcontention/sys/netinet/if_ether.c user/attilio/vmcontention/sys/netinet/ip_gre.c user/attilio/vmcontention/sys/netinet/sctp_pcb.c user/attilio/vmcontention/sys/netinet6/sctp6_usrreq.c user/attilio/vmcontention/sys/netpfil/pf/if_pfsync.c user/attilio/vmcontention/sys/netpfil/pf/pf.c user/attilio/vmcontention/sys/netpfil/pf/pf_ioctl.c user/attilio/vmcontention/sys/ofed/drivers/net/mlx4/eq.c user/attilio/vmcontention/sys/sys/lock.h user/attilio/vmcontention/sys/sys/lockmgr.h user/attilio/vmcontention/sys/sys/mount.h user/attilio/vmcontention/sys/vm/vm_radix.c user/attilio/vmcontention/sys/x86/cpufreq/p4tcc.c user/attilio/vmcontention/tools/regression/file/dup/dup.c user/attilio/vmcontention/usr.bin/calendar/calendars/calendar.freebsd user/attilio/vmcontention/usr.bin/gcore/Makefile user/attilio/vmcontention/usr.bin/lockf/lockf.1 user/attilio/vmcontention/usr.bin/lockf/lockf.c user/attilio/vmcontention/usr.bin/split/split.1 user/attilio/vmcontention/usr.bin/split/split.c user/attilio/vmcontention/usr.bin/xargs/xargs.c user/attilio/vmcontention/usr.sbin/arp/arp.4 user/attilio/vmcontention/usr.sbin/bluetooth/hccontrol/link_control.c user/attilio/vmcontention/usr.sbin/bsdconfig/share/packages/index.subr user/attilio/vmcontention/usr.sbin/bsdinstall/distextract/Makefile user/attilio/vmcontention/usr.sbin/bsdinstall/distfetch/Makefile user/attilio/vmcontention/usr.sbin/bsdinstall/partedit/Makefile user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/Makefile user/attilio/vmcontention/usr.sbin/ctladm/ctladm.c user/attilio/vmcontention/usr.sbin/dumpcis/printcis.c user/attilio/vmcontention/usr.sbin/makefs/Makefile user/attilio/vmcontention/usr.sbin/makefs/makefs.h user/attilio/vmcontention/usr.sbin/makefs/walk.c user/attilio/vmcontention/usr.sbin/mergemaster/mergemaster.sh user/attilio/vmcontention/usr.sbin/vidcontrol/vidcontrol.c Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/lib/libc/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/amd64/vmm/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/octeon-sdk/ (props changed) user/attilio/vmcontention/usr.bin/calendar/ (props changed) Modified: user/attilio/vmcontention/Makefile.inc1 ============================================================================== --- user/attilio/vmcontention/Makefile.inc1 Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/Makefile.inc1 Sat May 11 19:41:52 2013 (r250525) @@ -1176,7 +1176,8 @@ _kerberos5_bootstrap_tools= \ kerberos5/lib/libroken \ kerberos5/lib/libvers \ kerberos5/tools/asn1_compile \ - kerberos5/tools/slc + kerberos5/tools/slc \ + usr.bin/compile_et .endif # Please document (add comment) why something is in 'bootstrap-tools'. Modified: user/attilio/vmcontention/bin/dd/args.c ============================================================================== --- user/attilio/vmcontention/bin/dd/args.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/args.c Sat May 11 19:41:52 2013 (r250525) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/vmcontention/bin/dd/conv_tab.c ============================================================================== --- user/attilio/vmcontention/bin/dd/conv_tab.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/conv_tab.c Sat May 11 19:41:52 2013 (r250525) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include "dd.h" Modified: user/attilio/vmcontention/bin/dd/dd.c ============================================================================== --- user/attilio/vmcontention/bin/dd/dd.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/dd.c Sat May 11 19:41:52 2013 (r250525) @@ -81,6 +81,7 @@ size_t cbsz; /* conversion block size uintmax_t files_cnt = 1; /* # of files to copy */ const u_char *ctab; /* conversion table */ char fill_char; /* Character to fill with if defined */ +volatile sig_atomic_t need_summary; int main(int argc __unused, char *argv[]) @@ -89,7 +90,7 @@ main(int argc __unused, char *argv[]) jcl(argv); setup(); - (void)signal(SIGINFO, summaryx); + (void)signal(SIGINFO, siginfo_handler); (void)signal(SIGINT, terminate); atexit(summary); @@ -375,6 +376,9 @@ dd_in(void) in.dbp += in.dbrcnt; (*cfunc)(); + if (need_summary) { + summary(); + } } } Modified: user/attilio/vmcontention/bin/dd/extern.h ============================================================================== --- user/attilio/vmcontention/bin/dd/extern.h Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/extern.h Sat May 11 19:41:52 2013 (r250525) @@ -43,7 +43,7 @@ void jcl(char **); void pos_in(void); void pos_out(void); void summary(void); -void summaryx(int); +void siginfo_handler(int); void terminate(int); void unblock(void); void unblock_close(void); @@ -61,3 +61,4 @@ extern const u_char e2a_32V[], e2a_POSIX extern const u_char a2ibm_32V[], a2ibm_POSIX[]; extern u_char casetab[]; extern char fill_char; +extern volatile sig_atomic_t need_summary; Modified: user/attilio/vmcontention/bin/dd/misc.c ============================================================================== --- user/attilio/vmcontention/bin/dd/misc.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/misc.c Sat May 11 19:41:52 2013 (r250525) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -57,41 +58,32 @@ summary(void) { struct timeval tv; double secs; - char buf[100]; (void)gettimeofday(&tv, NULL); secs = tv.tv_sec + tv.tv_usec * 1e-6 - st.start; if (secs < 1e-6) secs = 1e-6; - /* Use snprintf(3) so that we don't reenter stdio(3). */ - (void)snprintf(buf, sizeof(buf), + (void)fprintf(stderr, "%ju+%ju records in\n%ju+%ju records out\n", st.in_full, st.in_part, st.out_full, st.out_part); - (void)write(STDERR_FILENO, buf, strlen(buf)); - if (st.swab) { - (void)snprintf(buf, sizeof(buf), "%ju odd length swab %s\n", + if (st.swab) + (void)fprintf(stderr, "%ju odd length swab %s\n", st.swab, (st.swab == 1) ? "block" : "blocks"); - (void)write(STDERR_FILENO, buf, strlen(buf)); - } - if (st.trunc) { - (void)snprintf(buf, sizeof(buf), "%ju truncated %s\n", + if (st.trunc) + (void)fprintf(stderr, "%ju truncated %s\n", st.trunc, (st.trunc == 1) ? "block" : "blocks"); - (void)write(STDERR_FILENO, buf, strlen(buf)); - } - (void)snprintf(buf, sizeof(buf), + (void)fprintf(stderr, "%ju bytes transferred in %.6f secs (%.0f bytes/sec)\n", st.bytes, secs, st.bytes / secs); - (void)write(STDERR_FILENO, buf, strlen(buf)); + need_summary = 0; } /* ARGSUSED */ void -summaryx(int notused __unused) +siginfo_handler(int signo __unused) { - int save_errno = errno; - summary(); - errno = save_errno; + need_summary = 1; } /* ARGSUSED */ Modified: user/attilio/vmcontention/bin/dd/position.c ============================================================================== --- user/attilio/vmcontention/bin/dd/position.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/dd/position.c Sat May 11 19:41:52 2013 (r250525) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "dd.h" @@ -91,6 +92,8 @@ pos_in(void) } } else --cnt; + if (need_summary) + summary(); continue; } Modified: user/attilio/vmcontention/bin/sh/var.c ============================================================================== --- user/attilio/vmcontention/bin/sh/var.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/bin/sh/var.c Sat May 11 19:41:52 2013 (r250525) @@ -877,7 +877,7 @@ unsetvar(const char *s) /* - * Returns true if the two strings specify the same varable. The first + * Returns true if the two strings specify the same variable. The first * variable name is terminated by '='; the second may be terminated by * either '=' or '\0'. */ @@ -898,7 +898,7 @@ varequal(const char *p, const char *q) * Search for a variable. * 'name' may be terminated by '=' or a NUL. * vppp is set to the pointer to vp, or the list head if vp isn't found - * lenp is set to the number of charactets in 'name' + * lenp is set to the number of characters in 'name' */ static struct var * Modified: user/attilio/vmcontention/etc/protocols ============================================================================== --- user/attilio/vmcontention/etc/protocols Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/etc/protocols Sat May 11 19:41:52 2013 (r250525) @@ -92,6 +92,7 @@ vmtp 81 VMTP # Versatile Message Transp secure-vmtp 82 SECURE-VMTP # SECURE-VMTP vines 83 VINES # VINES ttp 84 TTP # TTP +#iptm 84 IPTM # Protocol Internet Protocol Traffic nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP dgp 86 DGP # Dissimilar Gateway Protocol tcf 87 TCF # TCF @@ -145,7 +146,13 @@ rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # Ag mobility-header 135 Mobility-Header # Mobility Support in IPv6 udplite 136 UDPLite # The UDP-Lite Protocol mpls-in-ip 137 MPLS-IN-IP # Encapsulating MPLS in IP +manet 138 MANET # MANET Protocols (RFC5498) +hip 139 HIP # Host Identity Protocol (RFC5201) +shim6 140 SHIM6 # Shim6 Protocol (RFC5533) +wesp 141 WESP # Wrapped Encapsulating Security Payload (RFC5840) +rohc 142 ROHC # Robust Header Compression (RFC5858) # 138-254 # Unassigned pfsync 240 PFSYNC # PF Synchronization +# 253-254 # Use for experimentation and testing (RFC3692) # 255 # Reserved divert 258 DIVERT # Divert pseudo-protocol [non IANA] Modified: user/attilio/vmcontention/lib/libc/gen/posix_spawn_file_actions_addopen.3 ============================================================================== --- user/attilio/vmcontention/lib/libc/gen/posix_spawn_file_actions_addopen.3 Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/lib/libc/gen/posix_spawn_file_actions_addopen.3 Sat May 11 19:41:52 2013 (r250525) @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 24, 2008 +.Dd May 9, 2013 .Dt POSIX_SPAWN_FILE_ACTIONS_ADDOPEN 3 .Os .Sh NAME @@ -123,7 +123,19 @@ to be duplicated as dup2(fildes, newfildes) .Ed .Pp -had been called) when a new process is spawned using this file actions object. +had been called) when a new process is spawned using this file actions object, +except that the +.Dv FD_CLOEXEC +flag for +.Fa newfildes +is cleared even if +.Fa fildes +is equal to +.Fa newfildes . +The difference from +.Fn dup2 +is useful for passing a particular file descriptor +to a particular child process. .Pp The .Fn posix_spawn_file_actions_addclose @@ -145,7 +157,7 @@ otherwise, an error number is returned t These functions fail if: .Bl -tag -width Er -.It Bq Er EINVAL +.It Bq Er EBADF The value specified by .Fa fildes or @@ -169,7 +181,16 @@ The and .Fn posix_spawn_file_actions_addclose functions conform to -.St -p1003.1-2001 . +.St -p1003.1-2001 , +with the exception of the behavior of +.Fn posix_spawn_file_actions_adddup2 +if +.Fa fildes +is equal to +.Fa newfildes +(clearing +.Dv FD_CLOEXEC ) . +A future update of the Standard is expected to require this behavior, .Sh HISTORY The .Fn posix_spawn_file_actions_addopen , Modified: user/attilio/vmcontention/lib/libc/gen/wordexp.c ============================================================================== --- user/attilio/vmcontention/lib/libc/gen/wordexp.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/lib/libc/gen/wordexp.c Sat May 11 19:41:52 2013 (r250525) @@ -139,25 +139,15 @@ we_askshell(const char *words, wordexp_t * We are the child; just get /bin/sh to run the wordexp * builtin on `words'. */ - int devnull; - char *cmd; - (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); _close(pdes[0]); if (_dup2(pdes[1], STDOUT_FILENO) < 0) _exit(1); _close(pdes[1]); - if (asprintf(&cmd, "wordexp %s\n", words) < 0) - _exit(1); - if ((flags & WRDE_SHOWERR) == 0) { - if ((devnull = _open(_PATH_DEVNULL, O_RDWR, 0666)) < 0) - _exit(1); - if (_dup2(devnull, STDERR_FILENO) < 0) - _exit(1); - _close(devnull); - } execl(_PATH_BSHELL, "sh", flags & WRDE_UNDEF ? "-u" : "+u", - "-c", cmd, (char *)NULL); + "-c", "eval \"$1\";eval \"wordexp $2\"", "", + flags & WRDE_SHOWERR ? "" : "exec 2>/dev/null", words, + (char *)NULL); _exit(1); } Modified: user/attilio/vmcontention/lib/libthr/thread/thr_sig.c ============================================================================== --- user/attilio/vmcontention/lib/libthr/thread/thr_sig.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/lib/libthr/thread/thr_sig.c Sat May 11 19:41:52 2013 (r250525) @@ -725,8 +725,10 @@ _setcontext(const ucontext_t *ucp) { ucontext_t uc; - if (ucp == NULL) - return (EINVAL); + if (ucp == NULL) { + errno = EINVAL; + return (-1); + } if (!SIGISMEMBER(uc.uc_sigmask, SIGCANCEL)) return __sys_setcontext(ucp); (void) memcpy(&uc, ucp, sizeof(uc)); @@ -740,8 +742,10 @@ _swapcontext(ucontext_t *oucp, const uco { ucontext_t uc; - if (oucp == NULL || ucp == NULL) - return (EINVAL); + if (oucp == NULL || ucp == NULL) { + errno = EINVAL; + return (-1); + } if (SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL)) { (void) memcpy(&uc, ucp, sizeof(uc)); SIGDELSET(uc.uc_sigmask, SIGCANCEL); Modified: user/attilio/vmcontention/sbin/dmesg/dmesg.8 ============================================================================== --- user/attilio/vmcontention/sbin/dmesg/dmesg.8 Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sbin/dmesg/dmesg.8 Sat May 11 19:41:52 2013 (r250525) @@ -28,7 +28,7 @@ .\" @(#)dmesg.8 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 5, 1993 +.Dd May 9, 2013 .Dt DMESG 8 .Os .Sh NAME @@ -36,7 +36,7 @@ .Nd "display the system message buffer" .Sh SYNOPSIS .Nm -.Op Fl a +.Op Fl ac .Op Fl M Ar core Op Fl N Ar system .Sh DESCRIPTION The @@ -59,6 +59,8 @@ Show all data in the message buffer. This includes any syslog records and .Pa /dev/console output. +.It Fl c +Clear the kernel buffer after printing. .It Fl M Extract values associated with the name list from the specified core. .It Fl N Modified: user/attilio/vmcontention/sbin/dmesg/dmesg.c ============================================================================== --- user/attilio/vmcontention/sbin/dmesg/dmesg.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sbin/dmesg/dmesg.c Sat May 11 19:41:52 2013 (r250525) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -79,15 +80,20 @@ main(int argc, char *argv[]) kvm_t *kd; size_t buflen, bufpos; long pri; - int all, ch; + int ch, clear; + bool all; - all = 0; + all = false; + clear = false; (void) setlocale(LC_CTYPE, ""); memf = nlistf = NULL; - while ((ch = getopt(argc, argv, "aM:N:")) != -1) + while ((ch = getopt(argc, argv, "acM:N:")) != -1) switch(ch) { case 'a': - all++; + all = true; + break; + case 'c': + clear = true; break; case 'M': memf = optarg; @@ -190,12 +196,16 @@ main(int argc, char *argv[]) (void)strvisx(visbp, p, nextp - p, 0); (void)printf("%s", visbp); } + if (clear) + if (sysctlbyname("kern.msgbuf_clear", NULL, NULL, &clear, sizeof(int))) + err(1, "sysctl kern.msgbuf_clear"); + exit(0); } void usage(void) { - (void)fprintf(stderr, "usage: dmesg [-a] [-M core [-N system]]\n"); + fprintf(stderr, "usage: dmesg [-ac] [-M core [-N system]]\n"); exit(1); } Modified: user/attilio/vmcontention/sbin/hastctl/Makefile ============================================================================== --- user/attilio/vmcontention/sbin/hastctl/Makefile Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sbin/hastctl/Makefile Sat May 11 19:41:52 2013 (r250525) @@ -32,8 +32,8 @@ CFLAGS+=-DINET6 CFLAGS+=-DYY_NO_UNPUT CFLAGS+=-DYY_NO_INPUT -DPADD= ${LIBL} ${LIBUTIL} -LDADD= -ll -lutil +DPADD= ${LIBUTIL} +LDADD= -lutil .if ${MK_OPENSSL} != "no" DPADD+= ${LIBCRYPTO} LDADD+= -lcrypto Modified: user/attilio/vmcontention/sbin/hastd/Makefile ============================================================================== --- user/attilio/vmcontention/sbin/hastd/Makefile Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sbin/hastd/Makefile Sat May 11 19:41:52 2013 (r250525) @@ -31,7 +31,7 @@ CFLAGS+=-DINET6 .endif DPADD= ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF} ${LIBL} ${LIBPTHREAD} ${LIBUTIL} -LDADD= -lgeom -lbsdxml -lsbuf -ll -lpthread -lutil +LDADD= -lgeom -lbsdxml -lsbuf -lpthread -lutil .if ${MK_OPENSSL} != "no" DPADD+= ${LIBCRYPTO} LDADD+= -lcrypto Modified: user/attilio/vmcontention/sbin/hastd/token.l ============================================================================== --- user/attilio/vmcontention/sbin/hastd/token.l Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sbin/hastd/token.l Sat May 11 19:41:52 2013 (r250525) @@ -46,6 +46,7 @@ int lineno; %option noinput %option nounput +%option noyywrap %% control { DP; return CONTROL; } Modified: user/attilio/vmcontention/share/examples/ppi/ppilcd.c ============================================================================== --- user/attilio/vmcontention/share/examples/ppi/ppilcd.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/share/examples/ppi/ppilcd.c Sat May 11 19:41:52 2013 (r250525) @@ -269,7 +269,7 @@ do_char(struct lcd_driver *driver, char * one of the ground pins (eg. pin 25). * * Note that the pinning on some LCD modules has the odd and even pins - * arranged as though reversed; check carefully before conecting a module + * arranged as though reversed; check carefully before connecting a module * as it is possible to toast the HD44780 if the power is reversed. */ Modified: user/attilio/vmcontention/share/man/man3/queue.3 ============================================================================== --- user/attilio/vmcontention/share/man/man3/queue.3 Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/share/man/man3/queue.3 Sat May 11 19:41:52 2013 (r250525) @@ -404,7 +404,8 @@ The macro .Nm SLIST_REMOVE_AFTER removes the element after .Fa elm -from the list. Unlike +from the list. +Unlike .Fa SLIST_REMOVE , this macro does not traverse the entire list. .Pp @@ -595,7 +596,8 @@ The macro .Nm STAILQ_REMOVE_AFTER removes the element after .Fa elm -from the tail queue. Unlike +from the tail queue. +Unlike .Fa STAILQ_REMOVE , this macro does not traverse the entire tail queue. .Pp Modified: user/attilio/vmcontention/share/misc/pci_vendors ============================================================================== --- user/attilio/vmcontention/share/misc/pci_vendors Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/share/misc/pci_vendors Sat May 11 19:41:52 2013 (r250525) @@ -11402,7 +11402,7 @@ 0040 QSC-200/300 0050 ESC-100D 0060 ESC-100M - 00f0 MPAC-100 Syncronous Serial Card (Zilog 85230) + 00f0 MPAC-100 Synchronous Serial Card (Zilog 85230) 0170 QSCLP-100 0180 DSCLP-100 0190 SSCLP-100 Modified: user/attilio/vmcontention/share/syscons/fonts/iso05-8x16.fnt ============================================================================== --- user/attilio/vmcontention/share/syscons/fonts/iso05-8x16.fnt Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/share/syscons/fonts/iso05-8x16.fnt Sat May 11 19:41:52 2013 (r250525) @@ -40,7 +40,7 @@ M`'S&_L#`QGP````````X;&1@\&!@8&#P``````` M`.!@8&QV9F9F9N8````````8&``X&!@8&!@\````````!@8`#@8&!@8&!F9F M/````.!@8&9L>'AL9N8````````X&!@8&!@8&!@\````````````[/[6UM;6 MQ@```````````-QF9F9F9F8```````````!\QL;&QL9\````````````W&9F -M9F9F?&!@\`````````````````````````````#<=F9@8&#P```````````` +M9F9F?&!@\````````';,S,S,S'P,#!X```````#<=F9@8&#P```````````` M?,9@.`S&?````````!`P,/PP,#`P-AP```````````#,S,S,S,QV```````` M````9F9F9F8\&````````````,;&UM;6_FP```````````#&;#@X.&S&```` M````````QL;&QL;&?@8,^````````/[,&#!@QOX````````.&!@8pcb_fsbase = 0; pcb->pcb_gsbase = 0; - clear_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT); + clear_pcb_flags(pcb, PCB_32BIT); pcb->pcb_initial_fpucw = __INITIAL_FPUCW__; set_pcb_flags(pcb, PCB_FULL_IRET); Modified: user/attilio/vmcontention/sys/amd64/ia32/ia32_signal.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/ia32/ia32_signal.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/ia32/ia32_signal.c Sat May 11 19:41:52 2013 (r250525) @@ -1001,6 +1001,5 @@ ia32_setregs(struct thread *td, struct i /* Return via doreti so that we can change to a different %cs */ set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); - clear_pcb_flags(pcb, PCB_GS32BIT); td->td_retval[1] = 0; } Modified: user/attilio/vmcontention/sys/amd64/include/pcb.h ============================================================================== --- user/attilio/vmcontention/sys/amd64/include/pcb.h Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/include/pcb.h Sat May 11 19:41:52 2013 (r250525) @@ -77,7 +77,6 @@ struct pcb { #define PCB_KERNFPU 0x04 /* kernel uses fpu */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ #define PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */ -#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ uint16_t pcb_initial_fpucw; Modified: user/attilio/vmcontention/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/linux32/linux32_machdep.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/linux32/linux32_machdep.c Sat May 11 19:41:52 2013 (r250525) @@ -447,7 +447,7 @@ linux_set_cloned_tls(struct thread *td, pcb->pcb_gsbase = (register_t)info.base_addr; /* XXXKIB pcb->pcb_gs32sd = sd; */ td->td_frame->tf_gs = GSEL(GUGS32_SEL, SEL_UPL); - set_pcb_flags(pcb, PCB_GS32BIT | PCB_32BIT); + set_pcb_flags(pcb, PCB_32BIT); } return (error); @@ -1026,7 +1026,7 @@ linux_set_thread_area(struct thread *td, pcb = td->td_pcb; pcb->pcb_gsbase = (register_t)info.base_addr; - set_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT); + set_pcb_flags(pcb, PCB_32BIT); update_gdt_gsbase(td, info.base_addr); return (0); Modified: user/attilio/vmcontention/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/linux32/linux32_sysvec.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/linux32/linux32_sysvec.c Sat May 11 19:41:52 2013 (r250525) @@ -868,7 +868,6 @@ exec_linux_setregs(struct thread *td, st /* Do full restore on return so that we can change to a different %cs */ set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); - clear_pcb_flags(pcb, PCB_GS32BIT); td->td_retval[1] = 0; } Modified: user/attilio/vmcontention/sys/amd64/vmm/io/vlapic.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/vmm/io/vlapic.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/vmm/io/vlapic.c Sat May 11 19:41:52 2013 (r250525) @@ -430,6 +430,8 @@ vlapic_fire_timer(struct vlapic *vlapic) } } +static VMM_STAT_ARRAY(IPIS_SENT, VM_MAXCPU, "ipis sent to vcpu"); + static int lapic_process_icr(struct vlapic *vlapic, uint64_t icrval) { @@ -466,9 +468,11 @@ lapic_process_icr(struct vlapic *vlapic, while ((i = cpusetobj_ffs(&dmask)) != 0) { i--; CPU_CLR(i, &dmask); - if (mode == APIC_DELMODE_FIXED) + if (mode == APIC_DELMODE_FIXED) { lapic_set_intr(vlapic->vm, i, vec); - else + vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, + IPIS_SENT, i, 1); + } else vm_inject_nmi(vlapic->vm, i); } Modified: user/attilio/vmcontention/sys/amd64/vmm/vmm_dev.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/vmm/vmm_dev.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/vmm/vmm_dev.c Sat May 11 19:41:52 2013 (r250525) @@ -235,18 +235,13 @@ vmmdev_ioctl(struct cdev *cdev, u_long c error = vm_run(sc->vm, vmrun); break; case VM_STAT_DESC: { - const char *desc; statdesc = (struct vm_stat_desc *)data; - desc = vmm_stat_desc(statdesc->index); - if (desc != NULL) { - error = 0; - strlcpy(statdesc->desc, desc, sizeof(statdesc->desc)); - } else - error = EINVAL; + error = vmm_stat_desc_copy(statdesc->index, + statdesc->desc, sizeof(statdesc->desc)); break; } case VM_STATS: { - CTASSERT(MAX_VM_STATS >= MAX_VMM_STAT_TYPES); + CTASSERT(MAX_VM_STATS >= MAX_VMM_STAT_ELEMS); vmstats = (struct vm_stats *)data; getmicrotime(&vmstats->tv); error = vmm_stat_copy(sc->vm, vmstats->cpuid, Modified: user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.c Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.c Sat May 11 19:41:52 2013 (r250525) @@ -39,8 +39,16 @@ __FBSDID("$FreeBSD$"); #include "vmm_util.h" #include "vmm_stat.h" -static int vstnum; -static struct vmm_stat_type *vsttab[MAX_VMM_STAT_TYPES]; +/* + * 'vst_num_elems' is the total number of addressable statistic elements + * 'vst_num_types' is the number of unique statistic types + * + * It is always true that 'vst_num_elems' is greater than or equal to + * 'vst_num_types'. This is because a stat type may represent more than + * one element (for e.g. VMM_STAT_ARRAY). + */ +static int vst_num_elems, vst_num_types; +static struct vmm_stat_type *vsttab[MAX_VMM_STAT_ELEMS]; static MALLOC_DEFINE(M_VMM_STAT, "vmm stat", "vmm stat"); @@ -59,13 +67,15 @@ vmm_stat_init(void *arg) if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_amd()) return; - if (vstnum >= MAX_VMM_STAT_TYPES) { + if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) { printf("Cannot accomodate vmm stat type \"%s\"!\n", vst->desc); return; } - vst->index = vstnum; - vsttab[vstnum++] = vst; + vst->index = vst_num_elems; + vst_num_elems += vst->nelems; + + vsttab[vst_num_types++] = vst; } int @@ -78,9 +88,9 @@ vmm_stat_copy(struct vm *vm, int vcpu, i return (EINVAL); stats = vcpu_stats(vm, vcpu); - for (i = 0; i < vstnum; i++) + for (i = 0; i < vst_num_elems; i++) buf[i] = stats[i]; - *num_stats = vstnum; + *num_stats = vst_num_elems; return (0); } @@ -89,7 +99,7 @@ vmm_stat_alloc(void) { u_long size; - size = vstnum * sizeof(uint64_t); + size = vst_num_elems * sizeof(uint64_t); return (malloc(size, M_VMM_STAT, M_ZERO | M_WAITOK)); } @@ -100,14 +110,26 @@ vmm_stat_free(void *vp) free(vp, M_VMM_STAT); } -const char * -vmm_stat_desc(int index) +int +vmm_stat_desc_copy(int index, char *buf, int bufsize) { + int i; + struct vmm_stat_type *vst; + + for (i = 0; i < vst_num_types; i++) { + vst = vsttab[i]; + if (index >= vst->index && index < vst->index + vst->nelems) { + if (vst->nelems > 1) { + snprintf(buf, bufsize, "%s[%d]", + vst->desc, index - vst->index); + } else { + strlcpy(buf, vst->desc, bufsize); + } + return (0); /* found it */ + } + } - if (index >= 0 && index < vstnum) - return (vsttab[index]->desc); - else - return (NULL); + return (EINVAL); } /* global statistics */ Modified: user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.h ============================================================================== --- user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.h Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/amd64/vmm/vmm_stat.h Sat May 11 19:41:52 2013 (r250525) @@ -34,7 +34,7 @@ struct vm; -#define MAX_VMM_STAT_TYPES 64 /* arbitrary */ +#define MAX_VMM_STAT_ELEMS 64 /* arbitrary */ enum vmm_stat_scope { VMM_STAT_SCOPE_ANY, @@ -44,15 +44,16 @@ enum vmm_stat_scope { struct vmm_stat_type { int index; /* position in the stats buffer */ + int nelems; /* standalone or array */ const char *desc; /* description of statistic */ enum vmm_stat_scope scope; }; void vmm_stat_init(void *arg); -#define VMM_STAT_DEFINE(type, desc, scope) \ +#define VMM_STAT_DEFINE(type, nelems, desc, scope) \ struct vmm_stat_type type[1] = { \ - { -1, desc, scope } \ + { -1, nelems, desc, scope } \ }; \ SYSINIT(type##_stat, SI_SUB_KLD, SI_ORDER_ANY, vmm_stat_init, type) @@ -60,11 +61,14 @@ void vmm_stat_init(void *arg); extern struct vmm_stat_type type[1] #define VMM_STAT(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_ANY) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_ANY) #define VMM_STAT_INTEL(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_INTEL) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_INTEL) #define VMM_STAT_AMD(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_AMD) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_AMD) + +#define VMM_STAT_ARRAY(type, nelems, desc) \ + VMM_STAT_DEFINE(type, nelems, desc, VMM_STAT_SCOPE_ANY) void *vmm_stat_alloc(void); void vmm_stat_free(void *vp); @@ -73,15 +77,29 @@ void vmm_stat_free(void *vp); * 'buf' should be at least fit 'MAX_VMM_STAT_TYPES' entries */ int vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf); -const char *vmm_stat_desc(int index); +int vmm_stat_desc_copy(int index, char *buf, int buflen); + +static void __inline +vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, + int statidx, uint64_t x) +{ +#ifdef VMM_KEEP_STATS + uint64_t *stats; + + stats = vcpu_stats(vm, vcpu); + + if (vst->index >= 0 && statidx < vst->nelems) + stats[vst->index + statidx] += x; +#endif +} + static void __inline vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) { -#ifdef VMM_KEEP_STATS - uint64_t *stats = vcpu_stats(vm, vcpu); - if (vst->index >= 0) - stats[vst->index] += x; + +#ifdef VMM_KEEP_STATS + vmm_stat_array_incr(vm, vcpu, vst, 0, x); #endif } Modified: user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi ============================================================================== --- user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi Sat May 11 19:11:20 2013 (r250524) +++ user/attilio/vmcontention/sys/boot/fdt/dts/am335x.dtsi Sat May 11 19:41:52 2013 (r250525) @@ -27,7 +27,6 @@ */ / { - compatible = "ti,am335x"; #address-cells = <1>; #size-cells = <1>; @@ -107,7 +106,7 @@ interrupt-parent = <&AINTC>; }; - mmchs0@4809C000 { + mmchs0@48060000 { compatible = "ti,mmchs"; reg =<0x48060000 0x1000 >; interrupts = <64>; @@ -115,6 +114,15 @@ mmchs-device-id = <0>; }; + mmchs1@481D8000 { + compatible = "ti,mmchs"; + reg =<0x481D8000 0x1000 >; + interrupts = <28>; + interrupt-parent = <&AINTC>; + mmchs-device-id = <1>; + status = "disabled"; + }; + enet0: ethernet@4A100000 { #address-cells = <1>; #size-cells = <1>; Copied: user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts (from r250524, head/sys/boot/fdt/dts/beaglebone-black.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts Sat May 11 19:41:52 2013 (r250525, copy of r250524, head/sys/boot/fdt/dts/beaglebone-black.dts) @@ -0,0 +1,149 @@ +/*- + * Copyright (c) 2012 Damjan Marion + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (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$ + */ + +/dts-v1/; + +/include/ "am335x.dtsi" + +/ { + model = "beaglebone-black"; + compatible = "beaglebone-black", "beaglebone", "ti,am335x"; + + + aliases { + soc = &SOC; + uart0 = &uart0; + }; + + memory { + device_type = "memory"; + reg = < 0x80000000 0x20000000 >; /* 512MB RAM */ + }; + + am335x { + scm@44e10000 { + /* Set of triplets < padname, muxname, padstate> */ + scm-pad-config = + /* I2C0 */ + "I2C0_SDA", "I2C0_SDA","i2c", + "I2C0_SCL", "I2C0_SCL","i2c", + /* Ethernet */ + "MII1_RX_ER", "gmii1_rxerr", "input_pulldown", + "MII1_TX_EN", "gmii1_txen", "output", + "MII1_RX_DV", "gmii1_rxdv", "input_pulldown", + "MII1_TXD3", "gmii1_txd3", "output", + "MII1_TXD2", "gmii1_txd2", "output", + "MII1_TXD1", "gmii1_txd1", "output", + "MII1_TXD0", "gmii1_txd0", "output", + "MII1_TX_CLK", "gmii1_txclk", "input_pulldown", + "MII1_RX_CLK", "gmii1_rxclk", "input_pulldown", + "MII1_RXD3", "gmii1_rxd3", "input_pulldown", + "MII1_RXD2", "gmii1_rxd2", "input_pulldown", + "MII1_RXD1", "gmii1_rxd1", "input_pulldown", + "MII1_RXD0", "gmii1_rxd0", "input_pulldown", + "MDIO", "mdio_data", "input_pullup", + "MDC", "mdio_clk", "output_pullup", + /* MMCSD0 */ + "MMC0_CMD", "mmc0_cmd", "input_pullup", + "MMC0_CLK", "mmc0_clk", "input_pullup", + "MMC0_DAT0", "mmc0_dat0", "input_pullup", + "MMC0_DAT1", "mmc0_dat1", "input_pullup", + "MMC0_DAT2", "mmc0_dat2", "input_pullup", + "MMC0_DAT3", "mmc0_dat3", "input_pullup", + /* MMC1 */ + "GPMC_CSn1", "mmc1_clk", "input_pulldown", + "GPMC_CSn2", "mmc1_cmd", "input_pulldown", + "GPMC_AD0", "mmc1_dat0", "input_pulldown", + "GPMC_AD1", "mmc1_dat1", "input_pulldown", + "GPMC_AD2", "mmc1_dat2", "input_pulldown", + "GPMC_AD3", "mmc1_dat3", "input_pulldown", + "GPMC_AD4", "mmc1_dat4", "input_pulldown", + "GPMC_AD5", "mmc1_dat5", "input_pulldown", + "GPMC_AD6", "mmc1_dat6", "input_pulldown", + "GPMC_AD7", "mmc1_dat7", "input_pulldown", + /* GPIO */ + "ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown", + "GPMC_AD10", "gpio0_26", "input_pulldown", + "GPMC_AD11", "gpio0_27", "input_pulldown", + "GPMC_AD12", "gpio1_12", "input_pulldown", + "GPMC_AD13", "gpio1_13", "input_pulldown", + "GPMC_AD14", "gpio1_14", "input_pulldown", + "GPMC_AD15", "gpio1_15", "input_pulldown", + "GPMC_A0", "gpio1_16", "input_pulldown", + "GPMC_A1", "gpio1_17", "input_pulldown", + "GPMC_A5", "gpio1_21", "output", /* User LED 1 */ + "GPMC_A6", "gpio1_22", "output", /* User LED 2 */ + "GPMC_A7", "gpio1_23", "output", /* User LED 3 */ + "GPMC_A8", "gpio1_24", "output", /* User LED 4 */ + "GPMC_BEn1", "gpio1_28", "input_pulldown", + "GPMC_CSn0", "gpio1_29", "input_pulldown", + "GPMC_CLK", "gpio2_1", "input_pulldown", + "LCD_DATA0", "gpio2_6", "input_pulldown", + "LCD_DATA1", "gpio2_7", "input_pulldown", + "LCD_DATA2", "gpio2_8", "input_pulldown", + "LCD_DATA3", "gpio2_9", "input_pulldown", + "LCD_DATA4", "gpio2_10", "input_pulldown", + "LCD_DATA5", "gpio2_11", "input_pulldown", + "LCD_DATA6", "gpio2_12", "input_pulldown", + "LCD_DATA7", "gpio2_13", "input_pulldown", + "LCD_VSYNC", "gpio2_22", "input_pulldown", + "LCD_HSYNC", "gpio2_23", "input_pulldown", + "LCD_PCLK", "gpio2_24", "input_pulldown", + "LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown", + "MCASP0_FSR", "gpio3_19", "input_pulldown", + "MCASP0_AHCLKX", "gpio3_21", "input_pulldown", + /* TIMERs */ + "GPMC_ADVn_ALE", "timer4", "output", + "GPMC_BEn0_CLE", "timer5", "output", + "GPMC_WEn", "timer6", "output", + "GPMC_OEn_REn", "timer7", "output", + /* PWM */ + "GPMC_A2", "ehrpwm1A", "output", + "GPMC_A3", "ehrpwm1B", "output", + "GPMC_AD8", "ehrpwm2A", "output", + "GPMC_AD9", "ehrpwm2B", "output"; + }; + + mmchs1@481D8000 { + status = "ok"; + }; + + + i2c@44e0b000 { + pmic@24 { + compatible = "ti,am335x-pmic"; + reg = <0x24>; + }; + } + }; + + chosen { + stdin = "uart0"; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat May 11 19:46:23 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DDEEB80B; Sat, 11 May 2013 19:46:23 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CD99069D; Sat, 11 May 2013 19:46:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4BJkNPs037519; Sat, 11 May 2013 19:46:23 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4BJkGXG037471; Sat, 11 May 2013 19:46:16 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305111946.r4BJkGXG037471@svn.freebsd.org> From: Attilio Rao Date: Sat, 11 May 2013 19:46:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250526 - in user/attilio/jeff-numa: . bin/dd bin/sh etc lib/libc/gen lib/libthr/thread sbin/dmesg sbin/hastctl sbin/hastd share/examples/ppi share/man/man3 share/misc share/syscons/fon... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 May 2013 19:46:23 -0000 Author: attilio Date: Sat May 11 19:46:15 2013 New Revision: 250526 URL: http://svnweb.freebsd.org/changeset/base/250526 Log: MFC Added: user/attilio/jeff-numa/sys/boot/fdt/dts/beaglebone-black.dts - copied unchanged from r250525, user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts user/attilio/jeff-numa/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.3 - copied unchanged from r250525, user/attilio/vmcontention/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.3 Deleted: user/attilio/jeff-numa/usr.sbin/bsnmpd/modules/snmp_hast/snmp_hast.8 user/attilio/jeff-numa/usr.sbin/makefs/compat/ user/attilio/jeff-numa/usr.sbin/makefs/getid.c Modified: user/attilio/jeff-numa/Makefile.inc1 user/attilio/jeff-numa/bin/dd/args.c user/attilio/jeff-numa/bin/dd/conv_tab.c user/attilio/jeff-numa/bin/dd/dd.c user/attilio/jeff-numa/bin/dd/extern.h user/attilio/jeff-numa/bin/dd/misc.c user/attilio/jeff-numa/bin/dd/position.c user/attilio/jeff-numa/bin/sh/var.c user/attilio/jeff-numa/etc/protocols user/attilio/jeff-numa/lib/libc/gen/posix_spawn_file_actions_addopen.3 user/attilio/jeff-numa/lib/libc/gen/wordexp.c user/attilio/jeff-numa/lib/libthr/thread/thr_sig.c user/attilio/jeff-numa/sbin/dmesg/dmesg.8 user/attilio/jeff-numa/sbin/dmesg/dmesg.c user/attilio/jeff-numa/sbin/hastctl/Makefile user/attilio/jeff-numa/sbin/hastd/Makefile user/attilio/jeff-numa/sbin/hastd/token.l user/attilio/jeff-numa/share/examples/ppi/ppilcd.c user/attilio/jeff-numa/share/man/man3/queue.3 user/attilio/jeff-numa/share/misc/pci_vendors user/attilio/jeff-numa/share/syscons/fonts/iso05-8x16.fnt user/attilio/jeff-numa/sys/amd64/amd64/fpu.c user/attilio/jeff-numa/sys/amd64/amd64/genassym.c user/attilio/jeff-numa/sys/amd64/amd64/identcpu.c user/attilio/jeff-numa/sys/amd64/amd64/machdep.c user/attilio/jeff-numa/sys/amd64/ia32/ia32_signal.c user/attilio/jeff-numa/sys/amd64/include/pcb.h user/attilio/jeff-numa/sys/amd64/linux32/linux32_machdep.c user/attilio/jeff-numa/sys/amd64/linux32/linux32_sysvec.c user/attilio/jeff-numa/sys/amd64/vmm/io/vlapic.c user/attilio/jeff-numa/sys/amd64/vmm/vmm_dev.c user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.c user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.h user/attilio/jeff-numa/sys/boot/fdt/dts/am335x.dtsi user/attilio/jeff-numa/sys/boot/fdt/dts/beaglebone.dts user/attilio/jeff-numa/sys/cam/ata/ata_pmp.c user/attilio/jeff-numa/sys/cam/ctl/scsi_ctl.c user/attilio/jeff-numa/sys/cam/scsi/scsi_da.c user/attilio/jeff-numa/sys/cam/scsi/scsi_pt.c user/attilio/jeff-numa/sys/conf/options user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-app-init.h user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-helper-board.c user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-helper-sgmii.c user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-mgmt-port.c user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-pcie.c user/attilio/jeff-numa/sys/contrib/octeon-sdk/cvmx-rtc.h user/attilio/jeff-numa/sys/dev/aic7xxx/aic7xxx.h user/attilio/jeff-numa/sys/dev/ath/if_ath.c user/attilio/jeff-numa/sys/dev/ath/if_ath_tx_edma.c user/attilio/jeff-numa/sys/dev/cp/if_cp.c user/attilio/jeff-numa/sys/dev/ctau/if_ct.c user/attilio/jeff-numa/sys/dev/cx/csigma.c user/attilio/jeff-numa/sys/dev/cx/if_cx.c user/attilio/jeff-numa/sys/dev/e1000/if_em.c user/attilio/jeff-numa/sys/dev/e1000/if_em.h user/attilio/jeff-numa/sys/dev/e1000/if_lem.c user/attilio/jeff-numa/sys/dev/e1000/if_lem.h user/attilio/jeff-numa/sys/dev/hptmv/entry.c user/attilio/jeff-numa/sys/dev/isci/scil/scif_sas_domain.c user/attilio/jeff-numa/sys/dev/netmap/netmap_mem2.c user/attilio/jeff-numa/sys/dev/nsp/nsp.c user/attilio/jeff-numa/sys/dev/pci/pci.c user/attilio/jeff-numa/sys/dev/sfxge/common/efx_mcdi.c user/attilio/jeff-numa/sys/dev/sn/if_sn.c user/attilio/jeff-numa/sys/dev/stg/tmc18c30.c user/attilio/jeff-numa/sys/fs/nullfs/null.h user/attilio/jeff-numa/sys/fs/nullfs/null_subr.c user/attilio/jeff-numa/sys/fs/nullfs/null_vfsops.c user/attilio/jeff-numa/sys/fs/nullfs/null_vnops.c user/attilio/jeff-numa/sys/kern/kern_lock.c user/attilio/jeff-numa/sys/kern/subr_witness.c user/attilio/jeff-numa/sys/kern/uipc_syscalls.c user/attilio/jeff-numa/sys/kern/uipc_usrreq.c user/attilio/jeff-numa/sys/kern/vfs_subr.c user/attilio/jeff-numa/sys/kern/vfs_syscalls.c user/attilio/jeff-numa/sys/mips/conf/OCTEON1 user/attilio/jeff-numa/sys/mips/conf/ROUTERSTATION.hints user/attilio/jeff-numa/sys/mips/mips/bus_space_fdt.c user/attilio/jeff-numa/sys/mips/mips/bus_space_generic.c user/attilio/jeff-numa/sys/net/if_gre.c user/attilio/jeff-numa/sys/net80211/ieee80211_ht.c user/attilio/jeff-numa/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c user/attilio/jeff-numa/sys/netinet/if_ether.c user/attilio/jeff-numa/sys/netinet/ip_gre.c user/attilio/jeff-numa/sys/netinet/sctp_pcb.c user/attilio/jeff-numa/sys/netinet6/sctp6_usrreq.c user/attilio/jeff-numa/sys/netpfil/pf/if_pfsync.c user/attilio/jeff-numa/sys/netpfil/pf/pf.c user/attilio/jeff-numa/sys/netpfil/pf/pf_ioctl.c user/attilio/jeff-numa/sys/ofed/drivers/net/mlx4/eq.c user/attilio/jeff-numa/sys/sys/lock.h user/attilio/jeff-numa/sys/sys/lockmgr.h user/attilio/jeff-numa/sys/sys/mount.h user/attilio/jeff-numa/sys/vm/vm_radix.c user/attilio/jeff-numa/sys/x86/cpufreq/p4tcc.c user/attilio/jeff-numa/tools/regression/file/dup/dup.c user/attilio/jeff-numa/usr.bin/calendar/calendars/calendar.freebsd user/attilio/jeff-numa/usr.bin/gcore/Makefile user/attilio/jeff-numa/usr.bin/lockf/lockf.1 user/attilio/jeff-numa/usr.bin/lockf/lockf.c user/attilio/jeff-numa/usr.bin/split/split.1 user/attilio/jeff-numa/usr.bin/split/split.c user/attilio/jeff-numa/usr.bin/xargs/xargs.c user/attilio/jeff-numa/usr.sbin/arp/arp.4 user/attilio/jeff-numa/usr.sbin/bluetooth/hccontrol/link_control.c user/attilio/jeff-numa/usr.sbin/bsdconfig/share/packages/index.subr user/attilio/jeff-numa/usr.sbin/bsdinstall/distextract/Makefile user/attilio/jeff-numa/usr.sbin/bsdinstall/distfetch/Makefile user/attilio/jeff-numa/usr.sbin/bsdinstall/partedit/Makefile user/attilio/jeff-numa/usr.sbin/bsnmpd/modules/snmp_hast/Makefile user/attilio/jeff-numa/usr.sbin/ctladm/ctladm.c user/attilio/jeff-numa/usr.sbin/dumpcis/printcis.c user/attilio/jeff-numa/usr.sbin/makefs/Makefile user/attilio/jeff-numa/usr.sbin/makefs/makefs.h user/attilio/jeff-numa/usr.sbin/makefs/walk.c user/attilio/jeff-numa/usr.sbin/mergemaster/mergemaster.sh user/attilio/jeff-numa/usr.sbin/vidcontrol/vidcontrol.c Directory Properties: user/attilio/jeff-numa/ (props changed) user/attilio/jeff-numa/lib/libc/ (props changed) user/attilio/jeff-numa/sbin/ (props changed) user/attilio/jeff-numa/sys/ (props changed) user/attilio/jeff-numa/sys/amd64/vmm/ (props changed) user/attilio/jeff-numa/sys/boot/ (props changed) user/attilio/jeff-numa/sys/conf/ (props changed) user/attilio/jeff-numa/sys/contrib/octeon-sdk/ (props changed) user/attilio/jeff-numa/usr.bin/calendar/ (props changed) Modified: user/attilio/jeff-numa/Makefile.inc1 ============================================================================== --- user/attilio/jeff-numa/Makefile.inc1 Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/Makefile.inc1 Sat May 11 19:46:15 2013 (r250526) @@ -1176,7 +1176,8 @@ _kerberos5_bootstrap_tools= \ kerberos5/lib/libroken \ kerberos5/lib/libvers \ kerberos5/tools/asn1_compile \ - kerberos5/tools/slc + kerberos5/tools/slc \ + usr.bin/compile_et .endif # Please document (add comment) why something is in 'bootstrap-tools'. Modified: user/attilio/jeff-numa/bin/dd/args.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/args.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/args.c Sat May 11 19:46:15 2013 (r250526) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: user/attilio/jeff-numa/bin/dd/conv_tab.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/conv_tab.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/conv_tab.c Sat May 11 19:46:15 2013 (r250526) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include "dd.h" Modified: user/attilio/jeff-numa/bin/dd/dd.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/dd.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/dd.c Sat May 11 19:46:15 2013 (r250526) @@ -81,6 +81,7 @@ size_t cbsz; /* conversion block size uintmax_t files_cnt = 1; /* # of files to copy */ const u_char *ctab; /* conversion table */ char fill_char; /* Character to fill with if defined */ +volatile sig_atomic_t need_summary; int main(int argc __unused, char *argv[]) @@ -89,7 +90,7 @@ main(int argc __unused, char *argv[]) jcl(argv); setup(); - (void)signal(SIGINFO, summaryx); + (void)signal(SIGINFO, siginfo_handler); (void)signal(SIGINT, terminate); atexit(summary); @@ -375,6 +376,9 @@ dd_in(void) in.dbp += in.dbrcnt; (*cfunc)(); + if (need_summary) { + summary(); + } } } Modified: user/attilio/jeff-numa/bin/dd/extern.h ============================================================================== --- user/attilio/jeff-numa/bin/dd/extern.h Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/extern.h Sat May 11 19:46:15 2013 (r250526) @@ -43,7 +43,7 @@ void jcl(char **); void pos_in(void); void pos_out(void); void summary(void); -void summaryx(int); +void siginfo_handler(int); void terminate(int); void unblock(void); void unblock_close(void); @@ -61,3 +61,4 @@ extern const u_char e2a_32V[], e2a_POSIX extern const u_char a2ibm_32V[], a2ibm_POSIX[]; extern u_char casetab[]; extern char fill_char; +extern volatile sig_atomic_t need_summary; Modified: user/attilio/jeff-numa/bin/dd/misc.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/misc.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/misc.c Sat May 11 19:46:15 2013 (r250526) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -57,41 +58,32 @@ summary(void) { struct timeval tv; double secs; - char buf[100]; (void)gettimeofday(&tv, NULL); secs = tv.tv_sec + tv.tv_usec * 1e-6 - st.start; if (secs < 1e-6) secs = 1e-6; - /* Use snprintf(3) so that we don't reenter stdio(3). */ - (void)snprintf(buf, sizeof(buf), + (void)fprintf(stderr, "%ju+%ju records in\n%ju+%ju records out\n", st.in_full, st.in_part, st.out_full, st.out_part); - (void)write(STDERR_FILENO, buf, strlen(buf)); - if (st.swab) { - (void)snprintf(buf, sizeof(buf), "%ju odd length swab %s\n", + if (st.swab) + (void)fprintf(stderr, "%ju odd length swab %s\n", st.swab, (st.swab == 1) ? "block" : "blocks"); - (void)write(STDERR_FILENO, buf, strlen(buf)); - } - if (st.trunc) { - (void)snprintf(buf, sizeof(buf), "%ju truncated %s\n", + if (st.trunc) + (void)fprintf(stderr, "%ju truncated %s\n", st.trunc, (st.trunc == 1) ? "block" : "blocks"); - (void)write(STDERR_FILENO, buf, strlen(buf)); - } - (void)snprintf(buf, sizeof(buf), + (void)fprintf(stderr, "%ju bytes transferred in %.6f secs (%.0f bytes/sec)\n", st.bytes, secs, st.bytes / secs); - (void)write(STDERR_FILENO, buf, strlen(buf)); + need_summary = 0; } /* ARGSUSED */ void -summaryx(int notused __unused) +siginfo_handler(int signo __unused) { - int save_errno = errno; - summary(); - errno = save_errno; + need_summary = 1; } /* ARGSUSED */ Modified: user/attilio/jeff-numa/bin/dd/position.c ============================================================================== --- user/attilio/jeff-numa/bin/dd/position.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/dd/position.c Sat May 11 19:46:15 2013 (r250526) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "dd.h" @@ -91,6 +92,8 @@ pos_in(void) } } else --cnt; + if (need_summary) + summary(); continue; } Modified: user/attilio/jeff-numa/bin/sh/var.c ============================================================================== --- user/attilio/jeff-numa/bin/sh/var.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/bin/sh/var.c Sat May 11 19:46:15 2013 (r250526) @@ -877,7 +877,7 @@ unsetvar(const char *s) /* - * Returns true if the two strings specify the same varable. The first + * Returns true if the two strings specify the same variable. The first * variable name is terminated by '='; the second may be terminated by * either '=' or '\0'. */ @@ -898,7 +898,7 @@ varequal(const char *p, const char *q) * Search for a variable. * 'name' may be terminated by '=' or a NUL. * vppp is set to the pointer to vp, or the list head if vp isn't found - * lenp is set to the number of charactets in 'name' + * lenp is set to the number of characters in 'name' */ static struct var * Modified: user/attilio/jeff-numa/etc/protocols ============================================================================== --- user/attilio/jeff-numa/etc/protocols Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/etc/protocols Sat May 11 19:46:15 2013 (r250526) @@ -92,6 +92,7 @@ vmtp 81 VMTP # Versatile Message Transp secure-vmtp 82 SECURE-VMTP # SECURE-VMTP vines 83 VINES # VINES ttp 84 TTP # TTP +#iptm 84 IPTM # Protocol Internet Protocol Traffic nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP dgp 86 DGP # Dissimilar Gateway Protocol tcf 87 TCF # TCF @@ -145,7 +146,13 @@ rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # Ag mobility-header 135 Mobility-Header # Mobility Support in IPv6 udplite 136 UDPLite # The UDP-Lite Protocol mpls-in-ip 137 MPLS-IN-IP # Encapsulating MPLS in IP +manet 138 MANET # MANET Protocols (RFC5498) +hip 139 HIP # Host Identity Protocol (RFC5201) +shim6 140 SHIM6 # Shim6 Protocol (RFC5533) +wesp 141 WESP # Wrapped Encapsulating Security Payload (RFC5840) +rohc 142 ROHC # Robust Header Compression (RFC5858) # 138-254 # Unassigned pfsync 240 PFSYNC # PF Synchronization +# 253-254 # Use for experimentation and testing (RFC3692) # 255 # Reserved divert 258 DIVERT # Divert pseudo-protocol [non IANA] Modified: user/attilio/jeff-numa/lib/libc/gen/posix_spawn_file_actions_addopen.3 ============================================================================== --- user/attilio/jeff-numa/lib/libc/gen/posix_spawn_file_actions_addopen.3 Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/lib/libc/gen/posix_spawn_file_actions_addopen.3 Sat May 11 19:46:15 2013 (r250526) @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 24, 2008 +.Dd May 9, 2013 .Dt POSIX_SPAWN_FILE_ACTIONS_ADDOPEN 3 .Os .Sh NAME @@ -123,7 +123,19 @@ to be duplicated as dup2(fildes, newfildes) .Ed .Pp -had been called) when a new process is spawned using this file actions object. +had been called) when a new process is spawned using this file actions object, +except that the +.Dv FD_CLOEXEC +flag for +.Fa newfildes +is cleared even if +.Fa fildes +is equal to +.Fa newfildes . +The difference from +.Fn dup2 +is useful for passing a particular file descriptor +to a particular child process. .Pp The .Fn posix_spawn_file_actions_addclose @@ -145,7 +157,7 @@ otherwise, an error number is returned t These functions fail if: .Bl -tag -width Er -.It Bq Er EINVAL +.It Bq Er EBADF The value specified by .Fa fildes or @@ -169,7 +181,16 @@ The and .Fn posix_spawn_file_actions_addclose functions conform to -.St -p1003.1-2001 . +.St -p1003.1-2001 , +with the exception of the behavior of +.Fn posix_spawn_file_actions_adddup2 +if +.Fa fildes +is equal to +.Fa newfildes +(clearing +.Dv FD_CLOEXEC ) . +A future update of the Standard is expected to require this behavior, .Sh HISTORY The .Fn posix_spawn_file_actions_addopen , Modified: user/attilio/jeff-numa/lib/libc/gen/wordexp.c ============================================================================== --- user/attilio/jeff-numa/lib/libc/gen/wordexp.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/lib/libc/gen/wordexp.c Sat May 11 19:46:15 2013 (r250526) @@ -139,25 +139,15 @@ we_askshell(const char *words, wordexp_t * We are the child; just get /bin/sh to run the wordexp * builtin on `words'. */ - int devnull; - char *cmd; - (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); _close(pdes[0]); if (_dup2(pdes[1], STDOUT_FILENO) < 0) _exit(1); _close(pdes[1]); - if (asprintf(&cmd, "wordexp %s\n", words) < 0) - _exit(1); - if ((flags & WRDE_SHOWERR) == 0) { - if ((devnull = _open(_PATH_DEVNULL, O_RDWR, 0666)) < 0) - _exit(1); - if (_dup2(devnull, STDERR_FILENO) < 0) - _exit(1); - _close(devnull); - } execl(_PATH_BSHELL, "sh", flags & WRDE_UNDEF ? "-u" : "+u", - "-c", cmd, (char *)NULL); + "-c", "eval \"$1\";eval \"wordexp $2\"", "", + flags & WRDE_SHOWERR ? "" : "exec 2>/dev/null", words, + (char *)NULL); _exit(1); } Modified: user/attilio/jeff-numa/lib/libthr/thread/thr_sig.c ============================================================================== --- user/attilio/jeff-numa/lib/libthr/thread/thr_sig.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/lib/libthr/thread/thr_sig.c Sat May 11 19:46:15 2013 (r250526) @@ -725,8 +725,10 @@ _setcontext(const ucontext_t *ucp) { ucontext_t uc; - if (ucp == NULL) - return (EINVAL); + if (ucp == NULL) { + errno = EINVAL; + return (-1); + } if (!SIGISMEMBER(uc.uc_sigmask, SIGCANCEL)) return __sys_setcontext(ucp); (void) memcpy(&uc, ucp, sizeof(uc)); @@ -740,8 +742,10 @@ _swapcontext(ucontext_t *oucp, const uco { ucontext_t uc; - if (oucp == NULL || ucp == NULL) - return (EINVAL); + if (oucp == NULL || ucp == NULL) { + errno = EINVAL; + return (-1); + } if (SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL)) { (void) memcpy(&uc, ucp, sizeof(uc)); SIGDELSET(uc.uc_sigmask, SIGCANCEL); Modified: user/attilio/jeff-numa/sbin/dmesg/dmesg.8 ============================================================================== --- user/attilio/jeff-numa/sbin/dmesg/dmesg.8 Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sbin/dmesg/dmesg.8 Sat May 11 19:46:15 2013 (r250526) @@ -28,7 +28,7 @@ .\" @(#)dmesg.8 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 5, 1993 +.Dd May 9, 2013 .Dt DMESG 8 .Os .Sh NAME @@ -36,7 +36,7 @@ .Nd "display the system message buffer" .Sh SYNOPSIS .Nm -.Op Fl a +.Op Fl ac .Op Fl M Ar core Op Fl N Ar system .Sh DESCRIPTION The @@ -59,6 +59,8 @@ Show all data in the message buffer. This includes any syslog records and .Pa /dev/console output. +.It Fl c +Clear the kernel buffer after printing. .It Fl M Extract values associated with the name list from the specified core. .It Fl N Modified: user/attilio/jeff-numa/sbin/dmesg/dmesg.c ============================================================================== --- user/attilio/jeff-numa/sbin/dmesg/dmesg.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sbin/dmesg/dmesg.c Sat May 11 19:46:15 2013 (r250526) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -79,15 +80,20 @@ main(int argc, char *argv[]) kvm_t *kd; size_t buflen, bufpos; long pri; - int all, ch; + int ch, clear; + bool all; - all = 0; + all = false; + clear = false; (void) setlocale(LC_CTYPE, ""); memf = nlistf = NULL; - while ((ch = getopt(argc, argv, "aM:N:")) != -1) + while ((ch = getopt(argc, argv, "acM:N:")) != -1) switch(ch) { case 'a': - all++; + all = true; + break; + case 'c': + clear = true; break; case 'M': memf = optarg; @@ -190,12 +196,16 @@ main(int argc, char *argv[]) (void)strvisx(visbp, p, nextp - p, 0); (void)printf("%s", visbp); } + if (clear) + if (sysctlbyname("kern.msgbuf_clear", NULL, NULL, &clear, sizeof(int))) + err(1, "sysctl kern.msgbuf_clear"); + exit(0); } void usage(void) { - (void)fprintf(stderr, "usage: dmesg [-a] [-M core [-N system]]\n"); + fprintf(stderr, "usage: dmesg [-ac] [-M core [-N system]]\n"); exit(1); } Modified: user/attilio/jeff-numa/sbin/hastctl/Makefile ============================================================================== --- user/attilio/jeff-numa/sbin/hastctl/Makefile Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sbin/hastctl/Makefile Sat May 11 19:46:15 2013 (r250526) @@ -32,8 +32,8 @@ CFLAGS+=-DINET6 CFLAGS+=-DYY_NO_UNPUT CFLAGS+=-DYY_NO_INPUT -DPADD= ${LIBL} ${LIBUTIL} -LDADD= -ll -lutil +DPADD= ${LIBUTIL} +LDADD= -lutil .if ${MK_OPENSSL} != "no" DPADD+= ${LIBCRYPTO} LDADD+= -lcrypto Modified: user/attilio/jeff-numa/sbin/hastd/Makefile ============================================================================== --- user/attilio/jeff-numa/sbin/hastd/Makefile Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sbin/hastd/Makefile Sat May 11 19:46:15 2013 (r250526) @@ -31,7 +31,7 @@ CFLAGS+=-DINET6 .endif DPADD= ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF} ${LIBL} ${LIBPTHREAD} ${LIBUTIL} -LDADD= -lgeom -lbsdxml -lsbuf -ll -lpthread -lutil +LDADD= -lgeom -lbsdxml -lsbuf -lpthread -lutil .if ${MK_OPENSSL} != "no" DPADD+= ${LIBCRYPTO} LDADD+= -lcrypto Modified: user/attilio/jeff-numa/sbin/hastd/token.l ============================================================================== --- user/attilio/jeff-numa/sbin/hastd/token.l Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sbin/hastd/token.l Sat May 11 19:46:15 2013 (r250526) @@ -46,6 +46,7 @@ int lineno; %option noinput %option nounput +%option noyywrap %% control { DP; return CONTROL; } Modified: user/attilio/jeff-numa/share/examples/ppi/ppilcd.c ============================================================================== --- user/attilio/jeff-numa/share/examples/ppi/ppilcd.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/share/examples/ppi/ppilcd.c Sat May 11 19:46:15 2013 (r250526) @@ -269,7 +269,7 @@ do_char(struct lcd_driver *driver, char * one of the ground pins (eg. pin 25). * * Note that the pinning on some LCD modules has the odd and even pins - * arranged as though reversed; check carefully before conecting a module + * arranged as though reversed; check carefully before connecting a module * as it is possible to toast the HD44780 if the power is reversed. */ Modified: user/attilio/jeff-numa/share/man/man3/queue.3 ============================================================================== --- user/attilio/jeff-numa/share/man/man3/queue.3 Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/share/man/man3/queue.3 Sat May 11 19:46:15 2013 (r250526) @@ -404,7 +404,8 @@ The macro .Nm SLIST_REMOVE_AFTER removes the element after .Fa elm -from the list. Unlike +from the list. +Unlike .Fa SLIST_REMOVE , this macro does not traverse the entire list. .Pp @@ -595,7 +596,8 @@ The macro .Nm STAILQ_REMOVE_AFTER removes the element after .Fa elm -from the tail queue. Unlike +from the tail queue. +Unlike .Fa STAILQ_REMOVE , this macro does not traverse the entire tail queue. .Pp Modified: user/attilio/jeff-numa/share/misc/pci_vendors ============================================================================== --- user/attilio/jeff-numa/share/misc/pci_vendors Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/share/misc/pci_vendors Sat May 11 19:46:15 2013 (r250526) @@ -11402,7 +11402,7 @@ 0040 QSC-200/300 0050 ESC-100D 0060 ESC-100M - 00f0 MPAC-100 Syncronous Serial Card (Zilog 85230) + 00f0 MPAC-100 Synchronous Serial Card (Zilog 85230) 0170 QSCLP-100 0180 DSCLP-100 0190 SSCLP-100 Modified: user/attilio/jeff-numa/share/syscons/fonts/iso05-8x16.fnt ============================================================================== --- user/attilio/jeff-numa/share/syscons/fonts/iso05-8x16.fnt Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/share/syscons/fonts/iso05-8x16.fnt Sat May 11 19:46:15 2013 (r250526) @@ -40,7 +40,7 @@ M`'S&_L#`QGP````````X;&1@\&!@8&#P``````` M`.!@8&QV9F9F9N8````````8&``X&!@8&!@\````````!@8`#@8&!@8&!F9F M/````.!@8&9L>'AL9N8````````X&!@8&!@8&!@\````````````[/[6UM;6 MQ@```````````-QF9F9F9F8```````````!\QL;&QL9\````````````W&9F -M9F9F?&!@\`````````````````````````````#<=F9@8&#P```````````` +M9F9F?&!@\````````';,S,S,S'P,#!X```````#<=F9@8&#P```````````` M?,9@.`S&?````````!`P,/PP,#`P-AP```````````#,S,S,S,QV```````` M````9F9F9F8\&````````````,;&UM;6_FP```````````#&;#@X.&S&```` M````````QL;&QL;&?@8,^````````/[,&#!@QOX````````.&!@8pcb_fsbase = 0; pcb->pcb_gsbase = 0; - clear_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT); + clear_pcb_flags(pcb, PCB_32BIT); pcb->pcb_initial_fpucw = __INITIAL_FPUCW__; set_pcb_flags(pcb, PCB_FULL_IRET); Modified: user/attilio/jeff-numa/sys/amd64/ia32/ia32_signal.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/ia32/ia32_signal.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/ia32/ia32_signal.c Sat May 11 19:46:15 2013 (r250526) @@ -1001,6 +1001,5 @@ ia32_setregs(struct thread *td, struct i /* Return via doreti so that we can change to a different %cs */ set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); - clear_pcb_flags(pcb, PCB_GS32BIT); td->td_retval[1] = 0; } Modified: user/attilio/jeff-numa/sys/amd64/include/pcb.h ============================================================================== --- user/attilio/jeff-numa/sys/amd64/include/pcb.h Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/include/pcb.h Sat May 11 19:46:15 2013 (r250526) @@ -77,7 +77,6 @@ struct pcb { #define PCB_KERNFPU 0x04 /* kernel uses fpu */ #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ #define PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */ -#define PCB_GS32BIT 0x20 /* linux gs switch */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ uint16_t pcb_initial_fpucw; Modified: user/attilio/jeff-numa/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/linux32/linux32_machdep.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/linux32/linux32_machdep.c Sat May 11 19:46:15 2013 (r250526) @@ -447,7 +447,7 @@ linux_set_cloned_tls(struct thread *td, pcb->pcb_gsbase = (register_t)info.base_addr; /* XXXKIB pcb->pcb_gs32sd = sd; */ td->td_frame->tf_gs = GSEL(GUGS32_SEL, SEL_UPL); - set_pcb_flags(pcb, PCB_GS32BIT | PCB_32BIT); + set_pcb_flags(pcb, PCB_32BIT); } return (error); @@ -1026,7 +1026,7 @@ linux_set_thread_area(struct thread *td, pcb = td->td_pcb; pcb->pcb_gsbase = (register_t)info.base_addr; - set_pcb_flags(pcb, PCB_32BIT | PCB_GS32BIT); + set_pcb_flags(pcb, PCB_32BIT); update_gdt_gsbase(td, info.base_addr); return (0); Modified: user/attilio/jeff-numa/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/linux32/linux32_sysvec.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/linux32/linux32_sysvec.c Sat May 11 19:46:15 2013 (r250526) @@ -868,7 +868,6 @@ exec_linux_setregs(struct thread *td, st /* Do full restore on return so that we can change to a different %cs */ set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); - clear_pcb_flags(pcb, PCB_GS32BIT); td->td_retval[1] = 0; } Modified: user/attilio/jeff-numa/sys/amd64/vmm/io/vlapic.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/vmm/io/vlapic.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/vmm/io/vlapic.c Sat May 11 19:46:15 2013 (r250526) @@ -430,6 +430,8 @@ vlapic_fire_timer(struct vlapic *vlapic) } } +static VMM_STAT_ARRAY(IPIS_SENT, VM_MAXCPU, "ipis sent to vcpu"); + static int lapic_process_icr(struct vlapic *vlapic, uint64_t icrval) { @@ -466,9 +468,11 @@ lapic_process_icr(struct vlapic *vlapic, while ((i = cpusetobj_ffs(&dmask)) != 0) { i--; CPU_CLR(i, &dmask); - if (mode == APIC_DELMODE_FIXED) + if (mode == APIC_DELMODE_FIXED) { lapic_set_intr(vlapic->vm, i, vec); - else + vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, + IPIS_SENT, i, 1); + } else vm_inject_nmi(vlapic->vm, i); } Modified: user/attilio/jeff-numa/sys/amd64/vmm/vmm_dev.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/vmm/vmm_dev.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/vmm/vmm_dev.c Sat May 11 19:46:15 2013 (r250526) @@ -235,18 +235,13 @@ vmmdev_ioctl(struct cdev *cdev, u_long c error = vm_run(sc->vm, vmrun); break; case VM_STAT_DESC: { - const char *desc; statdesc = (struct vm_stat_desc *)data; - desc = vmm_stat_desc(statdesc->index); - if (desc != NULL) { - error = 0; - strlcpy(statdesc->desc, desc, sizeof(statdesc->desc)); - } else - error = EINVAL; + error = vmm_stat_desc_copy(statdesc->index, + statdesc->desc, sizeof(statdesc->desc)); break; } case VM_STATS: { - CTASSERT(MAX_VM_STATS >= MAX_VMM_STAT_TYPES); + CTASSERT(MAX_VM_STATS >= MAX_VMM_STAT_ELEMS); vmstats = (struct vm_stats *)data; getmicrotime(&vmstats->tv); error = vmm_stat_copy(sc->vm, vmstats->cpuid, Modified: user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.c ============================================================================== --- user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.c Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.c Sat May 11 19:46:15 2013 (r250526) @@ -39,8 +39,16 @@ __FBSDID("$FreeBSD$"); #include "vmm_util.h" #include "vmm_stat.h" -static int vstnum; -static struct vmm_stat_type *vsttab[MAX_VMM_STAT_TYPES]; +/* + * 'vst_num_elems' is the total number of addressable statistic elements + * 'vst_num_types' is the number of unique statistic types + * + * It is always true that 'vst_num_elems' is greater than or equal to + * 'vst_num_types'. This is because a stat type may represent more than + * one element (for e.g. VMM_STAT_ARRAY). + */ +static int vst_num_elems, vst_num_types; +static struct vmm_stat_type *vsttab[MAX_VMM_STAT_ELEMS]; static MALLOC_DEFINE(M_VMM_STAT, "vmm stat", "vmm stat"); @@ -59,13 +67,15 @@ vmm_stat_init(void *arg) if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_amd()) return; - if (vstnum >= MAX_VMM_STAT_TYPES) { + if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) { printf("Cannot accomodate vmm stat type \"%s\"!\n", vst->desc); return; } - vst->index = vstnum; - vsttab[vstnum++] = vst; + vst->index = vst_num_elems; + vst_num_elems += vst->nelems; + + vsttab[vst_num_types++] = vst; } int @@ -78,9 +88,9 @@ vmm_stat_copy(struct vm *vm, int vcpu, i return (EINVAL); stats = vcpu_stats(vm, vcpu); - for (i = 0; i < vstnum; i++) + for (i = 0; i < vst_num_elems; i++) buf[i] = stats[i]; - *num_stats = vstnum; + *num_stats = vst_num_elems; return (0); } @@ -89,7 +99,7 @@ vmm_stat_alloc(void) { u_long size; - size = vstnum * sizeof(uint64_t); + size = vst_num_elems * sizeof(uint64_t); return (malloc(size, M_VMM_STAT, M_ZERO | M_WAITOK)); } @@ -100,14 +110,26 @@ vmm_stat_free(void *vp) free(vp, M_VMM_STAT); } -const char * -vmm_stat_desc(int index) +int +vmm_stat_desc_copy(int index, char *buf, int bufsize) { + int i; + struct vmm_stat_type *vst; + + for (i = 0; i < vst_num_types; i++) { + vst = vsttab[i]; + if (index >= vst->index && index < vst->index + vst->nelems) { + if (vst->nelems > 1) { + snprintf(buf, bufsize, "%s[%d]", + vst->desc, index - vst->index); + } else { + strlcpy(buf, vst->desc, bufsize); + } + return (0); /* found it */ + } + } - if (index >= 0 && index < vstnum) - return (vsttab[index]->desc); - else - return (NULL); + return (EINVAL); } /* global statistics */ Modified: user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.h ============================================================================== --- user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.h Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/amd64/vmm/vmm_stat.h Sat May 11 19:46:15 2013 (r250526) @@ -34,7 +34,7 @@ struct vm; -#define MAX_VMM_STAT_TYPES 64 /* arbitrary */ +#define MAX_VMM_STAT_ELEMS 64 /* arbitrary */ enum vmm_stat_scope { VMM_STAT_SCOPE_ANY, @@ -44,15 +44,16 @@ enum vmm_stat_scope { struct vmm_stat_type { int index; /* position in the stats buffer */ + int nelems; /* standalone or array */ const char *desc; /* description of statistic */ enum vmm_stat_scope scope; }; void vmm_stat_init(void *arg); -#define VMM_STAT_DEFINE(type, desc, scope) \ +#define VMM_STAT_DEFINE(type, nelems, desc, scope) \ struct vmm_stat_type type[1] = { \ - { -1, desc, scope } \ + { -1, nelems, desc, scope } \ }; \ SYSINIT(type##_stat, SI_SUB_KLD, SI_ORDER_ANY, vmm_stat_init, type) @@ -60,11 +61,14 @@ void vmm_stat_init(void *arg); extern struct vmm_stat_type type[1] #define VMM_STAT(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_ANY) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_ANY) #define VMM_STAT_INTEL(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_INTEL) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_INTEL) #define VMM_STAT_AMD(type, desc) \ - VMM_STAT_DEFINE(type, desc, VMM_STAT_SCOPE_AMD) + VMM_STAT_DEFINE(type, 1, desc, VMM_STAT_SCOPE_AMD) + +#define VMM_STAT_ARRAY(type, nelems, desc) \ + VMM_STAT_DEFINE(type, nelems, desc, VMM_STAT_SCOPE_ANY) void *vmm_stat_alloc(void); void vmm_stat_free(void *vp); @@ -73,15 +77,29 @@ void vmm_stat_free(void *vp); * 'buf' should be at least fit 'MAX_VMM_STAT_TYPES' entries */ int vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf); -const char *vmm_stat_desc(int index); +int vmm_stat_desc_copy(int index, char *buf, int buflen); + +static void __inline +vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, + int statidx, uint64_t x) +{ +#ifdef VMM_KEEP_STATS + uint64_t *stats; + + stats = vcpu_stats(vm, vcpu); + + if (vst->index >= 0 && statidx < vst->nelems) + stats[vst->index + statidx] += x; +#endif +} + static void __inline vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) { -#ifdef VMM_KEEP_STATS - uint64_t *stats = vcpu_stats(vm, vcpu); - if (vst->index >= 0) - stats[vst->index] += x; + +#ifdef VMM_KEEP_STATS + vmm_stat_array_incr(vm, vcpu, vst, 0, x); #endif } Modified: user/attilio/jeff-numa/sys/boot/fdt/dts/am335x.dtsi ============================================================================== --- user/attilio/jeff-numa/sys/boot/fdt/dts/am335x.dtsi Sat May 11 19:41:52 2013 (r250525) +++ user/attilio/jeff-numa/sys/boot/fdt/dts/am335x.dtsi Sat May 11 19:46:15 2013 (r250526) @@ -27,7 +27,6 @@ */ / { - compatible = "ti,am335x"; #address-cells = <1>; #size-cells = <1>; @@ -107,7 +106,7 @@ interrupt-parent = <&AINTC>; }; - mmchs0@4809C000 { + mmchs0@48060000 { compatible = "ti,mmchs"; reg =<0x48060000 0x1000 >; interrupts = <64>; @@ -115,6 +114,15 @@ mmchs-device-id = <0>; }; + mmchs1@481D8000 { + compatible = "ti,mmchs"; + reg =<0x481D8000 0x1000 >; + interrupts = <28>; + interrupt-parent = <&AINTC>; + mmchs-device-id = <1>; + status = "disabled"; + }; + enet0: ethernet@4A100000 { #address-cells = <1>; #size-cells = <1>; Copied: user/attilio/jeff-numa/sys/boot/fdt/dts/beaglebone-black.dts (from r250525, user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/jeff-numa/sys/boot/fdt/dts/beaglebone-black.dts Sat May 11 19:46:15 2013 (r250526, copy of r250525, user/attilio/vmcontention/sys/boot/fdt/dts/beaglebone-black.dts) @@ -0,0 +1,149 @@ +/*- + * Copyright (c) 2012 Damjan Marion + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (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$ + */ + +/dts-v1/; + +/include/ "am335x.dtsi" + +/ { + model = "beaglebone-black"; + compatible = "beaglebone-black", "beaglebone", "ti,am335x"; + + + aliases { + soc = &SOC; + uart0 = &uart0; + }; + + memory { + device_type = "memory"; + reg = < 0x80000000 0x20000000 >; /* 512MB RAM */ + }; + + am335x { + scm@44e10000 { + /* Set of triplets < padname, muxname, padstate> */ + scm-pad-config = + /* I2C0 */ + "I2C0_SDA", "I2C0_SDA","i2c", + "I2C0_SCL", "I2C0_SCL","i2c", + /* Ethernet */ + "MII1_RX_ER", "gmii1_rxerr", "input_pulldown", + "MII1_TX_EN", "gmii1_txen", "output", + "MII1_RX_DV", "gmii1_rxdv", "input_pulldown", + "MII1_TXD3", "gmii1_txd3", "output", + "MII1_TXD2", "gmii1_txd2", "output", + "MII1_TXD1", "gmii1_txd1", "output", + "MII1_TXD0", "gmii1_txd0", "output", + "MII1_TX_CLK", "gmii1_txclk", "input_pulldown", + "MII1_RX_CLK", "gmii1_rxclk", "input_pulldown", + "MII1_RXD3", "gmii1_rxd3", "input_pulldown", + "MII1_RXD2", "gmii1_rxd2", "input_pulldown", + "MII1_RXD1", "gmii1_rxd1", "input_pulldown", + "MII1_RXD0", "gmii1_rxd0", "input_pulldown", + "MDIO", "mdio_data", "input_pullup", + "MDC", "mdio_clk", "output_pullup", + /* MMCSD0 */ + "MMC0_CMD", "mmc0_cmd", "input_pullup", + "MMC0_CLK", "mmc0_clk", "input_pullup", + "MMC0_DAT0", "mmc0_dat0", "input_pullup", + "MMC0_DAT1", "mmc0_dat1", "input_pullup", + "MMC0_DAT2", "mmc0_dat2", "input_pullup", + "MMC0_DAT3", "mmc0_dat3", "input_pullup", + /* MMC1 */ + "GPMC_CSn1", "mmc1_clk", "input_pulldown", + "GPMC_CSn2", "mmc1_cmd", "input_pulldown", + "GPMC_AD0", "mmc1_dat0", "input_pulldown", + "GPMC_AD1", "mmc1_dat1", "input_pulldown", + "GPMC_AD2", "mmc1_dat2", "input_pulldown", + "GPMC_AD3", "mmc1_dat3", "input_pulldown", + "GPMC_AD4", "mmc1_dat4", "input_pulldown", + "GPMC_AD5", "mmc1_dat5", "input_pulldown", + "GPMC_AD6", "mmc1_dat6", "input_pulldown", + "GPMC_AD7", "mmc1_dat7", "input_pulldown", + /* GPIO */ + "ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown", + "GPMC_AD10", "gpio0_26", "input_pulldown", + "GPMC_AD11", "gpio0_27", "input_pulldown", + "GPMC_AD12", "gpio1_12", "input_pulldown", + "GPMC_AD13", "gpio1_13", "input_pulldown", + "GPMC_AD14", "gpio1_14", "input_pulldown", + "GPMC_AD15", "gpio1_15", "input_pulldown", + "GPMC_A0", "gpio1_16", "input_pulldown", + "GPMC_A1", "gpio1_17", "input_pulldown", + "GPMC_A5", "gpio1_21", "output", /* User LED 1 */ + "GPMC_A6", "gpio1_22", "output", /* User LED 2 */ + "GPMC_A7", "gpio1_23", "output", /* User LED 3 */ + "GPMC_A8", "gpio1_24", "output", /* User LED 4 */ + "GPMC_BEn1", "gpio1_28", "input_pulldown", + "GPMC_CSn0", "gpio1_29", "input_pulldown", + "GPMC_CLK", "gpio2_1", "input_pulldown", + "LCD_DATA0", "gpio2_6", "input_pulldown", + "LCD_DATA1", "gpio2_7", "input_pulldown", + "LCD_DATA2", "gpio2_8", "input_pulldown", + "LCD_DATA3", "gpio2_9", "input_pulldown", + "LCD_DATA4", "gpio2_10", "input_pulldown", + "LCD_DATA5", "gpio2_11", "input_pulldown", + "LCD_DATA6", "gpio2_12", "input_pulldown", + "LCD_DATA7", "gpio2_13", "input_pulldown", + "LCD_VSYNC", "gpio2_22", "input_pulldown", + "LCD_HSYNC", "gpio2_23", "input_pulldown", + "LCD_PCLK", "gpio2_24", "input_pulldown", + "LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown", + "MCASP0_FSR", "gpio3_19", "input_pulldown", + "MCASP0_AHCLKX", "gpio3_21", "input_pulldown", + /* TIMERs */ + "GPMC_ADVn_ALE", "timer4", "output", + "GPMC_BEn0_CLE", "timer5", "output", + "GPMC_WEn", "timer6", "output", + "GPMC_OEn_REn", "timer7", "output", + /* PWM */ + "GPMC_A2", "ehrpwm1A", "output", + "GPMC_A3", "ehrpwm1B", "output", + "GPMC_AD8", "ehrpwm2A", "output", + "GPMC_AD9", "ehrpwm2B", "output"; + }; + + mmchs1@481D8000 { + status = "ok"; + }; + + + i2c@44e0b000 { + pmic@24 { + compatible = "ti,am335x-pmic"; + reg = <0x24>; + }; + } + }; + + chosen { + stdin = "uart0"; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***