From owner-svn-src-user@FreeBSD.ORG Sun Apr 28 01:59:24 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 6C1947AF; Sun, 28 Apr 2013 01:59:24 +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 5B1D712F0; Sun, 28 Apr 2013 01:59: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 r3S1xOi0066567; Sun, 28 Apr 2013 01:59:24 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3S1xLVu066546; Sun, 28 Apr 2013 01:59:21 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304280159.r3S1xLVu066546@svn.freebsd.org> From: Adrian Chadd Date: Sun, 28 Apr 2013 01:59:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250010 - in user/adrian/net80211_tx: . bin/mkdir bin/rm bin/sh contrib/libc++ contrib/libc++/include contrib/libc++/include/ext contrib/libc++/src contrib/libcxxrt include lib/libc/gen... 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, 28 Apr 2013 01:59:24 -0000 Author: adrian Date: Sun Apr 28 01:59:20 2013 New Revision: 250010 URL: http://svnweb.freebsd.org/changeset/base/250010 Log: MFH Added: user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 - copied unchanged from r250009, head/share/man/man4/man4.arm/devcfg.4 user/adrian/net80211_tx/sys/arm/conf/ZEDBOARD - copied unchanged from r250009, head/sys/arm/conf/ZEDBOARD user/adrian/net80211_tx/sys/arm/xilinx/ - copied from r250009, head/sys/arm/xilinx/ user/adrian/net80211_tx/sys/boot/fdt/dts/zedboard.dts - copied unchanged from r250009, head/sys/boot/fdt/dts/zedboard.dts user/adrian/net80211_tx/sys/contrib/dev/ath/ - copied from r250009, head/sys/contrib/dev/ath/ user/adrian/net80211_tx/sys/dev/cadence/ - copied from r250009, head/sys/dev/cadence/ user/adrian/net80211_tx/sys/dev/sdhci/sdhci_fdt.c - copied unchanged from r250009, head/sys/dev/sdhci/sdhci_fdt.c Deleted: user/adrian/net80211_tx/tools/build/options/WITH_IDEA Modified: user/adrian/net80211_tx/UPDATING user/adrian/net80211_tx/bin/mkdir/mkdir.c user/adrian/net80211_tx/bin/rm/rm.1 user/adrian/net80211_tx/bin/rm/rm.c user/adrian/net80211_tx/bin/sh/jobs.c user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT user/adrian/net80211_tx/contrib/libc++/include/__bit_reference user/adrian/net80211_tx/contrib/libc++/include/__config user/adrian/net80211_tx/contrib/libc++/include/__debug user/adrian/net80211_tx/contrib/libc++/include/__functional_03 user/adrian/net80211_tx/contrib/libc++/include/__functional_base user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 user/adrian/net80211_tx/contrib/libc++/include/__hash_table user/adrian/net80211_tx/contrib/libc++/include/__locale user/adrian/net80211_tx/contrib/libc++/include/__mutex_base user/adrian/net80211_tx/contrib/libc++/include/__std_stream user/adrian/net80211_tx/contrib/libc++/include/__tree user/adrian/net80211_tx/contrib/libc++/include/__tuple user/adrian/net80211_tx/contrib/libc++/include/__tuple_03 user/adrian/net80211_tx/contrib/libc++/include/algorithm user/adrian/net80211_tx/contrib/libc++/include/array user/adrian/net80211_tx/contrib/libc++/include/bitset user/adrian/net80211_tx/contrib/libc++/include/chrono user/adrian/net80211_tx/contrib/libc++/include/codecvt user/adrian/net80211_tx/contrib/libc++/include/complex user/adrian/net80211_tx/contrib/libc++/include/condition_variable user/adrian/net80211_tx/contrib/libc++/include/cstddef user/adrian/net80211_tx/contrib/libc++/include/cstring user/adrian/net80211_tx/contrib/libc++/include/cwchar user/adrian/net80211_tx/contrib/libc++/include/deque user/adrian/net80211_tx/contrib/libc++/include/exception user/adrian/net80211_tx/contrib/libc++/include/ext/__hash user/adrian/net80211_tx/contrib/libc++/include/ext/hash_map user/adrian/net80211_tx/contrib/libc++/include/ext/hash_set user/adrian/net80211_tx/contrib/libc++/include/forward_list user/adrian/net80211_tx/contrib/libc++/include/fstream user/adrian/net80211_tx/contrib/libc++/include/functional user/adrian/net80211_tx/contrib/libc++/include/future user/adrian/net80211_tx/contrib/libc++/include/initializer_list user/adrian/net80211_tx/contrib/libc++/include/ios user/adrian/net80211_tx/contrib/libc++/include/iosfwd user/adrian/net80211_tx/contrib/libc++/include/iostream user/adrian/net80211_tx/contrib/libc++/include/istream user/adrian/net80211_tx/contrib/libc++/include/iterator user/adrian/net80211_tx/contrib/libc++/include/limits user/adrian/net80211_tx/contrib/libc++/include/list user/adrian/net80211_tx/contrib/libc++/include/locale user/adrian/net80211_tx/contrib/libc++/include/map user/adrian/net80211_tx/contrib/libc++/include/memory user/adrian/net80211_tx/contrib/libc++/include/mutex user/adrian/net80211_tx/contrib/libc++/include/new user/adrian/net80211_tx/contrib/libc++/include/ostream user/adrian/net80211_tx/contrib/libc++/include/queue user/adrian/net80211_tx/contrib/libc++/include/random user/adrian/net80211_tx/contrib/libc++/include/ratio user/adrian/net80211_tx/contrib/libc++/include/regex user/adrian/net80211_tx/contrib/libc++/include/scoped_allocator user/adrian/net80211_tx/contrib/libc++/include/set user/adrian/net80211_tx/contrib/libc++/include/sstream user/adrian/net80211_tx/contrib/libc++/include/stack user/adrian/net80211_tx/contrib/libc++/include/streambuf user/adrian/net80211_tx/contrib/libc++/include/string user/adrian/net80211_tx/contrib/libc++/include/strstream user/adrian/net80211_tx/contrib/libc++/include/system_error user/adrian/net80211_tx/contrib/libc++/include/thread user/adrian/net80211_tx/contrib/libc++/include/tuple user/adrian/net80211_tx/contrib/libc++/include/type_traits user/adrian/net80211_tx/contrib/libc++/include/typeindex user/adrian/net80211_tx/contrib/libc++/include/unordered_map user/adrian/net80211_tx/contrib/libc++/include/unordered_set user/adrian/net80211_tx/contrib/libc++/include/utility user/adrian/net80211_tx/contrib/libc++/include/valarray user/adrian/net80211_tx/contrib/libc++/include/vector user/adrian/net80211_tx/contrib/libc++/src/chrono.cpp user/adrian/net80211_tx/contrib/libc++/src/debug.cpp user/adrian/net80211_tx/contrib/libc++/src/exception.cpp user/adrian/net80211_tx/contrib/libc++/src/hash.cpp user/adrian/net80211_tx/contrib/libc++/src/iostream.cpp user/adrian/net80211_tx/contrib/libc++/src/locale.cpp user/adrian/net80211_tx/contrib/libc++/src/memory.cpp user/adrian/net80211_tx/contrib/libc++/src/new.cpp user/adrian/net80211_tx/contrib/libc++/src/stdexcept.cpp user/adrian/net80211_tx/contrib/libc++/src/string.cpp user/adrian/net80211_tx/contrib/libc++/src/strstream.cpp user/adrian/net80211_tx/contrib/libc++/src/system_error.cpp user/adrian/net80211_tx/contrib/libc++/src/thread.cpp user/adrian/net80211_tx/contrib/libc++/src/typeinfo.cpp user/adrian/net80211_tx/contrib/libcxxrt/atomic.h user/adrian/net80211_tx/contrib/libcxxrt/exception.cc user/adrian/net80211_tx/include/tgmath.h user/adrian/net80211_tx/lib/libc/gen/sysconf.3 user/adrian/net80211_tx/lib/libc/sys/intro.2 user/adrian/net80211_tx/lib/libcompiler_rt/Makefile user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_op_n.h user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h user/adrian/net80211_tx/lib/libthr/thread/thr_umtx.h user/adrian/net80211_tx/sbin/devd/devd.h user/adrian/net80211_tx/sbin/hastd/primary.c user/adrian/net80211_tx/sbin/hastd/refcnt.h user/adrian/net80211_tx/secure/Makefile.inc user/adrian/net80211_tx/secure/lib/libcrypto/Makefile user/adrian/net80211_tx/secure/lib/libcrypto/Makefile.inc user/adrian/net80211_tx/share/examples/etc/make.conf user/adrian/net80211_tx/share/man/man4/man4.arm/Makefile user/adrian/net80211_tx/share/man/man5/make.conf.5 user/adrian/net80211_tx/share/mk/bsd.own.mk user/adrian/net80211_tx/sys/arm/arm/cpufunc.c user/adrian/net80211_tx/sys/arm/arm/identcpu.c user/adrian/net80211_tx/sys/arm/include/armreg.h user/adrian/net80211_tx/sys/boot/fdt/dts/am335x.dtsi user/adrian/net80211_tx/sys/boot/fdt/dts/beaglebone.dts user/adrian/net80211_tx/sys/cam/ata/ata_da.c user/adrian/net80211_tx/sys/cam/cam_periph.c user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c user/adrian/net80211_tx/sys/dev/ath/if_ath.c user/adrian/net80211_tx/sys/dev/ciss/ciss.c user/adrian/net80211_tx/sys/dev/mmc/mmc.c user/adrian/net80211_tx/sys/dev/uart/uart.h user/adrian/net80211_tx/sys/dev/uart/uart_bus_fdt.c user/adrian/net80211_tx/sys/geom/raid/g_raid.c user/adrian/net80211_tx/sys/netinet/in.h user/adrian/net80211_tx/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/adrian/net80211_tx/sys/powerpc/wii/platform_wii.c user/adrian/net80211_tx/sys/powerpc/wii/wii_bus.c user/adrian/net80211_tx/sys/powerpc/wii/wii_fb.c user/adrian/net80211_tx/sys/vm/vm_radix.c user/adrian/net80211_tx/tools/build/mk/OptionalObsoleteFiles.inc user/adrian/net80211_tx/tools/build/options/WITHOUT_JAIL user/adrian/net80211_tx/tools/build/options/WITHOUT_LEGACY_CONSOLE user/adrian/net80211_tx/tools/tools/sysbuild/sysbuild.sh user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c user/adrian/net80211_tx/usr.sbin/bsdconfig/share/device.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/share/media/tcpip.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/startup/rcdelete user/adrian/net80211_tx/usr.sbin/syslogd/syslogd.c Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/contrib/libc++/ (props changed) user/adrian/net80211_tx/contrib/libcxxrt/ (props changed) user/adrian/net80211_tx/lib/libc/ (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/boot/ (props changed) user/adrian/net80211_tx/usr.sbin/bhyve/ (props changed) Modified: user/adrian/net80211_tx/UPDATING ============================================================================== --- user/adrian/net80211_tx/UPDATING Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/UPDATING Sun Apr 28 01:59:20 2013 (r250010) @@ -32,6 +32,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 "ln -s 'abort:false,junk:false' /etc/malloc.conf".) 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. Modified: user/adrian/net80211_tx/bin/mkdir/mkdir.c ============================================================================== --- user/adrian/net80211_tx/bin/mkdir/mkdir.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/mkdir/mkdir.c Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/bin/rm/rm.1 ============================================================================== --- user/adrian/net80211_tx/bin/rm/rm.1 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/rm/rm.1 Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/bin/rm/rm.c ============================================================================== --- user/adrian/net80211_tx/bin/rm/rm.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/rm/rm.c Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/bin/sh/jobs.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/jobs.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/sh/jobs.c Sun Apr 28 01:59:20 2013 (r250010) @@ -417,13 +417,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/adrian/net80211_tx/contrib/libc++/CREDITS.TXT ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/LICENSE.TXT ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__bit_reference ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__bit_reference Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__bit_reference Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__config ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__config Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__config Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__debug ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__debug Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__debug Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__functional_03 ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_03 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_03 Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__functional_base ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_base Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 Sun Apr 28 01:59:20 2013 (r250010) @@ -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/adrian/net80211_tx/contrib/libc++/include/__hash_table ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__hash_table Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__hash_table Sun Apr 28 01:59:20 2013 (r250010) @@ -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 { typedef _NodePtr __node_pointer; @@ -294,12 +294,12 @@ private: } template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_const_local_iterator; - template friend class _LIBCPP_VISIBLE __hash_map_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_iterator; }; template -class _LIBCPP_VISIBLE __hash_const_local_iterator +class _LIBCPP_TYPE_VIS __hash_const_local_iterator { typedef _ConstNodePtr __node_pointer; @@ -384,7 +384,7 @@ private: } template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_map_const_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator; }; template Modified: user/adrian/net80211_tx/contrib/libc++/include/__locale ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__locale Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__locale Sun Apr 28 01:59:20 2013 (r250010) @@ -19,11 +19,11 @@ #include #include #include -#if _WIN32 +#ifdef _WIN32 # include -#elif (__GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__) +#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(EMSCRIPTEN) # include -#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD_ +#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || EMSCRIPTEN #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header @@ -31,7 +31,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -class _LIBCPP_VISIBLE locale; +class _LIBCPP_TYPE_VIS locale; template _LIBCPP_INLINE_VISIBILITY @@ -43,12 +43,12 @@ _LIBCPP_INLINE_VISIBILITY const _Facet& use_facet(const locale&); -class _LIBCPP_VISIBLE locale +class _LIBCPP_TYPE_VIS locale { public: // types: - class _LIBCPP_VISIBLE facet; - class _LIBCPP_VISIBLE id; + class _LIBCPP_TYPE_VIS facet; + class _LIBCPP_TYPE_VIS id; typedef int category; static const category // values assigned here are for exposition only @@ -103,7 +103,7 @@ private: template friend const _Facet& use_facet(const locale&); }; -class _LIBCPP_VISIBLE locale::facet +class _LIBCPP_TYPE_VIS locale::facet : public __shared_count { protected: @@ -119,7 +119,7 @@ private: virtual void __on_zero_shared() _NOEXCEPT; }; -class _LIBCPP_VISIBLE locale::id +class _LIBCPP_TYPE_VIS locale::id { once_flag __flag_; int32_t __id_; @@ -175,7 +175,7 @@ use_facet(const locale& __l) // template class collate; template -class _LIBCPP_VISIBLE collate +class _LIBCPP_TYPE_VIS collate : public locale::facet { public: @@ -254,15 +254,15 @@ collate<_CharT>::do_hash(const char_type return static_cast(__h); } -_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate) -_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate) +_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate) +_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate) // template class collate_byname; -template class _LIBCPP_VISIBLE collate_byname; +template class _LIBCPP_TYPE_VIS collate_byname; template <> -class _LIBCPP_VISIBLE collate_byname +class _LIBCPP_TYPE_VIS collate_byname : public collate { locale_t __l; @@ -281,7 +281,7 @@ protected: }; template <> -class _LIBCPP_VISIBLE collate_byname +class _LIBCPP_TYPE_VIS collate_byname : public collate { locale_t __l; @@ -312,10 +312,10 @@ locale::operator()(const basic_string<_C // template class ctype -class _LIBCPP_VISIBLE ctype_base +class _LIBCPP_TYPE_VIS ctype_base { public: -#if __GLIBC__ +#ifdef __GLIBC__ typedef unsigned short mask; static const mask space = _ISspace; static const mask print = _ISprint; @@ -327,7 +327,7 @@ public: static const mask punct = _ISpunct; static const mask xdigit = _ISxdigit; static const mask blank = _ISblank; -#elif _WIN32 +#elif defined(_WIN32) typedef unsigned short mask; static const mask space = _SPACE; static const mask print = _BLANK|_PUNCT|_ALPHA|_DIGIT; @@ -339,11 +339,13 @@ public: static const mask punct = _PUNCT; static const mask xdigit = _HEX; static const mask blank = _BLANK; -#elif (__APPLE__ || __FreeBSD__) -#if __APPLE__ +#elif (defined(__APPLE__) || defined(__FreeBSD__)) || defined(EMSCRIPTEN) +#ifdef __APPLE__ typedef __uint32_t mask; -#elif __FreeBSD__ +#elif defined(__FreeBSD__) typedef unsigned long mask; +#elif defined(EMSCRIPTEN) + typedef unsigned short mask; #endif static const mask space = _CTYPE_S; static const mask print = _CTYPE_R; @@ -355,7 +357,7 @@ public: static const mask punct = _CTYPE_P; static const mask xdigit = _CTYPE_X; static const mask blank = _CTYPE_B; -#elif __sun__ +#elif defined(__sun__) typedef unsigned int mask; static const mask space = _ISSPACE; static const mask print = _ISPRINT; @@ -367,7 +369,7 @@ public: static const mask punct = _ISPUNCT; static const mask xdigit = _ISXDIGIT; static const mask blank = _ISBLANK; -#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || __sun__ +#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || EMSCRIPTEN || __sun__ typedef unsigned long mask; static const mask space = 1<<0; static const mask print = 1<<1; @@ -386,10 +388,10 @@ public: _LIBCPP_ALWAYS_INLINE ctype_base() {} }; -template class _LIBCPP_VISIBLE ctype; +template class _LIBCPP_TYPE_VIS ctype; template <> -class _LIBCPP_VISIBLE ctype +class _LIBCPP_TYPE_VIS ctype : public locale::facet, public ctype_base { @@ -491,7 +493,7 @@ protected: }; template <> -class _LIBCPP_VISIBLE ctype +class _LIBCPP_TYPE_VIS ctype : public locale::facet, public ctype_base { const mask* __tab_; @@ -590,7 +592,7 @@ public: #endif _LIBCPP_ALWAYS_INLINE const mask* table() const _NOEXCEPT {return __tab_;} static const mask* classic_table() _NOEXCEPT; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Apr 28 02:04:34 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 A54FAAB3; Sun, 28 Apr 2013 02:04:34 +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 7DBCD131F; Sun, 28 Apr 2013 02:04:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3S24XJF069470; Sun, 28 Apr 2013 02:04:33 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3S24XsS069469; Sun, 28 Apr 2013 02:04:33 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304280204.r3S24XsS069469@svn.freebsd.org> From: Adrian Chadd Date: Sun, 28 Apr 2013 02:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250011 - user/adrian/net80211_tx/sys/modules/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: Sun, 28 Apr 2013 02:04:34 -0000 Author: adrian Date: Sun Apr 28 02:04:33 2013 New Revision: 250011 URL: http://svnweb.freebsd.org/changeset/base/250011 Log: * Flip on ar9300 HAL building by default. * Update the directory locations to point to where it is now living in -HEAD. Modified: user/adrian/net80211_tx/sys/modules/ath/Makefile Modified: user/adrian/net80211_tx/sys/modules/ath/Makefile ============================================================================== --- user/adrian/net80211_tx/sys/modules/ath/Makefile Sun Apr 28 01:59:20 2013 (r250010) +++ user/adrian/net80211_tx/sys/modules/ath/Makefile Sun Apr 28 02:04:33 2013 (r250011) @@ -124,13 +124,13 @@ SRCS+= ah_eeprom_9287.c SRCS+= ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c # + AR9300 HAL -# .PATH: ${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ar9300 -#SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c -#SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c -#SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c -#SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c -#SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c -#SRCS+= ar9300_power.c ar9300_timer.c +.PATH: ${.CURDIR}/../../contrib/dev/ath/ath_hal/ar9300 +SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c +SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c +SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c +SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c +SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c +SRCS+= ar9300_power.c ar9300_timer.c # NB: rate control is bound to the driver by symbol names so only pick one .if ${ATH_RATE} == "sample" @@ -149,7 +149,7 @@ SRCS+= amrr.c SRCS+= dfs_null.c CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal -# CFLAGS+= -I. -I${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ +CFLAGS+= -I. -I${.CURDIR}/../../contrib/dev/ath/ath_hal/ .if !defined(KERNBUILDDIR) opt_ah.h: @@ -164,5 +164,5 @@ CWARNFLAGS.if_ath.c= ${NO_WSOMETIMES_UN CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} # AR9300 HAL build overrides, as there's still some code to tidy up -#CWARNFLAGS.ar9300_eeprom.c= ${NO_WCONSTANT_CONVERSION} -#CWARNFLAGS.ar9300_reset.c= ${NO_WSOMETIMES_UNINITIALIZED} +CWARNFLAGS.ar9300_eeprom.c= ${NO_WCONSTANT_CONVERSION} +CWARNFLAGS.ar9300_reset.c= ${NO_WSOMETIMES_UNINITIALIZED} From owner-svn-src-user@FreeBSD.ORG Mon Apr 29 08:21:38 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 2C090E47; Mon, 29 Apr 2013 08:21:38 +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 1339F1E18; Mon, 29 Apr 2013 08:21:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3T8Lcqf009187; Mon, 29 Apr 2013 08:21:38 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3T8LWHj009151; Mon, 29 Apr 2013 08:21:32 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304290821.r3T8LWHj009151@svn.freebsd.org> From: Adrian Chadd Date: Mon, 29 Apr 2013 08:21:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250042 - in user/adrian/net80211_tx: bin/hostname bin/kill lib/libstand lib/libstand/mips lib/libthr/thread share/examples/BSD_daemon share/man/man4/man4.arm sys/arm/xilinx sys/cam/ata... 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: Mon, 29 Apr 2013 08:21:38 -0000 Author: adrian Date: Mon Apr 29 08:21:32 2013 New Revision: 250042 URL: http://svnweb.freebsd.org/changeset/base/250042 Log: MFH Added: user/adrian/net80211_tx/share/examples/BSD_daemon/beastie2.eps - copied unchanged from r250041, head/share/examples/BSD_daemon/beastie2.eps Modified: user/adrian/net80211_tx/bin/hostname/hostname.c user/adrian/net80211_tx/bin/kill/kill.c user/adrian/net80211_tx/lib/libstand/Makefile user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c user/adrian/net80211_tx/share/examples/BSD_daemon/README user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h user/adrian/net80211_tx/sys/cam/ata/ata_da.c user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c user/adrian/net80211_tx/sys/dev/ath/if_ath.c user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h user/adrian/net80211_tx/sys/dev/ciss/ciss.c user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c 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/kern/uipc_syscalls.c user/adrian/net80211_tx/sys/netpfil/ipfw/ip_dummynet.c user/adrian/net80211_tx/sys/vm/vm_mmap.c user/adrian/net80211_tx/sys/vm/vm_object.c user/adrian/net80211_tx/sys/vm/vm_object.h user/adrian/net80211_tx/sys/vm/vm_radix.c user/adrian/net80211_tx/sys/vm/vnode_pager.c user/adrian/net80211_tx/tools/build/mk/OptionalObsoleteFiles.inc user/adrian/net80211_tx/tools/tools/nanobsd/nanobsd.sh user/adrian/net80211_tx/usr.bin/Makefile user/adrian/net80211_tx/usr.bin/biff/biff.1 Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/share/man/man4/ (props changed) user/adrian/net80211_tx/sys/ (props changed) Modified: user/adrian/net80211_tx/bin/hostname/hostname.c ============================================================================== --- user/adrian/net80211_tx/bin/hostname/hostname.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/bin/hostname/hostname.c Mon Apr 29 08:21:32 2013 (r250042) @@ -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/adrian/net80211_tx/bin/kill/kill.c ============================================================================== --- user/adrian/net80211_tx/bin/kill/kill.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/bin/kill/kill.c Mon Apr 29 08:21:32 2013 (r250042) @@ -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/adrian/net80211_tx/lib/libstand/Makefile ============================================================================== --- user/adrian/net80211_tx/lib/libstand/Makefile Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/lib/libstand/Makefile Mon Apr 29 08:21:32 2013 (r250042) @@ -54,9 +54,7 @@ SRCS+= ntoh.c # string functions from libc .PATH: ${.CURDIR}/../libc/string -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "powerpc" || \ - ${MACHINE_CPUARCH} == "sparc64" || ${MACHINE_CPUARCH} == "amd64" || \ - ${MACHINE_CPUARCH} == "arm" +.if ${MACHINE_CPUARCH} != "ia64" SRCS+= bcmp.c bcopy.c bzero.c ffs.c memccpy.c memchr.c memcmp.c memcpy.c \ memmove.c memset.c qdivrem.c strcat.c strchr.c strcmp.c strcpy.c \ strcspn.c strlen.c strncat.c strncmp.c strncpy.c strpbrk.c \ Modified: user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S ============================================================================== --- user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S Mon Apr 29 08:21:32 2013 (r250042) @@ -72,7 +72,6 @@ LEAF(_setjmp) REG_S s7, ((S7 + 3) * SZREG)(a0) REG_S sp, ((SP + 3) * SZREG)(a0) REG_S s8, ((S8 + 3) * SZREG)(a0) - REG_S v0, ((32 + 38) * SZREG)(a0) j ra move v0, zero END(_setjmp) @@ -96,7 +95,6 @@ LEAF(_longjmp) REG_L s5, ((S5 + 3) * SZREG)(a0) REG_L s6, ((S6 + 3) * SZREG)(a0) REG_L s7, ((S7 + 3) * SZREG)(a0) - REG_L v0, ((32 + 38) * SZREG)(a0) # get fpu status REG_L sp, ((SP + 3) * SZREG)(a0) REG_L s8, ((S8 + 3) * SZREG)(a0) Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c ============================================================================== --- user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c Mon Apr 29 08:21:32 2013 (r250042) @@ -336,13 +336,6 @@ check_deferred_signal(struct pthread *cu memcpy(&info, &curthread->deferred_siginfo, sizeof(siginfo_t)); /* remove signal */ curthread->deferred_siginfo.si_signo = 0; - if (act.sa_flags & SA_RESETHAND) { - struct sigaction tact; - - tact = act; - tact.sa_handler = SIG_DFL; - _sigaction(info.si_signo, &tact, NULL); - } handle_signal(&act, info.si_signo, &info, uc); } } Modified: user/adrian/net80211_tx/share/examples/BSD_daemon/README ============================================================================== --- user/adrian/net80211_tx/share/examples/BSD_daemon/README Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/share/examples/BSD_daemon/README Mon Apr 29 08:21:32 2013 (r250042) @@ -35,6 +35,10 @@ beastie.eps Before committing this, clean out the comment brought over from the .fig file to avoid Dollar-FreeBSD-Dollar junk +beastie2.eps + Written by Rahul Siddharthan beaste2.eps is a + smaller, simpler version of the beastie eps graphic. + eps.patch Add some comments about tweakables in the .eps file and set the linecaps to round to improve visual appearance. Copied: user/adrian/net80211_tx/share/examples/BSD_daemon/beastie2.eps (from r250041, head/share/examples/BSD_daemon/beastie2.eps) ============================================================================== Binary file (source and/or target). No diff available. Modified: user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 ============================================================================== --- user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 Mon Apr 29 08:21:32 2013 (r250042) @@ -37,7 +37,9 @@ The special file .Pa /dev/devcfg can be used to configure the PL (FPGA) section of the Xilinx Zynq-7000. .Pp -On the first write to the character device at file offset 0, the devcfg driver +On the first write to the character device at file offset 0, the +.Nm +driver asserts the top-level PL reset signals, disables the PS-PL level shifters, and clears the PL configuration. Write data is sent to the PCAP (processor configuration access port). @@ -54,16 +56,18 @@ The file should not be confused with the design tools. It is the binary form of the configuration bitstream. The Xilinx -.Pa promgen +.Ic promgen tool can do the conversion: .Bd -literal -offset indent promgen -b -w -p bin -data_width 32 -u 0 design.bit -o design.bit.bin .Ed .Sh SYSCTL VARIABLES -The devcfg driver provides the following +The +.Nm +driver provides the following .Xr sysctl 8 variables: -.Bl -tag -width 12 +.Bl -tag -width 4n .It Va hw.fpga.pl_done .Pp This variable always reflects the status of the PL's DONE signal. @@ -73,15 +77,19 @@ A 1 means the PL section has been proper This variable controls if the PS-PL level shifters are enabled after the PL section has been reconfigured. This variable is 1 by default but setting it to 0 allows the PL section to be -programmed with configurations that don't interface to the PS section of the +programmed with configurations that do not interface to the PS section of the part. Changing this value has no effect on the level shifters until the next device reconfiguration. +.El .Sh FILES -/dev/devcfg Character device for +.Bl -tag -width 12n +.It Pa /dev/devcfg +Character device for the .Nm driver. -.Sh AUTHORS -Thomas Skibo +.El .Sh SEE ALSO Zynq-7000 SoC Technical Reference Manual (Xilinx doc UG585) +.Sh AUTHORS +Thomas Skibo Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,32 +1,33 @@ /*- - * Copyright (C) 2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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 + * 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. + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD$ */ -/* Zynq-7000 Devcfg driver. This allows programming the PL (FPGA) section +/* + * Zynq-7000 Devcfg driver. This allows programming the PL (FPGA) section * of Zynq. * * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,31 +1,33 @@ /*- - * Copyright (C) 2012-2013, Thomas Skibo. + * Copyright (c) 2012-2013 Thomas Skibo * All rights reserved. * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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. + * 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$ */ -/* A host-controller driver for Zynq-7000's USB OTG controller. +/* + * A host-controller driver for Zynq-7000's USB OTG controller. * * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. * (v1.4) November 16, 2012. Xilinx doc UG585. Ch. 15 covers the USB Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,32 +1,33 @@ /*- - * Copyright (C) 2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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 + * 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. + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD$ */ -/* A GPIO driver for Xilinx Zynq-7000. +/* + * A GPIO driver for Xilinx Zynq-7000. * * The GPIO peripheral on Zynq allows controlling 114 general purpose I/Os. * Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,5 +1,5 @@ /*- - * Copyright (C) 2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -11,20 +11,24 @@ * 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. + * 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$ */ #include __FBSDID("$FreeBSD$"); + #include #include #include Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,32 +1,33 @@ /*- - * Copyright (C) 2012-2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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 + * 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. + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD$ */ -/* Machine dependent code for Xilinx Zynq-7000 Soc. +/* + * Machine dependent code for Xilinx Zynq-7000 Soc. * * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. * (v1.4) November 16, 2012. Xilinx doc UG585. Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h Mon Apr 29 08:21:32 2013 (r250042) @@ -1,33 +1,33 @@ /*- - * Copyright (C) 2012-2013, Thomas Skibo. + * Copyright (c) 2012-2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 Thomas Skibo 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. + * 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$ */ -/* $FreeBSD$ */ - -/* Address regions of Zynq-7000. +/* + * Address regions of Zynq-7000. * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. * (v1.4) November 16, 2012. Xilinx doc UG585. */ Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,32 +1,33 @@ /*- - * Copyright (C) 2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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 + * 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. + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD$ */ -/* Zynq-700 SLCR driver. Provides hooks for cpu_reset and PL control stuff. +/* + * Zynq-700 SLCR driver. Provides hooks for cpu_reset and PL control stuff. * In the future, maybe MIO control, clock control, etc. could go here. * * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h ============================================================================== --- user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h Mon Apr 29 08:21:32 2013 (r250042) @@ -1,34 +1,33 @@ /*- - * Copyright (C) 2013, Thomas Skibo. + * Copyright (c) 2013 Thomas Skibo * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * 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. - * * The names of contributors may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * 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 AUTHORS 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 + * 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. + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD$ */ -/* $FreeBSD$ */ - -/* Defines for Zynq-7000 SLCR registers. +/* + * Defines for Zynq-7000 SLCR registers. * * Most of these registers are initialized by the First Stage Boot * Loader and are not modified by the kernel. Modified: user/adrian/net80211_tx/sys/cam/ata/ata_da.c ============================================================================== --- user/adrian/net80211_tx/sys/cam/ata/ata_da.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/cam/ata/ata_da.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1147,7 +1147,7 @@ adaregister(struct cam_periph *periph, v snprintf(announce_buf, sizeof(announce_buf), "kern.cam.ada.%d.write_cache", periph->unit_number); TUNABLE_INT_FETCH(announce_buf, &softc->write_cache); - /* Disable queue sorting for non-rotatational media by default */ + /* Disable queue sorting for non-rotational media by default. */ if (cgd->ident_data.media_rotation_rate == 1) softc->sort_io_queue = 0; else Modified: user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c ============================================================================== --- user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c Mon Apr 29 08:21:32 2013 (r250042) @@ -3058,6 +3058,10 @@ dadone(struct cam_periph *periph, union bdc = (struct scsi_vpd_block_characteristics *)csio->data_ptr; if ((csio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + /* + * Disable queue sorting for non-rotational media + * by default. + */ if (scsi_2btoul(bdc->medium_rotation_rate) == SVPD_BDC_RATE_NONE_ROTATING) softc->sort_io_queue = 0; @@ -3106,8 +3110,8 @@ dadone(struct cam_periph *periph, union ATA_DSM_BLK_RANGES); } /* - * Disable queue sorting for non-rotatational media - * by default + * Disable queue sorting for non-rotational media + * by default. */ if (ata_params->media_rotation_rate == 1) softc->sort_io_queue = 0; Modified: user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c ============================================================================== --- user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c Mon Apr 29 08:21:32 2013 (r250042) @@ -883,6 +883,7 @@ again: * routine finish up for us. */ start_ccb->csio.data_ptr = NULL; + cam_freeze_devq(periph->path); probedone(periph, start_ccb); return; } @@ -913,6 +914,7 @@ again: * routine finish up for us. */ start_ccb->csio.data_ptr = NULL; + cam_freeze_devq(periph->path); probedone(periph, start_ccb); return; } @@ -952,6 +954,7 @@ again: * routine finish up for us. */ start_ccb->csio.data_ptr = NULL; + cam_freeze_devq(periph->path); probedone(periph, start_ccb); return; } Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/ath/if_ath.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/dev/ath/if_ath.c Mon Apr 29 08:21:32 2013 (r250042) @@ -4519,10 +4519,12 @@ ath_tx_stopdma(struct ath_softc *sc, str struct ath_hal *ah = sc->sc_ah; DPRINTF(sc, ATH_DEBUG_RESET, - "%s: tx queue [%u] %p, flags 0x%08x, link %p\n", + "%s: tx queue [%u] %p, active=%d, hwpending=%d, flags 0x%08x, link %p\n", __func__, txq->axq_qnum, (caddr_t)(uintptr_t) ath_hal_gettxbuf(ah, txq->axq_qnum), + (int) (!! ath_hal_txqenabled(ah, txq->axq_qnum)), + (int) ath_hal_numtxpending(ah, txq->axq_qnum), txq->axq_flags, txq->axq_link); (void) ath_hal_stoptxdma(ah, txq->axq_qnum); @@ -4564,8 +4566,6 @@ ath_tx_dump(struct ath_softc *sc, struct if (! (sc->sc_debug & ATH_DEBUG_RESET)) return; - ATH_TX_LOCK_ASSERT(sc); - device_printf(sc->sc_dev, "%s: Q%d: begin\n", __func__, txq->axq_qnum); TAILQ_FOREACH(bf, &txq->axq_q, bf_list) { Modified: user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c Mon Apr 29 08:21:32 2013 (r250042) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2012-2013 Thomas Skibo. + * Copyright (c) 2012-2013 Thomas Skibo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +24,8 @@ * SUCH DAMAGE. */ -/* A network interface driver for Cadence GEM Gigabit Ethernet +/* + * A network interface driver for Cadence GEM Gigabit Ethernet * interface such as the one used in Xilinx Zynq-7000 SoC. * * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual. Modified: user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h ============================================================================== --- user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h Mon Apr 29 08:21:32 2013 (r250042) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2012-2013 Thomas Skibo. + * Copyright (c) 2012-2013 Thomas Skibo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,10 +22,10 @@ * 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$ */ -/* $FreeBSD$ */ - /* * Hardware and register defines for Cadence GEM Gigabit Ethernet * controller such as the one used in Zynq-7000 SoC. Modified: user/adrian/net80211_tx/sys/dev/ciss/ciss.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/ciss/ciss.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/dev/ciss/ciss.c Mon Apr 29 08:21:32 2013 (r250042) @@ -2487,6 +2487,7 @@ ciss_preen_command(struct ciss_request * cc->header.sg_total = 0; cc->header.host_tag = cr->cr_tag << 2; cc->header.host_tag_zeroes = 0; + bzero(&(cc->sg[0]), CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command)); cmdphys = cr->cr_ccphys; cc->error_info.error_info_address = cmdphys + sizeof(struct ciss_command); cc->error_info.error_info_length = CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command); @@ -3007,7 +3008,7 @@ ciss_cam_action(struct cam_sim *sim, uni cpi->protocol = PROTO_SCSI; cpi->protocol_version = SCSI_REV_2; if (sc->ciss_cfg->max_sg_length == 0) { - sg_length = 16; + sg_length = 17; } else { /* XXX Fix for ZMR cards that advertise max_sg_length == 32 * Confusing bit here. max_sg_length is usually a power of 2. We always @@ -3375,7 +3376,7 @@ ciss_cam_complete_fixup(struct ciss_soft cl = &sc->ciss_logical[bus][target]; - padstr(inq->vendor, "COMPAQ", + padstr(inq->vendor, "HP", SID_VENDOR_SIZE); padstr(inq->product, ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance), Modified: user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c ============================================================================== --- user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c Mon Apr 29 08:21:32 2013 (r250042) @@ -175,7 +175,8 @@ static int hpt_alloc_mem(PVBUS_EXT vbus_ HPT_ASSERT((f->size & (f->alignment-1))==0); - for (order=0, size=PAGE_SIZE; sizesize; order++, size<<=1) ; + for (order=0, size=PAGE_SIZE; sizesize; order++, size<<=1) + ; KdPrint(("%s: %d*%d=%d bytes, order %d", f->tag, f->count, f->size, f->count*f->size, order)); Modified: user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c Mon Apr 29 08:21:32 2013 (r250042) @@ -166,6 +166,7 @@ tmpfs_alloc_node(struct tmpfs_mount *tmp char *target, dev_t rdev, struct tmpfs_node **node) { struct tmpfs_node *nnode; + vm_object_t obj; /* If the root directory of the 'tmp' file system is not yet * allocated, this must be the request to do it. */ @@ -227,9 +228,14 @@ tmpfs_alloc_node(struct tmpfs_mount *tmp break; case VREG: - nnode->tn_reg.tn_aobj = + obj = nnode->tn_reg.tn_aobj = vm_pager_allocate(OBJT_SWAP, NULL, 0, VM_PROT_DEFAULT, 0, NULL /* XXXKIB - tmpfs needs swap reservation */); + VM_OBJECT_WLOCK(obj); + /* OBJ_TMPFS is set together with the setting of vp->v_object */ + vm_object_set_flag(obj, OBJ_NOSPLIT); + vm_object_clear_flag(obj, OBJ_ONEMAPPING); + VM_OBJECT_WUNLOCK(obj); break; default: @@ -434,9 +440,11 @@ int tmpfs_alloc_vp(struct mount *mp, struct tmpfs_node *node, int lkflag, struct vnode **vpp) { - int error = 0; struct vnode *vp; + vm_object_t object; + int error; + error = 0; loop: TMPFS_NODE_LOCK(node); if ((vp = node->tn_vnode) != NULL) { @@ -506,13 +514,22 @@ loop: /* FALLTHROUGH */ case VLNK: /* FALLTHROUGH */ - case VREG: - /* FALLTHROUGH */ case VSOCK: break; case VFIFO: vp->v_op = &tmpfs_fifoop_entries; break; + case VREG: + object = node->tn_reg.tn_aobj; + VM_OBJECT_WLOCK(object); + VI_LOCK(vp); + KASSERT(vp->v_object == NULL, ("Not NULL v_object in tmpfs")); + vp->v_object = object; + object->un_pager.swp.swp_tmpfs = vp; + vm_object_set_flag(object, OBJ_TMPFS); + VI_UNLOCK(vp); + VM_OBJECT_WUNLOCK(object); + break; case VDIR: MPASS(node->tn_dir.tn_parent != NULL); if (node->tn_dir.tn_parent == node) @@ -523,7 +540,6 @@ loop: panic("tmpfs_alloc_vp: type %p %d", node, (int)node->tn_type); } - vnode_pager_setsize(vp, node->tn_size); error = insmntque(vp, mp); if (error) vp = NULL; @@ -1343,7 +1359,6 @@ retry: TMPFS_UNLOCK(tmp); node->tn_size = newsize; - vnode_pager_setsize(vp, newsize); return (0); } Modified: user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c Mon Apr 29 07:28:29 2013 (r250041) +++ user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c Mon Apr 29 08:21:32 2013 (r250042) @@ -278,8 +278,6 @@ tmpfs_close(struct vop_close_args *v) { struct vnode *vp = v->a_vp; - MPASS(VOP_ISLOCKED(vp)); - /* Update node times. */ tmpfs_update(vp); @@ -439,7 +437,6 @@ tmpfs_setattr(struct vop_setattr_args *v return error; } -/* --------------------------------------------------------------------- */ static int tmpfs_nocacheread(vm_object_t tobj, vm_pindex_t idx, vm_offset_t offset, size_t tlen, struct uio *uio) @@ -448,12 +445,35 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p int error, rv; VM_OBJECT_WLOCK(tobj); - m = vm_page_grab(tobj, idx, VM_ALLOC_WIRED | - VM_ALLOC_NORMAL | VM_ALLOC_RETRY); + + /* + * The kern_sendfile() code calls vn_rdwr() with the page + * soft-busied. Ignore the soft-busy state here. Parallel + * reads of the page content from disk are prevented by + * VPO_BUSY. + * + * Although the tmpfs vnode lock is held here, it is + * nonetheless safe to sleep waiting for a free page. The + * pageout daemon does not need to acquire the tmpfs vnode + * lock to page out tobj's pages because tobj is a OBJT_SWAP + * type object. + */ + m = vm_page_grab(tobj, idx, VM_ALLOC_NORMAL | VM_ALLOC_RETRY | + VM_ALLOC_IGN_SBUSY); if (m->valid != VM_PAGE_BITS_ALL) { if (vm_pager_has_page(tobj, idx, NULL, NULL)) { rv = vm_pager_get_pages(tobj, &m, 1, 0); + m = vm_page_lookup(tobj, idx); + if (m == NULL) { + printf( + "tmpfs: vm_obj %p idx %jd null lookup rv %d\n", + tobj, idx, rv); + return (EIO); + } if (rv != VM_PAGER_OK) { + printf( + "tmpfs: vm_obj %p idx %jd valid %x pager error %d\n", + tobj, idx, m->valid, rv); vm_page_lock(m); vm_page_free(m); vm_page_unlock(m); @@ -463,127 +483,38 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p } else vm_page_zero_invalid(m, TRUE); } + vm_page_lock(m); + vm_page_hold(m); + vm_page_wakeup(m); + vm_page_unlock(m); VM_OBJECT_WUNLOCK(tobj); error = uiomove_fromphys(&m, offset, tlen, uio); VM_OBJECT_WLOCK(tobj); vm_page_lock(m); - vm_page_unwire(m, TRUE); + vm_page_unhold(m); + vm_page_deactivate(m); + /* Requeue to maintain LRU ordering. */ + vm_page_requeue(m); vm_page_unlock(m); - vm_page_wakeup(m); VM_OBJECT_WUNLOCK(tobj); return (error); } -static __inline int -tmpfs_nocacheread_buf(vm_object_t tobj, vm_pindex_t idx, - vm_offset_t offset, size_t tlen, void *buf) -{ - struct uio uio; - struct iovec iov; - - uio.uio_iovcnt = 1; - uio.uio_iov = &iov; - iov.iov_base = buf; - iov.iov_len = tlen; - - uio.uio_offset = 0; - uio.uio_resid = tlen; - uio.uio_rw = UIO_READ; - uio.uio_segflg = UIO_SYSSPACE; - uio.uio_td = curthread; - - return (tmpfs_nocacheread(tobj, idx, offset, tlen, &uio)); -} - -static int -tmpfs_mappedread(vm_object_t vobj, vm_object_t tobj, size_t len, struct uio *uio) -{ - struct sf_buf *sf; - vm_pindex_t idx; - vm_page_t m; - vm_offset_t offset; - off_t addr; - size_t tlen; - char *ma; - int error; - - addr = uio->uio_offset; - idx = OFF_TO_IDX(addr); - offset = addr & PAGE_MASK; - tlen = MIN(PAGE_SIZE - offset, len); - - VM_OBJECT_WLOCK(vobj); -lookupvpg: - if (((m = vm_page_lookup(vobj, idx)) != NULL) && - vm_page_is_valid(m, offset, tlen)) { - if ((m->oflags & VPO_BUSY) != 0) { - /* - * Reference the page before unlocking and sleeping so - * that the page daemon is less likely to reclaim it. - */ - vm_page_reference(m); - vm_page_sleep(m, "tmfsmr"); - goto lookupvpg; - } - vm_page_busy(m); - VM_OBJECT_WUNLOCK(vobj); - error = uiomove_fromphys(&m, offset, tlen, uio); - VM_OBJECT_WLOCK(vobj); - vm_page_wakeup(m); - VM_OBJECT_WUNLOCK(vobj); - return (error); - } else if (m != NULL && uio->uio_segflg == UIO_NOCOPY) { - KASSERT(offset == 0, - ("unexpected offset in tmpfs_mappedread for sendfile")); - if ((m->oflags & VPO_BUSY) != 0) { - /* - * Reference the page before unlocking and sleeping so - * that the page daemon is less likely to reclaim it. - */ - vm_page_reference(m); - vm_page_sleep(m, "tmfsmr"); - goto lookupvpg; - } - vm_page_busy(m); - VM_OBJECT_WUNLOCK(vobj); - sched_pin(); - sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - ma = (char *)sf_buf_kva(sf); - error = tmpfs_nocacheread_buf(tobj, idx, 0, tlen, ma); - if (error == 0) { - if (tlen != PAGE_SIZE) - bzero(ma + tlen, PAGE_SIZE - tlen); - uio->uio_offset += tlen; - uio->uio_resid -= tlen; - } - sf_buf_free(sf); - sched_unpin(); - VM_OBJECT_WLOCK(vobj); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Mon Apr 29 22:54:27 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 3C92BBEC; Mon, 29 Apr 2013 22:54:27 +0000 (UTC) (envelope-from cperciva@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 2FADD1D30; Mon, 29 Apr 2013 22:54: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 r3TMsRLd029680; Mon, 29 Apr 2013 22:54:27 GMT (envelope-from cperciva@svn.freebsd.org) Received: (from cperciva@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3TMsRkS029679; Mon, 29 Apr 2013 22:54:27 GMT (envelope-from cperciva@svn.freebsd.org) Message-Id: <201304292254.r3TMsRkS029679@svn.freebsd.org> From: Colin Percival Date: Mon, 29 Apr 2013 22:54:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250080 - user/cperciva/portsnap-mirror 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: Mon, 29 Apr 2013 22:54:27 -0000 Author: cperciva Date: Mon Apr 29 22:54:26 2013 New Revision: 250080 URL: http://svnweb.freebsd.org/changeset/base/250080 Log: Fix typo. Submitted by: zi Modified: user/cperciva/portsnap-mirror/pmirror.sh Modified: user/cperciva/portsnap-mirror/pmirror.sh ============================================================================== --- user/cperciva/portsnap-mirror/pmirror.sh Mon Apr 29 22:48:53 2013 (r250079) +++ user/cperciva/portsnap-mirror/pmirror.sh Mon Apr 29 22:54:26 2013 (r250080) @@ -142,7 +142,7 @@ comm -13 f.present f.wanted | lam -s 'f/ echo "`date`: Removing corrupt files" comm -13 f.present f.wanted | tr -d '.gz' | while read F; do if [ -f ${PUBDIR}/f/${F}.gz ] && - ! [ `gunzip < ${PUBDIR}/f/${F}.gz` | sha256` = $F ]; then + ! [ `gunzip < ${PUBDIR}/f/${F}.gz | sha256` = $F ]; then echo "Deleting f/$F.gz" rm ${PUBDIR}/f/${F}.gz fi From owner-svn-src-user@FreeBSD.ORG Tue Apr 30 05:30:10 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 284AB8A0; Tue, 30 Apr 2013 05:30:10 +0000 (UTC) (envelope-from delphij@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 02E6F1C04; Tue, 30 Apr 2013 05:30: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 r3U5U9FZ070154; Tue, 30 Apr 2013 05:30:09 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3U5U9TU070153; Tue, 30 Apr 2013 05:30:09 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201304300530.r3U5U9TU070153@svn.freebsd.org> From: Xin LI Date: Tue, 30 Apr 2013 05:30:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250089 - user/delphij/zfs-lz4 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: Tue, 30 Apr 2013 05:30:10 -0000 Author: delphij Date: Tue Apr 30 05:30:09 2013 New Revision: 250089 URL: http://svnweb.freebsd.org/changeset/base/250089 Log: Copy -HEAD to create a scratch space for LZ4 compression work. Added: - copied from r250088, head/ Directory Properties: user/delphij/zfs-lz4/ (props changed) From owner-svn-src-user@FreeBSD.ORG Tue Apr 30 21:36:53 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 550BE5BF; Tue, 30 Apr 2013 21:36:53 +0000 (UTC) (envelope-from crees@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 484BF1A6F; Tue, 30 Apr 2013 21:36:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3ULaqZD015210; Tue, 30 Apr 2013 21:36:52 GMT (envelope-from crees@svn.freebsd.org) Received: (from crees@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3ULaqWx015209; Tue, 30 Apr 2013 21:36:52 GMT (envelope-from crees@svn.freebsd.org) Message-Id: <201304302136.r3ULaqWx015209@svn.freebsd.org> From: Chris Rees Date: Tue, 30 Apr 2013 21:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250120 - user/crees/rclint 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: Tue, 30 Apr 2013 21:36:53 -0000 Author: crees (ports committer) Date: Tue Apr 30 21:36:52 2013 New Revision: 250120 URL: http://svnweb.freebsd.org/changeset/base/250120 Log: Add configfile to recommended 'clobberers'. Don't complain about quoting if %% substitution is used; there may be spaces in the substitution. Modified: user/crees/rclint/rclint.py Modified: user/crees/rclint/rclint.py ============================================================================== --- user/crees/rclint/rclint.py Tue Apr 30 20:53:28 2013 (r250119) +++ user/crees/rclint/rclint.py Tue Apr 30 21:36:52 2013 (r250120) @@ -113,7 +113,7 @@ class Statement: if not self.quoted(): return False for char in self.value[1:-1]: - if char in ' \t|&;<>()$`\\\"\'': + if char in ' \t|%&;<>()$`\\\"\'': return False return True @@ -270,7 +270,8 @@ def do_ports_checking(lineobj, filename) logging.debug('Checking for defaults clobbering blank values') for var in lineobj['Variable']: if var.type in ('longhand', 'shorthand'): - if var.name.split('_')[-1] not in ('enable', 'user', 'group') and var.clobber: + if var.name.split('_')[-1] not in ('enable', 'user', 'group', + 'configfile') and var.clobber: error.give('variables_defaults_non_mandatory_colon', var.line) elif not var.clobber and var.name.split('_')[-1] in ('enable'): error.give('variables_defaults_mandatory_colon', var.line) From owner-svn-src-user@FreeBSD.ORG Tue Apr 30 22:59:11 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 52F8E659; Tue, 30 Apr 2013 22:59:11 +0000 (UTC) (envelope-from delphij@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 452001E0B; Tue, 30 Apr 2013 22:59:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3UMxACM043213; Tue, 30 Apr 2013 22:59:10 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3UMxAef043209; Tue, 30 Apr 2013 22:59:10 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201304302259.r3UMxAef043209@svn.freebsd.org> From: Xin LI Date: Tue, 30 Apr 2013 22:59:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250122 - in user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . 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: Tue, 30 Apr 2013 22:59:11 -0000 Author: delphij Date: Tue Apr 30 22:59:09 2013 New Revision: 250122 URL: http://svnweb.freebsd.org/changeset/base/250122 Log: Initial draft making LZ4 the default compression method. Now, compression=on means use LZ4 as compression method if the pool have LZ4 activated, and LZJB if pool is using old format. Also, metadata is now using LZ4 as compression method by default. Notes to my self based on talk with mm@: - Need to check how the LZ4 feature flag is activated. E.g. what happens if a new pool is created, do we need to explicitly do the feature activation? - Do we need a sysctl variable for this? Do we want to make it possible for users to tweak the method themselves? Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c ============================================================================== --- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Tue Apr 30 22:13:55 2013 (r250121) +++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Tue Apr 30 22:59:09 2013 (r250122) @@ -1596,7 +1596,8 @@ dmu_write_policy(objset_t *os, dnode_t * * that specializes in arrays of bps. */ compress = zfs_mdcomp_disable ? ZIO_COMPRESS_EMPTY : - ZIO_COMPRESS_LZJB; + zio_compress_select(dmu_objset_spa(os), + ZIO_COMPRESS_ON, ZIO_COMPRESS_LZJB); /* * Metadata always gets checksummed. If the data @@ -1621,7 +1622,8 @@ dmu_write_policy(objset_t *os, dnode_t * compress = ZIO_COMPRESS_OFF; checksum = ZIO_CHECKSUM_OFF; } else { - compress = zio_compress_select(dn->dn_compress, compress); + compress = zio_compress_select(dmu_objset_spa(os), + dn->dn_compress, compress); checksum = (dedup_checksum == ZIO_CHECKSUM_OFF) ? zio_checksum_select(dn->dn_checksum, checksum) : Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Apr 30 22:13:55 2013 (r250121) +++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Apr 30 22:59:09 2013 (r250122) @@ -148,7 +148,8 @@ compression_changed_cb(void *arg, uint64 */ ASSERT(newval != ZIO_COMPRESS_INHERIT); - os->os_compress = zio_compress_select(newval, ZIO_COMPRESS_ON_VALUE); + os->os_compress = zio_compress_select(dmu_objset_spa(os), + newval, ZIO_COMPRESS_ON_VALUE); } static void Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Apr 30 22:13:55 2013 (r250121) +++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Apr 30 22:59:09 2013 (r250122) @@ -112,14 +112,14 @@ enum zio_compress { }; /* N.B. when altering this value, also change BOOTFS_COMPRESS_VALID below */ -#define ZIO_COMPRESS_ON_VALUE ZIO_COMPRESS_LZJB +#define ZIO_COMPRESS_ON_VALUE ZIO_COMPRESS_LZ4 #define ZIO_COMPRESS_DEFAULT ZIO_COMPRESS_OFF #define BOOTFS_COMPRESS_VALID(compress) \ ((compress) == ZIO_COMPRESS_LZJB || \ (compress) == ZIO_COMPRESS_LZ4 || \ ((compress) == ZIO_COMPRESS_ON && \ - ZIO_COMPRESS_ON_VALUE == ZIO_COMPRESS_LZJB) || \ + ZIO_COMPRESS_ON_VALUE == ZIO_COMPRESS_LZ4) || \ (compress) == ZIO_COMPRESS_OFF) #define ZIO_FAILURE_MODE_WAIT 0 @@ -569,8 +569,8 @@ extern enum zio_checksum zio_checksum_se enum zio_checksum parent); extern enum zio_checksum zio_checksum_dedup_select(spa_t *spa, enum zio_checksum child, enum zio_checksum parent); -extern enum zio_compress zio_compress_select(enum zio_compress child, - enum zio_compress parent); +extern enum zio_compress zio_compress_select(spa_t *spa, + enum zio_compress child, enum zio_compress parent); extern void zio_suspend(spa_t *spa, zio_t *zio); extern int zio_resume(spa_t *spa); Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c ============================================================================== --- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c Tue Apr 30 22:13:55 2013 (r250121) +++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c Tue Apr 30 22:59:09 2013 (r250122) @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -61,7 +62,7 @@ zio_compress_info_t zio_compress_table[Z }; enum zio_compress -zio_compress_select(enum zio_compress child, enum zio_compress parent) +zio_compress_select(spa_t *spa, enum zio_compress child, enum zio_compress parent) { ASSERT(child < ZIO_COMPRESS_FUNCTIONS); ASSERT(parent < ZIO_COMPRESS_FUNCTIONS); @@ -70,8 +71,13 @@ zio_compress_select(enum zio_compress ch if (child == ZIO_COMPRESS_INHERIT) return (parent); - if (child == ZIO_COMPRESS_ON) - return (ZIO_COMPRESS_ON_VALUE); + if (child == ZIO_COMPRESS_ON) { + if (spa == NULL || !spa_feature_is_active(spa, + &spa_feature_table[SPA_FEATURE_LZ4_COMPRESS])) + return (ZIO_COMPRESS_LZJB); + else + return (ZIO_COMPRESS_ON_VALUE); + } return (child); } From owner-svn-src-user@FreeBSD.ORG Thu May 2 07:20:32 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 043B9ADA; Thu, 2 May 2013 07:20:32 +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 E86981A5C; Thu, 2 May 2013 07:20:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r427KVMP030366; Thu, 2 May 2013 07:20:31 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r427KQT7030325; Thu, 2 May 2013 07:20:26 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201305020720.r427KQT7030325@svn.freebsd.org> From: Adrian Chadd Date: Thu, 2 May 2013 07:20:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250174 - in user/adrian/net80211_tx: . contrib/bmake etc include lib lib/libc/sys lib/libprocstat lib/libthr lib/libthr/thread libexec/rtld-elf release/picobsd/floppy.tree/etc release/... 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, 02 May 2013 07:20:32 -0000 Author: adrian Date: Thu May 2 07:20:26 2013 New Revision: 250174 URL: http://svnweb.freebsd.org/changeset/base/250174 Log: Merge from HEAD. Added: user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/ssh/ - copied from r250173, head/release/picobsd/floppy.tree/etc/ssh/ user/adrian/net80211_tx/share/man/man4/ntb.4 - copied unchanged from r250173, head/share/man/man4/ntb.4 user/adrian/net80211_tx/sys/dev/ntb/ - copied from r250173, head/sys/dev/ntb/ user/adrian/net80211_tx/sys/modules/ntb/ - copied from r250173, head/sys/modules/ntb/ Deleted: user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/sshd_config Modified: user/adrian/net80211_tx/MAINTAINERS (contents, props changed) user/adrian/net80211_tx/Makefile.inc1 user/adrian/net80211_tx/UPDATING user/adrian/net80211_tx/contrib/bmake/var.c user/adrian/net80211_tx/etc/Makefile user/adrian/net80211_tx/include/unistd.h user/adrian/net80211_tx/lib/Makefile user/adrian/net80211_tx/lib/libc/sys/Makefile.inc user/adrian/net80211_tx/lib/libc/sys/Symbol.map user/adrian/net80211_tx/lib/libc/sys/accept.2 user/adrian/net80211_tx/lib/libc/sys/pipe.2 user/adrian/net80211_tx/lib/libprocstat/libprocstat.c user/adrian/net80211_tx/lib/libthr/pthread.map user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c user/adrian/net80211_tx/libexec/rtld-elf/rtld.c user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd user/adrian/net80211_tx/sbin/dumpon/dumpon.8 user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8 user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c user/adrian/net80211_tx/sbin/fsck_ffs/main.c user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c user/adrian/net80211_tx/share/man/man4/Makefile user/adrian/net80211_tx/share/man/man4/em.4 user/adrian/net80211_tx/share/man/man4/igb.4 user/adrian/net80211_tx/share/man/man4/ixgb.4 user/adrian/net80211_tx/share/man/man4/ixgbe.4 user/adrian/net80211_tx/share/misc/bsd-family-tree user/adrian/net80211_tx/sys/amd64/amd64/fpu.c user/adrian/net80211_tx/sys/amd64/conf/NOTES user/adrian/net80211_tx/sys/arm/broadcom/bcm2835/bcm2835_dma.c user/adrian/net80211_tx/sys/cam/ctl/ctl_frontend_internal.c user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_proto.h user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscall.h user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscalls.c user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_sysent.c user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_systrace_args.c user/adrian/net80211_tx/sys/compat/freebsd32/syscalls.master user/adrian/net80211_tx/sys/conf/files user/adrian/net80211_tx/sys/conf/files.amd64 user/adrian/net80211_tx/sys/conf/files.powerpc user/adrian/net80211_tx/sys/conf/kern.pre.mk user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c user/adrian/net80211_tx/sys/contrib/octeon-sdk/cvmx-usbd.c user/adrian/net80211_tx/sys/dev/acpi_support/acpi_hp.c user/adrian/net80211_tx/sys/dev/altera/jtag_uart/altera_jtag_uart.h user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah.c user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah_devid.h user/adrian/net80211_tx/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h user/adrian/net80211_tx/sys/dev/bktr/msp34xx.c user/adrian/net80211_tx/sys/dev/cfi/cfi_bus_fdt.c user/adrian/net80211_tx/sys/dev/cfi/cfi_core.c user/adrian/net80211_tx/sys/dev/cxgbe/adapter.h user/adrian/net80211_tx/sys/dev/cxgbe/common/common.h user/adrian/net80211_tx/sys/dev/cxgbe/common/t4_hw.c user/adrian/net80211_tx/sys/dev/cxgbe/firmware/t4fw_interface.h user/adrian/net80211_tx/sys/dev/cxgbe/osdep.h user/adrian/net80211_tx/sys/dev/cxgbe/t4_main.c user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_ddp.c user/adrian/net80211_tx/sys/dev/e1000/README user/adrian/net80211_tx/sys/dev/e1000/if_em.c user/adrian/net80211_tx/sys/dev/e1000/if_igb.c user/adrian/net80211_tx/sys/dev/e1000/if_lem.c user/adrian/net80211_tx/sys/dev/hptiop/hptiop.c user/adrian/net80211_tx/sys/dev/hptiop/hptiop.h user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_core.c user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_intel.c user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_mod.c user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_soft.c user/adrian/net80211_tx/sys/dev/hwpmc/pmc_events.h user/adrian/net80211_tx/sys/dev/ixgb/README user/adrian/net80211_tx/sys/dev/ixgbe/ixgbe.c user/adrian/net80211_tx/sys/dev/netmap/if_em_netmap.h user/adrian/net80211_tx/sys/dev/netmap/if_igb_netmap.h user/adrian/net80211_tx/sys/dev/netmap/if_lem_netmap.h user/adrian/net80211_tx/sys/dev/netmap/if_re_netmap.h user/adrian/net80211_tx/sys/dev/netmap/ixgbe_netmap.h user/adrian/net80211_tx/sys/dev/netmap/netmap.c user/adrian/net80211_tx/sys/dev/netmap/netmap_kern.h user/adrian/net80211_tx/sys/dev/netmap/netmap_mem2.c user/adrian/net80211_tx/sys/dev/re/if_re.c user/adrian/net80211_tx/sys/fs/nfsserver/nfs_nfsdport.c user/adrian/net80211_tx/sys/kern/capabilities.conf user/adrian/net80211_tx/sys/kern/imgact_elf.c user/adrian/net80211_tx/sys/kern/init_sysent.c user/adrian/net80211_tx/sys/kern/sys_pipe.c user/adrian/net80211_tx/sys/kern/syscalls.c user/adrian/net80211_tx/sys/kern/syscalls.master user/adrian/net80211_tx/sys/kern/systrace_args.c user/adrian/net80211_tx/sys/kern/uipc_socket.c user/adrian/net80211_tx/sys/kern/uipc_syscalls.c user/adrian/net80211_tx/sys/kgssapi/krb5/krb5_mech.c user/adrian/net80211_tx/sys/mips/atheros/ar71xx_gpio.c user/adrian/net80211_tx/sys/mips/include/asm.h user/adrian/net80211_tx/sys/mips/include/regdef.h user/adrian/net80211_tx/sys/mips/mips/db_interface.c user/adrian/net80211_tx/sys/mips/mips/trap.c user/adrian/net80211_tx/sys/mips/mips/vm_machdep.c user/adrian/net80211_tx/sys/modules/Makefile user/adrian/net80211_tx/sys/net/if_spppsubr.c user/adrian/net80211_tx/sys/net/netmap.h user/adrian/net80211_tx/sys/net/netmap_user.h user/adrian/net80211_tx/sys/netpfil/ipfw/ip_dummynet.c user/adrian/net80211_tx/sys/sys/param.h user/adrian/net80211_tx/sys/sys/socket.h user/adrian/net80211_tx/sys/sys/syscall.h user/adrian/net80211_tx/sys/sys/syscall.mk user/adrian/net80211_tx/sys/sys/syscallsubr.h user/adrian/net80211_tx/sys/sys/sysproto.h user/adrian/net80211_tx/sys/xen/xenstore/xenstore.c user/adrian/net80211_tx/tools/tools/netmap/README user/adrian/net80211_tx/usr.bin/nfsstat/nfsstat.1 user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c user/adrian/net80211_tx/usr.sbin/config/main.c user/adrian/net80211_tx/usr.sbin/nfsd/nfsv4.4 Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/contrib/bmake/ (props changed) user/adrian/net80211_tx/lib/libc/ (props changed) user/adrian/net80211_tx/sbin/ (props changed) user/adrian/net80211_tx/sbin/dumpon/ (props changed) user/adrian/net80211_tx/share/man/man4/ (props changed) user/adrian/net80211_tx/sys/ (props changed) user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/ (props changed) user/adrian/net80211_tx/sys/conf/ (props changed) user/adrian/net80211_tx/sys/contrib/octeon-sdk/ (props changed) user/adrian/net80211_tx/usr.sbin/bhyve/ (props changed) Modified: user/adrian/net80211_tx/MAINTAINERS ============================================================================== --- user/adrian/net80211_tx/MAINTAINERS Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/MAINTAINERS Thu May 2 07:20:26 2013 (r250174) @@ -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/adrian/net80211_tx/Makefile.inc1 ============================================================================== --- user/adrian/net80211_tx/Makefile.inc1 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/Makefile.inc1 Thu May 2 07:20:26 2013 (r250174) @@ -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/adrian/net80211_tx/UPDATING ============================================================================== --- user/adrian/net80211_tx/UPDATING Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/UPDATING Thu May 2 07:20:26 2013 (r250174) @@ -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/adrian/net80211_tx/contrib/bmake/var.c ============================================================================== --- user/adrian/net80211_tx/contrib/bmake/var.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/contrib/bmake/var.c Thu May 2 07:20:26 2013 (r250174) @@ -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/adrian/net80211_tx/etc/Makefile ============================================================================== --- user/adrian/net80211_tx/etc/Makefile Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/etc/Makefile Thu May 2 07:20:26 2013 (r250174) @@ -328,7 +328,7 @@ MTREES+= mtree/BSD.sendmail.dist / MTREES+= ../${mtree} / .endfor -distrib-dirs: +distrib-dirs: ${MTREES:N/*} @set ${MTREES}; \ while test $$# -ge 2; do \ m=${.CURDIR}/$$1; \ Modified: user/adrian/net80211_tx/include/unistd.h ============================================================================== --- user/adrian/net80211_tx/include/unistd.h Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/include/unistd.h Thu May 2 07:20:26 2013 (r250174) @@ -533,6 +533,7 @@ char *mktemp(char *); #endif int nfssvc(int, void *); int nlm_syscall(int, int, int, char **); +int pipe2(int *, int); int profil(char *, size_t, vm_offset_t, int); int rcmd(char **, int, const char *, const char *, const char *, int *); int rcmd_af(char **, int, const char *, Modified: user/adrian/net80211_tx/lib/Makefile ============================================================================== --- user/adrian/net80211_tx/lib/Makefile Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/Makefile Thu May 2 07:20:26 2013 (r250174) @@ -252,7 +252,9 @@ _libusbhid= libusbhid _libusb= libusb .endif +.if !defined(LIBRARIES_ONLY) afterinstall: - ln -hfs ../include ${DESTDIR}/usr/lib/include + ${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include +.endif .include Modified: user/adrian/net80211_tx/lib/libc/sys/Makefile.inc ============================================================================== --- user/adrian/net80211_tx/lib/libc/sys/Makefile.inc Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libc/sys/Makefile.inc Thu May 2 07:20:26 2013 (r250174) @@ -270,6 +270,7 @@ MAN+= sctp_generic_recvmsg.2 \ wait.2 \ write.2 +MLINKS+=accept.2 accept4.2 MLINKS+=access.2 eaccess.2 \ access.2 faccessat.2 MLINKS+=brk.2 sbrk.2 @@ -351,6 +352,7 @@ MLINKS+=pathconf.2 lpathconf.2 MLINKS+=pdfork.2 pdgetpid.2\ pdfork.2 pdkill.2 \ pdfork.2 pdwait4.2 +MLINKS+=pipe.2 pipe2.2 MLINKS+=read.2 pread.2 \ read.2 preadv.2 \ read.2 readv.2 Modified: user/adrian/net80211_tx/lib/libc/sys/Symbol.map ============================================================================== --- user/adrian/net80211_tx/lib/libc/sys/Symbol.map Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libc/sys/Symbol.map Thu May 2 07:20:26 2013 (r250174) @@ -378,6 +378,7 @@ FBSD_1.2 { }; FBSD_1.3 { + accept4; bindat; cap_fcntls_get; cap_fcntls_limit; @@ -392,6 +393,7 @@ FBSD_1.3 { ffclock_getcounter; ffclock_getestimate; ffclock_setestimate; + pipe2; posix_fadvise; wait6; }; @@ -461,6 +463,8 @@ FBSDprivate_1.0 { __sys_abort2; _accept; __sys_accept; + _accept4; + __sys_accept4; _access; __sys_access; _acct; Modified: user/adrian/net80211_tx/lib/libc/sys/accept.2 ============================================================================== --- user/adrian/net80211_tx/lib/libc/sys/accept.2 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libc/sys/accept.2 Thu May 2 07:20:26 2013 (r250174) @@ -28,7 +28,7 @@ .\" @(#)accept.2 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd April 22, 2013 +.Dd May 1, 2013 .Dt ACCEPT 2 .Os .Sh NAME @@ -41,6 +41,8 @@ .In sys/socket.h .Ft int .Fn accept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" +.Ft int +.Fn accept4 "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" "int flags" .Sh DESCRIPTION The argument .Fa s @@ -66,6 +68,26 @@ and signals from the original socket .Fa s . .Pp +The +.Fn accept4 +system call is similar, +but the +.Dv O_NONBLOCK +property of the new socket is instead determined by the +.Dv SOCK_NONBLOCK +flag in the +.Fa flags +argument, +the +.Dv O_ASYNC +property is cleared, +the signal destination is cleared +and the close-on-exec flag on the new file descriptor can be set via the +.Dv SOCK_CLOEXEC +flag in the +.Fa flags +argument. +.Pp If no pending connections are present on the queue, and the original socket is not marked as non-blocking, @@ -141,13 +163,15 @@ properties and the signal destination be but should set them explicitly using .Xr fcntl 2 . .Sh RETURN VALUES -The call returns \-1 on error. -If it succeeds, it returns a non-negative +These calls return \-1 on error. +If they succeed, they return a non-negative integer that is a descriptor for the accepted socket. .Sh ERRORS The .Fn accept -system call will fail if: +and +.Fn accept4 +system calls will fail if: .Bl -tag -width Er .It Bq Er EBADF The descriptor is invalid. @@ -176,6 +200,16 @@ are present to be accepted. A connection arrived, but it was closed while waiting on the listen queue. .El +.Pp +The +.Fn accept4 +system call will also fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa flags +argument is invalid. +.El .Sh SEE ALSO .Xr bind 2 , .Xr connect 2 , @@ -190,3 +224,8 @@ The .Fn accept system call appeared in .Bx 4.2 . +.Pp +The +.Fn accept4 +system call appeared in +.Fx 10.0 . Modified: user/adrian/net80211_tx/lib/libc/sys/pipe.2 ============================================================================== --- user/adrian/net80211_tx/lib/libc/sys/pipe.2 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libc/sys/pipe.2 Thu May 2 07:20:26 2013 (r250174) @@ -28,7 +28,7 @@ .\" @(#)pipe.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 30, 2006 +.Dd May 1, 2013 .Dt PIPE 2 .Os .Sh NAME @@ -40,6 +40,8 @@ .In unistd.h .Ft int .Fn pipe "int fildes[2]" +.Ft int +.Fn pipe2 "int fildes[2]" "int flags" .Sh DESCRIPTION The .Fn pipe @@ -50,6 +52,29 @@ which is an object allowing bidirectional data flow, and allocates a pair of file descriptors. .Pp +The +.Fn pipe2 +system call allows control over the attributes of the file descriptors +via the +.Fa flags +argument. +Values for +.Fa flags +are constructed by a bitwise-inclusive OR of flags from the following +list, defined in +.In fcntl.h : +.Bl -tag -width ".Dv O_NONBLOCK" +.It Dv O_CLOEXEC +Set the close-on-exec flag for the new file descriptors. +.It Dv O_NONBLOCK +Set the non-blocking flag for the ends of the pipe. +.El +.Pp +If the +.Fa flags +argument is 0, the behavior is identical to a call to +.Fn pipe . +.Pp By convention, the first descriptor is normally used as the .Em read end of the pipe, @@ -88,7 +113,9 @@ pipe in one direction. .Sh ERRORS The .Fn pipe -system call will fail if: +and +.Fn pipe2 +system calls will fail if: .Bl -tag -width Er .It Bq Er EMFILE Too many descriptors are active. @@ -97,6 +124,16 @@ The system file table is full. .It Bq Er ENOMEM Not enough kernel memory to establish a pipe. .El +.Pp +The +.Fn pipe2 +system call will also fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa flags +argument is invalid. +.El .Sh SEE ALSO .Xr sh 1 , .Xr fork 2 , @@ -111,3 +148,8 @@ function appeared in .Pp Bidirectional pipes were first used on .At V.4 . +.Pp +The +.Fn pipe2 +function appeared in +.Fx 10.0 . Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.c ============================================================================== --- user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.c Thu May 2 07:20:26 2013 (r250174) @@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#define _WANT_UCRED +#include +#undef _WANT_UCRED #include #include #include @@ -141,19 +144,30 @@ static int procstat_get_vnode_info_sysct struct vnstat *vn, char *errbuf); static gid_t *procstat_getgroups_core(struct procstat_core *core, unsigned int *count); +static gid_t * procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, + unsigned int *count); static gid_t *procstat_getgroups_sysctl(pid_t pid, unsigned int *count); static struct kinfo_kstack *procstat_getkstack_sysctl(pid_t pid, int *cntp); +static int procstat_getosrel_core(struct procstat_core *core, + int *osrelp); +static int procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp, + int *osrelp); +static int procstat_getosrel_sysctl(pid_t pid, int *osrelp); static int procstat_getpathname_core(struct procstat_core *core, char *pathname, size_t maxlen); static int procstat_getpathname_sysctl(pid_t pid, char *pathname, size_t maxlen); static int procstat_getrlimit_core(struct procstat_core *core, int which, struct rlimit* rlimit); +static int procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp, + int which, struct rlimit* rlimit); static int procstat_getrlimit_sysctl(pid_t pid, int which, struct rlimit* rlimit); static int procstat_getumask_core(struct procstat_core *core, unsigned short *maskp); +static int procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp, + unsigned short *maskp); static int procstat_getumask_sysctl(pid_t pid, unsigned short *maskp); static int vntype2psfsttype(int type); @@ -1790,6 +1804,46 @@ procstat_freevmmap(struct procstat *proc } static gid_t * +procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned int *cntp) +{ + struct proc proc; + struct ucred ucred; + gid_t *groups; + size_t len; + + assert(kd != NULL); + assert(kp != NULL); + if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc, + sizeof(proc))) { + warnx("can't read proc struct at %p for pid %d", + kp->ki_paddr, kp->ki_pid); + return (NULL); + } + if (proc.p_ucred == NOCRED) + return (NULL); + if (!kvm_read_all(kd, (unsigned long)proc.p_ucred, &ucred, + sizeof(ucred))) { + warnx("can't read ucred struct at %p for pid %d", + proc.p_ucred, kp->ki_pid); + return (NULL); + } + len = ucred.cr_ngroups * sizeof(gid_t); + groups = malloc(len); + if (groups == NULL) { + warn("malloc(%zu)", len); + return (NULL); + } + if (!kvm_read_all(kd, (unsigned long)ucred.cr_groups, groups, len)) { + warnx("can't read groups at %p for pid %d", + ucred.cr_groups, kp->ki_pid); + free(groups); + return (NULL); + } + *cntp = ucred.cr_ngroups; + return (groups); +} + +static gid_t * procstat_getgroups_sysctl(pid_t pid, unsigned int *cntp) { int mib[4]; @@ -1834,8 +1888,7 @@ procstat_getgroups(struct procstat *proc { switch(procstat->type) { case PROCSTAT_KVM: - warnx("kvm method is not supported"); - return (NULL); + return (procstat_getgroups_kvm(procstat->kd, kp, cntp)); case PROCSTAT_SYSCTL: return (procstat_getgroups_sysctl(kp->ki_pid, cntp)); case PROCSTAT_CORE: @@ -1854,6 +1907,24 @@ procstat_freegroups(struct procstat *pro } static int +procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned short *maskp) +{ + struct filedesc fd; + + assert(kd != NULL); + assert(kp != NULL); + if (kp->ki_fd == NULL) + return (-1); + if (!kvm_read_all(kd, (unsigned long)kp->ki_fd, &fd, sizeof(fd))) { + warnx("can't read filedesc at %p for pid %d", kp->ki_fd, + kp->ki_pid); + return (-1); + } + *maskp = fd.fd_cmask; + return (0); +} + +static int procstat_getumask_sysctl(pid_t pid, unsigned short *maskp) { int error; @@ -1895,8 +1966,7 @@ procstat_getumask(struct procstat *procs { switch(procstat->type) { case PROCSTAT_KVM: - warnx("kvm method is not supported"); - return (-1); + return (procstat_getumask_kvm(procstat->kd, kp, maskp)); case PROCSTAT_SYSCTL: return (procstat_getumask_sysctl(kp->ki_pid, maskp)); case PROCSTAT_CORE: @@ -1908,6 +1978,33 @@ procstat_getumask(struct procstat *procs } static int +procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp, int which, + struct rlimit* rlimit) +{ + struct proc proc; + unsigned long offset; + + assert(kd != NULL); + assert(kp != NULL); + assert(which >= 0 && which < RLIM_NLIMITS); + if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc, + sizeof(proc))) { + warnx("can't read proc struct at %p for pid %d", + kp->ki_paddr, kp->ki_pid); + return (-1); + } + if (proc.p_limit == NULL) + return (-1); + offset = (unsigned long)proc.p_limit + sizeof(struct rlimit) * which; + if (!kvm_read_all(kd, offset, rlimit, sizeof(*rlimit))) { + warnx("can't read rlimit struct at %p for pid %d", + (void *)offset, kp->ki_pid); + return (-1); + } + return (0); +} + +static int procstat_getrlimit_sysctl(pid_t pid, int which, struct rlimit* rlimit) { int error, name[5]; @@ -1958,8 +2055,8 @@ procstat_getrlimit(struct procstat *proc { switch(procstat->type) { case PROCSTAT_KVM: - warnx("kvm method is not supported"); - return (-1); + return (procstat_getrlimit_kvm(procstat->kd, kp, which, + rlimit)); case PROCSTAT_SYSCTL: return (procstat_getrlimit_sysctl(kp->ki_pid, which, rlimit)); case PROCSTAT_CORE: @@ -2017,8 +2114,10 @@ procstat_getpathname(struct procstat *pr { switch(procstat->type) { case PROCSTAT_KVM: - warnx("kvm method is not supported"); - return (-1); + /* XXX: Return empty string. */ + if (maxlen > 0) + pathname[0] = '\0'; + return (0); case PROCSTAT_SYSCTL: return (procstat_getpathname_sysctl(kp->ki_pid, pathname, maxlen)); @@ -2032,6 +2131,23 @@ procstat_getpathname(struct procstat *pr } static int +procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp, int *osrelp) +{ + struct proc proc; + + assert(kd != NULL); + assert(kp != NULL); + if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc, + sizeof(proc))) { + warnx("can't read proc struct at %p for pid %d", + kp->ki_paddr, kp->ki_pid); + return (-1); + } + *osrelp = proc.p_osrel; + return (0); +} + +static int procstat_getosrel_sysctl(pid_t pid, int *osrelp) { int error, name[4]; @@ -2071,8 +2187,7 @@ procstat_getosrel(struct procstat *procs { switch(procstat->type) { case PROCSTAT_KVM: - warnx("kvm method is not supported"); - return (-1); + return (procstat_getosrel_kvm(procstat->kd, kp, osrelp)); case PROCSTAT_SYSCTL: return (procstat_getosrel_sysctl(kp->ki_pid, osrelp)); case PROCSTAT_CORE: Modified: user/adrian/net80211_tx/lib/libthr/pthread.map ============================================================================== --- user/adrian/net80211_tx/lib/libthr/pthread.map Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libthr/pthread.map Thu May 2 07:20:26 2013 (r250174) @@ -181,6 +181,7 @@ FBSDprivate_1.0 { ___wait; ___waitpid; __accept; + __accept4; __aio_suspend; __close; __connect; @@ -408,3 +409,7 @@ FBSD_1.2 { setcontext; swapcontext; }; + +FBSD_1.3 { + accept4; +}; Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c ============================================================================== --- user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c Thu May 2 07:20:26 2013 (r250174) @@ -101,6 +101,7 @@ extern pid_t __waitpid(pid_t, int *, int extern int __sys_aio_suspend(const struct aiocb * const[], int, const struct timespec *); extern int __sys_accept(int, struct sockaddr *, socklen_t *); +extern int __sys_accept4(int, struct sockaddr *, socklen_t *, int); extern int __sys_connect(int, const struct sockaddr *, socklen_t); extern int __sys_fsync(int); extern int __sys_msync(void *, size_t, int); @@ -129,6 +130,7 @@ int ___usleep(useconds_t useconds); pid_t ___wait(int *); pid_t ___waitpid(pid_t, int *, int); int __accept(int, struct sockaddr *, socklen_t *); +int __accept4(int, struct sockaddr *, socklen_t *, int); int __aio_suspend(const struct aiocb * const iocbs[], int, const struct timespec *); int __close(int); @@ -176,6 +178,26 @@ __accept(int s, struct sockaddr *addr, s return (ret); } +__weak_reference(__accept4, accept4); + +/* + * Cancellation behavior: + * If thread is canceled, no socket is created. + */ +int +__accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags) +{ + struct pthread *curthread; + int ret; + + curthread = _get_curthread(); + _thr_cancel_enter(curthread); + ret = __sys_accept4(s, addr, addrlen, flags); + _thr_cancel_leave(curthread, ret == -1); + + return (ret); +} + __weak_reference(__aio_suspend, aio_suspend); int Modified: user/adrian/net80211_tx/libexec/rtld-elf/rtld.c ============================================================================== --- user/adrian/net80211_tx/libexec/rtld-elf/rtld.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/libexec/rtld-elf/rtld.c Thu May 2 07:20:26 2013 (r250174) @@ -784,7 +784,7 @@ origin_subst_one(char *real, const char /* * Now, execute the substitution loop. */ - for (p = real, resp = res;;) { + for (p = real, resp = res, *resp = '\0';;) { p1 = strstr(p, kw); if (p1 != NULL) { /* Copy the prefix before keyword. */ @@ -793,6 +793,7 @@ origin_subst_one(char *real, const char /* Keyword replacement. */ memcpy(resp, subst, subst_len); resp += subst_len; + *resp = '\0'; p = p1 + kw_len; } else break; Modified: user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd ============================================================================== --- user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd Thu May 2 07:20:26 2013 (r250174) @@ -5,6 +5,7 @@ daemon:*:1:1::0:0:Owner of many system p operator:*:2:20::0:0:System &:/usr/guest/operator:/bin/csh bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/nonexistent tty:*:4:65533::0:0:Tty Sandbox:/:/nonexistent +sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/usr/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/nonexistent _dhcp:*:65:65::0:0:dhcp programs:/var/empty:/usr/sbin/nologin user:*:1002:1002:Sample User:0:0:user:/home/user:/bin/sh Modified: user/adrian/net80211_tx/sbin/dumpon/dumpon.8 ============================================================================== --- user/adrian/net80211_tx/sbin/dumpon/dumpon.8 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/dumpon/dumpon.8 Thu May 2 07:20:26 2013 (r250174) @@ -28,7 +28,7 @@ .\" From: @(#)swapon.8 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd May 12, 1995 +.Dd April 29, 2013 .Dt DUMPON 8 .Os .Sh NAME @@ -59,14 +59,21 @@ controlled by the variable in the boot time configuration file .Pa /etc/rc.conf . .Pp -For most systems the size of the specified dump device must be at +The default type of kernel crash dump is the mini crash dump. +Mini crash dumps hold only memory pages in use by the kernel. +Alternatively, full memory dumps can be enabled by setting the +.Va debug.minidump +.Xr sysctl 8 +variable to 0. +.Pp +For systems using full memory dumps, the size of the specified dump +device must be at least the size of physical memory. Even though an additional 64 kB header is added to the dump, the BIOS for a platform typically holds back some memory, so it is not usually necessary to size the dump device larger than the actual amount of RAM available in the machine. -.Pp -The +Also, when using full memory dumps, the .Nm utility will refuse to enable a dump device which is smaller than the total amount of physical memory as reported by the Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h ============================================================================== --- user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h Thu May 2 07:20:26 2013 (r250174) @@ -74,6 +74,7 @@ #define MINBUFS 10 /* minimum number of buffers required */ #define MAXBUFS 40 /* maximum space to allocate to buffers */ #define INOBUFSIZE 64*1024 /* size of buffer to read inodes in pass1 */ +#define ZEROBUFSIZE (dev_bsize * 128) /* size of zero buffer used by -Z */ union dinode { struct ufs1_dinode dp1; @@ -306,7 +307,8 @@ char yflag; /* assume a yes response * int bkgrdflag; /* use a snapshot to run on an active system */ int bflag; /* location of alternate super block */ int debug; /* output debugging info */ -int Eflag; /* zero out empty data blocks */ +int Eflag; /* delete empty data blocks */ +int Zflag; /* zero empty data blocks */ int inoopt; /* trim out unused inodes */ char ckclean; /* only do work if not cleanly unmounted */ int cvtlevel; /* convert to newer file system format */ @@ -402,6 +404,7 @@ int blread(int fd, char *buf, ufs2_dadd void bufinit(void); void blwrite(int fd, char *buf, ufs2_daddr_t blk, ssize_t size); void blerase(int fd, ufs2_daddr_t blk, long size); +void blzero(int fd, ufs2_daddr_t blk, long size); void cacheino(union dinode *dp, ino_t inumber); void catch(int); void catchquit(int); Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8 ============================================================================== --- user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8 Thu May 2 07:20:26 2013 (r250174) @@ -38,7 +38,7 @@ .Nd file system consistency check and interactive repair .Sh SYNOPSIS .Nm -.Op Fl BEFfnpry +.Op Fl BEFfnpryZ .Op Fl b Ar block .Op Fl c Ar level .Op Fl m Ar mode @@ -280,6 +280,15 @@ Assume a yes response to all questions a .Nm ; this should be used with great caution as this is a free license to continue after essentially unlimited trouble has been encountered. +.It Fl Z +Similar to +.Fl E , +but overwrites unused blocks with zeroes. +If both +.Fl E +and +.Fl Z +are specified, blocks are first zeroed and then erased. .El .Pp Inconsistencies checked are as follows: Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c ============================================================================== --- user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c Thu May 2 07:20:26 2013 (r250174) @@ -618,6 +618,35 @@ blerase(int fd, ufs2_daddr_t blk, long s return; } +void +blzero(int fd, ufs2_daddr_t blk, long size) +{ + static char *zero; + off_t offset, len; + + if (fd < 0) + return; + len = ZEROBUFSIZE; + if (zero == NULL) { + zero = calloc(len, 1); + if (zero == NULL) + errx(EEXIT, "cannot allocate buffer pool"); + } + offset = blk * dev_bsize; + if (lseek(fd, offset, 0) < 0) + rwerror("SEEK BLK", blk); + while (size > 0) { + if (size > len) + size = len; + else + len = size; + if (write(fd, zero, len) != len) + rwerror("WRITE BLK", blk); + blk += len / dev_bsize; + size -= len; + } +} + /* * Verify cylinder group's magic number and other parameters. If the * test fails, offer an option to rebuild the whole cylinder group. Modified: user/adrian/net80211_tx/sbin/fsck_ffs/main.c ============================================================================== --- user/adrian/net80211_tx/sbin/fsck_ffs/main.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/fsck_ffs/main.c Thu May 2 07:20:26 2013 (r250174) @@ -82,7 +82,7 @@ main(int argc, char *argv[]) sync(); skipclean = 1; inoopt = 0; - while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npry")) != -1) { + while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npryZ")) != -1) { switch (ch) { case 'b': skipclean = 0; @@ -147,6 +147,10 @@ main(int argc, char *argv[]) nflag = 0; break; + case 'Z': + Zflag++; + break; + default: usage(); } Modified: user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c ============================================================================== --- user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c Thu May 2 07:20:26 2013 (r250174) @@ -252,7 +252,7 @@ pass5(void) frags = 0; for (j = 0; j < fs->fs_frag; j++) { if (testbmap(d + j)) { - if (Eflag && start != -1) { + if ((Eflag || Zflag) && start != -1) { clear_blocks(start, d + j - 1); start = -1; } @@ -274,7 +274,7 @@ pass5(void) ffs_fragacct(fs, blk, newcg->cg_frsum, 1); } } - if (Eflag && start != -1) + if ((Eflag || Zflag) && start != -1) clear_blocks(start, d - 1); if (fs->fs_contigsumsize > 0) { int32_t *sump = cg_clustersum(newcg); @@ -581,11 +581,16 @@ check_maps( } } -static void clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end) +static void +clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end) { if (debug) printf("Zero frags %jd to %jd\n", start, end); - blerase(fswritefd, fsbtodb(&sblock, start), - lfragtosize(&sblock, end - start + 1)); + if (Zflag) + blzero(fswritefd, fsbtodb(&sblock, start), + lfragtosize(&sblock, end - start + 1)); + if (Eflag) + blerase(fswritefd, fsbtodb(&sblock, start), + lfragtosize(&sblock, end - start + 1)); } Modified: user/adrian/net80211_tx/share/man/man4/Makefile ============================================================================== --- user/adrian/net80211_tx/share/man/man4/Makefile Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/share/man/man4/Makefile Thu May 2 07:20:26 2013 (r250174) @@ -333,6 +333,7 @@ MAN= aac.4 \ ng_vlan.4 \ nmdm.4 \ nsp.4 \ + ${_ntb.4} \ null.4 \ ${_nvd.4} \ ${_nve.4} \ @@ -647,6 +648,8 @@ MLINKS+=netintro.4 net.4 \ netintro.4 networking.4 MLINKS+=${_nfe.4} ${_if_nfe.4} MLINKS+=nge.4 if_nge.4 +MLINKS+=${_ntb.4} ${_if_ntb.4} \ + ${_ntb.4} ${_ntb_hw.4} MLINKS+=${_nve.4} ${_if_nve.4} MLINKS+=${_nxge.4} ${_if_nxge.4} MLINKS+=patm.4 if_patm.4 @@ -784,6 +787,9 @@ MLINKS+=lindev.4 full.4 .if ${MACHINE_CPUARCH} == "amd64" _bhyve.4= bhyve.4 +_if_ntb.4= if_ntb.4 +_ntb.4= ntb.4 +_ntb_hw.4= ntb_hw.4 _qlxgb.4= qlxgb.4 _sfxge.4= sfxge.4 Modified: user/adrian/net80211_tx/share/man/man4/em.4 ============================================================================== --- user/adrian/net80211_tx/share/man/man4/em.4 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/share/man/man4/em.4 Thu May 2 07:20:26 2013 (r250174) @@ -260,7 +260,7 @@ go to the Intel support website at: If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to -.Aq freebsdnic@mailbox.intel.com . +.Aq freebsd@intel.com . .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , @@ -280,7 +280,7 @@ device driver first appeared in The .Nm driver was written by -.An Intel Corporation Aq freebsdnic@mailbox.intel.com . +.An Intel Corporation Aq freebsd@intel.com . .Sh BUGS Hardware-assisted VLAN processing is disabled by default. You can enable it on an Modified: user/adrian/net80211_tx/share/man/man4/igb.4 ============================================================================== --- user/adrian/net80211_tx/share/man/man4/igb.4 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/share/man/man4/igb.4 Thu May 2 07:20:26 2013 (r250174) @@ -205,7 +205,7 @@ go to the Intel support website at: If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to -.Aq freebsdnic@mailbox.intel.com . +.Aq freebsd@intel.com . .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , @@ -225,4 +225,4 @@ device driver first appeared in The .Nm driver was written by -.An Intel Corporation Aq freebsdnic@mailbox.intel.com . +.An Intel Corporation Aq freebsd@intel.com . Modified: user/adrian/net80211_tx/share/man/man4/ixgb.4 ============================================================================== --- user/adrian/net80211_tx/share/man/man4/ixgb.4 Thu May 2 07:05:34 2013 (r250173) +++ user/adrian/net80211_tx/share/man/man4/ixgb.4 Thu May 2 07:20:26 2013 (r250174) @@ -102,7 +102,7 @@ go to the Intel support website at: If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu May 2 21:09:47 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 C8211665; Thu, 2 May 2013 21:09:47 +0000 (UTC) (envelope-from crees@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 BAAC015F5; Thu, 2 May 2013 21:09: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 r42L9lff025971; Thu, 2 May 2013 21:09:47 GMT (envelope-from crees@svn.freebsd.org) Received: (from crees@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r42L9lfY025970; Thu, 2 May 2013 21:09:47 GMT (envelope-from crees@svn.freebsd.org) Message-Id: <201305022109.r42L9lfY025970@svn.freebsd.org> From: Chris Rees Date: Thu, 2 May 2013 21:09:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250194 - user/crees/rclint 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, 02 May 2013 21:09:47 -0000 Author: crees (ports committer) Date: Thu May 2 21:09:47 2013 New Revision: 250194 URL: http://svnweb.freebsd.org/changeset/base/250194 Log: Make less fragile-- don't break if there are spaces in function definitions Return the correct line number if giving an error in a function Modified: user/crees/rclint/rclint.py Modified: user/crees/rclint/rclint.py ============================================================================== --- user/crees/rclint/rclint.py Thu May 2 20:00:11 2013 (r250193) +++ user/crees/rclint/rclint.py Thu May 2 21:09:47 2013 (r250194) @@ -28,7 +28,7 @@ __version__ = '$FreeBSD$' MAJOR = 0 MINOR = 0 -MICRO = 5 +MICRO = 6 DATADIR = '.' @@ -227,9 +227,11 @@ class Function: error.give('functions_inline_brace', num) elif lines[1] and lines[1][0] == '{': try: - self.name = re.match(r'([\S_]+)\(\)$', lines[0]).group(1) + self.name = re.match(r'([\S_]+\s*)\(\)$', lines[0]).group(1) except: error.give('functions_problem', num) + if ' ' in self.name: + error.give('functions_problem', num) self.length = 0 self.line = num self.value = [] @@ -428,9 +430,11 @@ def do_rclint(filename): for function in lineobj['Function']: if function.short(): error.give('functions_short', function.line) + counter = 0 for l in function.value: + counter += 1 if 'chown' in l: - error.warn('functions_chown', function.line) + error.warn('functions_chown', function.line + counter) logging.debug('Checking for run_rc_command') for s in lineobj['Statement']: From owner-svn-src-user@FreeBSD.ORG Sat May 4 21:36:50 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 A54BED13; Sat, 4 May 2013 21:36:50 +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 88D9C159; Sat, 4 May 2013 21:36:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r44LaolC056302; Sat, 4 May 2013 21:36:50 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r44LameS056284; Sat, 4 May 2013 21:36:48 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305042136.r44LameS056284@svn.freebsd.org> From: Attilio Rao Date: Sat, 4 May 2013 21:36:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250256 - in user/attilio/jeff-numa/sys: kern sparc64/include sparc64/sparc64 sys 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: Sat, 04 May 2013 21:36:50 -0000 Author: attilio Date: Sat May 4 21:36:47 2013 New Revision: 250256 URL: http://svnweb.freebsd.org/changeset/base/250256 Log: Generalize the bitarray concept implemented in cpuset and implement a KPI to make it reusable: bitset. bitsets represent arrays of arch's registers sized entries and offer accessors function to work with them. All the consumers may want to specify a new set by using BITSET_DEFINE() KPI and specify some of the needed operations. For how it is intrisically implemented, kern_cpuset.c and sparc64 KTR support are aware of internal details of such implementation, but they can be changed in the future to deal with generic containers as well if this is assumed to be beneficial and easier. Sponsored by: EMC / Isilon storage division Obtained from: jeff Added: user/attilio/jeff-numa/sys/sys/_bitset.h (contents, props changed) user/attilio/jeff-numa/sys/sys/bitset.h (contents, props changed) 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/sys/_cpuset.h user/attilio/jeff-numa/sys/sys/cpuset.h 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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/kern/kern_cpuset.c Sat May 4 21:36:47 2013 (r250256) @@ -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 * _NCPUBITS; + cbit += i * _BITSET_BITS; break; } } Modified: user/attilio/jeff-numa/sys/kern/kern_ktr.c ============================================================================== --- user/attilio/jeff-numa/sys/kern/kern_ktr.c Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/kern/kern_ktr.c Sat May 4 21:36:47 2013 (r250256) @@ -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 = CPUSET_T_INITIALIZER(KTR_CPUMASK); +cpuset_t ktr_cpumask = BITSET_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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sparc64/include/ktr.h Sat May 4 21:36:47 2013 (r250256) @@ -81,7 +81,7 @@ l2: add r2, 1, r3 ; \ brz r1, l3 ## f ; \ nop ; \ lduw [PCPU(CPUID)], r2 ; \ - mov _NCPUBITS, r3 ; \ + mov _BITSET_BITS, 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 _NCPUBITS, r3 ; \ + mov _BITSET_BITS, 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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c Sat May 4 21:36:47 2013 (r250256) @@ -58,7 +58,7 @@ ASSYM(PCPU_PAGES, PCPU_PAGES); ASSYM(TAR_VPN_SHIFT, TAR_VPN_SHIFT); -ASSYM(_NCPUBITS, _NCPUBITS); +ASSYM(_BITSET_BITS, _BITSET_BITS); 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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c Sat May 4 21:36:47 2013 (r250256) @@ -456,7 +456,7 @@ intr_describe(int vec, void *ih, const c * allocate CPUs round-robin. */ -static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1); +static cpuset_t intr_cpus = BITSET_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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S Sat May 4 21:36:47 2013 (r250256) @@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$"); #define IPI_DONE(r1, r2, r3, r4, r5, r6) \ rd %y, r6 ; \ lduw [PCPU(CPUID)], r2 ; \ - mov _NCPUBITS, r3 ; \ + mov _BITSET_BITS, 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 Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S Sat May 4 21:36:47 2013 (r250256) @@ -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 _NCPUBITS, %l5 + mov _BITSET_BITS, %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 _NCPUBITS, %l5 + mov _BITSET_BITS, %l5 mov %g0, %y udiv %l3, %l5, %l6 srl %l6, 0, %l4 Added: user/attilio/jeff-numa/sys/sys/_bitset.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/jeff-numa/sys/sys/_bitset.h Sat May 4 21:36:47 2013 (r250256) @@ -0,0 +1,61 @@ +/*- + * Copyright (c) 2008, Jeffrey Roberson + * All rights reserved. + * + * Copyright (c) 2008 Nokia Corporation + * 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 unmodified, 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 ``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 _SYS__BITSET_H_ +#define _SYS__BITSET_H_ + +/* + * Macros addressing word and bit within it, tuned to make compiler + * optimize cases when SETSIZE fits into single machine word. + */ +#define _BITSET_BITS (sizeof(long) * NBBY) + +#define __bitset_words(_s) (howmany(_s, _BITSET_BITS)) + +#define __bitset_mask(_s, n) \ + (1L << ((__bitset_words((_s)) == 1) ? \ + (__size_t)(n) : ((n) % _BITSET_BITS))) + +#define __bitset_word(_s, n) \ + ((__bitset_words((_s)) == 1) ? 0 : ((n) / _BITSET_BITS)) + +#define BITSET_DEFINE(t, _s) \ +struct t { \ + long __bits[__bitset_words((_s))]; \ +}; + +#define BITSET_T_INITIALIZER(x) \ + { .__bits = { x } } + +#define BITSET_FSET(n) \ + [ 0 ... ((n) - 1) ] = (-1L) + +#endif /* !_SYS__BITSET_H_ */ Modified: user/attilio/jeff-numa/sys/sys/_cpuset.h ============================================================================== --- user/attilio/jeff-numa/sys/sys/_cpuset.h Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sys/_cpuset.h Sat May 4 21:36:47 2013 (r250256) @@ -32,6 +32,8 @@ #ifndef _SYS__CPUSET_H_ #define _SYS__CPUSET_H_ +#include + #ifdef _KERNEL #define CPU_SETSIZE MAXCPU #endif @@ -42,17 +44,11 @@ #define CPU_SETSIZE CPU_MAXSIZE #endif -#define _NCPUBITS (sizeof(long) * NBBY) /* bits per mask */ -#define _NCPUWORDS howmany(CPU_SETSIZE, _NCPUBITS) - -typedef struct _cpuset { - long __bits[howmany(CPU_SETSIZE, _NCPUBITS)]; -} cpuset_t; +#define _NCPUWORDS __bitset_words(CPU_SETSIZE) -#define CPUSET_FSET \ - [ 0 ... (_NCPUWORDS - 1) ] = (-1L) +BITSET_DEFINE(_cpuset, CPU_SETSIZE); +typedef struct _cpuset cpuset_t; -#define CPUSET_T_INITIALIZER(x) \ - { .__bits = { x } } +#define CPUSET_FSET BITSET_FSET(_NCPUWORDS) #endif /* !_SYS__CPUSET_H_ */ Added: user/attilio/jeff-numa/sys/sys/bitset.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/jeff-numa/sys/sys/bitset.h Sat May 4 21:36:47 2013 (r250256) @@ -0,0 +1,153 @@ +/*- + * Copyright (c) 2008, Jeffrey Roberson + * All rights reserved. + * + * Copyright (c) 2008 Nokia Corporation + * 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 unmodified, 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 ``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 _SYS_BITSET_H_ +#define _SYS_BITSET_H_ + +#define BIT_CLR(_s, n, p) \ + ((p)->__bits[__bitset_word(_s, n)] &= ~__bitset_mask((_s), (n))) + +#define BIT_COPY(_s, f, t) (void)(*(t) = *(f)) + +#define BIT_ISSET(_s, n, p) \ + ((((p)->__bits[__bitset_word(_s, n)] & __bitset_mask((_s), (n))) != 0)) + +#define BIT_SET(_s, n, p) \ + ((p)->__bits[__bitset_word(_s, n)] |= __bitset_mask((_s), (n))) + +#define BIT_ZERO(_s, p) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (p)->__bits[__i] = 0L; \ +} while (0) + +#define BIT_FILL(_s, p) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (p)->__bits[__i] = -1L; \ +} while (0) + +#define BIT_SETOF(_s, n, p) do { \ + BIT_ZERO(_s, p); \ + (p)->__bits[__bitset_word(_s, n)] = __bitset_mask((_s), (n)); \ +} while (0) + +/* Is p empty. */ +#define BIT_EMPTY(_s, p) __extension__ ({ \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + if ((p)->__bits[__i]) \ + break; \ + __i == __bitset_words((_s)); \ +}) + +/* Is p full set. */ +#define BIT_ISFULLSET(_s, p) __extension__ ({ \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + if ((p)->__bits[__i] != (long)-1) \ + break; \ + __i == __bitset_words((_s)); \ +}) + +/* Is c a subset of p. */ +#define BIT_SUBSET(_s, p, c) __extension__ ({ \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + if (((c)->__bits[__i] & \ + (p)->__bits[__i]) != \ + (c)->__bits[__i]) \ + break; \ + __i == __bitset_words((_s)); \ +}) + +/* Are there any common bits between b & c? */ +#define BIT_OVERLAP(_s, p, c) __extension__ ({ \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + if (((c)->__bits[__i] & \ + (p)->__bits[__i]) != 0) \ + break; \ + __i != __bitset_words((_s)); \ +}) + +/* Compare two sets, returns 0 if equal 1 otherwise. */ +#define BIT_CMP(_s, p, c) __extension__ ({ \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + if (((c)->__bits[__i] != \ + (p)->__bits[__i])) \ + break; \ + __i != __bitset_words((_s)); \ +}) + +#define BIT_OR(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] |= (s)->__bits[__i]; \ +} while (0) + +#define BIT_AND(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] &= (s)->__bits[__i]; \ +} while (0) + +#define BIT_NAND(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] &= ~(s)->__bits[__i]; \ +} while (0) + +#define BIT_CLR_ATOMIC(_s, n, p) \ + atomic_clear_long(&(p)->__bits[__bitset_word(_s, n)], \ + __bitset_mask((_s), n)) + +#define BIT_SET_ATOMIC(_s, n, p) \ + atomic_set_long(&(p)->__bits[__bitset_word(_s, n)], \ + __bitset_mask((_s), n)) + +/* Convenience functions catering special cases. */ +#define BIT_OR_ATOMIC(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + atomic_set_long(&(d)->__bits[__i], \ + (s)->__bits[__i]); \ +} while (0) + +#define BIT_COPY_STORE_REL(_s, f, t) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + atomic_store_rel_long(&(t)->__bits[__i], \ + (f)->__bits[__i]); \ +} while (0) + +#endif /* !_SYS_BITSET_H_ */ Modified: user/attilio/jeff-numa/sys/sys/cpuset.h ============================================================================== --- user/attilio/jeff-numa/sys/sys/cpuset.h Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/sys/cpuset.h Sat May 4 21:36:47 2013 (r250256) @@ -34,124 +34,29 @@ #include +#include + #define CPUSETBUFSIZ ((2 + sizeof(long) * 2) * _NCPUWORDS) -/* - * Macros addressing word and bit within it, tuned to make compiler - * optimize cases when CPU_SETSIZE fits into single machine word. - */ -#define __cpuset_mask(n) \ - ((long)1 << ((_NCPUWORDS == 1) ? (__size_t)(n) : ((n) % _NCPUBITS))) -#define __cpuset_word(n) ((_NCPUWORDS == 1) ? 0 : ((n) / _NCPUBITS)) - -#define CPU_CLR(n, p) ((p)->__bits[__cpuset_word(n)] &= ~__cpuset_mask(n)) -#define CPU_COPY(f, t) (void)(*(t) = *(f)) -#define CPU_ISSET(n, p) (((p)->__bits[__cpuset_word(n)] & __cpuset_mask(n)) != 0) -#define CPU_SET(n, p) ((p)->__bits[__cpuset_word(n)] |= __cpuset_mask(n)) -#define CPU_ZERO(p) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - (p)->__bits[__i] = 0; \ -} while (0) - -#define CPU_FILL(p) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - (p)->__bits[__i] = -1; \ -} while (0) - -#define CPU_SETOF(n, p) do { \ - CPU_ZERO(p); \ - ((p)->__bits[__cpuset_word(n)] = __cpuset_mask(n)); \ -} while (0) - -/* Is p empty. */ -#define CPU_EMPTY(p) __extension__ ({ \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - if ((p)->__bits[__i]) \ - break; \ - __i == _NCPUWORDS; \ -}) - -/* Is p full set. */ -#define CPU_ISFULLSET(p) __extension__ ({ \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - if ((p)->__bits[__i] != (long)-1) \ - break; \ - __i == _NCPUWORDS; \ -}) - -/* Is c a subset of p. */ -#define CPU_SUBSET(p, c) __extension__ ({ \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - if (((c)->__bits[__i] & \ - (p)->__bits[__i]) != \ - (c)->__bits[__i]) \ - break; \ - __i == _NCPUWORDS; \ -}) - -/* Are there any common bits between b & c? */ -#define CPU_OVERLAP(p, c) __extension__ ({ \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - if (((c)->__bits[__i] & \ - (p)->__bits[__i]) != 0) \ - break; \ - __i != _NCPUWORDS; \ -}) - -/* Compare two sets, returns 0 if equal 1 otherwise. */ -#define CPU_CMP(p, c) __extension__ ({ \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - if (((c)->__bits[__i] != \ - (p)->__bits[__i])) \ - break; \ - __i != _NCPUWORDS; \ -}) - -#define CPU_OR(d, s) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - (d)->__bits[__i] |= (s)->__bits[__i]; \ -} while (0) - -#define CPU_AND(d, s) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - (d)->__bits[__i] &= (s)->__bits[__i]; \ -} while (0) - -#define CPU_NAND(d, s) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - (d)->__bits[__i] &= ~(s)->__bits[__i]; \ -} while (0) - -#define CPU_CLR_ATOMIC(n, p) \ - atomic_clear_long(&(p)->__bits[__cpuset_word(n)], __cpuset_mask(n)) - -#define CPU_SET_ATOMIC(n, p) \ - atomic_set_long(&(p)->__bits[__cpuset_word(n)], __cpuset_mask(n)) - -/* Convenience functions catering special cases. */ -#define CPU_OR_ATOMIC(d, s) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - atomic_set_long(&(d)->__bits[__i], \ - (s)->__bits[__i]); \ -} while (0) - -#define CPU_COPY_STORE_REL(f, t) do { \ - __size_t __i; \ - for (__i = 0; __i < _NCPUWORDS; __i++) \ - atomic_store_rel_long(&(t)->__bits[__i], \ - (f)->__bits[__i]); \ -} while (0) +#define CPU_CLR(n, p) BIT_CLR(CPU_SETSIZE, n, p) +#define CPU_COPY(f, t) BIT_COPY(CPU_SETSIZE, f, t) +#define CPU_ISSET(n, p) BIT_ISSET(CPU_SETSIZE, n, p) +#define CPU_SET(n, p) BIT_SET(CPU_SETSIZE, n, p) +#define CPU_ZERO(p) BIT_ZERO(CPU_SETSIZE, p) +#define CPU_FILL(p) BIT_FILL(CPU_SETSIZE, p) +#define CPU_SETOF(n, p) BIT_SETOF(CPU_SETSIZE, n, p) +#define CPU_EMPTY(p) BIT_EMPTY(CPU_SETSIZE, p) +#define CPU_ISFULLSET(p) BIT_ISFULLSET(CPU_SETSIZE, p) +#define CPU_SUBSET(p, c) BIT_SUBSET(CPU_SETSIZE, p, c) +#define CPU_OVERLAP(p, c) BIT_OVERLAP(CPU_SETSIZE, p, c) +#define CPU_CMP(p, c) BIT_CMP(CPU_SETSIZE, p, c) +#define CPU_OR(d, s) BIT_OR(CPU_SETSIZE, d, s) +#define CPU_AND(d, s) BIT_AND(CPU_SETSIZE, d, s) +#define CPU_NAND(d, s) BIT_NAND(CPU_SETSIZE, d, s) +#define CPU_CLR_ATOMIC(n, p) BIT_CLR_ATOMIC(CPU_SETSIZE, n, p) +#define CPU_SET_ATOMIC(n, p) BIT_SET_ATOMIC(CPU_SETSIZE, n, p) +#define CPU_OR_ATOMIC(d, s) BIT_OR_ATOMIC(CPU_SETSIZE, d, s) +#define CPU_COPY_STORE_REL(f, t) BIT_COPY_STORE_REL(CPU_SETSIZE, f, t) /* * Valid cpulevel_t values. Modified: user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c ============================================================================== --- user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c Sat May 4 21:26:11 2013 (r250255) +++ user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c Sat May 4 21:36:47 2013 (r250256) @@ -452,7 +452,7 @@ DB_SHOW_COMMAND(irqs, db_show_irqs) * allocate CPUs round-robin. */ -static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1); +static cpuset_t intr_cpus = BITSET_T_INITIALIZER(0x1); static int current_cpu; /* From owner-svn-src-user@FreeBSD.ORG Sat May 4 23:33: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 3D71017D; Sat, 4 May 2013 23:33:55 +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 2DBA46BD; Sat, 4 May 2013 23:33: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 r44NXtho099742; Sat, 4 May 2013 23:33:55 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r44NXtLc099741; Sat, 4 May 2013 23:33:55 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201305042333.r44NXtLc099741@svn.freebsd.org> From: Attilio Rao Date: Sat, 4 May 2013 23:33:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250260 - 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: Sat, 04 May 2013 23:33:55 -0000 Author: attilio Date: Sat May 4 23:33:54 2013 New Revision: 250260 URL: http://svnweb.freebsd.org/changeset/base/250260 Log: Add code to correctly parse and display ACPI SLIT (System Locality Information Table). Sponsored by: EMC / Isilon storage division Obtained from: jeff 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 Sat May 4 22:50:15 2013 (r250259) +++ user/attilio/jeff-numa/sys/x86/acpica/srat.c Sat May 4 23:33:54 2013 (r250260) @@ -331,6 +331,48 @@ 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.