From owner-svn-src-projects@FreeBSD.ORG Sun Jun 26 17:30:47 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 527FC106566B; Sun, 26 Jun 2011 17:30:47 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F2C68FC17; Sun, 26 Jun 2011 17:30:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5QHUl3K061426; Sun, 26 Jun 2011 17:30:47 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5QHUlMn061420; Sun, 26 Jun 2011 17:30:47 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106261730.p5QHUlMn061420@svn.freebsd.org> From: Attilio Rao Date: Sun, 26 Jun 2011 17:30:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223572 - in projects/largeSMP: bin/sh contrib/top etc etc/devd kerberos5 lib/libprocstat share/mk sys/arm/at91 sys/arm/conf sys/arm/sa11x0 sys/boot sys/cam sys/cam/scsi sys/conf sys/de... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 17:30:47 -0000 Author: attilio Date: Sun Jun 26 17:30:46 2011 New Revision: 223572 URL: http://svn.freebsd.org/changeset/base/223572 Log: MFC Added: projects/largeSMP/etc/devd/usb.conf - copied unchanged from r223571, head/etc/devd/usb.conf projects/largeSMP/sys/dev/pci/pci_subr.c - copied unchanged from r223571, head/sys/dev/pci/pci_subr.c projects/largeSMP/tools/regression/bin/sh/builtins/case10.0 - copied unchanged from r223571, head/tools/regression/bin/sh/builtins/case10.0 projects/largeSMP/tools/tools/bus_autoconf/bus_autoconf_format_example.txt - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_autoconf_format_example.txt projects/largeSMP/tools/tools/bus_autoconf/bus_load_file.c - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_load_file.c projects/largeSMP/tools/tools/bus_autoconf/bus_load_file.h - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_load_file.h projects/largeSMP/tools/tools/bus_autoconf/bus_sections.c - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_sections.c projects/largeSMP/tools/tools/bus_autoconf/bus_sections.h - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_sections.h projects/largeSMP/tools/tools/bus_autoconf/bus_usb.c - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_usb.c projects/largeSMP/tools/tools/bus_autoconf/bus_usb.h - copied unchanged from r223571, head/tools/tools/bus_autoconf/bus_usb.h Modified: projects/largeSMP/bin/sh/sh.1 projects/largeSMP/etc/devd/Makefile projects/largeSMP/etc/devd/uath.conf projects/largeSMP/etc/regdomain.xml projects/largeSMP/kerberos5/Makefile projects/largeSMP/lib/libprocstat/Makefile projects/largeSMP/sys/arm/at91/at91_machdep.c projects/largeSMP/sys/arm/conf/CAMBRIA projects/largeSMP/sys/arm/sa11x0/assabet_machdep.c projects/largeSMP/sys/arm/sa11x0/sa11x0.c projects/largeSMP/sys/boot/Makefile projects/largeSMP/sys/boot/Makefile.arm projects/largeSMP/sys/boot/Makefile.powerpc projects/largeSMP/sys/cam/cam_xpt.c projects/largeSMP/sys/cam/scsi/scsi_cd.c projects/largeSMP/sys/conf/files projects/largeSMP/sys/conf/files.ia64 projects/largeSMP/sys/conf/options projects/largeSMP/sys/dev/acpica/acpi_cpu.c projects/largeSMP/sys/dev/ath/ah_osdep.c projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/dev/pci/pci_pci.c projects/largeSMP/sys/dev/sound/macio/i2s.c projects/largeSMP/sys/dev/usb/input/uep.c projects/largeSMP/sys/dev/usb/input/ukbd.c projects/largeSMP/sys/dev/usb/input/ums.c projects/largeSMP/sys/dev/usb/misc/udbp.c projects/largeSMP/sys/dev/usb/misc/ufm.c projects/largeSMP/sys/dev/usb/serial/ufoma.c projects/largeSMP/sys/dev/usb/serial/umodem.c projects/largeSMP/sys/dev/usb/storage/urio.c projects/largeSMP/sys/dev/usb/usb_device.c projects/largeSMP/sys/dev/usb/usb_lookup.c projects/largeSMP/sys/dev/usb/usb_msctest.c projects/largeSMP/sys/dev/usb/usbdi.h projects/largeSMP/sys/dev/usb/wlan/if_uath.c projects/largeSMP/sys/ia64/ia64/clock.c projects/largeSMP/sys/ia64/ia64/db_machdep.c projects/largeSMP/sys/ia64/ia64/interrupt.c projects/largeSMP/sys/ia64/ia64/machdep.c projects/largeSMP/sys/ia64/ia64/mp_machdep.c projects/largeSMP/sys/ia64/include/pcpu.h projects/largeSMP/sys/ia64/include/smp.h projects/largeSMP/sys/kern/subr_kdb.c projects/largeSMP/sys/kern/subr_smp.c projects/largeSMP/sys/kern/sys_capability.c projects/largeSMP/sys/mips/atheros/ar71xx_chip.c projects/largeSMP/sys/mips/atheros/ar71xx_machdep.c projects/largeSMP/sys/mips/atheros/ar71xx_ohci.c projects/largeSMP/sys/mips/atheros/ar71xx_setup.c projects/largeSMP/sys/mips/atheros/ar724x_chip.c projects/largeSMP/sys/mips/atheros/ar91xx_chip.c projects/largeSMP/sys/mips/mips/genassym.c projects/largeSMP/sys/mips/mips/trap.c projects/largeSMP/sys/mips/rmi/dev/xlr/rge.c projects/largeSMP/sys/mips/rmi/fmn.c projects/largeSMP/sys/mips/rmi/iodi.c projects/largeSMP/sys/mips/sentry5/s5_machdep.c projects/largeSMP/sys/mips/sibyte/sb_machdep.c projects/largeSMP/sys/powerpc/aim/trap_subr32.S projects/largeSMP/sys/powerpc/aim/trap_subr64.S projects/largeSMP/sys/powerpc/ofw/rtas.c projects/largeSMP/sys/powerpc/powermac/fcu.c projects/largeSMP/tools/tools/bus_autoconf/Makefile projects/largeSMP/tools/tools/bus_autoconf/bus_autoconf.c projects/largeSMP/tools/tools/bus_autoconf/bus_autoconf.h projects/largeSMP/tools/tools/bus_autoconf/bus_autoconf.sh projects/largeSMP/usr.bin/calendar/calendars/calendar.freebsd projects/largeSMP/usr.bin/tar/util.c projects/largeSMP/usr.bin/tar/write.c projects/largeSMP/usr.sbin/mtest/mtest.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/compiler-rt/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/tnftp/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/sh/sh.1 ============================================================================== --- projects/largeSMP/bin/sh/sh.1 Sun Jun 26 16:11:36 2011 (r223571) +++ projects/largeSMP/bin/sh/sh.1 Sun Jun 26 17:30:46 2011 (r223572) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 18, 2011 +.Dd June 24, 2011 .Dt SH 1 .Os .Sh NAME @@ -994,11 +994,22 @@ described later), separated by .Ql \&| characters. +Tilde expansion, parameter expansion, command substitution, +arithmetic expansion and quote removal are applied to the word. +Then, each pattern is expanded in turn using tilde expansion, +parameter expansion, command substitution and arithmetic expansion and +the expanded form of the word is checked against it. +If a match is found, the corresponding list is executed. If the selected list is terminated by the control operator .Ql ;& instead of .Ql ;; , -execution continues with the next list. +execution continues with the next list, +continuing until a list terminated with +.Ql ;; +or the end of the +.Ic case +command. The exit code of the .Ic case command is the exit code of the last command executed in the list or @@ -1618,15 +1629,15 @@ There are two restrictions on this: firs a string containing a slash, and second, a pattern cannot match a string starting with a period unless the first character of the pattern is a period. -The next section describes the patterns used for both -Pathname Expansion and the +The next section describes the patterns used for +Pathname Expansion, +the four varieties of parameter expansion for substring processing and the .Ic case command. .Ss Shell Patterns A pattern consists of normal characters, which match themselves, and meta-characters. The meta-characters are -.Ql \&! , .Ql * , .Ql \&? , and @@ -1656,7 +1667,7 @@ matches a .Ql \&[ rather than introducing a character class. A character class matches any of the characters between the square brackets. -A range of characters may be specified using a minus sign. +A locale-dependent range of characters may be specified using a minus sign. A named class of characters (see .Xr wctype 3 ) may be specified by surrounding the name with @@ -1669,12 +1680,17 @@ is a shell pattern that matches a single The character class may be complemented by making an exclamation point .Pq Ql !\& the first character of the character class. +A caret +.Pq Ql ^ +has the same effect but is non-standard. .Pp To include a .Ql \&] in a character class, make it the first character listed (after the -.Ql \&! , +.Ql \&! +or +.Ql ^ , if any). To include a .Ql - , Modified: projects/largeSMP/etc/devd/Makefile ============================================================================== --- projects/largeSMP/etc/devd/Makefile Sun Jun 26 16:11:36 2011 (r223571) +++ projects/largeSMP/etc/devd/Makefile Sun Jun 26 17:30:46 2011 (r223572) @@ -1,6 +1,6 @@ # $FreeBSD$ -FILES= asus.conf uath.conf +FILES= asus.conf uath.conf usb.conf NO_OBJ= FILESDIR= /etc/devd Modified: projects/largeSMP/etc/devd/uath.conf ============================================================================== --- projects/largeSMP/etc/devd/uath.conf Sun Jun 26 16:11:36 2011 (r223571) +++ projects/largeSMP/etc/devd/uath.conf Sun Jun 26 17:30:46 2011 (r223572) @@ -3,13 +3,13 @@ # Atheros USB wireless network device specific devd events # Accton -# SMCWUSB-G and SMCWUSBT-G2 +# SMCWUSBT-G2 notify 100 { match "system" "USB"; match "subsystem" "DEVICE"; match "type" "ATTACH"; match "vendor" "0x083a"; - match "product" "(0x4505|0x4507)"; + match "product" "0x4507"; action "/usr/sbin/uathload -d /dev/$cdev"; }; Copied: projects/largeSMP/etc/devd/usb.conf (from r223571, head/etc/devd/usb.conf) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/etc/devd/usb.conf Sun Jun 26 17:30:46 2011 (r223572, copy of r223571, head/etc/devd/usb.conf) @@ -0,0 +1,4275 @@ +# +# $FreeBSD$ +# +# This file was automatically generated by "tools/bus_autoconf.sh". +# Please do not edit! +# + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x05ac"; + match "product" "0x1290"; + match "intclass" "0xff"; + match "intsubclass" "0xfd"; + match "intprotocol" "0x01"; + action "kldload if_ipheth"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x05ac"; + match "product" "0x1292"; + match "intclass" "0xff"; + match "intsubclass" "0xfd"; + match "intprotocol" "0x01"; + action "kldload if_ipheth"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x05ac"; + match "product" "0x1294"; + match "intclass" "0xff"; + match "intsubclass" "0xfd"; + match "intprotocol" "0x01"; + action "kldload if_ipheth"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x05ac"; + match "product" "0x1297"; + match "intclass" "0xff"; + match "intsubclass" "0xfd"; + match "intprotocol" "0x01"; + action "kldload if_ipheth"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0104"; + match "product" "0x00be"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0123"; + match "product" "0x0001"; + action "kldload uep"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03e8"; + match "product" "0x0008"; + action "kldload if_kue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03eb"; + match "product" "0x2109"; + action "kldload uftdi"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "0x0121"; + action "kldload ugensa"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "(0x1016|0x1116|0x1216)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "(0x1b1d|0x1e1d)"; + action "kldload u3g"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "(0x2016|0x2116|0x2216|0x3016|0x3116|0x3216)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "0x3524"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "(0x4016|0x4116|0x4216|0x5016|0x5116|0x5216)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "0x811c"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x03f0"; + match "product" "0xca02"; + action "kldload if_urtw"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0402"; + match "product" "0x5632"; + action "kldload if_cdce"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0403"; + match "product" "(0x6001|0x6004|0x6010|0x6011|0x8372|0x9e90|0xcc48|0xcc49|0xcc4a|0xd678|0xe6c8|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xee18|0xf608|0xf60b|0xf850|0xfa00|0xfa01|0xfa02|0xfa03|0xfa04|0xfc08|0xfc09|0xfc0b|0xfc0c|0xfc0d|0xfc82)"; + action "kldload uftdi"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0408"; + match "product" "0x0304"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0408"; + match "product" "(0x1000|0xea02|0xea03|0xea04|0xea05|0xea06)"; + action "kldload u3g"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0409"; + match "product" "(0x00d5|0x00d6|0x00d7|0x8024|0x8025)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x0001|0x0005|0x0009)"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x0012"; + action "kldload if_rue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x003d"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x005e|0x0066|0x0067)"; + action "kldload if_ural"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x006e"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x008b"; + action "kldload if_ural"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x00b3"; + action "kldload uftdi"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x00d8|0x00d9)"; + action "kldload if_rum"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x00da"; + action "kldload if_zyd"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x00e8"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x0116|0x0119)"; + action "kldload if_rum"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x012e"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "0x0137"; + action "kldload if_rum"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x0148|0x0150|0x015d|0x016f)"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0413"; + match "product" "0x2101"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0423"; + match "product" "(0x000a|0x000c)"; + action "kldload if_cue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x043e"; + match "product" "0x9c01"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x045a"; + match "product" "(0x5001|0x5002)"; + action "kldload urio"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x045b"; + match "product" "0x0053"; + action "kldload uslcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x045e"; + match "product" "0x0079"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x045e"; + match "product" "0x007a"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x045e"; + match "product" "(0x00ce|0x0400|0x0401|0x0402|0x0403|0x0404|0x0405|0x0406|0x0407|0x0408|0x0409|0x040a|0x040b|0x040c|0x040d|0x040e|0x040f|0x0410|0x0411|0x0412|0x0413|0x0414|0x0415|0x0416|0x0417|0x0432|0x0433|0x0434|0x0435|0x0436|0x0437|0x0438|0x0439|0x043a|0x043b|0x043c|0x043d|0x043e|0x043f|0x0440|0x0441|0x0442|0x0443|0x0444|0x0445|0x0446|0x0447|0x0448|0x0449|0x044a|0x044b|0x044c|0x044d|0x044e|0x044f|0x0450|0x0451|0x0452|0x0453|0x0454|0x0455|0x0456|0x0457|0x0458|0x0459|0x045a|0x045b|0x045c|0x045d|0x045e|0x045f|0x0460|0x0461|0x0462|0x0463|0x0464|0x0465|0x0466|0x0467|0x0468|0x0469|0x046a|0x046b|0x046c|0x046d|0x046e|0x046f|0x0470|0x0471|0x0472|0x0473|0x0474|0x0475|0x0476|0x0477|0x0478|0x0479|0x047a|0x047b|0x04c8|0x04c9|0x04ca|0x04cb|0x04cc|0x04cd|0x04ce|0x04d7|0x04d8|0x04d9|0x04da|0x04db|0x04dc|0x04dd|0x04de|0x04df|0x04e0|0x04e1|0x04e2|0x04e3|0x04e4|0x04e5|0x04e6|0x04e7|0x04e8|0x04e9|0x04ea)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0471"; + match "product" "0x066a"; + action "kldload uslcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0471"; + match "product" "0x1236"; + action "kldload if_zyd"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0471"; + match "product" "0x200f"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0482"; + match "product" "0x0203"; + action "kldload umodem"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0489"; + match "product" "(0xe000|0xe003)"; + action "kldload uslcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x049f"; + match "product" "(0x0003|0x0032)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x049f"; + match "product" "0x505a"; + action "kldload if_cdce"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04a4"; + match "product" "0x0014"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04a5"; + match "product" "0x4027"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04a5"; + match "product" "0x4068"; + action "kldload u3g"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04ad"; + match "product" "(0x0301|0x0302|0x0303|0x0306)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04b4"; + match "product" "0x1002"; + action "kldload ufm"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04b7"; + match "product" "0x0531"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04b8"; + match "product" "(0x0521|0x0522)"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; + match "product" "0x0901"; + action "kldload if_kue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; + match "product" "(0x0904|0x0913)"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; + match "product" "0x0930"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; + match "product" "(0x0944|0x0945|0x0947|0x0948)"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; + match "product" "(0x0a03|0x0a0e)"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bf"; + match "product" "(0x0115|0x0117)"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04c5"; + match "product" "(0x1058|0x1079)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04da"; + match "product" "0x2500"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04da"; + match "product" "0x3900"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04dd"; + match "product" "(0x8004|0x8005|0x8006|0x8007|0x9031)"; + action "kldload if_cdce"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04dd"; + match "product" "(0x9102|0x9121|0x9123|0x9151|0x91ac|0x9242)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04e8"; + match "product" "(0x5f00|0x5f01|0x5f02|0x5f03|0x5f04)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04e8"; + match "product" "0x6601"; + action "kldload uvisor"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04e8"; + match "product" "(0x6611|0x6613|0x6615|0x6617|0x6619|0x661b|0x662e|0x6630|0x6632)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04e8"; + match "product" "0x8001"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04f1"; + match "product" "0x3008"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04f1"; + match "product" "(0x3011|0x3012)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0502"; + match "product" "(0x1631|0x1632|0x16e1|0x16e2|0x16e3)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0506"; + match "product" "(0x03e8|0x11f8)"; + action "kldload if_kue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0506"; + match "product" "0x4601"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x0103"; + action "kldload ubsa"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x0109"; + action "kldload umct"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x0121"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x0257"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x0409"; + action "kldload umct"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x1203"; + action "kldload ubsa"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x4050"; + action "kldload if_zyd"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x5055"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x7050"; + action "kldload if_upgt"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "(0x7050|0x7051)"; + action "kldload if_ural"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x705a"; + action "kldload if_rum"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x705c"; + action "kldload if_zyd"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x705e"; + action "kldload if_urtw"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "(0x8053|0x805c|0x815c|0x825a)"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x905b"; + action "kldload if_rum"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x050d"; + match "product" "0x935a"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0525"; + match "product" "0x1080"; + action "kldload udbp"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0525"; + match "product" "0xa4a2"; + action "kldload if_cdce"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0536"; + match "product" "0x01a0"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0543"; + match "product" "(0x0ed9|0x1527|0x1529|0x152b|0x152e|0x1921|0x1922|0x1923)"; + action "kldload uipaq"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0547"; + match "product" "0x2008"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0547"; + match "product" "0x2720"; + action "kldload udbp"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x054c"; + match "product" "(0x0038|0x0066|0x0095|0x009a|0x00da|0x0169)"; + action "kldload uvisor"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x054c"; + match "product" "0x0437"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0557"; + match "product" "0x2002"; + action "kldload if_kue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0557"; + match "product" "0x2007"; + action "kldload if_aue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0557"; + match "product" "0x2008"; + action "kldload uplcom"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0557"; + match "product" "0x2009"; + action "kldload if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0557"; + match "product" "0x4000"; + action "kldload if_kue"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x055d"; + match "product" "0x2018"; + action "kldload if_run"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0565"; + match "product" "0x0001"; + action "kldload ubsa"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0565"; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Jun 26 18:44:01 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 581ED106564A; Sun, 26 Jun 2011 18:44:01 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4785D8FC17; Sun, 26 Jun 2011 18:44:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5QIi0pC063725; Sun, 26 Jun 2011 18:44:00 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5QIi0Il063721; Sun, 26 Jun 2011 18:44:00 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106261844.p5QIi0Il063721@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 26 Jun 2011 18:44:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223577 - projects/pseries/powerpc/ofw X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 18:44:01 -0000 Author: nwhitehorn Date: Sun Jun 26 18:44:00 2011 New Revision: 223577 URL: http://svn.freebsd.org/changeset/base/223577 Log: Add a tunable to control whether the entire PCI bus will be probed, or just those devices known to exist in the device tree. Some PCI controllers really, really don't like the operating system to cause config cycles to nonexistant devices. Modified: projects/pseries/powerpc/ofw/ofw_pcibus.c Modified: projects/pseries/powerpc/ofw/ofw_pcibus.c ============================================================================== --- projects/pseries/powerpc/ofw/ofw_pcibus.c Sun Jun 26 18:27:17 2011 (r223576) +++ projects/pseries/powerpc/ofw/ofw_pcibus.c Sun Jun 26 18:44:00 2011 (r223577) @@ -101,6 +101,9 @@ DRIVER_MODULE(ofw_pcibus, pcib, ofw_pcib MODULE_VERSION(ofw_pcibus, 1); MODULE_DEPEND(ofw_pcibus, pci, 1, 1, 1); +static int ofw_devices_only=0; +TUNABLE_INT("hw.pci.ofw_devices_only", &ofw_devices_only); + static int ofw_pcibus_probe(device_t dev) { @@ -136,7 +139,8 @@ ofw_pcibus_attach(device_t dev) * functions on multi-function cards. */ - ofw_pcibus_enum_bus(dev, domain, busno); + if (!ofw_devices_only) + ofw_pcibus_enum_bus(dev, domain, busno); return (bus_generic_attach(dev)); } From owner-svn-src-projects@FreeBSD.ORG Sun Jun 26 19:02:34 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2F7E106564A; Sun, 26 Jun 2011 19:02:34 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9260B8FC13; Sun, 26 Jun 2011 19:02:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5QJ2YxN064279; Sun, 26 Jun 2011 19:02:34 GMT (envelope-from andreast@svn.freebsd.org) Received: (from andreast@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5QJ2Yr8064275; Sun, 26 Jun 2011 19:02:34 GMT (envelope-from andreast@svn.freebsd.org) Message-Id: <201106261902.p5QJ2Yr8064275@svn.freebsd.org> From: Andreas Tobler Date: Sun, 26 Jun 2011 19:02:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223578 - in projects/pseries/powerpc: aim pseries X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 19:02:34 -0000 Author: andreast Date: Sun Jun 26 19:02:34 2011 New Revision: 223578 URL: http://svn.freebsd.org/changeset/base/223578 Log: Set the default large page to 16MB on PowerMac's. Add a property scan for PAPR compatible machines to get the large page information from there. Modified: projects/pseries/powerpc/aim/mmu_oea64.c projects/pseries/powerpc/aim/mmu_oea64.h projects/pseries/powerpc/pseries/mmu_phyp.c Modified: projects/pseries/powerpc/aim/mmu_oea64.c ============================================================================== --- projects/pseries/powerpc/aim/mmu_oea64.c Sun Jun 26 18:44:00 2011 (r223577) +++ projects/pseries/powerpc/aim/mmu_oea64.c Sun Jun 26 19:02:34 2011 (r223578) @@ -257,7 +257,7 @@ uintptr_t moea64_scratchpage_pte[2]; struct mtx moea64_scratchpage_mtx; uint64_t moea64_large_page_mask = 0; -int moea64_large_page_size = 0; +uint64_t moea64_large_page_size = 0; int moea64_large_page_shift = 0; /* @@ -554,6 +554,9 @@ moea64_probe_large_page(void) uint16_t pvr = mfpvr() >> 16; switch (pvr) { + case IBMPOWER7: + moea64_large_page_size = 0; + break; case IBM970: case IBM970FX: case IBM970MP: @@ -562,12 +565,9 @@ moea64_probe_large_page(void) powerpc_sync(); isync(); /* FALLTHROUGH */ - case IBMCELLBE: + default: moea64_large_page_size = 0x1000000; /* 16 MB */ moea64_large_page_shift = 24; - break; - default: - moea64_large_page_size = 0; } moea64_large_page_mask = moea64_large_page_size - 1; Modified: projects/pseries/powerpc/aim/mmu_oea64.h ============================================================================== --- projects/pseries/powerpc/aim/mmu_oea64.h Sun Jun 26 18:44:00 2011 (r223577) +++ projects/pseries/powerpc/aim/mmu_oea64.h Sun Jun 26 19:02:34 2011 (r223578) @@ -70,6 +70,7 @@ extern u_int moea64_pte_overflow; extern struct pvo_head *moea64_pvo_table; extern int moea64_large_page_shift; +extern uint64_t moea64_large_page_size; extern u_int moea64_pteg_count; extern u_int moea64_pteg_mask; Modified: projects/pseries/powerpc/pseries/mmu_phyp.c ============================================================================== --- projects/pseries/powerpc/pseries/mmu_phyp.c Sun Jun 26 18:44:00 2011 (r223577) +++ projects/pseries/powerpc/pseries/mmu_phyp.c Sun Jun 26 19:02:34 2011 (r223578) @@ -99,8 +99,9 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t uint64_t final_pteg_count = 0; char buf[8]; uint32_t prop[2]; + uint32_t nptlp, shift = 0, slb_encoding = 0; phandle_t dev, node, root; - int res; + int idx, len, res; moea64_early_bootstrap(mmup, kernelstart, kernelend); @@ -133,6 +134,37 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t moea64_pteg_count = final_pteg_count / sizeof(struct lpteg); + /* Scan the large page size property for PAPR compatible machines. + See PAPR D.5 Changes to Section 5.1.4, 'CPU Node Properties' + for the encoding of the property. + */ + + len = OF_getproplen(node, "ibm,segment-page-sizes"); + if (len > 0) { + /* We have to use a variable length array on the stack + since we have very limited stack space. + */ + cell_t arr[len/sizeof(cell_t)]; + res = OF_getprop(node, "ibm,segment-page-sizes", &arr, + sizeof(arr)); + len /= 4; + idx = 0; + while (len > 0) { + shift = arr[idx]; + slb_encoding = arr[idx + 1]; + nptlp = arr[idx + 2]; + idx += 3; + len -= 3; + while (len > 0 && nptlp) { + idx += 2; + len -= 2; + nptlp--; + } + } + moea64_large_page_shift = shift; + moea64_large_page_size = 1 << shift; + } + moea64_mid_bootstrap(mmup, kernelstart, kernelend); moea64_late_bootstrap(mmup, kernelstart, kernelend); } @@ -208,7 +240,7 @@ mphyp_pte_change(mmu_t mmu, uintptr_t sl if (result != H_SUCCESS) panic("mphyp_pte_change() invalidation failure: %ld\n", result); result = phyp_pft_hcall(H_ENTER, H_EXACT, slot, pvo_pt->pte_hi, - pvo_pt->pte_lo, &index, &evicted.pte_lo, &junk); + pvo_pt->pte_lo, &index, &evicted.pte_lo, &junk); if (result != H_SUCCESS) panic("mphyp_pte_change() insertion failure: %ld\n", result); } From owner-svn-src-projects@FreeBSD.ORG Sun Jun 26 21:36:53 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A434C106564A; Sun, 26 Jun 2011 21:36:53 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92B928FC0C; Sun, 26 Jun 2011 21:36:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5QLaron068795; Sun, 26 Jun 2011 21:36:53 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5QLaroB068792; Sun, 26 Jun 2011 21:36:53 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106262136.p5QLaroB068792@svn.freebsd.org> From: Attilio Rao Date: Sun, 26 Jun 2011 21:36:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223581 - projects/largeSMP/sys/amd64/amd64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 21:36:53 -0000 Author: attilio Date: Sun Jun 26 21:36:53 2011 New Revision: 223581 URL: http://svn.freebsd.org/changeset/base/223581 Log: Remove the pc_cpumask usage from amd64. Reviewed by: alc Tested by: pluknet Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c projects/largeSMP/sys/amd64/amd64/pmap.c Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/mp_machdep.c Sun Jun 26 20:12:05 2011 (r223580) +++ projects/largeSMP/sys/amd64/amd64/mp_machdep.c Sun Jun 26 21:36:53 2011 (r223581) @@ -604,10 +604,10 @@ cpu_mp_announce(void) void init_secondary(void) { - cpuset_t tcpuset; struct pcpu *pc; struct nmi_pcpu *np; u_int64_t msr, cr0; + u_int cpuid; int cpu, gsel_tss, x; struct region_descriptor ap_gdt; @@ -711,8 +711,9 @@ init_secondary(void) fpuinit(); /* A quick check from sanity claus */ + cpuid = PCPU_GET(cpuid); if (PCPU_GET(apic_id) != lapic_id()) { - printf("SMP: cpuid = %d\n", PCPU_GET(cpuid)); + printf("SMP: cpuid = %d\n", cpuid); printf("SMP: actual apic_id = %d\n", lapic_id()); printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id)); panic("cpuid mismatch! boom!!"); @@ -734,14 +735,13 @@ init_secondary(void) smp_cpus++; - CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", PCPU_GET(cpuid)); - printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); - tcpuset = PCPU_GET(cpumask); + CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid); + printf("SMP: AP CPU #%d Launched!\n", cpuid); /* Determine if we are a logical CPU. */ /* XXX Calculation depends on cpu_logical being a power of 2, e.g. 2 */ if (cpu_logical > 1 && PCPU_GET(apic_id) % cpu_logical != 0) - CPU_OR(&logical_cpus_mask, &tcpuset); + CPU_SET(cpuid, &logical_cpus_mask); if (bootverbose) lapic_dump("AP"); @@ -1138,9 +1138,7 @@ smp_targeted_tlb_shootdown(cpuset_t mask if (othercpus < 1) return; } else { - sched_pin(); - CPU_NAND(&mask, PCPU_PTR(cpumask)); - sched_unpin(); + CPU_CLR(PCPU_GET(cpuid), &mask); if (CPU_EMPTY(&mask)) return; } @@ -1362,7 +1360,7 @@ ipi_all_but_self(u_int ipi) int ipi_nmi_handler() { - cpuset_t cpumask; + u_int cpuid; /* * As long as there is not a simple way to know about a NMI's @@ -1370,13 +1368,11 @@ ipi_nmi_handler() * the global pending bitword an IPI_STOP_HARD has been issued * and should be handled. */ - sched_pin(); - cpumask = PCPU_GET(cpumask); - sched_unpin(); - if (!CPU_OVERLAP(&ipi_nmi_pending, &cpumask)) + cpuid = PCPU_GET(cpuid); + if (!CPU_ISSET(cpuid, &ipi_nmi_pending)) return (1); - CPU_NAND_ATOMIC(&ipi_nmi_pending, &cpumask); + CPU_CLR_ATOMIC(cpuid, &ipi_nmi_pending); cpustop_handler(); return (0); } @@ -1388,25 +1384,21 @@ ipi_nmi_handler() void cpustop_handler(void) { - cpuset_t cpumask; u_int cpu; - sched_pin(); cpu = PCPU_GET(cpuid); - cpumask = PCPU_GET(cpumask); - sched_unpin(); savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ - CPU_OR_ATOMIC(&stopped_cpus, &cpumask); + CPU_SET_ATOMIC(cpu, &stopped_cpus); /* Wait for restart */ - while (!CPU_OVERLAP(&started_cpus, &cpumask)) + while (!CPU_ISSET(cpu, &started_cpus)) ia32_pause(); - CPU_NAND_ATOMIC(&started_cpus, &cpumask); - CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); + CPU_CLR_ATOMIC(cpu, &started_cpus); + CPU_CLR_ATOMIC(cpu, &stopped_cpus); if (cpu == 0 && cpustop_restartfunc != NULL) { cpustop_restartfunc(); @@ -1421,19 +1413,17 @@ cpustop_handler(void) void cpususpend_handler(void) { - cpuset_t cpumask; register_t cr3, rf; u_int cpu; cpu = PCPU_GET(cpuid); - cpumask = PCPU_GET(cpumask); rf = intr_disable(); cr3 = rcr3(); if (savectx(susppcbs[cpu])) { wbinvd(); - CPU_OR_ATOMIC(&stopped_cpus, &cpumask); + CPU_SET_ATOMIC(cpu, &stopped_cpus); } else { pmap_init_pat(); PCPU_SET(switchtime, 0); @@ -1441,11 +1431,11 @@ cpususpend_handler(void) } /* Wait for resume */ - while (!CPU_OVERLAP(&started_cpus, &cpumask)) + while (!CPU_ISSET(cpu, &started_cpus)) ia32_pause(); - CPU_NAND_ATOMIC(&started_cpus, &cpumask); - CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); + CPU_CLR_ATOMIC(cpu, &started_cpus); + CPU_CLR_ATOMIC(cpu, &stopped_cpus); /* Restore CR3 and enable interrupts */ load_cr3(cr3); Modified: projects/largeSMP/sys/amd64/amd64/pmap.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/pmap.c Sun Jun 26 20:12:05 2011 (r223580) +++ projects/largeSMP/sys/amd64/amd64/pmap.c Sun Jun 26 21:36:53 2011 (r223581) @@ -925,17 +925,18 @@ pmap_update_pde_invalidate(vm_offset_t v void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; + u_int cpuid; sched_pin(); if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { invlpg(va); smp_invlpg(va); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) invlpg(va); CPU_AND(&other_cpus, &pmap->pm_active); if (!CPU_EMPTY(&other_cpus)) @@ -947,8 +948,9 @@ pmap_invalidate_page(pmap_t pmap, vm_off void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; vm_offset_t addr; + u_int cpuid; sched_pin(); if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { @@ -956,10 +958,10 @@ pmap_invalidate_range(pmap_t pmap, vm_of invlpg(addr); smp_invlpg_range(sva, eva); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); CPU_AND(&other_cpus, &pmap->pm_active); @@ -972,17 +974,18 @@ pmap_invalidate_range(pmap_t pmap, vm_of void pmap_invalidate_all(pmap_t pmap) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; + u_int cpuid; sched_pin(); if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) { invltlb(); smp_invltlb(); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) invltlb(); CPU_AND(&other_cpus, &pmap->pm_active); if (!CPU_EMPTY(&other_cpus)) @@ -1002,11 +1005,11 @@ pmap_invalidate_cache(void) } struct pde_action { - cpuset_t store; /* processor that updates the PDE */ cpuset_t invalidate; /* processors that invalidate their TLB */ vm_offset_t va; pd_entry_t *pde; pd_entry_t newpde; + u_int store; /* processor that updates the PDE */ }; static void @@ -1014,12 +1017,8 @@ pmap_update_pde_action(void *arg) { struct pde_action *act = arg; - sched_pin(); - if (!CPU_CMP(&act->store, PCPU_PTR(cpumask))) { - sched_unpin(); + if (act->store == PCPU_GET(cpuid)) pde_store(act->pde, act->newpde); - } else - sched_unpin(); } static void @@ -1027,12 +1026,8 @@ pmap_update_pde_teardown(void *arg) { struct pde_action *act = arg; - sched_pin(); - if (CPU_OVERLAP(&act->invalidate, PCPU_PTR(cpumask))) { - sched_unpin(); + if (CPU_ISSET(PCPU_GET(cpuid), &act->invalidate)) pmap_update_pde_invalidate(act->va, act->newpde); - } else - sched_unpin(); } /* @@ -1047,29 +1042,30 @@ static void pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde) { struct pde_action act; - cpuset_t active, cpumask, other_cpus; + cpuset_t active, other_cpus; + u_int cpuid; sched_pin(); - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); + CPU_CLR(cpuid, &other_cpus); if (pmap == kernel_pmap) active = all_cpus; else active = pmap->pm_active; if (CPU_OVERLAP(&active, &other_cpus)) { - act.store = cpumask; + act.store = cpuid; act.invalidate = active; act.va = va; act.pde = pde; act.newpde = newpde; - CPU_OR(&cpumask, &active); - smp_rendezvous_cpus(cpumask, + CPU_SET(cpuid, &active); + smp_rendezvous_cpus(active, smp_no_rendevous_barrier, pmap_update_pde_action, pmap_update_pde_teardown, &act); } else { pde_store(pde, newpde); - if (CPU_OVERLAP(&active, &cpumask)) + if (CPU_ISSET(cpuid, &active)) pmap_update_pde_invalidate(va, newpde); } sched_unpin(); @@ -5099,17 +5095,19 @@ void pmap_activate(struct thread *td) { pmap_t pmap, oldpmap; + u_int cpuid; u_int64_t cr3; critical_enter(); pmap = vmspace_pmap(td->td_proc->p_vmspace); oldpmap = PCPU_GET(curpmap); + cpuid = PCPU_GET(cpuid); #ifdef SMP - CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active); + CPU_SET_ATOMIC(cpuid, &pmap->pm_active); #else - CPU_NAND(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR(cpuid, &oldpmap->pm_active); + CPU_SET(cpuid, &pmap->pm_active); #endif cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4); td->td_pcb->pcb_cr3 = cr3; From owner-svn-src-projects@FreeBSD.ORG Mon Jun 27 13:02:23 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8E561065670; Mon, 27 Jun 2011 13:02:23 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A9A5B8FC08; Mon, 27 Jun 2011 13:02:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5RD2NFb098708; Mon, 27 Jun 2011 13:02:23 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5RD2NmU098706; Mon, 27 Jun 2011 13:02:23 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106271302.p5RD2NmU098706@svn.freebsd.org> From: Attilio Rao Date: Mon, 27 Jun 2011 13:02:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223595 - projects/largeSMP/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2011 13:02:23 -0000 Author: attilio Date: Mon Jun 27 13:02:23 2011 New Revision: 223595 URL: http://svn.freebsd.org/changeset/base/223595 Log: Fix a mismerge. Modified: projects/largeSMP/sys/kern/subr_kdb.c Modified: projects/largeSMP/sys/kern/subr_kdb.c ============================================================================== --- projects/largeSMP/sys/kern/subr_kdb.c Mon Jun 27 12:42:48 2011 (r223594) +++ projects/largeSMP/sys/kern/subr_kdb.c Mon Jun 27 13:02:23 2011 (r223595) @@ -502,12 +502,11 @@ kdb_thr_select(struct thread *thr) int kdb_trap(int type, int code, struct trapframe *tf) { - struct kdb_dbbe *be; - register_t intr; #ifdef SMP cpuset_t other_cpus; - int did_stop_cpus; #endif + struct kdb_dbbe *be; + register_t intr; int handled; be = kdb_dbbe; @@ -521,11 +520,9 @@ kdb_trap(int type, int code, struct trap intr = intr_disable(); #ifdef SMP - if ((did_stop_cpus = kdb_stop_cpus) != 0) { - other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - stop_cpus_hard(other_cpus); - } + other_cpus = all_cpus; + CPU_CLR(PCPU_GET(cpuid), &other_cpus); + stop_cpus_hard(other_cpus); #endif kdb_active++; From owner-svn-src-projects@FreeBSD.ORG Mon Jun 27 15:13:12 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 855A0106564A; Mon, 27 Jun 2011 15:13:12 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 753398FC13; Mon, 27 Jun 2011 15:13:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5RFDCkl002791; Mon, 27 Jun 2011 15:13:12 GMT (envelope-from andreast@svn.freebsd.org) Received: (from andreast@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5RFDCQh002789; Mon, 27 Jun 2011 15:13:12 GMT (envelope-from andreast@svn.freebsd.org) Message-Id: <201106271513.p5RFDCQh002789@svn.freebsd.org> From: Andreas Tobler Date: Mon, 27 Jun 2011 15:13:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223598 - projects/pseries/powerpc/pseries X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2011 15:13:12 -0000 Author: andreast Date: Mon Jun 27 15:13:12 2011 New Revision: 223598 URL: http://svn.freebsd.org/changeset/base/223598 Log: Fix style(9) issues. Modified: projects/pseries/powerpc/pseries/mmu_phyp.c Modified: projects/pseries/powerpc/pseries/mmu_phyp.c ============================================================================== --- projects/pseries/powerpc/pseries/mmu_phyp.c Mon Jun 27 13:58:24 2011 (r223597) +++ projects/pseries/powerpc/pseries/mmu_phyp.c Mon Jun 27 15:13:12 2011 (r223598) @@ -99,7 +99,7 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t uint64_t final_pteg_count = 0; char buf[8]; uint32_t prop[2]; - uint32_t nptlp, shift = 0, slb_encoding = 0; + uint32_t nptlp, shift = 0, slb_encoding = 0; phandle_t dev, node, root; int idx, len, res; @@ -123,7 +123,7 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t break; node = OF_peer(node); } - + res = OF_getprop(node, "ibm,pft-size", prop, sizeof(prop)); if (res <= 0) panic("mmu_phyp: unknown PFT size"); @@ -134,16 +134,18 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t moea64_pteg_count = final_pteg_count / sizeof(struct lpteg); - /* Scan the large page size property for PAPR compatible machines. - See PAPR D.5 Changes to Section 5.1.4, 'CPU Node Properties' - for the encoding of the property. - */ + /* + * Scan the large page size property for PAPR compatible machines. + * See PAPR D.5 Changes to Section 5.1.4, 'CPU Node Properties' + * for the encoding of the property. + */ len = OF_getproplen(node, "ibm,segment-page-sizes"); if (len > 0) { - /* We have to use a variable length array on the stack - since we have very limited stack space. - */ + /* + * We have to use a variable length array on the stack + * since we have very limited stack space. + */ cell_t arr[len/sizeof(cell_t)]; res = OF_getprop(node, "ibm,segment-page-sizes", &arr, sizeof(arr)); From owner-svn-src-projects@FreeBSD.ORG Mon Jun 27 16:54:59 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 854F2106564A; Mon, 27 Jun 2011 16:54:59 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7541E8FC20; Mon, 27 Jun 2011 16:54:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5RGsx6H005823; Mon, 27 Jun 2011 16:54:59 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5RGsxZw005821; Mon, 27 Jun 2011 16:54:59 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201106271654.p5RGsxZw005821@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 27 Jun 2011 16:54:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223600 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2011 16:54:59 -0000 Author: marcel Date: Mon Jun 27 16:54:59 2011 New Revision: 223600 URL: http://svn.freebsd.org/changeset/base/223600 Log: Add missing include of Support/Host.h, needed for sys::getHostCPUName() This function is called only when the host is ia64. Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp Mon Jun 27 16:24:36 2011 (r223599) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp Mon Jun 27 16:54:59 2011 (r223600) @@ -1,6 +1,8 @@ #include "IA64.h" #include "IA64Subtarget.h" +#include "llvm/Support/Host.h" + #include "IA64GenSubtarget.inc" using namespace llvm; From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 06:26:06 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A32E2106564A; Tue, 28 Jun 2011 06:26:06 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8D4678FC16; Tue, 28 Jun 2011 06:26:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5S6Q6bH031674; Tue, 28 Jun 2011 06:26:06 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5S6Q6Ao031644; Tue, 28 Jun 2011 06:26:06 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201106280626.p5S6Q6Ao031644@svn.freebsd.org> From: Peter Grehan Date: Tue, 28 Jun 2011 06:26:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223621 - in projects/bhyve: . bin/ps bin/sh bin/sh/bltin cddl/compat/opensolaris/include cddl/compat/opensolaris/misc cddl/contrib/opensolaris/lib/libdtrace/common contrib/bind9 contri... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 06:26:06 -0000 Author: grehan Date: Tue Jun 28 06:26:03 2011 New Revision: 223621 URL: http://svn.freebsd.org/changeset/base/223621 Log: IFC @ r222830 Added: projects/bhyve/contrib/compiler-rt/lib/abi.h - copied unchanged from r223351, head/contrib/compiler-rt/lib/abi.h projects/bhyve/contrib/compiler-rt/lib/arm/divmodsi4.S - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/divmodsi4.S projects/bhyve/contrib/compiler-rt/lib/arm/divsi3.S - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/divsi3.S projects/bhyve/contrib/compiler-rt/lib/arm/softfloat-alias.list - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/softfloat-alias.list projects/bhyve/contrib/compiler-rt/lib/arm/udivmodsi4.S - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/udivmodsi4.S projects/bhyve/contrib/compiler-rt/lib/arm/udivsi3.S - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/udivsi3.S projects/bhyve/contrib/compiler-rt/lib/arm/umodsi3.S - copied unchanged from r223351, head/contrib/compiler-rt/lib/arm/umodsi3.S projects/bhyve/contrib/compiler-rt/lib/divmoddi4.c - copied unchanged from r223351, head/contrib/compiler-rt/lib/divmoddi4.c projects/bhyve/contrib/compiler-rt/lib/divmodsi4.c - copied unchanged from r223351, head/contrib/compiler-rt/lib/divmodsi4.c projects/bhyve/contrib/compiler-rt/lib/subdf3.c - copied unchanged from r223351, head/contrib/compiler-rt/lib/subdf3.c projects/bhyve/contrib/compiler-rt/lib/subsf3.c - copied unchanged from r223351, head/contrib/compiler-rt/lib/subsf3.c projects/bhyve/contrib/compiler-rt/lib/udivmodsi4.c - copied unchanged from r223351, head/contrib/compiler-rt/lib/udivmodsi4.c projects/bhyve/contrib/llvm/include/llvm/ADT/PackedVector.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/ADT/PackedVector.h projects/bhyve/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h projects/bhyve/contrib/llvm/include/llvm/DefaultPasses.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/DefaultPasses.h projects/bhyve/contrib/llvm/include/llvm/MC/MCWin64EH.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/MC/MCWin64EH.h projects/bhyve/contrib/llvm/include/llvm/Support/BranchProbability.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/Support/BranchProbability.h projects/bhyve/contrib/llvm/include/llvm/Support/PassManagerBuilder.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/Support/PassManagerBuilder.h projects/bhyve/contrib/llvm/include/llvm/Support/Win64EH.h - copied unchanged from r223351, head/contrib/llvm/include/llvm/Support/Win64EH.h projects/bhyve/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp - copied unchanged from r223351, head/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp - copied unchanged from r223351, head/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp - copied unchanged from r223351, head/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterClassInfo.h - copied unchanged from r223351, head/contrib/llvm/lib/CodeGen/RegisterClassInfo.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp - copied unchanged from r223351, head/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp projects/bhyve/contrib/llvm/lib/MC/MCWin64EH.cpp - copied unchanged from r223351, head/contrib/llvm/lib/MC/MCWin64EH.cpp projects/bhyve/contrib/llvm/lib/Support/BranchProbability.cpp - copied unchanged from r223351, head/contrib/llvm/lib/Support/BranchProbability.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsEmitGPRestore.cpp - copied unchanged from r223351, head/contrib/llvm/lib/Target/Mips/MipsEmitGPRestore.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp - copied unchanged from r223351, head/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/bhyve/contrib/llvm/utils/TableGen/SetTheory.cpp - copied unchanged from r223351, head/contrib/llvm/utils/TableGen/SetTheory.cpp projects/bhyve/contrib/llvm/utils/TableGen/SetTheory.h - copied unchanged from r223351, head/contrib/llvm/utils/TableGen/SetTheory.h projects/bhyve/contrib/sendmail/cf/ostype/solaris11.m4 - copied unchanged from r223351, head/contrib/sendmail/cf/ostype/solaris11.m4 - copied from r223351, head/contrib/tnftp/ projects/bhyve/etc/rc.d/kld - copied unchanged from r223351, head/etc/rc.d/kld projects/bhyve/etc/rc.d/netwait - copied unchanged from r223351, head/etc/rc.d/netwait projects/bhyve/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S - copied unchanged from r223351, head/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S projects/bhyve/share/man/man4/ath_ahb.4 - copied unchanged from r223351, head/share/man/man4/ath_ahb.4 projects/bhyve/share/man/man4/ath_pci.4 - copied unchanged from r223351, head/share/man/man4/ath_pci.4 projects/bhyve/share/man/man4/umcs.4 - copied unchanged from r223351, head/share/man/man4/umcs.4 projects/bhyve/sys/boot/forth/beastie.4th.8 - copied unchanged from r223351, head/sys/boot/forth/beastie.4th.8 projects/bhyve/sys/boot/forth/brand.4th - copied unchanged from r223351, head/sys/boot/forth/brand.4th projects/bhyve/sys/boot/forth/brand.4th.8 - copied unchanged from r223351, head/sys/boot/forth/brand.4th.8 projects/bhyve/sys/boot/forth/check-password.4th - copied unchanged from r223351, head/sys/boot/forth/check-password.4th projects/bhyve/sys/boot/forth/check-password.4th.8 - copied unchanged from r223351, head/sys/boot/forth/check-password.4th.8 projects/bhyve/sys/boot/forth/color.4th - copied unchanged from r223351, head/sys/boot/forth/color.4th projects/bhyve/sys/boot/forth/color.4th.8 - copied unchanged from r223351, head/sys/boot/forth/color.4th.8 projects/bhyve/sys/boot/forth/delay.4th - copied unchanged from r223351, head/sys/boot/forth/delay.4th projects/bhyve/sys/boot/forth/delay.4th.8 - copied unchanged from r223351, head/sys/boot/forth/delay.4th.8 projects/bhyve/sys/boot/forth/menu-commands.4th - copied unchanged from r223351, head/sys/boot/forth/menu-commands.4th projects/bhyve/sys/boot/forth/menu.4th - copied unchanged from r223351, head/sys/boot/forth/menu.4th projects/bhyve/sys/boot/forth/menu.4th.8 - copied unchanged from r223351, head/sys/boot/forth/menu.4th.8 projects/bhyve/sys/boot/forth/menu.rc - copied unchanged from r223351, head/sys/boot/forth/menu.rc projects/bhyve/sys/boot/forth/shortcuts.4th - copied unchanged from r223351, head/sys/boot/forth/shortcuts.4th projects/bhyve/sys/boot/forth/version.4th - copied unchanged from r223351, head/sys/boot/forth/version.4th projects/bhyve/sys/boot/forth/version.4th.8 - copied unchanged from r223351, head/sys/boot/forth/version.4th.8 projects/bhyve/sys/boot/ia64/common/icache.c - copied unchanged from r223351, head/sys/boot/ia64/common/icache.c projects/bhyve/sys/dev/ath/ath_dfs/ - copied from r223351, head/sys/dev/ath/ath_dfs/ projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287.c - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287.h projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287.ini - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287.ini projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_cal.c - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_cal.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_cal.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_cal.h projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_olc.c - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_olc.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_olc.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_olc.h projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_reset.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287_reset.h projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287an.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287an.h projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287phy.h - copied unchanged from r223351, head/sys/dev/ath/ath_hal/ar9002/ar9287phy.h projects/bhyve/sys/dev/ath/if_athdfs.h - copied unchanged from r223351, head/sys/dev/ath/if_athdfs.h projects/bhyve/sys/dev/cxgbe/common/jhash.h - copied unchanged from r223351, head/sys/dev/cxgbe/common/jhash.h projects/bhyve/sys/dev/cxgbe/t4_l2t.c - copied unchanged from r223351, head/sys/dev/cxgbe/t4_l2t.c projects/bhyve/sys/dev/cxgbe/t4_l2t.h - copied unchanged from r223351, head/sys/dev/cxgbe/t4_l2t.h projects/bhyve/sys/dev/iicbus/ad7417.c - copied unchanged from r223351, head/sys/dev/iicbus/ad7417.c projects/bhyve/sys/dev/usb/serial/umcs.c - copied unchanged from r223351, head/sys/dev/usb/serial/umcs.c projects/bhyve/sys/dev/usb/serial/umcs.h - copied unchanged from r223351, head/sys/dev/usb/serial/umcs.h projects/bhyve/sys/fs/nfsclient/nfs_clkdtrace.c - copied unchanged from r223351, head/sys/fs/nfsclient/nfs_clkdtrace.c projects/bhyve/sys/fs/nfsclient/nfs_kdtrace.h - copied unchanged from r223351, head/sys/fs/nfsclient/nfs_kdtrace.h projects/bhyve/sys/modules/dtrace/dtnfscl/ - copied from r223351, head/sys/modules/dtrace/dtnfscl/ projects/bhyve/sys/modules/usb/umcs/ - copied from r223351, head/sys/modules/usb/umcs/ projects/bhyve/sys/netinet/in_pcbgroup.c - copied unchanged from r223351, head/sys/netinet/in_pcbgroup.c projects/bhyve/sys/netinet6/in6_pcbgroup.c - copied unchanged from r223351, head/sys/netinet6/in6_pcbgroup.c projects/bhyve/sys/powerpc/include/rtas.h - copied unchanged from r223351, head/sys/powerpc/include/rtas.h projects/bhyve/sys/powerpc/ofw/ofwcall32.S - copied unchanged from r223351, head/sys/powerpc/ofw/ofwcall32.S projects/bhyve/sys/powerpc/ofw/ofwcall64.S - copied unchanged from r223351, head/sys/powerpc/ofw/ofwcall64.S projects/bhyve/sys/powerpc/ofw/ofwmagic.S - copied unchanged from r223351, head/sys/powerpc/ofw/ofwmagic.S projects/bhyve/sys/powerpc/ofw/rtas.c - copied unchanged from r223351, head/sys/powerpc/ofw/rtas.c projects/bhyve/sys/powerpc/powermac/powermac_thermal.c - copied unchanged from r223351, head/sys/powerpc/powermac/powermac_thermal.c projects/bhyve/sys/powerpc/powermac/powermac_thermal.h - copied unchanged from r223351, head/sys/powerpc/powermac/powermac_thermal.h projects/bhyve/sys/powerpc/powermac/windtunnel.c - copied unchanged from r223351, head/sys/powerpc/powermac/windtunnel.c projects/bhyve/sys/powerpc/ps3/ohci_ps3.c - copied unchanged from r223351, head/sys/powerpc/ps3/ohci_ps3.c projects/bhyve/sys/powerpc/ps3/ps3disk.c - copied unchanged from r223351, head/sys/powerpc/ps3/ps3disk.c projects/bhyve/sys/sys/_cpuset.h - copied unchanged from r223351, head/sys/sys/_cpuset.h projects/bhyve/tools/build/options/WITHOUT_UTMPX - copied unchanged from r223351, head/tools/build/options/WITHOUT_UTMPX projects/bhyve/tools/regression/bin/sh/builtins/case6.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/case6.0 projects/bhyve/tools/regression/bin/sh/builtins/case7.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/case7.0 projects/bhyve/tools/regression/bin/sh/builtins/case8.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/case8.0 projects/bhyve/tools/regression/bin/sh/builtins/case9.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/case9.0 projects/bhyve/tools/regression/bin/sh/builtins/cd5.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/cd5.0 projects/bhyve/tools/regression/bin/sh/builtins/cd6.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/cd6.0 projects/bhyve/tools/regression/bin/sh/builtins/cd7.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/cd7.0 projects/bhyve/tools/regression/bin/sh/builtins/export1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/export1.0 projects/bhyve/tools/regression/bin/sh/builtins/set1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/set1.0 projects/bhyve/tools/regression/bin/sh/builtins/set2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/builtins/set2.0 projects/bhyve/tools/regression/bin/sh/execution/bg4.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/bg4.0 projects/bhyve/tools/regression/bin/sh/execution/set-n1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-n1.0 projects/bhyve/tools/regression/bin/sh/execution/set-n2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-n2.0 projects/bhyve/tools/regression/bin/sh/execution/set-n3.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-n3.0 projects/bhyve/tools/regression/bin/sh/execution/set-n4.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-n4.0 projects/bhyve/tools/regression/bin/sh/execution/set-x1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-x1.0 projects/bhyve/tools/regression/bin/sh/execution/set-x2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-x2.0 projects/bhyve/tools/regression/bin/sh/execution/set-x3.0 - copied unchanged from r223351, head/tools/regression/bin/sh/execution/set-x3.0 projects/bhyve/tools/regression/bin/sh/expansion/cmdsubst11.0 - copied unchanged from r223351, head/tools/regression/bin/sh/expansion/cmdsubst11.0 projects/bhyve/tools/regression/bin/sh/expansion/heredoc1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/expansion/heredoc1.0 projects/bhyve/tools/regression/bin/sh/expansion/heredoc2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/expansion/heredoc2.0 projects/bhyve/tools/regression/bin/sh/expansion/ifs4.0 - copied unchanged from r223351, head/tools/regression/bin/sh/expansion/ifs4.0 projects/bhyve/tools/regression/bin/sh/parameters/env1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parameters/env1.0 projects/bhyve/tools/regression/bin/sh/parser/func2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/func2.0 projects/bhyve/tools/regression/bin/sh/parser/func3.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/func3.0 projects/bhyve/tools/regression/netinet/ipdivert/ - copied from r223351, head/tools/regression/netinet/ipdivert/ projects/bhyve/tools/regression/usr.bin/printf/regress.l1.out - copied unchanged from r223351, head/tools/regression/usr.bin/printf/regress.l1.out projects/bhyve/tools/regression/usr.bin/printf/regress.l2.out - copied unchanged from r223351, head/tools/regression/usr.bin/printf/regress.l2.out projects/bhyve/tools/tools/ath/ath_ee_9287_print/ - copied from r223351, head/tools/tools/ath/ath_ee_9287_print/ projects/bhyve/tools/tools/cxgbetool/ - copied from r223351, head/tools/tools/cxgbetool/ projects/bhyve/usr.bin/ftp/tnftp_config.h - copied unchanged from r223351, head/usr.bin/ftp/tnftp_config.h projects/bhyve/usr.sbin/bsdinstall/bsdinstall.8 - copied unchanged from r223351, head/usr.sbin/bsdinstall/bsdinstall.8 projects/bhyve/usr.sbin/bsdinstall/scripts/netconfig_ipv4 - copied unchanged from r223351, head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/bhyve/usr.sbin/bsdinstall/scripts/netconfig_ipv6 - copied unchanged from r223351, head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 projects/bhyve/usr.sbin/makefs/mtree.c - copied unchanged from r223351, head/usr.sbin/makefs/mtree.c Directory Properties: projects/bhyve/contrib/tnftp/ (props changed) Replaced: projects/bhyve/share/man/man4/geom_map.4 - copied unchanged from r223351, head/share/man/man4/geom_map.4 projects/bhyve/sys/nfs/nfs_kdtrace.h - copied unchanged from r223351, head/sys/nfs/nfs_kdtrace.h projects/bhyve/sys/sys/_stdint.h - copied unchanged from r223351, head/sys/sys/_stdint.h projects/bhyve/tools/build/options/WITHOUT_GPIO - copied unchanged from r223351, head/tools/build/options/WITHOUT_GPIO projects/bhyve/tools/build/options/WITH_OFED - copied unchanged from r223351, head/tools/build/options/WITH_OFED projects/bhyve/tools/regression/bin/sh/parser/dollar-quote1.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote1.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote2.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote2.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote3.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote3.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote4.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote4.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote5.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote5.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote6.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote6.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote7.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote7.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote8.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote8.0 projects/bhyve/tools/regression/bin/sh/parser/dollar-quote9.0 - copied unchanged from r223351, head/tools/regression/bin/sh/parser/dollar-quote9.0 Deleted: projects/bhyve/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html projects/bhyve/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf projects/bhyve/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt projects/bhyve/contrib/llvm/include/llvm/Support/StandardPasses.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/TargetSelect.cpp projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/DiagChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.h projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/bhyve/contrib/lukemftp/ projects/bhyve/sys/powerpc/aim/ofwmagic.S projects/bhyve/usr.bin/ftp/config.h Modified: projects/bhyve/Makefile projects/bhyve/Makefile.inc1 projects/bhyve/UPDATING projects/bhyve/bin/ps/extern.h projects/bhyve/bin/ps/keyword.c projects/bhyve/bin/ps/print.c projects/bhyve/bin/ps/ps.1 projects/bhyve/bin/sh/TOUR projects/bhyve/bin/sh/alias.c projects/bhyve/bin/sh/alias.h projects/bhyve/bin/sh/arith.h projects/bhyve/bin/sh/arith_yacc.c projects/bhyve/bin/sh/bltin/bltin.h projects/bhyve/bin/sh/builtins.def projects/bhyve/bin/sh/cd.c projects/bhyve/bin/sh/cd.h projects/bhyve/bin/sh/eval.c projects/bhyve/bin/sh/eval.h projects/bhyve/bin/sh/exec.h projects/bhyve/bin/sh/expand.c projects/bhyve/bin/sh/expand.h projects/bhyve/bin/sh/histedit.c projects/bhyve/bin/sh/input.c projects/bhyve/bin/sh/jobs.c projects/bhyve/bin/sh/jobs.h projects/bhyve/bin/sh/main.c projects/bhyve/bin/sh/main.h projects/bhyve/bin/sh/mkbuiltins projects/bhyve/bin/sh/mktokens projects/bhyve/bin/sh/myhistedit.h projects/bhyve/bin/sh/nodetypes projects/bhyve/bin/sh/options.c projects/bhyve/bin/sh/options.h projects/bhyve/bin/sh/parser.c projects/bhyve/bin/sh/parser.h projects/bhyve/bin/sh/sh.1 projects/bhyve/bin/sh/trap.c projects/bhyve/bin/sh/trap.h projects/bhyve/bin/sh/var.c projects/bhyve/bin/sh/var.h projects/bhyve/cddl/compat/opensolaris/include/assert.h projects/bhyve/cddl/compat/opensolaris/misc/fsshare.c projects/bhyve/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c projects/bhyve/contrib/bind9/CHANGES projects/bhyve/contrib/bind9/FAQ.xml projects/bhyve/contrib/bind9/Makefile.in projects/bhyve/contrib/bind9/README.idnkit projects/bhyve/contrib/bind9/acconfig.h projects/bhyve/contrib/bind9/bin/Makefile.in projects/bhyve/contrib/bind9/bin/check/Makefile.in projects/bhyve/contrib/bind9/bin/check/named-checkconf.8 projects/bhyve/contrib/bind9/bin/check/named-checkconf.docbook projects/bhyve/contrib/bind9/bin/check/named-checkconf.html projects/bhyve/contrib/bind9/bin/check/named-checkzone.8 projects/bhyve/contrib/bind9/bin/check/named-checkzone.docbook projects/bhyve/contrib/bind9/bin/check/named-checkzone.html projects/bhyve/contrib/bind9/bin/dig/Makefile.in projects/bhyve/contrib/bind9/bin/dig/dig.1 projects/bhyve/contrib/bind9/bin/dig/dig.docbook projects/bhyve/contrib/bind9/bin/dig/dig.html projects/bhyve/contrib/bind9/bin/dig/host.1 projects/bhyve/contrib/bind9/bin/dig/host.docbook projects/bhyve/contrib/bind9/bin/dig/host.html projects/bhyve/contrib/bind9/bin/dig/include/dig/dig.h projects/bhyve/contrib/bind9/bin/dig/nslookup.c projects/bhyve/contrib/bind9/bin/dnssec/Makefile.in projects/bhyve/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c projects/bhyve/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keygen.8 projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keygen.c projects/bhyve/contrib/bind9/bin/dnssec/dnssec-keygen.docbook projects/bhyve/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/bhyve/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/bhyve/contrib/bind9/bin/dnssec/dnssectool.c projects/bhyve/contrib/bind9/bin/dnssec/dnssectool.h projects/bhyve/contrib/bind9/bin/named/Makefile.in projects/bhyve/contrib/bind9/bin/named/bind9.xsl projects/bhyve/contrib/bind9/bin/named/config.c projects/bhyve/contrib/bind9/bin/named/controlconf.c projects/bhyve/contrib/bind9/bin/named/convertxsl.pl projects/bhyve/contrib/bind9/bin/named/include/named/builtin.h projects/bhyve/contrib/bind9/bin/named/include/named/client.h projects/bhyve/contrib/bind9/bin/named/include/named/config.h projects/bhyve/contrib/bind9/bin/named/include/named/control.h projects/bhyve/contrib/bind9/bin/named/include/named/interfacemgr.h projects/bhyve/contrib/bind9/bin/named/include/named/listenlist.h projects/bhyve/contrib/bind9/bin/named/include/named/log.h projects/bhyve/contrib/bind9/bin/named/include/named/logconf.h projects/bhyve/contrib/bind9/bin/named/include/named/lwaddr.h projects/bhyve/contrib/bind9/bin/named/include/named/lwdclient.h projects/bhyve/contrib/bind9/bin/named/include/named/lwresd.h projects/bhyve/contrib/bind9/bin/named/include/named/lwsearch.h projects/bhyve/contrib/bind9/bin/named/include/named/main.h projects/bhyve/contrib/bind9/bin/named/include/named/notify.h projects/bhyve/contrib/bind9/bin/named/include/named/ns_smf_globals.h projects/bhyve/contrib/bind9/bin/named/include/named/server.h projects/bhyve/contrib/bind9/bin/named/include/named/sortlist.h projects/bhyve/contrib/bind9/bin/named/include/named/statschannel.h projects/bhyve/contrib/bind9/bin/named/include/named/tkeyconf.h projects/bhyve/contrib/bind9/bin/named/include/named/tsigconf.h projects/bhyve/contrib/bind9/bin/named/include/named/types.h projects/bhyve/contrib/bind9/bin/named/include/named/update.h projects/bhyve/contrib/bind9/bin/named/include/named/xfrout.h projects/bhyve/contrib/bind9/bin/named/include/named/zoneconf.h projects/bhyve/contrib/bind9/bin/named/interfacemgr.c projects/bhyve/contrib/bind9/bin/named/listenlist.c projects/bhyve/contrib/bind9/bin/named/log.c projects/bhyve/contrib/bind9/bin/named/logconf.c projects/bhyve/contrib/bind9/bin/named/lwaddr.c projects/bhyve/contrib/bind9/bin/named/lwdclient.c projects/bhyve/contrib/bind9/bin/named/lwderror.c projects/bhyve/contrib/bind9/bin/named/lwdgabn.c projects/bhyve/contrib/bind9/bin/named/lwdgnba.c projects/bhyve/contrib/bind9/bin/named/lwdgrbn.c projects/bhyve/contrib/bind9/bin/named/lwdnoop.c projects/bhyve/contrib/bind9/bin/named/lwresd.8 projects/bhyve/contrib/bind9/bin/named/lwresd.c projects/bhyve/contrib/bind9/bin/named/lwresd.docbook projects/bhyve/contrib/bind9/bin/named/lwresd.html projects/bhyve/contrib/bind9/bin/named/lwsearch.c projects/bhyve/contrib/bind9/bin/named/named.8 projects/bhyve/contrib/bind9/bin/named/named.conf.5 projects/bhyve/contrib/bind9/bin/named/named.conf.docbook projects/bhyve/contrib/bind9/bin/named/named.conf.html projects/bhyve/contrib/bind9/bin/named/named.docbook projects/bhyve/contrib/bind9/bin/named/named.html projects/bhyve/contrib/bind9/bin/named/notify.c projects/bhyve/contrib/bind9/bin/named/sortlist.c projects/bhyve/contrib/bind9/bin/named/statschannel.c projects/bhyve/contrib/bind9/bin/named/tkeyconf.c projects/bhyve/contrib/bind9/bin/named/tsigconf.c projects/bhyve/contrib/bind9/bin/named/unix/Makefile.in projects/bhyve/contrib/bind9/bin/named/unix/include/named/os.h projects/bhyve/contrib/bind9/bin/named/unix/os.c projects/bhyve/contrib/bind9/bin/named/zoneconf.c projects/bhyve/contrib/bind9/bin/nsupdate/Makefile.in projects/bhyve/contrib/bind9/bin/nsupdate/nsupdate.c projects/bhyve/contrib/bind9/bin/rndc/Makefile.in projects/bhyve/contrib/bind9/bin/rndc/include/rndc/os.h projects/bhyve/contrib/bind9/bin/rndc/rndc-confgen.8 projects/bhyve/contrib/bind9/bin/rndc/rndc-confgen.c projects/bhyve/contrib/bind9/bin/rndc/rndc-confgen.docbook projects/bhyve/contrib/bind9/bin/rndc/rndc-confgen.html projects/bhyve/contrib/bind9/bin/rndc/rndc.8 projects/bhyve/contrib/bind9/bin/rndc/rndc.c projects/bhyve/contrib/bind9/bin/rndc/rndc.conf projects/bhyve/contrib/bind9/bin/rndc/rndc.conf.5 projects/bhyve/contrib/bind9/bin/rndc/rndc.conf.docbook projects/bhyve/contrib/bind9/bin/rndc/rndc.conf.html projects/bhyve/contrib/bind9/bin/rndc/rndc.docbook projects/bhyve/contrib/bind9/bin/rndc/rndc.html projects/bhyve/contrib/bind9/bin/rndc/unix/Makefile.in projects/bhyve/contrib/bind9/bin/rndc/unix/os.c projects/bhyve/contrib/bind9/bin/rndc/util.c projects/bhyve/contrib/bind9/bin/rndc/util.h projects/bhyve/contrib/bind9/doc/Makefile.in projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch01.html projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch02.html projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch03.html projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch04.html projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch05.html projects/bhyve/contrib/bind9/doc/arm/Bv9ARM.ch10.html projects/bhyve/contrib/bind9/doc/arm/Makefile.in projects/bhyve/contrib/bind9/doc/arm/README-SGML projects/bhyve/contrib/bind9/doc/misc/Makefile.in projects/bhyve/contrib/bind9/doc/misc/dnssec projects/bhyve/contrib/bind9/doc/misc/format-options.pl projects/bhyve/contrib/bind9/doc/misc/ipv6 projects/bhyve/contrib/bind9/doc/misc/migration projects/bhyve/contrib/bind9/doc/misc/migration-4to9 projects/bhyve/contrib/bind9/doc/misc/rfc-compliance projects/bhyve/contrib/bind9/doc/misc/roadmap projects/bhyve/contrib/bind9/doc/misc/sdb projects/bhyve/contrib/bind9/doc/misc/sort-options.pl projects/bhyve/contrib/bind9/isc-config.sh.in projects/bhyve/contrib/bind9/lib/Makefile.in projects/bhyve/contrib/bind9/lib/bind9/Makefile.in projects/bhyve/contrib/bind9/lib/bind9/getaddresses.c projects/bhyve/contrib/bind9/lib/bind9/include/Makefile.in projects/bhyve/contrib/bind9/lib/bind9/include/bind9/Makefile.in projects/bhyve/contrib/bind9/lib/bind9/include/bind9/check.h projects/bhyve/contrib/bind9/lib/bind9/include/bind9/getaddresses.h projects/bhyve/contrib/bind9/lib/bind9/include/bind9/version.h projects/bhyve/contrib/bind9/lib/bind9/version.c projects/bhyve/contrib/bind9/lib/dns/acache.c projects/bhyve/contrib/bind9/lib/dns/acl.c projects/bhyve/contrib/bind9/lib/dns/api projects/bhyve/contrib/bind9/lib/dns/byaddr.c projects/bhyve/contrib/bind9/lib/dns/cache.c projects/bhyve/contrib/bind9/lib/dns/callbacks.c projects/bhyve/contrib/bind9/lib/dns/compress.c projects/bhyve/contrib/bind9/lib/dns/db.c projects/bhyve/contrib/bind9/lib/dns/dbiterator.c projects/bhyve/contrib/bind9/lib/dns/dbtable.c projects/bhyve/contrib/bind9/lib/dns/diff.c projects/bhyve/contrib/bind9/lib/dns/dispatch.c projects/bhyve/contrib/bind9/lib/dns/dlz.c projects/bhyve/contrib/bind9/lib/dns/dnssec.c projects/bhyve/contrib/bind9/lib/dns/ds.c projects/bhyve/contrib/bind9/lib/dns/dst_lib.c projects/bhyve/contrib/bind9/lib/dns/dst_openssl.h projects/bhyve/contrib/bind9/lib/dns/dst_parse.c projects/bhyve/contrib/bind9/lib/dns/dst_parse.h projects/bhyve/contrib/bind9/lib/dns/dst_result.c projects/bhyve/contrib/bind9/lib/dns/forward.c projects/bhyve/contrib/bind9/lib/dns/gen-unix.h projects/bhyve/contrib/bind9/lib/dns/gen.c projects/bhyve/contrib/bind9/lib/dns/gssapi_link.c projects/bhyve/contrib/bind9/lib/dns/hmac_link.c projects/bhyve/contrib/bind9/lib/dns/include/Makefile.in projects/bhyve/contrib/bind9/lib/dns/include/dns/Makefile.in projects/bhyve/contrib/bind9/lib/dns/include/dns/acache.h projects/bhyve/contrib/bind9/lib/dns/include/dns/acl.h projects/bhyve/contrib/bind9/lib/dns/include/dns/adb.h projects/bhyve/contrib/bind9/lib/dns/include/dns/bit.h projects/bhyve/contrib/bind9/lib/dns/include/dns/byaddr.h projects/bhyve/contrib/bind9/lib/dns/include/dns/cache.h projects/bhyve/contrib/bind9/lib/dns/include/dns/callbacks.h projects/bhyve/contrib/bind9/lib/dns/include/dns/cert.h projects/bhyve/contrib/bind9/lib/dns/include/dns/compress.h projects/bhyve/contrib/bind9/lib/dns/include/dns/db.h projects/bhyve/contrib/bind9/lib/dns/include/dns/dbiterator.h projects/bhyve/contrib/bind9/lib/dns/include/dns/dbtable.h projects/bhyve/contrib/bind9/lib/dns/include/dns/dispatch.h projects/bhyve/contrib/bind9/lib/dns/include/dns/dlz.h projects/bhyve/contrib/bind9/lib/dns/include/dns/dnssec.h projects/bhyve/contrib/bind9/lib/dns/include/dns/ds.h projects/bhyve/contrib/bind9/lib/dns/include/dns/fixedname.h projects/bhyve/contrib/bind9/lib/dns/include/dns/forward.h projects/bhyve/contrib/bind9/lib/dns/include/dns/iptable.h projects/bhyve/contrib/bind9/lib/dns/include/dns/journal.h projects/bhyve/contrib/bind9/lib/dns/include/dns/keyflags.h projects/bhyve/contrib/bind9/lib/dns/include/dns/keytable.h projects/bhyve/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/bhyve/contrib/bind9/lib/dns/include/dns/lib.h projects/bhyve/contrib/bind9/lib/dns/include/dns/log.h projects/bhyve/contrib/bind9/lib/dns/include/dns/lookup.h projects/bhyve/contrib/bind9/lib/dns/include/dns/master.h projects/bhyve/contrib/bind9/lib/dns/include/dns/masterdump.h projects/bhyve/contrib/bind9/lib/dns/include/dns/message.h projects/bhyve/contrib/bind9/lib/dns/include/dns/nsec.h projects/bhyve/contrib/bind9/lib/dns/include/dns/nsec3.h projects/bhyve/contrib/bind9/lib/dns/include/dns/opcode.h projects/bhyve/contrib/bind9/lib/dns/include/dns/order.h projects/bhyve/contrib/bind9/lib/dns/include/dns/peer.h projects/bhyve/contrib/bind9/lib/dns/include/dns/portlist.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rbt.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rcode.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdata.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdataclass.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdatalist.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdataset.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdatasetiter.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdataslab.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rdatatype.h projects/bhyve/contrib/bind9/lib/dns/include/dns/request.h projects/bhyve/contrib/bind9/lib/dns/include/dns/rootns.h projects/bhyve/contrib/bind9/lib/dns/include/dns/sdb.h projects/bhyve/contrib/bind9/lib/dns/include/dns/sdlz.h projects/bhyve/contrib/bind9/lib/dns/include/dns/secalg.h projects/bhyve/contrib/bind9/lib/dns/include/dns/secproto.h projects/bhyve/contrib/bind9/lib/dns/include/dns/soa.h projects/bhyve/contrib/bind9/lib/dns/include/dns/ssu.h projects/bhyve/contrib/bind9/lib/dns/include/dns/stats.h projects/bhyve/contrib/bind9/lib/dns/include/dns/tcpmsg.h projects/bhyve/contrib/bind9/lib/dns/include/dns/time.h projects/bhyve/contrib/bind9/lib/dns/include/dns/timer.h projects/bhyve/contrib/bind9/lib/dns/include/dns/tkey.h projects/bhyve/contrib/bind9/lib/dns/include/dns/ttl.h projects/bhyve/contrib/bind9/lib/dns/include/dns/version.h projects/bhyve/contrib/bind9/lib/dns/include/dns/xfrin.h projects/bhyve/contrib/bind9/lib/dns/include/dns/zonekey.h projects/bhyve/contrib/bind9/lib/dns/include/dns/zt.h projects/bhyve/contrib/bind9/lib/dns/include/dst/Makefile.in projects/bhyve/contrib/bind9/lib/dns/include/dst/gssapi.h projects/bhyve/contrib/bind9/lib/dns/include/dst/lib.h projects/bhyve/contrib/bind9/lib/dns/include/dst/result.h projects/bhyve/contrib/bind9/lib/dns/iptable.c projects/bhyve/contrib/bind9/lib/dns/key.c projects/bhyve/contrib/bind9/lib/dns/keytable.c projects/bhyve/contrib/bind9/lib/dns/lib.c projects/bhyve/contrib/bind9/lib/dns/log.c projects/bhyve/contrib/bind9/lib/dns/lookup.c projects/bhyve/contrib/bind9/lib/dns/master.c projects/bhyve/contrib/bind9/lib/dns/masterdump.c projects/bhyve/contrib/bind9/lib/dns/ncache.c projects/bhyve/contrib/bind9/lib/dns/nsec.c projects/bhyve/contrib/bind9/lib/dns/nsec3.c projects/bhyve/contrib/bind9/lib/dns/openssldh_link.c projects/bhyve/contrib/bind9/lib/dns/openssldsa_link.c projects/bhyve/contrib/bind9/lib/dns/opensslrsa_link.c projects/bhyve/contrib/bind9/lib/dns/order.c projects/bhyve/contrib/bind9/lib/dns/peer.c projects/bhyve/contrib/bind9/lib/dns/portlist.c projects/bhyve/contrib/bind9/lib/dns/rbt.c projects/bhyve/contrib/bind9/lib/dns/rbtdb.h projects/bhyve/contrib/bind9/lib/dns/rbtdb64.c projects/bhyve/contrib/bind9/lib/dns/rbtdb64.h projects/bhyve/contrib/bind9/lib/dns/rcode.c projects/bhyve/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c projects/bhyve/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h projects/bhyve/contrib/bind9/lib/dns/rdata/ch_3/a_1.c projects/bhyve/contrib/bind9/lib/dns/rdata/ch_3/a_1.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/cert_37.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/cert_37.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/cname_5.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/cname_5.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dname_39.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dname_39.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ds_43.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ds_43.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/gpos_27.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/gpos_27.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/isdn_20.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/isdn_20.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/key_25.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/key_25.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/loc_29.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/loc_29.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mb_7.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mb_7.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/md_3.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/md_3.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mf_4.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mf_4.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mg_8.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mg_8.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/minfo_14.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/minfo_14.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mr_9.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mr_9.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mx_15.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/mx_15.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ns_2.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ns_2.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nsec_47.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/null_10.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/null_10.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nxt_30.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/nxt_30.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/opt_41.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/opt_41.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/proforma.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/proforma.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ptr_12.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/ptr_12.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/rp_17.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/rp_17.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/rt_21.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/rt_21.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/sig_24.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/sig_24.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/soa_6.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/soa_6.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/spf_99.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/spf_99.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/tkey_249.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/tkey_249.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/txt_16.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/txt_16.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/unspec_103.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/unspec_103.h projects/bhyve/contrib/bind9/lib/dns/rdata/generic/x25_19.c projects/bhyve/contrib/bind9/lib/dns/rdata/generic/x25_19.h projects/bhyve/contrib/bind9/lib/dns/rdata/hs_4/a_1.c projects/bhyve/contrib/bind9/lib/dns/rdata/hs_4/a_1.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/a6_38.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/a6_38.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/a_1.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/a_1.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/apl_42.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/apl_42.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/kx_36.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/kx_36.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/px_26.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/px_26.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/srv_33.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/srv_33.h projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/wks_11.c projects/bhyve/contrib/bind9/lib/dns/rdata/in_1/wks_11.h projects/bhyve/contrib/bind9/lib/dns/rdata/rdatastructpre.h projects/bhyve/contrib/bind9/lib/dns/rdata/rdatastructsuf.h projects/bhyve/contrib/bind9/lib/dns/rdatalist_p.h projects/bhyve/contrib/bind9/lib/dns/rdataset.c projects/bhyve/contrib/bind9/lib/dns/rdatasetiter.c projects/bhyve/contrib/bind9/lib/dns/request.c projects/bhyve/contrib/bind9/lib/dns/soa.c projects/bhyve/contrib/bind9/lib/dns/spnego.asn1 projects/bhyve/contrib/bind9/lib/dns/spnego.c projects/bhyve/contrib/bind9/lib/dns/spnego.h projects/bhyve/contrib/bind9/lib/dns/spnego_asn1.c projects/bhyve/contrib/bind9/lib/dns/spnego_asn1.pl projects/bhyve/contrib/bind9/lib/dns/ssu.c projects/bhyve/contrib/bind9/lib/dns/stats.c projects/bhyve/contrib/bind9/lib/dns/tcpmsg.c projects/bhyve/contrib/bind9/lib/dns/timer.c projects/bhyve/contrib/bind9/lib/dns/ttl.c projects/bhyve/contrib/bind9/lib/dns/validator.c projects/bhyve/contrib/bind9/lib/dns/version.c projects/bhyve/contrib/bind9/lib/dns/xfrin.c projects/bhyve/contrib/bind9/lib/dns/zonekey.c projects/bhyve/contrib/bind9/lib/dns/zt.c projects/bhyve/contrib/bind9/lib/isc/alpha/Makefile.in projects/bhyve/contrib/bind9/lib/isc/alpha/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/alpha/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/assertions.c projects/bhyve/contrib/bind9/lib/isc/base32.c projects/bhyve/contrib/bind9/lib/isc/base64.c projects/bhyve/contrib/bind9/lib/isc/bitstring.c projects/bhyve/contrib/bind9/lib/isc/buffer.c projects/bhyve/contrib/bind9/lib/isc/bufferlist.c projects/bhyve/contrib/bind9/lib/isc/commandline.c projects/bhyve/contrib/bind9/lib/isc/error.c projects/bhyve/contrib/bind9/lib/isc/event.c projects/bhyve/contrib/bind9/lib/isc/fsaccess.c projects/bhyve/contrib/bind9/lib/isc/hash.c projects/bhyve/contrib/bind9/lib/isc/heap.c projects/bhyve/contrib/bind9/lib/isc/hex.c projects/bhyve/contrib/bind9/lib/isc/hmacmd5.c projects/bhyve/contrib/bind9/lib/isc/hmacsha.c projects/bhyve/contrib/bind9/lib/isc/httpd.c projects/bhyve/contrib/bind9/lib/isc/ia64/Makefile.in projects/bhyve/contrib/bind9/lib/isc/ia64/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/include/isc/app.h projects/bhyve/contrib/bind9/lib/isc/include/isc/assertions.h projects/bhyve/contrib/bind9/lib/isc/include/isc/base32.h projects/bhyve/contrib/bind9/lib/isc/include/isc/base64.h projects/bhyve/contrib/bind9/lib/isc/include/isc/bitstring.h projects/bhyve/contrib/bind9/lib/isc/include/isc/boolean.h projects/bhyve/contrib/bind9/lib/isc/include/isc/buffer.h projects/bhyve/contrib/bind9/lib/isc/include/isc/bufferlist.h projects/bhyve/contrib/bind9/lib/isc/include/isc/commandline.h projects/bhyve/contrib/bind9/lib/isc/include/isc/entropy.h projects/bhyve/contrib/bind9/lib/isc/include/isc/error.h projects/bhyve/contrib/bind9/lib/isc/include/isc/event.h projects/bhyve/contrib/bind9/lib/isc/include/isc/eventclass.h projects/bhyve/contrib/bind9/lib/isc/include/isc/file.h projects/bhyve/contrib/bind9/lib/isc/include/isc/formatcheck.h projects/bhyve/contrib/bind9/lib/isc/include/isc/fsaccess.h projects/bhyve/contrib/bind9/lib/isc/include/isc/hash.h projects/bhyve/contrib/bind9/lib/isc/include/isc/heap.h projects/bhyve/contrib/bind9/lib/isc/include/isc/hex.h projects/bhyve/contrib/bind9/lib/isc/include/isc/hmacmd5.h projects/bhyve/contrib/bind9/lib/isc/include/isc/hmacsha.h projects/bhyve/contrib/bind9/lib/isc/include/isc/httpd.h projects/bhyve/contrib/bind9/lib/isc/include/isc/interfaceiter.h projects/bhyve/contrib/bind9/lib/isc/include/isc/ipv6.h projects/bhyve/contrib/bind9/lib/isc/include/isc/iterated_hash.h projects/bhyve/contrib/bind9/lib/isc/include/isc/lang.h projects/bhyve/contrib/bind9/lib/isc/include/isc/lex.h projects/bhyve/contrib/bind9/lib/isc/include/isc/lfsr.h projects/bhyve/contrib/bind9/lib/isc/include/isc/lib.h projects/bhyve/contrib/bind9/lib/isc/include/isc/list.h projects/bhyve/contrib/bind9/lib/isc/include/isc/log.h projects/bhyve/contrib/bind9/lib/isc/include/isc/magic.h projects/bhyve/contrib/bind9/lib/isc/include/isc/md5.h projects/bhyve/contrib/bind9/lib/isc/include/isc/msgcat.h projects/bhyve/contrib/bind9/lib/isc/include/isc/msgs.h projects/bhyve/contrib/bind9/lib/isc/include/isc/mutexblock.h projects/bhyve/contrib/bind9/lib/isc/include/isc/netaddr.h projects/bhyve/contrib/bind9/lib/isc/include/isc/netscope.h projects/bhyve/contrib/bind9/lib/isc/include/isc/ondestroy.h projects/bhyve/contrib/bind9/lib/isc/include/isc/os.h projects/bhyve/contrib/bind9/lib/isc/include/isc/parseint.h projects/bhyve/contrib/bind9/lib/isc/include/isc/portset.h projects/bhyve/contrib/bind9/lib/isc/include/isc/print.h projects/bhyve/contrib/bind9/lib/isc/include/isc/quota.h projects/bhyve/contrib/bind9/lib/isc/include/isc/radix.h projects/bhyve/contrib/bind9/lib/isc/include/isc/random.h projects/bhyve/contrib/bind9/lib/isc/include/isc/ratelimiter.h projects/bhyve/contrib/bind9/lib/isc/include/isc/refcount.h projects/bhyve/contrib/bind9/lib/isc/include/isc/region.h projects/bhyve/contrib/bind9/lib/isc/include/isc/resource.h projects/bhyve/contrib/bind9/lib/isc/include/isc/result.h projects/bhyve/contrib/bind9/lib/isc/include/isc/resultclass.h projects/bhyve/contrib/bind9/lib/isc/include/isc/rwlock.h projects/bhyve/contrib/bind9/lib/isc/include/isc/serial.h projects/bhyve/contrib/bind9/lib/isc/include/isc/sha1.h projects/bhyve/contrib/bind9/lib/isc/include/isc/sha2.h projects/bhyve/contrib/bind9/lib/isc/include/isc/sockaddr.h projects/bhyve/contrib/bind9/lib/isc/include/isc/socket.h projects/bhyve/contrib/bind9/lib/isc/include/isc/stats.h projects/bhyve/contrib/bind9/lib/isc/include/isc/stdio.h projects/bhyve/contrib/bind9/lib/isc/include/isc/stdlib.h projects/bhyve/contrib/bind9/lib/isc/include/isc/string.h projects/bhyve/contrib/bind9/lib/isc/include/isc/symtab.h projects/bhyve/contrib/bind9/lib/isc/include/isc/taskpool.h projects/bhyve/contrib/bind9/lib/isc/include/isc/timer.h projects/bhyve/contrib/bind9/lib/isc/include/isc/types.h projects/bhyve/contrib/bind9/lib/isc/include/isc/util.h projects/bhyve/contrib/bind9/lib/isc/include/isc/version.h projects/bhyve/contrib/bind9/lib/isc/include/isc/xml.h projects/bhyve/contrib/bind9/lib/isc/inet_aton.c projects/bhyve/contrib/bind9/lib/isc/inet_ntop.c projects/bhyve/contrib/bind9/lib/isc/inet_pton.c projects/bhyve/contrib/bind9/lib/isc/iterated_hash.c projects/bhyve/contrib/bind9/lib/isc/lex.c projects/bhyve/contrib/bind9/lib/isc/lfsr.c projects/bhyve/contrib/bind9/lib/isc/lib.c projects/bhyve/contrib/bind9/lib/isc/log.c projects/bhyve/contrib/bind9/lib/isc/md5.c projects/bhyve/contrib/bind9/lib/isc/mips/Makefile.in projects/bhyve/contrib/bind9/lib/isc/mips/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/mips/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/mips/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/mutexblock.c projects/bhyve/contrib/bind9/lib/isc/netaddr.c projects/bhyve/contrib/bind9/lib/isc/netscope.c projects/bhyve/contrib/bind9/lib/isc/nls/Makefile.in projects/bhyve/contrib/bind9/lib/isc/nls/msgcat.c projects/bhyve/contrib/bind9/lib/isc/noatomic/Makefile.in projects/bhyve/contrib/bind9/lib/isc/noatomic/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/noatomic/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/nothreads/condition.c projects/bhyve/contrib/bind9/lib/isc/nothreads/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/nothreads/include/isc/condition.h projects/bhyve/contrib/bind9/lib/isc/nothreads/include/isc/mutex.h projects/bhyve/contrib/bind9/lib/isc/nothreads/include/isc/once.h projects/bhyve/contrib/bind9/lib/isc/nothreads/include/isc/thread.h projects/bhyve/contrib/bind9/lib/isc/nothreads/mutex.c projects/bhyve/contrib/bind9/lib/isc/nothreads/thread.c projects/bhyve/contrib/bind9/lib/isc/ondestroy.c projects/bhyve/contrib/bind9/lib/isc/parseint.c projects/bhyve/contrib/bind9/lib/isc/portset.c projects/bhyve/contrib/bind9/lib/isc/powerpc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/powerpc/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/pthreads/Makefile.in projects/bhyve/contrib/bind9/lib/isc/pthreads/condition.c projects/bhyve/contrib/bind9/lib/isc/pthreads/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/pthreads/include/isc/condition.h projects/bhyve/contrib/bind9/lib/isc/pthreads/include/isc/mutex.h projects/bhyve/contrib/bind9/lib/isc/pthreads/include/isc/once.h projects/bhyve/contrib/bind9/lib/isc/pthreads/include/isc/thread.h projects/bhyve/contrib/bind9/lib/isc/pthreads/thread.c projects/bhyve/contrib/bind9/lib/isc/quota.c projects/bhyve/contrib/bind9/lib/isc/radix.c projects/bhyve/contrib/bind9/lib/isc/random.c projects/bhyve/contrib/bind9/lib/isc/ratelimiter.c projects/bhyve/contrib/bind9/lib/isc/refcount.c projects/bhyve/contrib/bind9/lib/isc/region.c projects/bhyve/contrib/bind9/lib/isc/result.c projects/bhyve/contrib/bind9/lib/isc/rwlock.c projects/bhyve/contrib/bind9/lib/isc/serial.c projects/bhyve/contrib/bind9/lib/isc/sha1.c projects/bhyve/contrib/bind9/lib/isc/sha2.c projects/bhyve/contrib/bind9/lib/isc/sockaddr.c projects/bhyve/contrib/bind9/lib/isc/sparc64/Makefile.in projects/bhyve/contrib/bind9/lib/isc/sparc64/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/sparc64/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/stats.c projects/bhyve/contrib/bind9/lib/isc/string.c projects/bhyve/contrib/bind9/lib/isc/strtoul.c projects/bhyve/contrib/bind9/lib/isc/symtab.c projects/bhyve/contrib/bind9/lib/isc/task_p.h projects/bhyve/contrib/bind9/lib/isc/taskpool.c projects/bhyve/contrib/bind9/lib/isc/timer.c projects/bhyve/contrib/bind9/lib/isc/timer_p.h projects/bhyve/contrib/bind9/lib/isc/unix/Makefile.in projects/bhyve/contrib/bind9/lib/isc/unix/app.c projects/bhyve/contrib/bind9/lib/isc/unix/dir.c projects/bhyve/contrib/bind9/lib/isc/unix/entropy.c projects/bhyve/contrib/bind9/lib/isc/unix/errno2result.c projects/bhyve/contrib/bind9/lib/isc/unix/errno2result.h projects/bhyve/contrib/bind9/lib/isc/unix/file.c projects/bhyve/contrib/bind9/lib/isc/unix/fsaccess.c projects/bhyve/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c projects/bhyve/contrib/bind9/lib/isc/unix/ifiter_ioctl.c projects/bhyve/contrib/bind9/lib/isc/unix/ifiter_sysctl.c projects/bhyve/contrib/bind9/lib/isc/unix/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/dir.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/int.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/keyboard.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/net.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/netdb.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/offset.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/stat.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/stdtime.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/strerror.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/syslog.h projects/bhyve/contrib/bind9/lib/isc/unix/include/isc/time.h projects/bhyve/contrib/bind9/lib/isc/unix/interfaceiter.c projects/bhyve/contrib/bind9/lib/isc/unix/ipv6.c projects/bhyve/contrib/bind9/lib/isc/unix/keyboard.c projects/bhyve/contrib/bind9/lib/isc/unix/net.c projects/bhyve/contrib/bind9/lib/isc/unix/os.c projects/bhyve/contrib/bind9/lib/isc/unix/resource.c projects/bhyve/contrib/bind9/lib/isc/unix/socket_p.h projects/bhyve/contrib/bind9/lib/isc/unix/stdio.c projects/bhyve/contrib/bind9/lib/isc/unix/stdtime.c projects/bhyve/contrib/bind9/lib/isc/unix/strerror.c projects/bhyve/contrib/bind9/lib/isc/unix/syslog.c projects/bhyve/contrib/bind9/lib/isc/unix/time.c projects/bhyve/contrib/bind9/lib/isc/version.c projects/bhyve/contrib/bind9/lib/isc/x86_32/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_32/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_32/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isc/x86_64/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_64/include/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in projects/bhyve/contrib/bind9/lib/isc/x86_64/include/isc/atomic.h projects/bhyve/contrib/bind9/lib/isccc/Makefile.in projects/bhyve/contrib/bind9/lib/isccc/alist.c projects/bhyve/contrib/bind9/lib/isccc/base64.c projects/bhyve/contrib/bind9/lib/isccc/cc.c projects/bhyve/contrib/bind9/lib/isccc/ccmsg.c projects/bhyve/contrib/bind9/lib/isccc/include/Makefile.in projects/bhyve/contrib/bind9/lib/isccc/include/isccc/Makefile.in projects/bhyve/contrib/bind9/lib/isccc/include/isccc/alist.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/base64.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/cc.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/ccmsg.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/events.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/lib.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/result.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/sexpr.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/symtab.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/symtype.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/types.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/util.h projects/bhyve/contrib/bind9/lib/isccc/include/isccc/version.h projects/bhyve/contrib/bind9/lib/isccc/lib.c projects/bhyve/contrib/bind9/lib/isccc/result.c projects/bhyve/contrib/bind9/lib/isccc/sexpr.c projects/bhyve/contrib/bind9/lib/isccc/symtab.c projects/bhyve/contrib/bind9/lib/isccc/version.c projects/bhyve/contrib/bind9/lib/isccfg/Makefile.in projects/bhyve/contrib/bind9/lib/isccfg/aclconf.c projects/bhyve/contrib/bind9/lib/isccfg/include/Makefile.in projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/cfg.h projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/grammar.h projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/log.h projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h projects/bhyve/contrib/bind9/lib/isccfg/include/isccfg/version.h projects/bhyve/contrib/bind9/lib/isccfg/log.c projects/bhyve/contrib/bind9/lib/isccfg/parser.c projects/bhyve/contrib/bind9/lib/isccfg/version.c projects/bhyve/contrib/bind9/lib/lwres/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/assert_p.h projects/bhyve/contrib/bind9/lib/lwres/context.c projects/bhyve/contrib/bind9/lib/lwres/context_p.h projects/bhyve/contrib/bind9/lib/lwres/gai_strerror.c projects/bhyve/contrib/bind9/lib/lwres/getaddrinfo.c projects/bhyve/contrib/bind9/lib/lwres/gethost.c projects/bhyve/contrib/bind9/lib/lwres/getipnode.c projects/bhyve/contrib/bind9/lib/lwres/getnameinfo.c projects/bhyve/contrib/bind9/lib/lwres/getrrset.c projects/bhyve/contrib/bind9/lib/lwres/herror.c projects/bhyve/contrib/bind9/lib/lwres/include/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/include/lwres/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/include/lwres/context.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/int.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/ipv6.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/lang.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/list.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/lwbuffer.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/lwpacket.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/lwres.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/netdb.h.in projects/bhyve/contrib/bind9/lib/lwres/include/lwres/platform.h.in projects/bhyve/contrib/bind9/lib/lwres/include/lwres/result.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/stdlib.h projects/bhyve/contrib/bind9/lib/lwres/include/lwres/version.h projects/bhyve/contrib/bind9/lib/lwres/lwbuffer.c projects/bhyve/contrib/bind9/lib/lwres/lwconfig.c projects/bhyve/contrib/bind9/lib/lwres/lwinetaton.c projects/bhyve/contrib/bind9/lib/lwres/lwinetntop.c projects/bhyve/contrib/bind9/lib/lwres/lwinetpton.c projects/bhyve/contrib/bind9/lib/lwres/lwpacket.c projects/bhyve/contrib/bind9/lib/lwres/lwres_gabn.c projects/bhyve/contrib/bind9/lib/lwres/lwres_gnba.c projects/bhyve/contrib/bind9/lib/lwres/lwres_grbn.c projects/bhyve/contrib/bind9/lib/lwres/lwres_noop.c projects/bhyve/contrib/bind9/lib/lwres/lwresutil.c projects/bhyve/contrib/bind9/lib/lwres/man/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/man/lwres.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_buffer.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_buffer.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_config.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_config.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_context.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_context.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gabn.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gabn.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gai_strerror.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gethostent.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gethostent.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getipnode.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getipnode.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getnameinfo.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gnba.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_gnba.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_hstrerror.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_hstrerror.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_inetntop.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_inetntop.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_noop.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_noop.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_packet.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_packet.docbook projects/bhyve/contrib/bind9/lib/lwres/man/lwres_resutil.3 projects/bhyve/contrib/bind9/lib/lwres/man/lwres_resutil.docbook projects/bhyve/contrib/bind9/lib/lwres/print.c projects/bhyve/contrib/bind9/lib/lwres/strtoul.c projects/bhyve/contrib/bind9/lib/lwres/unix/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/unix/include/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in projects/bhyve/contrib/bind9/lib/lwres/unix/include/lwres/net.h projects/bhyve/contrib/bind9/lib/lwres/version.c projects/bhyve/contrib/bind9/make/Makefile.in projects/bhyve/contrib/bind9/make/includes.in projects/bhyve/contrib/bind9/make/rules.in projects/bhyve/contrib/bind9/mkinstalldirs projects/bhyve/contrib/bind9/version projects/bhyve/contrib/binutils/bfd/coffcode.h projects/bhyve/contrib/binutils/bfd/opncls.c projects/bhyve/contrib/binutils/bfd/peicode.h projects/bhyve/contrib/binutils/gas/config/obj-elf.c projects/bhyve/contrib/binutils/gas/frags.c projects/bhyve/contrib/binutils/gas/subsegs.c projects/bhyve/contrib/binutils/ld/emulparams/elf64bmip-defs.sh projects/bhyve/contrib/binutils/ld/ldexp.c projects/bhyve/contrib/binutils/ld/sysdep.h projects/bhyve/contrib/binutils/opcodes/i386-dis.c projects/bhyve/contrib/compiler-rt/CREDITS.TXT projects/bhyve/contrib/compiler-rt/LICENSE.TXT projects/bhyve/contrib/compiler-rt/README.txt projects/bhyve/contrib/compiler-rt/lib/absvdi2.c projects/bhyve/contrib/compiler-rt/lib/absvsi2.c projects/bhyve/contrib/compiler-rt/lib/absvti2.c projects/bhyve/contrib/compiler-rt/lib/adddf3.c projects/bhyve/contrib/compiler-rt/lib/addsf3.c projects/bhyve/contrib/compiler-rt/lib/addvdi3.c projects/bhyve/contrib/compiler-rt/lib/addvsi3.c projects/bhyve/contrib/compiler-rt/lib/addvti3.c projects/bhyve/contrib/compiler-rt/lib/apple_versioning.c projects/bhyve/contrib/compiler-rt/lib/arm/adddf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/addsf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/bswapdi2.S projects/bhyve/contrib/compiler-rt/lib/arm/bswapsi2.S projects/bhyve/contrib/compiler-rt/lib/arm/comparesf2.S projects/bhyve/contrib/compiler-rt/lib/arm/divdf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/divsf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/eqdf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/eqsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/fixdfsivfp.S projects/bhyve/contrib/compiler-rt/lib/arm/fixsfsivfp.S projects/bhyve/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S projects/bhyve/contrib/compiler-rt/lib/arm/fixunssfsivfp.S projects/bhyve/contrib/compiler-rt/lib/arm/floatsidfvfp.S projects/bhyve/contrib/compiler-rt/lib/arm/floatsisfvfp.S projects/bhyve/contrib/compiler-rt/lib/arm/floatunssidfvfp.S projects/bhyve/contrib/compiler-rt/lib/arm/floatunssisfvfp.S projects/bhyve/contrib/compiler-rt/lib/arm/gedf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/gesf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/gtdf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/gtsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/ledf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/lesf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/ltdf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/ltsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/modsi3.S projects/bhyve/contrib/compiler-rt/lib/arm/muldf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/mulsf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/nedf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/negdf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/negsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/nesf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/restore_vfp_d8_d15_regs.S projects/bhyve/contrib/compiler-rt/lib/arm/save_vfp_d8_d15_regs.S projects/bhyve/contrib/compiler-rt/lib/arm/subdf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/subsf3vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/switch16.S projects/bhyve/contrib/compiler-rt/lib/arm/switch32.S projects/bhyve/contrib/compiler-rt/lib/arm/switch8.S projects/bhyve/contrib/compiler-rt/lib/arm/switchu8.S projects/bhyve/contrib/compiler-rt/lib/arm/sync_synchronize.S projects/bhyve/contrib/compiler-rt/lib/arm/truncdfsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/unorddf2vfp.S projects/bhyve/contrib/compiler-rt/lib/arm/unordsf2vfp.S projects/bhyve/contrib/compiler-rt/lib/ashldi3.c projects/bhyve/contrib/compiler-rt/lib/ashlti3.c projects/bhyve/contrib/compiler-rt/lib/ashrdi3.c projects/bhyve/contrib/compiler-rt/lib/ashrti3.c projects/bhyve/contrib/compiler-rt/lib/assembly.h projects/bhyve/contrib/compiler-rt/lib/clear_cache.c projects/bhyve/contrib/compiler-rt/lib/clzdi2.c projects/bhyve/contrib/compiler-rt/lib/clzsi2.c projects/bhyve/contrib/compiler-rt/lib/clzti2.c projects/bhyve/contrib/compiler-rt/lib/cmpdi2.c projects/bhyve/contrib/compiler-rt/lib/cmpti2.c projects/bhyve/contrib/compiler-rt/lib/comparedf2.c projects/bhyve/contrib/compiler-rt/lib/comparesf2.c projects/bhyve/contrib/compiler-rt/lib/ctzdi2.c projects/bhyve/contrib/compiler-rt/lib/ctzsi2.c projects/bhyve/contrib/compiler-rt/lib/ctzti2.c projects/bhyve/contrib/compiler-rt/lib/divdc3.c projects/bhyve/contrib/compiler-rt/lib/divdf3.c projects/bhyve/contrib/compiler-rt/lib/divdi3.c projects/bhyve/contrib/compiler-rt/lib/divsc3.c projects/bhyve/contrib/compiler-rt/lib/divsf3.c projects/bhyve/contrib/compiler-rt/lib/divsi3.c projects/bhyve/contrib/compiler-rt/lib/divti3.c projects/bhyve/contrib/compiler-rt/lib/divxc3.c projects/bhyve/contrib/compiler-rt/lib/enable_execute_stack.c projects/bhyve/contrib/compiler-rt/lib/endianness.h projects/bhyve/contrib/compiler-rt/lib/eprintf.c projects/bhyve/contrib/compiler-rt/lib/extendsfdf2.c projects/bhyve/contrib/compiler-rt/lib/ffsdi2.c projects/bhyve/contrib/compiler-rt/lib/ffsti2.c projects/bhyve/contrib/compiler-rt/lib/fixdfdi.c projects/bhyve/contrib/compiler-rt/lib/fixdfsi.c projects/bhyve/contrib/compiler-rt/lib/fixdfti.c projects/bhyve/contrib/compiler-rt/lib/fixsfdi.c projects/bhyve/contrib/compiler-rt/lib/fixsfsi.c projects/bhyve/contrib/compiler-rt/lib/fixsfti.c projects/bhyve/contrib/compiler-rt/lib/fixunsdfdi.c projects/bhyve/contrib/compiler-rt/lib/fixunsdfsi.c projects/bhyve/contrib/compiler-rt/lib/fixunsdfti.c projects/bhyve/contrib/compiler-rt/lib/fixunssfdi.c projects/bhyve/contrib/compiler-rt/lib/fixunssfsi.c projects/bhyve/contrib/compiler-rt/lib/fixunssfti.c projects/bhyve/contrib/compiler-rt/lib/fixunsxfdi.c projects/bhyve/contrib/compiler-rt/lib/fixunsxfsi.c projects/bhyve/contrib/compiler-rt/lib/fixunsxfti.c projects/bhyve/contrib/compiler-rt/lib/fixxfdi.c projects/bhyve/contrib/compiler-rt/lib/fixxfti.c projects/bhyve/contrib/compiler-rt/lib/floatdidf.c projects/bhyve/contrib/compiler-rt/lib/floatdisf.c projects/bhyve/contrib/compiler-rt/lib/floatdixf.c projects/bhyve/contrib/compiler-rt/lib/floatsidf.c projects/bhyve/contrib/compiler-rt/lib/floatsisf.c projects/bhyve/contrib/compiler-rt/lib/floattidf.c projects/bhyve/contrib/compiler-rt/lib/floattisf.c projects/bhyve/contrib/compiler-rt/lib/floattixf.c projects/bhyve/contrib/compiler-rt/lib/floatundidf.c projects/bhyve/contrib/compiler-rt/lib/floatundisf.c projects/bhyve/contrib/compiler-rt/lib/floatundixf.c projects/bhyve/contrib/compiler-rt/lib/floatunsidf.c projects/bhyve/contrib/compiler-rt/lib/floatunsisf.c projects/bhyve/contrib/compiler-rt/lib/floatuntidf.c projects/bhyve/contrib/compiler-rt/lib/floatuntisf.c projects/bhyve/contrib/compiler-rt/lib/floatuntixf.c projects/bhyve/contrib/compiler-rt/lib/fp_lib.h projects/bhyve/contrib/compiler-rt/lib/gcc_personality_v0.c projects/bhyve/contrib/compiler-rt/lib/i386/ashldi3.S projects/bhyve/contrib/compiler-rt/lib/i386/ashrdi3.S projects/bhyve/contrib/compiler-rt/lib/i386/divdi3.S projects/bhyve/contrib/compiler-rt/lib/i386/floatdidf.S projects/bhyve/contrib/compiler-rt/lib/i386/floatdisf.S projects/bhyve/contrib/compiler-rt/lib/i386/floatdixf.S projects/bhyve/contrib/compiler-rt/lib/i386/floatundidf.S projects/bhyve/contrib/compiler-rt/lib/i386/floatundisf.S projects/bhyve/contrib/compiler-rt/lib/i386/floatundixf.S projects/bhyve/contrib/compiler-rt/lib/i386/lshrdi3.S projects/bhyve/contrib/compiler-rt/lib/i386/moddi3.S projects/bhyve/contrib/compiler-rt/lib/i386/muldi3.S projects/bhyve/contrib/compiler-rt/lib/i386/udivdi3.S projects/bhyve/contrib/compiler-rt/lib/i386/umoddi3.S projects/bhyve/contrib/compiler-rt/lib/int_lib.h projects/bhyve/contrib/compiler-rt/lib/lshrdi3.c projects/bhyve/contrib/compiler-rt/lib/lshrti3.c projects/bhyve/contrib/compiler-rt/lib/moddi3.c projects/bhyve/contrib/compiler-rt/lib/modsi3.c projects/bhyve/contrib/compiler-rt/lib/modti3.c projects/bhyve/contrib/compiler-rt/lib/muldc3.c projects/bhyve/contrib/compiler-rt/lib/muldf3.c projects/bhyve/contrib/compiler-rt/lib/muldi3.c projects/bhyve/contrib/compiler-rt/lib/mulsc3.c projects/bhyve/contrib/compiler-rt/lib/mulsf3.c projects/bhyve/contrib/compiler-rt/lib/multi3.c projects/bhyve/contrib/compiler-rt/lib/mulvdi3.c projects/bhyve/contrib/compiler-rt/lib/mulvsi3.c projects/bhyve/contrib/compiler-rt/lib/mulvti3.c projects/bhyve/contrib/compiler-rt/lib/mulxc3.c projects/bhyve/contrib/compiler-rt/lib/negdf2.c projects/bhyve/contrib/compiler-rt/lib/negdi2.c projects/bhyve/contrib/compiler-rt/lib/negsf2.c projects/bhyve/contrib/compiler-rt/lib/negti2.c projects/bhyve/contrib/compiler-rt/lib/negvdi2.c projects/bhyve/contrib/compiler-rt/lib/negvsi2.c projects/bhyve/contrib/compiler-rt/lib/negvti2.c projects/bhyve/contrib/compiler-rt/lib/paritydi2.c projects/bhyve/contrib/compiler-rt/lib/paritysi2.c projects/bhyve/contrib/compiler-rt/lib/parityti2.c projects/bhyve/contrib/compiler-rt/lib/popcountdi2.c projects/bhyve/contrib/compiler-rt/lib/popcountsi2.c projects/bhyve/contrib/compiler-rt/lib/popcountti2.c projects/bhyve/contrib/compiler-rt/lib/powidf2.c projects/bhyve/contrib/compiler-rt/lib/powisf2.c projects/bhyve/contrib/compiler-rt/lib/powitf2.c projects/bhyve/contrib/compiler-rt/lib/powixf2.c projects/bhyve/contrib/compiler-rt/lib/ppc/restFP.S projects/bhyve/contrib/compiler-rt/lib/ppc/saveFP.S projects/bhyve/contrib/compiler-rt/lib/subvdi3.c projects/bhyve/contrib/compiler-rt/lib/subvsi3.c projects/bhyve/contrib/compiler-rt/lib/subvti3.c projects/bhyve/contrib/compiler-rt/lib/trampoline_setup.c projects/bhyve/contrib/compiler-rt/lib/truncdfsf2.c projects/bhyve/contrib/compiler-rt/lib/ucmpdi2.c projects/bhyve/contrib/compiler-rt/lib/ucmpti2.c projects/bhyve/contrib/compiler-rt/lib/udivdi3.c projects/bhyve/contrib/compiler-rt/lib/udivmoddi4.c projects/bhyve/contrib/compiler-rt/lib/udivmodti4.c projects/bhyve/contrib/compiler-rt/lib/udivsi3.c projects/bhyve/contrib/compiler-rt/lib/udivti3.c projects/bhyve/contrib/compiler-rt/lib/umoddi3.c projects/bhyve/contrib/compiler-rt/lib/umodsi3.c projects/bhyve/contrib/compiler-rt/lib/umodti3.c projects/bhyve/contrib/compiler-rt/lib/x86_64/floatundidf.S projects/bhyve/contrib/compiler-rt/lib/x86_64/floatundisf.S projects/bhyve/contrib/compiler-rt/lib/x86_64/floatundixf.S projects/bhyve/contrib/dialog/dialog.h projects/bhyve/contrib/gcc/cfg.c projects/bhyve/contrib/gcc/output.h projects/bhyve/contrib/gcc/rtl.h projects/bhyve/contrib/gcc/tree.h projects/bhyve/contrib/gdb/gdb/ppcfbsd-tdep.c projects/bhyve/contrib/gperf/src/gen-perf.cc projects/bhyve/contrib/gperf/src/key-list.cc projects/bhyve/contrib/groff/tmac/doc-common projects/bhyve/contrib/groff/tmac/doc-syms projects/bhyve/contrib/groff/tmac/doc.tmac projects/bhyve/contrib/groff/tmac/troffrc projects/bhyve/contrib/less/NEWS projects/bhyve/contrib/less/README projects/bhyve/contrib/less/command.c projects/bhyve/contrib/less/funcs.h projects/bhyve/contrib/less/less.man projects/bhyve/contrib/less/less.nro projects/bhyve/contrib/less/lessecho.man projects/bhyve/contrib/less/lessecho.nro projects/bhyve/contrib/less/lesskey.man projects/bhyve/contrib/less/lesskey.nro projects/bhyve/contrib/less/optfunc.c projects/bhyve/contrib/less/opttbl.c projects/bhyve/contrib/less/version.c projects/bhyve/contrib/libpcap/pcap-bpf.c projects/bhyve/contrib/llvm/include/llvm-c/Core.h projects/bhyve/contrib/llvm/include/llvm-c/Disassembler.h projects/bhyve/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/StringRef.h projects/bhyve/contrib/llvm/include/llvm/ADT/Triple.h projects/bhyve/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/bhyve/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/bhyve/contrib/llvm/include/llvm/Analysis/DIBuilder.h projects/bhyve/contrib/llvm/include/llvm/Analysis/DebugInfo.h projects/bhyve/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h projects/bhyve/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/bhyve/contrib/llvm/include/llvm/Analysis/RegionPass.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/bhyve/contrib/llvm/include/llvm/Argument.h projects/bhyve/contrib/llvm/include/llvm/Attributes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h projects/bhyve/contrib/llvm/include/llvm/CompilerDriver/Common.td projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/bhyve/contrib/llvm/include/llvm/Function.h projects/bhyve/contrib/llvm/include/llvm/InitializePasses.h projects/bhyve/contrib/llvm/include/llvm/IntrinsicInst.h projects/bhyve/contrib/llvm/include/llvm/Intrinsics.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsARM.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsX86.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsXCore.td projects/bhyve/contrib/llvm/include/llvm/LinkAllPasses.h projects/bhyve/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/bhyve/contrib/llvm/include/llvm/MC/MCDwarf.h projects/bhyve/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h projects/bhyve/contrib/llvm/include/llvm/MC/MCExpr.h projects/bhyve/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h projects/bhyve/contrib/llvm/include/llvm/MC/MCStreamer.h projects/bhyve/contrib/llvm/include/llvm/Metadata.h projects/bhyve/contrib/llvm/include/llvm/Operator.h projects/bhyve/contrib/llvm/include/llvm/Support/Casting.h projects/bhyve/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h projects/bhyve/contrib/llvm/include/llvm/Support/Dwarf.h projects/bhyve/contrib/llvm/include/llvm/Support/IRBuilder.h projects/bhyve/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/bhyve/contrib/llvm/include/llvm/Support/PatternMatch.h projects/bhyve/contrib/llvm/include/llvm/Support/Program.h projects/bhyve/contrib/llvm/include/llvm/Support/SourceMgr.h projects/bhyve/contrib/llvm/include/llvm/Target/Target.td projects/bhyve/contrib/llvm/include/llvm/Target/TargetAsmInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLowering.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetOptions.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/bhyve/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/bhyve/contrib/llvm/include/llvm/Type.h projects/bhyve/contrib/llvm/lib/Analysis/Analysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/bhyve/contrib/llvm/lib/Analysis/DIBuilder.cpp projects/bhyve/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp projects/bhyve/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp projects/bhyve/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp projects/bhyve/contrib/llvm/lib/Analysis/IVUsers.cpp projects/bhyve/contrib/llvm/lib/Analysis/InlineCost.cpp projects/bhyve/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/bhyve/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/Loads.cpp projects/bhyve/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/RegionPass.cpp projects/bhyve/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/bhyve/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLLexer.h projects/bhyve/contrib/llvm/lib/AsmParser/LLParser.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLToken.h projects/bhyve/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/bhyve/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/bhyve/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h projects/bhyve/contrib/llvm/lib/CodeGen/AllocationOrder.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AllocationOrder.h projects/bhyve/contrib/llvm/lib/CodeGen/AntiDepBreaker.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/bhyve/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/bhyve/contrib/llvm/lib/CodeGen/BranchFolding.h projects/bhyve/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h projects/bhyve/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp projects/bhyve/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/bhyve/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveDebugVariables.h projects/bhyve/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveRangeEdit.h projects/bhyve/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/bhyve/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocBase.h projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h projects/bhyve/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SplitKit.h projects/bhyve/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/bhyve/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp projects/bhyve/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/bhyve/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/MC/ELFObjectWriter.h projects/bhyve/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCAssembler.cpp projects/bhyve/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/bhyve/contrib/llvm/lib/MC/MCDwarf.cpp projects/bhyve/contrib/llvm/lib/MC/MCELF.cpp projects/bhyve/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCExpr.cpp projects/bhyve/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/bhyve/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/WinCOFFStreamer.cpp projects/bhyve/contrib/llvm/lib/Support/APInt.cpp projects/bhyve/contrib/llvm/lib/Support/Dwarf.cpp projects/bhyve/contrib/llvm/lib/Support/FoldingSet.cpp projects/bhyve/contrib/llvm/lib/Support/Host.cpp projects/bhyve/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/bhyve/contrib/llvm/lib/Support/SourceMgr.cpp projects/bhyve/contrib/llvm/lib/Support/Unix/Host.inc projects/bhyve/contrib/llvm/lib/Support/Unix/Program.inc projects/bhyve/contrib/llvm/lib/Support/Windows/Program.inc projects/bhyve/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMFixupKinds.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMPerfectShuffle.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h projects/bhyve/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h projects/bhyve/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h projects/bhyve/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.h projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/Mips.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/PTX/PTX.td projects/bhyve/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/PTX/PTXISelLowering.h projects/bhyve/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/PTX/PTXSubtarget.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPC.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h projects/bhyve/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/bhyve/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/bhyve/contrib/llvm/lib/Target/TargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/TargetRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/X86/X86.td projects/bhyve/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrExtension.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/bhyve/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.td projects/bhyve/contrib/llvm/lib/Transforms/IPO/DeadTypeElimination.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/bhyve/contrib/llvm/lib/VMCore/Attributes.cpp projects/bhyve/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/bhyve/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp projects/bhyve/contrib/llvm/lib/VMCore/Function.cpp projects/bhyve/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/bhyve/contrib/llvm/lib/VMCore/InlineAsm.cpp projects/bhyve/contrib/llvm/lib/VMCore/Instructions.cpp projects/bhyve/contrib/llvm/lib/VMCore/PassManager.cpp projects/bhyve/contrib/llvm/lib/VMCore/Type.cpp projects/bhyve/contrib/llvm/lib/VMCore/Verifier.cpp projects/bhyve/contrib/llvm/tools/clang/include/clang-c/Index.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/APValue.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/bhyve/contrib/llvm/tools/clang/lib/AST/APValue.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Mangle.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/mmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Index/CallGraph.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Index/Indexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/GRState.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/bhyve/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/bhyve/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/bhyve/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/NeonEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/Record.cpp projects/bhyve/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/TGLexer.cpp projects/bhyve/contrib/llvm/utils/TableGen/TGLexer.h projects/bhyve/contrib/llvm/utils/TableGen/TGParser.h projects/bhyve/contrib/llvm/utils/TableGen/TableGen.cpp projects/bhyve/contrib/ntp/ntpd/ntp_io.c projects/bhyve/contrib/openbsm/libbsm/audit_submit.3 projects/bhyve/contrib/pf/pfctl/pfctl.8 projects/bhyve/contrib/pf/pfctl/pfctl.c projects/bhyve/contrib/pf/pfctl/pfctl_optimize.c projects/bhyve/contrib/pf/pfctl/pfctl_parser.c projects/bhyve/contrib/pf/pfctl/pfctl_parser.h projects/bhyve/contrib/sendmail/CACerts projects/bhyve/contrib/sendmail/FREEBSD-upgrade projects/bhyve/contrib/sendmail/KNOWNBUGS projects/bhyve/contrib/sendmail/LICENSE projects/bhyve/contrib/sendmail/PGPKEYS projects/bhyve/contrib/sendmail/RELEASE_NOTES projects/bhyve/contrib/sendmail/cf/cf/submit.cf projects/bhyve/contrib/sendmail/cf/feature/ldap_routing.m4 projects/bhyve/contrib/sendmail/cf/m4/cfhead.m4 projects/bhyve/contrib/sendmail/cf/m4/proto.m4 projects/bhyve/contrib/sendmail/cf/m4/version.m4 projects/bhyve/contrib/sendmail/contrib/qtool.pl projects/bhyve/contrib/sendmail/doc/op/op.me projects/bhyve/contrib/sendmail/include/sm/conf.h projects/bhyve/contrib/sendmail/libmilter/docs/overview.html projects/bhyve/contrib/sendmail/libmilter/docs/smfi_stop.html projects/bhyve/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html projects/bhyve/contrib/sendmail/libmilter/engine.c projects/bhyve/contrib/sendmail/libmilter/sm_gethost.c projects/bhyve/contrib/sendmail/libmilter/worker.c projects/bhyve/contrib/sendmail/libsm/ldap.c projects/bhyve/contrib/sendmail/makemap/makemap.c projects/bhyve/contrib/sendmail/src/Makefile.m4 projects/bhyve/contrib/sendmail/src/conf.c projects/bhyve/contrib/sendmail/src/daemon.c projects/bhyve/contrib/sendmail/src/deliver.c projects/bhyve/contrib/sendmail/src/domain.c projects/bhyve/contrib/sendmail/src/envelope.c projects/bhyve/contrib/sendmail/src/err.c projects/bhyve/contrib/sendmail/src/main.c projects/bhyve/contrib/sendmail/src/map.c projects/bhyve/contrib/sendmail/src/mci.c projects/bhyve/contrib/sendmail/src/parseaddr.c projects/bhyve/contrib/sendmail/src/queue.c projects/bhyve/contrib/sendmail/src/readcf.c projects/bhyve/contrib/sendmail/src/sendmail.8 projects/bhyve/contrib/sendmail/src/sendmail.h projects/bhyve/contrib/sendmail/src/sm_resolve.c projects/bhyve/contrib/sendmail/src/srvrsmtp.c projects/bhyve/contrib/sendmail/src/tls.c projects/bhyve/contrib/sendmail/src/udb.c projects/bhyve/contrib/sendmail/src/usersmtp.c projects/bhyve/contrib/sendmail/src/version.c projects/bhyve/contrib/top/commands.c projects/bhyve/contrib/top/display.c projects/bhyve/contrib/top/machine.h projects/bhyve/contrib/top/top.X projects/bhyve/contrib/top/top.c projects/bhyve/contrib/top/top.h projects/bhyve/etc/defaults/rc.conf projects/bhyve/etc/network.subr projects/bhyve/etc/periodic/daily/800.scrub-zfs projects/bhyve/etc/periodic/monthly/Makefile projects/bhyve/etc/rc.d/Makefile projects/bhyve/etc/rc.d/mountcritremote projects/bhyve/etc/rc.d/nfsclient projects/bhyve/etc/rc.d/rtadvd projects/bhyve/etc/rc.d/var projects/bhyve/etc/rc.subr projects/bhyve/etc/sendmail/freebsd.mc projects/bhyve/etc/sendmail/freebsd.submit.mc projects/bhyve/games/fortune/datfiles/fortunes projects/bhyve/gnu/usr.bin/Makefile projects/bhyve/gnu/usr.bin/gdb/kgdb/kthr.c projects/bhyve/gnu/usr.bin/grep/Makefile projects/bhyve/gnu/usr.bin/groff/tmac/mdoc.local projects/bhyve/lib/clang/include/clang/Basic/Version.inc projects/bhyve/lib/clang/libclangfrontend/Makefile projects/bhyve/lib/clang/libllvmasmprinter/Makefile projects/bhyve/lib/clang/libllvmcodegen/Makefile projects/bhyve/lib/clang/libllvmmc/Makefile projects/bhyve/lib/clang/libllvmmipscodegen/Makefile projects/bhyve/lib/libc/db/btree/bt_split.c projects/bhyve/lib/libc/db/man/mpool.3 projects/bhyve/lib/libc/gen/basename.3 projects/bhyve/lib/libc/gen/basename.c projects/bhyve/lib/libc/gen/feature_present.3 projects/bhyve/lib/libc/gen/ftw.c projects/bhyve/lib/libc/gen/posix_spawn.3 projects/bhyve/lib/libc/gen/posix_spawn.c projects/bhyve/lib/libc/gen/sysconf.c projects/bhyve/lib/libc/iconv/Symbol.map projects/bhyve/lib/libc/iconv/citrus_mapper.c projects/bhyve/lib/libc/iconv/iconv.c projects/bhyve/lib/libc/iconv/iconvctl.3 projects/bhyve/lib/libc/net/sctp_opt_info.3 projects/bhyve/lib/libc/net/sctp_sys_calls.c projects/bhyve/lib/libc/sys/wait.2 projects/bhyve/lib/libcompiler_rt/Makefile projects/bhyve/lib/libiconv/Makefile projects/bhyve/lib/libkvm/kvm_pcpu.c projects/bhyve/lib/libmemstat/memstat_uma.c projects/bhyve/lib/libprocstat/libprocstat.c projects/bhyve/lib/libstand/bswap.c projects/bhyve/lib/libstand/net.c projects/bhyve/lib/libstand/tftp.c projects/bhyve/lib/libstand/zalloc.c projects/bhyve/lib/libstand/zalloc_malloc.c projects/bhyve/lib/libthr/arch/sparc64/Makefile.inc projects/bhyve/lib/libthr/arch/sparc64/include/pthread_md.h projects/bhyve/lib/libthr/arch/sparc64/sparc64/pthread_md.c projects/bhyve/lib/libthr/thread/thr_init.c projects/bhyve/lib/msun/ld128/e_rem_pio2l.h projects/bhyve/lib/msun/ld80/e_rem_pio2l.h projects/bhyve/lib/msun/src/e_rem_pio2.c projects/bhyve/lib/msun/src/s_cosl.c projects/bhyve/lib/msun/src/s_sinl.c projects/bhyve/lib/msun/src/s_tanl.c projects/bhyve/libexec/comsat/comsat.c projects/bhyve/libexec/rtld-elf/Makefile projects/bhyve/libexec/rtld-elf/rtld.c projects/bhyve/libexec/tftpd/tftp-io.c projects/bhyve/libexec/tftpd/tftpd.8 projects/bhyve/release/Makefile projects/bhyve/release/doc/en_US.ISO8859-1/relnotes/article.sgml projects/bhyve/release/ia64/mkisoimages.sh projects/bhyve/release/powerpc/mkisoimages.sh projects/bhyve/sbin/camcontrol/camcontrol.c projects/bhyve/sbin/ddb/ddb.8 projects/bhyve/sbin/fsck_ffs/suj.c projects/bhyve/sbin/geom/class/part/geom_part.c projects/bhyve/sbin/geom/class/part/gpart.8 projects/bhyve/sbin/geom/class/sched/Makefile projects/bhyve/sbin/hastd/primary.c projects/bhyve/sbin/hastd/secondary.c projects/bhyve/sbin/ifconfig/Makefile projects/bhyve/sbin/ifconfig/af_inet.c projects/bhyve/sbin/ifconfig/af_inet6.c projects/bhyve/sbin/ifconfig/af_nd6.c projects/bhyve/sbin/ifconfig/ifconfig.8 projects/bhyve/sbin/ifconfig/ifconfig.c projects/bhyve/sbin/ipfw/ipfw.8 projects/bhyve/sbin/ipfw/ipfw2.c projects/bhyve/sbin/ipfw/ipfw2.h projects/bhyve/sbin/ipfw/main.c projects/bhyve/sbin/ipfw/nat.c projects/bhyve/sbin/mount/mount.8 projects/bhyve/sbin/mount/mount.c projects/bhyve/sbin/newfs/newfs.8 projects/bhyve/sbin/newfs/newfs.h projects/bhyve/sbin/rcorder/rcorder.8 projects/bhyve/sbin/rtsol/Makefile projects/bhyve/sbin/setkey/setkey.8 projects/bhyve/sbin/umount/umount.8 projects/bhyve/sbin/umount/umount.c projects/bhyve/share/examples/Makefile projects/bhyve/share/examples/etc/make.conf projects/bhyve/share/examples/ses/srcs/eltsub.c projects/bhyve/share/man/man4/Makefile projects/bhyve/share/man/man4/amdsbwd.4 projects/bhyve/share/man/man4/ath.4 projects/bhyve/share/man/man4/ath_hal.4 projects/bhyve/share/man/man4/atkbd.4 projects/bhyve/share/man/man4/atrtc.4 projects/bhyve/share/man/man4/attimer.4 projects/bhyve/share/man/man4/bwn.4 projects/bhyve/share/man/man4/cc.4 projects/bhyve/share/man/man4/em.4 projects/bhyve/share/man/man4/h_ertt.4 projects/bhyve/share/man/man4/igb.4 projects/bhyve/share/man/man4/mps.4 projects/bhyve/share/man/man4/nvram2env.4 projects/bhyve/share/man/man4/snd_hda.4 projects/bhyve/share/man/man4/ucom.4 projects/bhyve/share/man/man4/uep.4 projects/bhyve/share/man/man4/vge.4 projects/bhyve/share/man/man5/fstab.5 projects/bhyve/share/man/man5/make.conf.5 projects/bhyve/share/man/man5/rc.conf.5 projects/bhyve/share/man/man5/src.conf.5 projects/bhyve/share/man/man7/build.7 projects/bhyve/share/man/man7/c99.7 projects/bhyve/share/man/man7/eventtimers.7 projects/bhyve/share/man/man7/ports.7 projects/bhyve/share/man/man7/release.7 projects/bhyve/share/man/man9/Makefile projects/bhyve/share/man/man9/bus_adjust_resource.9 projects/bhyve/share/man/man9/devfs_set_cdevpriv.9 projects/bhyve/share/man/man9/device_get_sysctl.9 projects/bhyve/share/man/man9/hhook.9 projects/bhyve/share/man/man9/khelp.9 projects/bhyve/share/misc/committers-ports.dot projects/bhyve/share/misc/committers-src.dot projects/bhyve/share/misc/mdoc.template projects/bhyve/share/misc/usb_hid_usages projects/bhyve/share/mk/bsd.doc.mk projects/bhyve/share/mk/bsd.own.mk projects/bhyve/share/skel/dot.shrc projects/bhyve/sys/Makefile projects/bhyve/sys/amd64/acpica/acpi_wakeup.c projects/bhyve/sys/amd64/amd64/intr_machdep.c projects/bhyve/sys/amd64/amd64/legacy.c projects/bhyve/sys/amd64/amd64/machdep.c projects/bhyve/sys/amd64/amd64/mp_machdep.c projects/bhyve/sys/amd64/amd64/pmap.c projects/bhyve/sys/amd64/amd64/vm_machdep.c projects/bhyve/sys/amd64/conf/GENERIC projects/bhyve/sys/amd64/ia32/ia32_sigtramp.S projects/bhyve/sys/amd64/include/_types.h projects/bhyve/sys/amd64/include/pmap.h projects/bhyve/sys/amd64/include/smp.h projects/bhyve/sys/amd64/include/vmm.h projects/bhyve/sys/amd64/vmm/amd/amdv.c projects/bhyve/sys/amd64/vmm/io/ppt.c projects/bhyve/sys/amd64/vmm/io/vlapic.c projects/bhyve/sys/amd64/vmm/vmm.c projects/bhyve/sys/amd64/vmm/vmm_lapic.c projects/bhyve/sys/amd64/vmm/vmm_msr.c projects/bhyve/sys/amd64/vmm/vmm_stat.c projects/bhyve/sys/arm/arm/pmap.c projects/bhyve/sys/arm/include/_types.h projects/bhyve/sys/arm/include/pmap.h projects/bhyve/sys/boot/common/Makefile.inc projects/bhyve/sys/boot/common/load_elf_obj.c projects/bhyve/sys/boot/forth/beastie.4th projects/bhyve/sys/boot/forth/loader.4th projects/bhyve/sys/boot/forth/loader.conf.5 projects/bhyve/sys/boot/forth/support.4th projects/bhyve/sys/boot/i386/libi386/biosacpi.c projects/bhyve/sys/boot/i386/loader/Makefile projects/bhyve/sys/boot/i386/zfsboot/Makefile projects/bhyve/sys/boot/ia64/common/Makefile projects/bhyve/sys/boot/ia64/common/exec.c projects/bhyve/sys/boot/ia64/common/libia64.h projects/bhyve/sys/boot/ia64/efi/efimd.c projects/bhyve/sys/boot/ia64/efi/main.c projects/bhyve/sys/boot/ia64/efi/version projects/bhyve/sys/boot/pc98/loader/Makefile projects/bhyve/sys/boot/powerpc/ofw/Makefile projects/bhyve/sys/boot/powerpc/ps3/Makefile projects/bhyve/sys/boot/sparc64/loader/Makefile projects/bhyve/sys/cam/ata/ata_all.c projects/bhyve/sys/cam/ata/ata_da.c projects/bhyve/sys/cam/ata/ata_xpt.c projects/bhyve/sys/cam/cam_ccb.h projects/bhyve/sys/cam/cam_periph.c projects/bhyve/sys/cam/cam_periph.h projects/bhyve/sys/cam/cam_xpt.c projects/bhyve/sys/cam/cam_xpt.h projects/bhyve/sys/cam/cam_xpt_internal.h projects/bhyve/sys/cam/scsi/scsi_all.c projects/bhyve/sys/cam/scsi/scsi_all.h projects/bhyve/sys/cam/scsi/scsi_da.c projects/bhyve/sys/cam/scsi/scsi_pass.c projects/bhyve/sys/cam/scsi/scsi_ses.h projects/bhyve/sys/cam/scsi/scsi_xpt.c projects/bhyve/sys/cddl/compat/opensolaris/kern/opensolaris.c projects/bhyve/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c projects/bhyve/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c projects/bhyve/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c projects/bhyve/sys/cddl/compat/opensolaris/sys/atomic.h projects/bhyve/sys/cddl/compat/opensolaris/sys/kstat.h projects/bhyve/sys/cddl/compat/opensolaris/sys/taskq.h projects/bhyve/sys/cddl/compat/opensolaris/sys/time.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h projects/bhyve/sys/cddl/dev/cyclic/i386/cyclic_machdep.c projects/bhyve/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/bhyve/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/bhyve/sys/compat/freebsd32/freebsd32_misc.c projects/bhyve/sys/compat/freebsd32/freebsd32_proto.h projects/bhyve/sys/compat/freebsd32/freebsd32_syscall.h projects/bhyve/sys/compat/freebsd32/freebsd32_syscalls.c projects/bhyve/sys/compat/freebsd32/freebsd32_sysent.c projects/bhyve/sys/compat/freebsd32/syscalls.master projects/bhyve/sys/compat/linprocfs/linprocfs.c projects/bhyve/sys/conf/Makefile.arm projects/bhyve/sys/conf/Makefile.powerpc projects/bhyve/sys/conf/NOTES projects/bhyve/sys/conf/files projects/bhyve/sys/conf/files.powerpc projects/bhyve/sys/conf/options projects/bhyve/sys/contrib/dev/acpica/changes.txt projects/bhyve/sys/contrib/dev/acpica/debugger/dbexec.c projects/bhyve/sys/contrib/dev/acpica/debugger/dbinput.c projects/bhyve/sys/contrib/dev/acpica/debugger/dbutils.c projects/bhyve/sys/contrib/dev/acpica/debugger/dbxface.c projects/bhyve/sys/contrib/dev/acpica/include/acconfig.h projects/bhyve/sys/contrib/dev/acpica/include/acdebug.h projects/bhyve/sys/contrib/dev/acpica/include/acglobal.h projects/bhyve/sys/contrib/dev/acpica/include/aclocal.h projects/bhyve/sys/contrib/dev/acpica/include/acpiosxf.h projects/bhyve/sys/contrib/dev/acpica/include/acpixf.h projects/bhyve/sys/contrib/dev/acpica/include/acpredef.h projects/bhyve/sys/contrib/dev/acpica/osunixxf.c projects/bhyve/sys/contrib/dev/acpica/tables/tbinstal.c projects/bhyve/sys/contrib/pf/net/pf.c projects/bhyve/sys/contrib/pf/net/pf_ioctl.c projects/bhyve/sys/contrib/pf/net/pf_norm.c projects/bhyve/sys/ddb/db_command.c projects/bhyve/sys/dev/aac/aac.c projects/bhyve/sys/dev/aac/aacvar.h projects/bhyve/sys/dev/acpica/Osd/OsdDebug.c projects/bhyve/sys/dev/acpica/acpi.c projects/bhyve/sys/dev/acpica/acpi_pci.c projects/bhyve/sys/dev/ahci/ahci.c projects/bhyve/sys/dev/amdsbwd/amdsbwd.c projects/bhyve/sys/dev/ata/ata-sata.c projects/bhyve/sys/dev/ata/chipsets/ata-intel.c projects/bhyve/sys/dev/ath/ath_hal/ah.c projects/bhyve/sys/dev/ath/ath_hal/ah.h projects/bhyve/sys/dev/ath/ath_hal/ah_desc.h projects/bhyve/sys/dev/ath/ath_hal/ah_devid.h projects/bhyve/sys/dev/ath/ath_hal/ah_eeprom.h projects/bhyve/sys/dev/ath/ath_hal/ah_eeprom_9287.c projects/bhyve/sys/dev/ath/ath_hal/ah_internal.h projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212reg.h projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/bhyve/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/bhyve/sys/dev/ath/if_ath.c projects/bhyve/sys/dev/ath/if_ath_ahb.c projects/bhyve/sys/dev/ath/if_ath_tx_ht.c projects/bhyve/sys/dev/ath/if_athvar.h projects/bhyve/sys/dev/atkbdc/atkbd.c projects/bhyve/sys/dev/atkbdc/atkbdreg.h projects/bhyve/sys/dev/bxe/bxe_debug.h projects/bhyve/sys/dev/bxe/bxe_link.c projects/bhyve/sys/dev/bxe/if_bxe.c projects/bhyve/sys/dev/bxe/if_bxe.h projects/bhyve/sys/dev/cardbus/cardbus_cis.c projects/bhyve/sys/dev/cxgbe/adapter.h projects/bhyve/sys/dev/cxgbe/common/common.h projects/bhyve/sys/dev/cxgbe/common/t4fw_interface.h projects/bhyve/sys/dev/cxgbe/offload.h projects/bhyve/sys/dev/cxgbe/osdep.h projects/bhyve/sys/dev/cxgbe/t4_ioctl.h projects/bhyve/sys/dev/cxgbe/t4_main.c projects/bhyve/sys/dev/cxgbe/t4_sge.c projects/bhyve/sys/dev/e1000/if_igb.c projects/bhyve/sys/dev/e1000/if_igb.h projects/bhyve/sys/dev/hwpmc/hwpmc_mod.c projects/bhyve/sys/dev/iicbus/ds1775.c projects/bhyve/sys/dev/iicbus/max6690.c projects/bhyve/sys/dev/ipw/if_ipw.c projects/bhyve/sys/dev/iwi/if_iwi.c projects/bhyve/sys/dev/iwn/if_iwn.c projects/bhyve/sys/dev/ixgbe/LICENSE projects/bhyve/sys/dev/ixgbe/README projects/bhyve/sys/dev/ixgbe/ixgbe.c projects/bhyve/sys/dev/ixgbe/ixv.c projects/bhyve/sys/dev/mfi/mfi.c projects/bhyve/sys/dev/mfi/mfireg.h projects/bhyve/sys/dev/mmc/mmc.c projects/bhyve/sys/dev/mmc/mmcvar.h projects/bhyve/sys/dev/msk/if_msk.c projects/bhyve/sys/dev/mvs/mvs.c projects/bhyve/sys/dev/nfe/if_nfe.c projects/bhyve/sys/dev/pccard/pccard.c projects/bhyve/sys/dev/pccbb/pccbb.c projects/bhyve/sys/dev/pci/pci.c projects/bhyve/sys/dev/pci/pci_pci.c projects/bhyve/sys/dev/puc/puc.c projects/bhyve/sys/dev/puc/puc_bfe.h projects/bhyve/sys/dev/puc/puc_pccard.c projects/bhyve/sys/dev/puc/puc_pci.c projects/bhyve/sys/dev/puc/pucdata.c projects/bhyve/sys/dev/safe/safe.c projects/bhyve/sys/dev/sdhci/sdhci.c projects/bhyve/sys/dev/siis/siis.c projects/bhyve/sys/dev/sound/pci/hda/hdac.c projects/bhyve/sys/dev/sound/pcm/sound.c projects/bhyve/sys/dev/uart/uart_dev_ns8250.c projects/bhyve/sys/dev/usb/net/if_axe.c projects/bhyve/sys/dev/usb/net/if_udav.c projects/bhyve/sys/dev/usb/usb_device.h projects/bhyve/sys/dev/usb/usb_freebsd.h projects/bhyve/sys/dev/usb/usb_generic.c projects/bhyve/sys/dev/usb/usb_hub.c projects/bhyve/sys/dev/usb/usb_process.c projects/bhyve/sys/dev/usb/usb_request.c projects/bhyve/sys/dev/usb/usb_request.h projects/bhyve/sys/dev/usb/usb_transfer.c projects/bhyve/sys/dev/usb/usbdevs projects/bhyve/sys/dev/usb/usbdi.h projects/bhyve/sys/dev/wpi/if_wpi.c projects/bhyve/sys/dev/xen/blkback/blkback.c projects/bhyve/sys/dev/xen/blkfront/blkfront.c projects/bhyve/sys/dev/xen/control/control.c projects/bhyve/sys/dev/xen/netfront/netfront.c projects/bhyve/sys/fs/nfs/nfs_commonkrpc.c projects/bhyve/sys/fs/nfs/nfs_commonsubs.c projects/bhyve/sys/fs/nfs/nfs_var.h projects/bhyve/sys/fs/nfs/nfsport.h projects/bhyve/sys/fs/nfs/nfsproto.h projects/bhyve/sys/fs/nfsclient/nfs_clbio.c projects/bhyve/sys/fs/nfsclient/nfs_clcomsubs.c projects/bhyve/sys/fs/nfsclient/nfs_clkrpc.c projects/bhyve/sys/fs/nfsclient/nfs_clnode.c projects/bhyve/sys/fs/nfsclient/nfs_clport.c projects/bhyve/sys/fs/nfsclient/nfs_clrpcops.c projects/bhyve/sys/fs/nfsclient/nfs_clstate.c projects/bhyve/sys/fs/nfsclient/nfs_clsubs.c projects/bhyve/sys/fs/nfsclient/nfs_clvfsops.c projects/bhyve/sys/fs/nfsclient/nfs_clvnops.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdcache.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdport.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdserv.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdsocket.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdstate.c projects/bhyve/sys/fs/nwfs/nwfs_io.c projects/bhyve/sys/fs/smbfs/smbfs_io.c projects/bhyve/sys/geom/eli/g_eli.c projects/bhyve/sys/geom/geom.h projects/bhyve/sys/geom/geom_dev.c projects/bhyve/sys/geom/geom_disk.c projects/bhyve/sys/geom/geom_disk.h projects/bhyve/sys/geom/geom_dump.c projects/bhyve/sys/geom/geom_event.c projects/bhyve/sys/geom/geom_subr.c projects/bhyve/sys/geom/part/g_part.c projects/bhyve/sys/geom/part/g_part_bsd.c projects/bhyve/sys/geom/part/g_part_ebr.c projects/bhyve/sys/geom/part/g_part_mbr.c projects/bhyve/sys/geom/part/g_part_pc98.c projects/bhyve/sys/geom/vinum/geom_vinum_drive.c projects/bhyve/sys/geom/vinum/geom_vinum_events.c projects/bhyve/sys/i386/conf/GENERIC projects/bhyve/sys/i386/i386/intr_machdep.c projects/bhyve/sys/i386/i386/legacy.c projects/bhyve/sys/i386/i386/machdep.c projects/bhyve/sys/i386/i386/mp_machdep.c projects/bhyve/sys/i386/i386/pmap.c projects/bhyve/sys/i386/i386/vm_machdep.c projects/bhyve/sys/i386/include/_types.h projects/bhyve/sys/i386/include/pmap.h projects/bhyve/sys/i386/include/sf_buf.h projects/bhyve/sys/i386/include/smp.h projects/bhyve/sys/i386/pci/pci_cfgreg.c projects/bhyve/sys/i386/xen/mp_machdep.c projects/bhyve/sys/i386/xen/pmap.c projects/bhyve/sys/ia64/acpica/acpi_machdep.c projects/bhyve/sys/ia64/ia64/busdma_machdep.c projects/bhyve/sys/ia64/ia64/machdep.c projects/bhyve/sys/ia64/ia64/mp_machdep.c projects/bhyve/sys/ia64/ia64/pal.S projects/bhyve/sys/ia64/ia64/pmap.c projects/bhyve/sys/ia64/include/_types.h projects/bhyve/sys/ia64/include/ia64_cpu.h projects/bhyve/sys/ia64/include/smp.h projects/bhyve/sys/kern/imgact_aout.c projects/bhyve/sys/kern/kern_conf.c projects/bhyve/sys/kern/kern_cpuset.c projects/bhyve/sys/kern/kern_exit.c projects/bhyve/sys/kern/kern_idle.c projects/bhyve/sys/kern/kern_ktr.c projects/bhyve/sys/kern/kern_pmc.c projects/bhyve/sys/kern/kern_racct.c projects/bhyve/sys/kern/kern_rctl.c projects/bhyve/sys/kern/kern_rmlock.c projects/bhyve/sys/kern/kern_shutdown.c projects/bhyve/sys/kern/kern_sig.c projects/bhyve/sys/kern/ksched.c projects/bhyve/sys/kern/link_elf.c projects/bhyve/sys/kern/sched_4bsd.c projects/bhyve/sys/kern/sched_ule.c projects/bhyve/sys/kern/subr_devstat.c projects/bhyve/sys/kern/subr_kdb.c projects/bhyve/sys/kern/subr_msgbuf.c projects/bhyve/sys/kern/subr_pcpu.c projects/bhyve/sys/kern/subr_prf.c projects/bhyve/sys/kern/subr_rman.c projects/bhyve/sys/kern/subr_smp.c projects/bhyve/sys/kern/sys_process.c projects/bhyve/sys/kern/uipc_socket.c projects/bhyve/sys/kern/uipc_syscalls.c projects/bhyve/sys/kern/vfs_bio.c projects/bhyve/sys/kgssapi/gss_impl.c projects/bhyve/sys/mips/cavium/octeon_ebt3000_cf.c projects/bhyve/sys/mips/cavium/octeon_mp.c projects/bhyve/sys/mips/include/_types.h projects/bhyve/sys/mips/include/hwfunc.h projects/bhyve/sys/mips/include/pmap.h projects/bhyve/sys/mips/include/smp.h projects/bhyve/sys/mips/mips/mp_machdep.c projects/bhyve/sys/mips/mips/pmap.c projects/bhyve/sys/mips/rmi/xlr_machdep.c projects/bhyve/sys/mips/sibyte/sb_scd.c projects/bhyve/sys/modules/Makefile projects/bhyve/sys/modules/ath/Makefile projects/bhyve/sys/modules/cxgbe/if_cxgbe/Makefile projects/bhyve/sys/modules/dtrace/Makefile projects/bhyve/sys/modules/dtrace/dtraceall/dtraceall.c projects/bhyve/sys/modules/kgssapi_krb5/Makefile projects/bhyve/sys/modules/usb/Makefile projects/bhyve/sys/net/bridgestp.c projects/bhyve/sys/net/bridgestp.h projects/bhyve/sys/net/if.h projects/bhyve/sys/net/if_ethersubr.c projects/bhyve/sys/net/if_gre.c projects/bhyve/sys/net/if_gre.h projects/bhyve/sys/net/if_tun.c projects/bhyve/sys/net/netisr.c projects/bhyve/sys/net/route.c projects/bhyve/sys/net80211/ieee80211_acl.c projects/bhyve/sys/net80211/ieee80211_ht.c projects/bhyve/sys/net80211/ieee80211_ioctl.c projects/bhyve/sys/net80211/ieee80211_ioctl.h projects/bhyve/sys/net80211/ieee80211_output.c projects/bhyve/sys/net80211/ieee80211_var.h projects/bhyve/sys/netgraph/ng_nat.c projects/bhyve/sys/netgraph/ng_pipe.c projects/bhyve/sys/netinet/icmp6.h projects/bhyve/sys/netinet/if_ether.c projects/bhyve/sys/netinet/in.c projects/bhyve/sys/netinet/in_pcb.c projects/bhyve/sys/netinet/in_pcb.h projects/bhyve/sys/netinet/in_proto.c projects/bhyve/sys/netinet/ip_divert.c projects/bhyve/sys/netinet/ip_input.c projects/bhyve/sys/netinet/ip_ipsec.c projects/bhyve/sys/netinet/ipfw/ip_dummynet.c projects/bhyve/sys/netinet/ipfw/ip_fw2.c projects/bhyve/sys/netinet/ipfw/ip_fw_dynamic.c projects/bhyve/sys/netinet/ipfw/ip_fw_nat.c projects/bhyve/sys/netinet/ipfw/ip_fw_sockopt.c projects/bhyve/sys/netinet/libalias/alias.h projects/bhyve/sys/netinet/libalias/alias_sctp.h projects/bhyve/sys/netinet/raw_ip.c projects/bhyve/sys/netinet/sctp.h projects/bhyve/sys/netinet/sctp_auth.c projects/bhyve/sys/netinet/sctp_indata.c projects/bhyve/sys/netinet/sctp_indata.h projects/bhyve/sys/netinet/sctp_output.c projects/bhyve/sys/netinet/sctp_pcb.c projects/bhyve/sys/netinet/sctp_structs.h projects/bhyve/sys/netinet/sctp_uio.h projects/bhyve/sys/netinet/sctp_usrreq.c projects/bhyve/sys/netinet/sctp_var.h projects/bhyve/sys/netinet/sctputil.c projects/bhyve/sys/netinet/sctputil.h projects/bhyve/sys/netinet/siftr.c projects/bhyve/sys/netinet/tcp_input.c projects/bhyve/sys/netinet/tcp_output.c projects/bhyve/sys/netinet/tcp_subr.c projects/bhyve/sys/netinet/tcp_syncache.c projects/bhyve/sys/netinet/tcp_timer.c projects/bhyve/sys/netinet/tcp_usrreq.c projects/bhyve/sys/netinet/udp_usrreq.c projects/bhyve/sys/netinet6/in6.c projects/bhyve/sys/netinet6/in6.h projects/bhyve/sys/netinet6/in6_pcb.c projects/bhyve/sys/netinet6/in6_pcb.h projects/bhyve/sys/netinet6/in6_proto.c projects/bhyve/sys/netinet6/in6_src.c projects/bhyve/sys/netinet6/ip6_input.c projects/bhyve/sys/netinet6/ip6_ipsec.c projects/bhyve/sys/netinet6/ip6_var.h projects/bhyve/sys/netinet6/nd6.c projects/bhyve/sys/netinet6/nd6.h projects/bhyve/sys/netinet6/nd6_nbr.c projects/bhyve/sys/netinet6/nd6_rtr.c projects/bhyve/sys/netinet6/send.h projects/bhyve/sys/netinet6/udp6_usrreq.c projects/bhyve/sys/nfsclient/nfs_bio.c projects/bhyve/sys/nfsclient/nfs_krpc.c projects/bhyve/sys/nfsclient/nfs_vfsops.c projects/bhyve/sys/nfsserver/nfs_srvkrpc.c projects/bhyve/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c projects/bhyve/sys/ofed/include/linux/list.h projects/bhyve/sys/pc98/conf/GENERIC projects/bhyve/sys/pc98/pc98/machdep.c projects/bhyve/sys/powerpc/aim/interrupt.c projects/bhyve/sys/powerpc/aim/locore32.S projects/bhyve/sys/powerpc/aim/locore64.S projects/bhyve/sys/powerpc/aim/machdep.c projects/bhyve/sys/powerpc/aim/mmu_oea.c projects/bhyve/sys/powerpc/aim/mmu_oea64.c projects/bhyve/sys/powerpc/aim/moea64_native.c projects/bhyve/sys/powerpc/aim/mp_cpudep.c projects/bhyve/sys/powerpc/aim/slb.c projects/bhyve/sys/powerpc/aim/trap_subr64.S projects/bhyve/sys/powerpc/booke/locore.S projects/bhyve/sys/powerpc/booke/machdep.c projects/bhyve/sys/powerpc/booke/platform_bare.c projects/bhyve/sys/powerpc/booke/pmap.c projects/bhyve/sys/powerpc/conf/GENERIC projects/bhyve/sys/powerpc/conf/GENERIC64 projects/bhyve/sys/powerpc/conf/NOTES projects/bhyve/sys/powerpc/include/_types.h projects/bhyve/sys/powerpc/include/openpicvar.h projects/bhyve/sys/powerpc/include/param.h projects/bhyve/sys/powerpc/include/pmap.h projects/bhyve/sys/powerpc/include/slb.h projects/bhyve/sys/powerpc/include/smp.h projects/bhyve/sys/powerpc/include/spr.h projects/bhyve/sys/powerpc/mpc85xx/mpc85xx.c projects/bhyve/sys/powerpc/mpc85xx/mpc85xx.h projects/bhyve/sys/powerpc/mpc85xx/openpic_fdt.c projects/bhyve/sys/powerpc/ofw/ofw_machdep.c projects/bhyve/sys/powerpc/ofw/ofw_real.c projects/bhyve/sys/powerpc/powermac/fcu.c projects/bhyve/sys/powerpc/powermac/smu.c projects/bhyve/sys/powerpc/powermac/smusat.c projects/bhyve/sys/powerpc/powerpc/intr_machdep.c projects/bhyve/sys/powerpc/powerpc/mp_machdep.c projects/bhyve/sys/powerpc/powerpc/openpic.c projects/bhyve/sys/powerpc/powerpc/pic_if.m projects/bhyve/sys/powerpc/ps3/if_glc.c projects/bhyve/sys/powerpc/ps3/ps3bus.c projects/bhyve/sys/powerpc/ps3/ps3bus.h projects/bhyve/sys/rpc/rpc_generic.c projects/bhyve/sys/rpc/rpcsec_gss.h projects/bhyve/sys/sparc64/conf/GENERIC projects/bhyve/sys/sparc64/include/_types.h projects/bhyve/sys/sparc64/include/ktr.h projects/bhyve/sys/sparc64/include/pmap.h projects/bhyve/sys/sparc64/include/smp.h projects/bhyve/sys/sparc64/sparc64/exception.S projects/bhyve/sys/sparc64/sparc64/genassym.c projects/bhyve/sys/sparc64/sparc64/intr_machdep.c projects/bhyve/sys/sparc64/sparc64/mp_exception.S projects/bhyve/sys/sparc64/sparc64/mp_locore.S projects/bhyve/sys/sparc64/sparc64/mp_machdep.c projects/bhyve/sys/sparc64/sparc64/pmap.c projects/bhyve/sys/sparc64/sparc64/swtch.S projects/bhyve/sys/sparc64/sparc64/tlb.c projects/bhyve/sys/sys/_rmlock.h projects/bhyve/sys/sys/conf.h projects/bhyve/sys/sys/cpuset.h projects/bhyve/sys/sys/disk.h projects/bhyve/sys/sys/diskpc98.h projects/bhyve/sys/sys/dtrace_bsd.h projects/bhyve/sys/sys/ktr.h projects/bhyve/sys/sys/mbuf.h projects/bhyve/sys/sys/msgbuf.h projects/bhyve/sys/sys/param.h projects/bhyve/sys/sys/pcpu.h projects/bhyve/sys/sys/pmckern.h projects/bhyve/sys/sys/proc.h projects/bhyve/sys/sys/racct.h projects/bhyve/sys/sys/smp.h projects/bhyve/sys/sys/soundcard.h projects/bhyve/sys/sys/types.h projects/bhyve/sys/sys/vnode.h projects/bhyve/sys/teken/libteken/teken.3 projects/bhyve/sys/ufs/ffs/ffs_alloc.c projects/bhyve/sys/ufs/ffs/ffs_balloc.c projects/bhyve/sys/ufs/ffs/ffs_extern.h projects/bhyve/sys/ufs/ffs/ffs_inode.c projects/bhyve/sys/ufs/ffs/ffs_snapshot.c projects/bhyve/sys/ufs/ffs/ffs_softdep.c projects/bhyve/sys/ufs/ffs/ffs_vfsops.c projects/bhyve/sys/ufs/ffs/ffs_vnops.c projects/bhyve/sys/ufs/ffs/fs.h projects/bhyve/sys/ufs/ffs/softdep.h projects/bhyve/sys/ufs/ufs/inode.h projects/bhyve/sys/ufs/ufs/quota.h projects/bhyve/sys/ufs/ufs/ufs_lookup.c projects/bhyve/sys/ufs/ufs/ufs_quota.c projects/bhyve/sys/ufs/ufs/ufs_vnops.c projects/bhyve/sys/ufs/ufs/ufsmount.h projects/bhyve/sys/vm/vm_fault.c projects/bhyve/sys/vm/vm_object.c projects/bhyve/sys/vm/vm_page.c projects/bhyve/sys/vm/vm_page.h projects/bhyve/sys/vm/vnode_pager.c projects/bhyve/sys/vm/vnode_pager.h projects/bhyve/sys/x86/x86/local_apic.c projects/bhyve/sys/x86/x86/tsc.c projects/bhyve/sys/xen/interface/io/xenbus.h projects/bhyve/sys/xen/xenbus/xenbus.c projects/bhyve/sys/xen/xenbus/xenbus_if.m projects/bhyve/sys/xen/xenbus/xenbusb.c projects/bhyve/sys/xen/xenbus/xenbusb.h projects/bhyve/sys/xen/xenbus/xenbusb_back.c projects/bhyve/sys/xen/xenbus/xenbusb_front.c projects/bhyve/sys/xen/xenbus/xenbusb_if.m projects/bhyve/sys/xen/xenbus/xenbusvar.h projects/bhyve/sys/xen/xenstore/xenstorevar.h projects/bhyve/tools/build/make_check/Makefile projects/bhyve/tools/build/mk/OptionalObsoleteFiles.inc projects/bhyve/tools/build/options/WITHOUT_ACCT projects/bhyve/tools/build/options/WITH_BSD_GREP projects/bhyve/tools/regression/bin/sh/builtins/alias.1.stderr projects/bhyve/tools/regression/netinet/tcpconnect/tcpconnect.c projects/bhyve/tools/regression/netinet/tcpdrop/tcpdrop.c projects/bhyve/tools/regression/netinet/tcpfullwindowrst/tcpfullwindowrsttest.c projects/bhyve/tools/regression/netinet/tcpsocktimewait/tcpsocktimewait.c projects/bhyve/tools/regression/netinet/udpconnectjail/udpconnectjail.c projects/bhyve/tools/regression/usr.bin/printf/regress.sh projects/bhyve/tools/tools/README projects/bhyve/tools/tools/ether_reflect/ether_reflect.1 projects/bhyve/tools/tools/nanobsd/nanobsd.sh projects/bhyve/usr.bin/Makefile projects/bhyve/usr.bin/calendar/calendars/calendar.freebsd projects/bhyve/usr.bin/calendar/io.c projects/bhyve/usr.bin/clang/tblgen/Makefile projects/bhyve/usr.bin/find/function.c projects/bhyve/usr.bin/find/main.c projects/bhyve/usr.bin/find/option.c projects/bhyve/usr.bin/fstat/fuser.1 projects/bhyve/usr.bin/fstat/fuser.c projects/bhyve/usr.bin/ftp/Makefile projects/bhyve/usr.bin/grep/Makefile projects/bhyve/usr.bin/grep/fastgrep.c projects/bhyve/usr.bin/grep/grep.c projects/bhyve/usr.bin/grep/util.c projects/bhyve/usr.bin/gzip/gzip.c projects/bhyve/usr.bin/iconv/Makefile projects/bhyve/usr.bin/kdump/mksubr projects/bhyve/usr.bin/ldd/sods.c projects/bhyve/usr.bin/man/man.1 projects/bhyve/usr.bin/man/man.conf.5 projects/bhyve/usr.bin/man/man.sh projects/bhyve/usr.bin/mkcsmapper/mkcsmapper.1 projects/bhyve/usr.bin/mkesdb/mkesdb.1 projects/bhyve/usr.bin/printf/printf.1 projects/bhyve/usr.bin/printf/printf.c projects/bhyve/usr.bin/rctl/Makefile projects/bhyve/usr.bin/rctl/rctl.8 projects/bhyve/usr.bin/su/su.1 projects/bhyve/usr.bin/tftp/main.c projects/bhyve/usr.bin/tftp/tftp.1 projects/bhyve/usr.bin/top/machine.c projects/bhyve/usr.bin/top/top.local.1 projects/bhyve/usr.bin/users/users.c projects/bhyve/usr.bin/xlint/lint1/decl.c projects/bhyve/usr.bin/xlint/lint1/scan.l projects/bhyve/usr.bin/xlint/lint2/msg.c projects/bhyve/usr.bin/xlint/lint2/read.c projects/bhyve/usr.sbin/Makefile projects/bhyve/usr.sbin/bluetooth/ath3kfw/Makefile projects/bhyve/usr.sbin/bsdinstall/Makefile projects/bhyve/usr.sbin/bsdinstall/scripts/Makefile projects/bhyve/usr.sbin/bsdinstall/scripts/auto projects/bhyve/usr.sbin/bsdinstall/scripts/netconfig projects/bhyve/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 projects/bhyve/usr.sbin/bsnmpd/modules/snmp_hostres/snmp_hostres.3 projects/bhyve/usr.sbin/bsnmpd/modules/snmp_wlan/Makefile projects/bhyve/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3 projects/bhyve/usr.sbin/diskinfo/diskinfo.c projects/bhyve/usr.sbin/fdread/fdread.c projects/bhyve/usr.sbin/gpioctl/gpioctl.8 projects/bhyve/usr.sbin/jail/Makefile projects/bhyve/usr.sbin/jail/jail.c projects/bhyve/usr.sbin/jls/Makefile projects/bhyve/usr.sbin/jls/jls.c projects/bhyve/usr.sbin/kbdmap/kbdmap.c projects/bhyve/usr.sbin/lastlogin/lastlogin.8 projects/bhyve/usr.sbin/lastlogin/lastlogin.c projects/bhyve/usr.sbin/makefs/Makefile projects/bhyve/usr.sbin/makefs/cd9660/cd9660_write.c projects/bhyve/usr.sbin/makefs/ffs.c projects/bhyve/usr.sbin/makefs/ffs/ffs_bswap.c projects/bhyve/usr.sbin/makefs/ffs/ffs_subr.c projects/bhyve/usr.sbin/makefs/makefs.8 projects/bhyve/usr.sbin/makefs/makefs.c projects/bhyve/usr.sbin/makefs/makefs.h projects/bhyve/usr.sbin/mfiutil/mfi_config.c projects/bhyve/usr.sbin/mfiutil/mfi_drive.c projects/bhyve/usr.sbin/mfiutil/mfi_evt.c projects/bhyve/usr.sbin/mfiutil/mfi_flash.c projects/bhyve/usr.sbin/mfiutil/mfi_patrol.c projects/bhyve/usr.sbin/mfiutil/mfi_show.c projects/bhyve/usr.sbin/mfiutil/mfi_volume.c projects/bhyve/usr.sbin/mfiutil/mfiutil.8 projects/bhyve/usr.sbin/mfiutil/mfiutil.c projects/bhyve/usr.sbin/mfiutil/mfiutil.h projects/bhyve/usr.sbin/mountd/mountd.c projects/bhyve/usr.sbin/pc-sysinstall/backend-query/enable-net.sh projects/bhyve/usr.sbin/pc-sysinstall/backend-query/test-netup.sh projects/bhyve/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh projects/bhyve/usr.sbin/pc-sysinstall/backend/functions-networking.sh projects/bhyve/usr.sbin/pmccontrol/pmccontrol.c projects/bhyve/usr.sbin/pw/pw_user.c projects/bhyve/usr.sbin/rpc.lockd/lockd.c projects/bhyve/usr.sbin/rpc.statd/statd.c projects/bhyve/usr.sbin/rtadvd/advcap.c projects/bhyve/usr.sbin/rtadvd/config.c projects/bhyve/usr.sbin/rtadvd/config.h projects/bhyve/usr.sbin/rtadvd/dump.c projects/bhyve/usr.sbin/rtadvd/dump.h projects/bhyve/usr.sbin/rtadvd/if.c projects/bhyve/usr.sbin/rtadvd/if.h projects/bhyve/usr.sbin/rtadvd/pathnames.h projects/bhyve/usr.sbin/rtadvd/rrenum.c projects/bhyve/usr.sbin/rtadvd/rrenum.h projects/bhyve/usr.sbin/rtadvd/rtadvd.8 projects/bhyve/usr.sbin/rtadvd/rtadvd.c projects/bhyve/usr.sbin/rtadvd/rtadvd.conf projects/bhyve/usr.sbin/rtadvd/rtadvd.conf.5 projects/bhyve/usr.sbin/rtadvd/rtadvd.h projects/bhyve/usr.sbin/rtadvd/timer.c projects/bhyve/usr.sbin/rtadvd/timer.h projects/bhyve/usr.sbin/rtsold/dump.c projects/bhyve/usr.sbin/rtsold/if.c projects/bhyve/usr.sbin/rtsold/probe.c projects/bhyve/usr.sbin/rtsold/rtsock.c projects/bhyve/usr.sbin/rtsold/rtsol.c projects/bhyve/usr.sbin/rtsold/rtsold.8 projects/bhyve/usr.sbin/rtsold/rtsold.c projects/bhyve/usr.sbin/rtsold/rtsold.h projects/bhyve/usr.sbin/tcpdrop/tcpdrop.c projects/bhyve/usr.sbin/usbdump/usbdump.8 projects/bhyve/usr.sbin/ypserv/yp_main.c Directory Properties: projects/bhyve/ (props changed) projects/bhyve/cddl/contrib/opensolaris/ (props changed) projects/bhyve/contrib/bind9/ (props changed) projects/bhyve/contrib/binutils/ (props changed) projects/bhyve/contrib/bzip2/ (props changed) projects/bhyve/contrib/compiler-rt/ (props changed) projects/bhyve/contrib/dialog/ (props changed) projects/bhyve/contrib/ee/ (props changed) projects/bhyve/contrib/expat/ (props changed) projects/bhyve/contrib/file/ (props changed) projects/bhyve/contrib/gcc/ (props changed) projects/bhyve/contrib/gdb/ (props changed) projects/bhyve/contrib/gdtoa/ (props changed) projects/bhyve/contrib/gnu-sort/ (props changed) projects/bhyve/contrib/groff/ (props changed) projects/bhyve/contrib/less/ (props changed) projects/bhyve/contrib/libpcap/ (props changed) projects/bhyve/contrib/libstdc++/ (props changed) projects/bhyve/contrib/llvm/ (props changed) projects/bhyve/contrib/llvm/tools/clang/ (props changed) projects/bhyve/contrib/ncurses/ (props changed) projects/bhyve/contrib/netcat/ (props changed) projects/bhyve/contrib/ntp/ (props changed) projects/bhyve/contrib/one-true-awk/ (props changed) projects/bhyve/contrib/openbsm/ (props changed) projects/bhyve/contrib/openpam/ (props changed) projects/bhyve/contrib/pf/ (props changed) projects/bhyve/contrib/sendmail/ (props changed) projects/bhyve/contrib/tcpdump/ (props changed) projects/bhyve/contrib/tcsh/ (props changed) projects/bhyve/contrib/top/ (props changed) projects/bhyve/contrib/top/install-sh (props changed) projects/bhyve/contrib/tzcode/stdtime/ (props changed) projects/bhyve/contrib/tzcode/zic/ (props changed) projects/bhyve/contrib/tzdata/ (props changed) projects/bhyve/contrib/wpa/ (props changed) projects/bhyve/contrib/xz/ (props changed) projects/bhyve/crypto/openssh/ (props changed) projects/bhyve/crypto/openssl/ (props changed) projects/bhyve/gnu/lib/ (props changed) projects/bhyve/gnu/usr.bin/binutils/ (props changed) projects/bhyve/gnu/usr.bin/cc/cc_tools/ (props changed) projects/bhyve/gnu/usr.bin/gdb/ (props changed) projects/bhyve/lib/libc/ (props changed) projects/bhyve/lib/libc/stdtime/ (props changed) projects/bhyve/lib/libutil/ (props changed) projects/bhyve/lib/libz/ (props changed) projects/bhyve/sbin/ (props changed) projects/bhyve/sbin/ipfw/ (props changed) projects/bhyve/share/mk/bsd.arch.inc.mk (props changed) projects/bhyve/share/zoneinfo/ (props changed) projects/bhyve/sys/ (props changed) projects/bhyve/sys/amd64/include/xen/ (props changed) projects/bhyve/sys/boot/ (props changed) projects/bhyve/sys/boot/i386/efi/ (props changed) projects/bhyve/sys/boot/ia64/efi/ (props changed) projects/bhyve/sys/boot/ia64/ski/ (props changed) projects/bhyve/sys/boot/powerpc/boot1.chrp/ (props changed) projects/bhyve/sys/boot/powerpc/ofw/ (props changed) projects/bhyve/sys/cddl/contrib/opensolaris/ (props changed) projects/bhyve/sys/conf/ (props changed) projects/bhyve/sys/contrib/dev/acpica/ (props changed) projects/bhyve/sys/contrib/octeon-sdk/ (props changed) projects/bhyve/sys/contrib/pf/ (props changed) projects/bhyve/sys/contrib/x86emu/ (props changed) projects/bhyve/usr.bin/calendar/ (props changed) projects/bhyve/usr.bin/csup/ (props changed) projects/bhyve/usr.bin/procstat/ (props changed) projects/bhyve/usr.sbin/ndiscvt/ (props changed) projects/bhyve/usr.sbin/zic/ (props changed) Modified: projects/bhyve/Makefile ============================================================================== --- projects/bhyve/Makefile Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/Makefile Tue Jun 28 06:26:03 2011 (r223621) @@ -19,7 +19,7 @@ # kernel - buildkernel + installkernel. # kernel-toolchain - Builds the subset of world necessary to build a kernel # doxygen - Build API documentation of the kernel, needs doxygen. -# update - Convenient way to update your source tree (cvs). +# update - Convenient way to update your source tree(s). # check-old - List obsolete directories/files/libraries. # check-old-dirs - List obsolete directories. # check-old-files - List obsolete files. Modified: projects/bhyve/Makefile.inc1 ============================================================================== --- projects/bhyve/Makefile.inc1 Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/Makefile.inc1 Tue Jun 28 06:26:03 2011 (r223621) @@ -12,6 +12,7 @@ # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update +# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # TARGET="machine" to crossbuild world for a different machine type @@ -904,7 +905,7 @@ doxygen: # # update # -# Update the source tree, by running cvsup and/or running cvs to update to the +# Update the source tree(s), by running cvsup/cvs/svn to update to the # latest copy. # update: @@ -927,6 +928,9 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif +.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) + @${SUP} ${SUPFLAGS} ${WWWSUPFILE} +.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ Modified: projects/bhyve/UPDATING ============================================================================== --- projects/bhyve/UPDATING Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/UPDATING Tue Jun 28 06:26:03 2011 (r223621) @@ -22,9 +22,48 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110608: + The following sysctls and tunables are retired on x86 platforms: + machdep.hlt_cpus + machdep.hlt_logical_cpus + The following sysctl is retired: + machdep.hyperthreading_allowed + The sysctls were supposed to provide a way to dynamically offline and + online selected CPUs on x86 platforms, but the implementation has not + been reliable especially with SCHED_ULE scheduler. + machdep.hyperthreading_allowed tunable is still available to ignore + hyperthreading CPUs at OS level. + Individual CPUs can be disabled using hint.lapic.X.disabled tunable, + where X is an APIC ID of a CPU. Be advised, though, that disabling + CPUs in non-uniform fashion will result in non-uniform topology and + may lead to sub-optimal system performance with SCHED_ULE, which is + a default scheduler. + +20110607: + cpumask_t type is retired and cpuset_t is used in order to describe + a mask of CPUs. + +20110531: + Changes to ifconfig(8) for dynamic address family detection mandate + that you are running a kernel of 20110525 or later. Make sure to + follow the update procedure to boot a new kernel before installing + world. + 20110513: Support for sun4v architecture is officially dropped +20110503: + Several KPI breaking changes have been committed to the mii(4) layer, + the PHY drivers and consequently some Ethernet drivers using mii(4). + This means that miibus.ko and the modules of the affected Ethernet + drivers need to be recompiled. + + Note to kernel developers: Given that the OUI bit reversion problem + was fixed as part of these changes all mii(4) commits related to OUIs, + i.e. to sys/dev/mii/miidevs, PHY driver probing and vendor specific + handling, no longer can be merged verbatim to stable/8 and previous + branches. + 20110430: Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' into their kernel configurations along with 'device pci'. Modified: projects/bhyve/bin/ps/extern.h ============================================================================== --- projects/bhyve/bin/ps/extern.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/ps/extern.h Tue Jun 28 06:26:03 2011 (r223621) @@ -70,6 +70,7 @@ void pmem(KINFO *, VARENT *); void pri(KINFO *, VARENT *); void printheader(void); void priorityr(KINFO *, VARENT *); +void egroupname(KINFO *, VARENT *); void rgroupname(KINFO *, VARENT *); void runame(KINFO *, VARENT *); void rvar(KINFO *, VARENT *); @@ -78,6 +79,7 @@ int s_cputime(KINFO *); int s_label(KINFO *); int s_loginclass(KINFO *); int s_logname(KINFO *); +int s_egroupname(KINFO *); int s_rgroupname(KINFO *); int s_runame(KINFO *); int s_systime(KINFO *); Modified: projects/bhyve/bin/ps/keyword.c ============================================================================== --- projects/bhyve/bin/ps/keyword.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/ps/keyword.c Tue Jun 28 06:26:03 2011 (r223621) @@ -88,12 +88,19 @@ static VAR var[] = { {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", 0}, {"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR, NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, + {"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups), + UINT, UIDFMT, 0}, + {"group", "GROUP", NULL, LJUST, egroupname, s_egroupname, + USERLEN, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, "ld", 0}, Modified: projects/bhyve/bin/ps/print.c ============================================================================== --- projects/bhyve/bin/ps/print.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/ps/print.c Tue Jun 28 06:26:03 2011 (r223621) @@ -341,6 +341,22 @@ s_uname(KINFO *k) } void +egroupname(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + (void)printf("%-*s", v->width, + group_from_gid(k->ki_p->ki_groups[0], 0)); +} + +int +s_egroupname(KINFO *k) +{ + return (strlen(group_from_gid(k->ki_p->ki_groups[0], 0))); +} + +void rgroupname(KINFO *k, VARENT *ve) { VAR *v; Modified: projects/bhyve/bin/ps/ps.1 ============================================================================== --- projects/bhyve/bin/ps/ps.1 Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/ps/ps.1 Tue Jun 28 06:26:03 2011 (r223621) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 18, 2011 +.Dd June 14, 2011 .Dt PS 1 .Os .Sh NAME @@ -502,6 +502,12 @@ elapsed running time, in decimal integer .It Cm flags the process flags, in hexadecimal (alias .Cm f ) +.It Cm gid +effective group ID (alias +.Cm egid ) +.It Cm group +group name (from egid) (alias +.Cm egroup ) .It Cm inblk total blocks read (alias .Cm inblock ) @@ -629,7 +635,8 @@ process pointer .It Cm ucomm name to be used for accounting .It Cm uid -effective user ID +effective user ID (alias +.Cm euid ) .It Cm upr scheduling priority on return from system call (alias .Cm usrpri ) Modified: projects/bhyve/bin/sh/TOUR ============================================================================== --- projects/bhyve/bin/sh/TOUR Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/TOUR Tue Jun 28 06:26:03 2011 (r223621) @@ -27,10 +27,8 @@ programs is: mkbuiltins builtins builtins.h builtins.c mkinit *.c init.c mknodes nodetypes nodes.h nodes.c - mksignames - signames.h signames.c mksyntax - syntax.h syntax.c mktokens - token.h - bltin/mkexpr unary_op binary_op operators.h operators.c There are undoubtedly too many of these. Mkinit searches all the C source files for entries looking like: @@ -64,14 +62,6 @@ tion: Preprocessor #define statements are copied to init.c without any special action to request this. -INDENTATION: The ash source is indented in multiples of six -spaces. The only study that I have heard of on the subject con- -cluded that the optimal amount to indent is in the range of four -to six spaces. I use six spaces since it is not too big a jump -from the widely used eight spaces. If you really hate six space -indentation, use the adjind (source included) program to change -it to something else. - EXCEPTIONS: Code for dealing with exceptions appears in exceptions.c. The C language doesn't include exception handling, so I implement it using setjmp and longjmp. The global variable @@ -115,7 +105,7 @@ repeatedly parses and executes commands. OPTIONS.C: This file contains the option processing code. It is called from main to parse the shell arguments when the shell is -invoked, and it also contains the set builtin. The -i and -j op- +invoked, and it also contains the set builtin. The -i and -m op- tions (the latter turns on job control) require changes in signal handling. The routines setjobctl (in jobs.c) and setinteractive (in trap.c) are called to handle changes to these options. @@ -123,10 +113,11 @@ handling. The routines setjobctl (in jo PARSING: The parser code is all in parser.c. A recursive des- cent parser is used. Syntax tables (generated by mksyntax) are used to classify characters during lexical analysis. There are -three tables: one for normal use, one for use when inside single -quotes, and one for use when inside double quotes. The tables -are machine dependent because they are indexed by character vari- -ables and the range of a char varies from machine to machine. +four tables: one for normal use, one for use when inside single +quotes and dollar single quotes, one for use when inside double +quotes and one for use in arithmetic. The tables are machine +dependent because they are indexed by character variables and +the range of a char varies from machine to machine. PARSE OUTPUT: The output of the parser consists of a tree of nodes. The various types of nodes are defined in the file node- @@ -242,12 +233,7 @@ The routine shellexec is the interface t EXPAND.C: Arguments are processed in three passes. The first (performed by the routine argstr) performs variable and command substitution. The second (ifsbreakup) performs word splitting -and the third (expandmeta) performs file name generation. If the -"/u" directory is simulated, then when "/u/username" is replaced -by the user's home directory, the flag "didudir" is set. This -tells the cd command that it should print out the directory name, -just as it would if the "/u" directory were implemented using -symbolic links. +and the third (expandmeta) performs file name generation. VAR.C: Variables are stored in a hash table. Probably we should switch to extensible hashing. The variable name is stored in the @@ -292,14 +278,7 @@ when the program is linked into ash. Th before bltin.h is included; bltin.h will #undef main if the pro- gram is to be compiled stand-alone. -CD.C: This file defines the cd and pwd builtins. The pwd com- -mand runs /bin/pwd the first time it is invoked (unless the user -has already done a cd to an absolute pathname), but then -remembers the current directory and updates it when the cd com- -mand is run, so subsequent pwd commands run very fast. The main -complication in the cd command is in the docd command, which -resolves symbolic links into actual names and informs the user -where the user ended up if he crossed a symbolic link. +CD.C: This file defines the cd and pwd builtins. SIGNALS: Trap.c implements the trap command. The routine set- signal figures out what action should be taken when a signal is Modified: projects/bhyve/bin/sh/alias.c ============================================================================== --- projects/bhyve/bin/sh/alias.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/alias.c Tue Jun 28 06:26:03 2011 (r223621) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "alias.h" #include "options.h" /* XXX for argptr (should remove?) */ +#include "builtins.h" #define ATABSIZE 39 @@ -238,7 +239,7 @@ aliascmd(int argc, char **argv) while ((n = *++argv) != NULL) { if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { - warning("%s not found", n); + warning("%s: not found", n); ret = 1; } else printalias(ap); Modified: projects/bhyve/bin/sh/alias.h ============================================================================== --- projects/bhyve/bin/sh/alias.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/alias.h Tue Jun 28 06:26:03 2011 (r223621) @@ -43,5 +43,3 @@ struct alias { }; struct alias *lookupalias(const char *, int); -int aliascmd(int, char **); -int unaliascmd(int, char **); Modified: projects/bhyve/bin/sh/arith.h ============================================================================== --- projects/bhyve/bin/sh/arith.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/arith.h Tue Jun 28 06:26:03 2011 (r223621) @@ -36,4 +36,3 @@ arith_t arith(const char *); void arith_lex_reset(void); -int expcmd(int, char **); Modified: projects/bhyve/bin/sh/arith_yacc.c ============================================================================== --- projects/bhyve/bin/sh/arith_yacc.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/arith_yacc.c Tue Jun 28 06:26:03 2011 (r223621) @@ -344,7 +344,7 @@ arith_t arith(const char *s) * The exp(1) builtin. */ int -expcmd(int argc, char **argv) +letcmd(int argc, char **argv) { const char *p; char *concat; Modified: projects/bhyve/bin/sh/bltin/bltin.h ============================================================================== --- projects/bhyve/bin/sh/bltin/bltin.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/bltin/bltin.h Tue Jun 28 06:26:03 2011 (r223621) @@ -43,6 +43,7 @@ #include "../mystring.h" #ifdef SHELL #include "../output.h" +#include "builtins.h" #define FILE struct output #undef stdout #define stdout out1 @@ -75,7 +76,4 @@ pointer stalloc(int); void error(const char *, ...) __printf0like(1, 2); pid_t getjobpgrp(char *); -int echocmd(int, char **); -int testcmd(int, char **); - extern char *commandname; Modified: projects/bhyve/bin/sh/builtins.def ============================================================================== --- projects/bhyve/bin/sh/builtins.def Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/builtins.def Tue Jun 28 06:26:03 2011 (r223621) @@ -60,7 +60,7 @@ echocmd echo evalcmd -s eval execcmd -s exec exitcmd -s exit -expcmd exp let +letcmd let exportcmd -s export -s readonly #exprcmd expr falsecmd false Modified: projects/bhyve/bin/sh/cd.c ============================================================================== --- projects/bhyve/bin/sh/cd.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/cd.c Tue Jun 28 06:26:03 2011 (r223621) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "show.h" #include "cd.h" +#include "builtins.h" static int cdlogical(char *); static int cdphysical(char *); @@ -86,6 +87,7 @@ cdcmd(int argc, char **argv) struct stat statb; int ch, phys, print = 0, getcwderr = 0; int rc; + int errno1 = ENOENT; optreset = 1; optind = 1; opterr = 0; /* initialize getopt */ phys = Pflag; @@ -122,7 +124,10 @@ cdcmd(int argc, char **argv) else dest = "."; } - if (*dest == '/' || (path = bltinlookup("CDPATH", 1)) == NULL) + if (dest[0] == '/' || + (dest[0] == '.' && (dest[1] == '/' || dest[1] == '\0')) || + (dest[0] == '.' && dest[1] == '.' && (dest[2] == '/' || dest[2] == '\0')) || + (path = bltinlookup("CDPATH", 1)) == NULL) path = nullstr; while ((p = padvance(&path, dest)) != NULL) { if (stat(p, &statb) >= 0 && S_ISDIR(statb.st_mode)) { @@ -138,9 +143,11 @@ cdcmd(int argc, char **argv) rc = docd(p, print, phys); if (rc >= 0) return getcwderr ? rc : 0; + if (errno != ENOENT) + errno1 = errno; } } - error("can't cd to %s", dest); + error("%s: %s", dest, strerror(errno1)); /*NOTREACHED*/ return 0; } Modified: projects/bhyve/bin/sh/cd.h ============================================================================== --- projects/bhyve/bin/sh/cd.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/cd.h Tue Jun 28 06:26:03 2011 (r223621) @@ -30,5 +30,3 @@ */ void pwd_init(int); -int cdcmd (int, char **); -int pwdcmd(int, char **); Modified: projects/bhyve/bin/sh/eval.c ============================================================================== --- projects/bhyve/bin/sh/eval.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/eval.c Tue Jun 28 06:26:03 2011 (r223621) @@ -140,7 +140,7 @@ evalcmd(int argc, char **argv) STPUTC('\0', concat); p = grabstackstr(concat); } - evalstring(p, builtin_flags & EV_TESTED); + evalstring(p, builtin_flags); } else exitstatus = 0; return exitstatus; @@ -165,7 +165,7 @@ evalstring(char *s, int flags) setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { - if (n != NULL) { + if (n != NULL && !nflag) { if (flags_exit && preadateof()) evaltree(n, flags | EV_EXIT); else @@ -386,6 +386,14 @@ evalcase(union node *n, int flags) for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { if (casematch(patp, arglist.list->text)) { + while (cp->nclist.next && + cp->type == NCLISTFALLTHRU) { + if (evalskip != 0) + break; + evaltree(cp->nclist.body, + flags & ~EV_EXIT); + cp = cp->nclist.next; + } if (evalskip == 0) { evaltree(cp->nclist.body, flags); } @@ -409,6 +417,7 @@ evalsubshell(union node *n, int flags) struct job *jp; int backgnd = (n->type == NBACKGND); + oexitstatus = exitstatus; expredir(n->nredir.redirect); if ((!backgnd && flags & EV_EXIT && !have_traps()) || forkshell(jp = makejob(n, 1), n, backgnd) == 0) { @@ -436,6 +445,7 @@ evalredir(union node *n, int flags) struct jmploc *savehandler; volatile int in_redirect = 1; + oexitstatus = exitstatus; expredir(n->nredir.redirect); savehandler = handler; if (setjmp(jmploc.loc)) { @@ -478,7 +488,6 @@ expredir(union node *n) for (redir = n ; redir ; redir = redir->nfile.next) { struct arglist fn; fn.lastp = &fn.list; - oexitstatus = exitstatus; switch (redir->type) { case NFROM: case NTO: @@ -570,14 +579,8 @@ evalpipe(union node *n) static int is_valid_fast_cmdsubst(union node *n) { - union node *argp; - if (n->type != NCMD) - return 0; - for (argp = n->ncmd.args ; argp ; argp = argp->narg.next) - if (expandhassideeffects(argp->narg.text)) - return 0; - return 1; + return (n->type == NCMD); } /* @@ -595,6 +598,7 @@ evalbackcmd(union node *n, struct backcm struct stackmark smark; /* unnecessary */ struct jmploc jmploc; struct jmploc *savehandler; + struct localvar *savelocalvars; setstackmark(&smark); result->fd = -1; @@ -607,12 +611,18 @@ evalbackcmd(union node *n, struct backcm } if (is_valid_fast_cmdsubst(n)) { exitstatus = oexitstatus; + savelocalvars = localvars; + localvars = NULL; + forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXERROR || exception == EXEXEC) exitstatus = 2; else if (exception != 0) { handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; longjmp(handler->loc, 1); } } else { @@ -620,6 +630,9 @@ evalbackcmd(union node *n, struct backcm evalcommand(n, EV_BACKCMD, result); } handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; } else { exitstatus = 0; if (pipe(pip) < 0) @@ -744,8 +757,9 @@ evalcommand(union node *cmd, int flags, /* Print the command if xflag is set. */ if (xflag) { char sep = 0; - const char *p; - out2str(ps4val()); + const char *p, *ps4; + ps4 = expandstr(ps4val()); + out2str(ps4 != NULL ? ps4 : ps4val()); for (sp = varlist.list ; sp ; sp = sp->next) { if (sep != 0) out2c(' '); @@ -880,14 +894,13 @@ evalcommand(union node *cmd, int flags, } /* Fork off a child process if necessary. */ - if (cmd->ncmd.backgnd - || ((cmdentry.cmdtype == CMDNORMAL || cmdentry.cmdtype == CMDUNKNOWN) + if (((cmdentry.cmdtype == CMDNORMAL || cmdentry.cmdtype == CMDUNKNOWN) && ((flags & EV_EXIT) == 0 || have_traps())) || ((flags & EV_BACKCMD) != 0 && (cmdentry.cmdtype != CMDBUILTIN || !safe_builtin(cmdentry.u.index, argc, argv)))) { jp = makejob(cmd, 1); - mode = cmd->ncmd.backgnd; + mode = FORK_FG; if (flags & EV_BACKCMD) { mode = FORK_NOJOB; if (pipe(pip) < 0) @@ -902,6 +915,7 @@ evalcommand(union node *cmd, int flags, dup2(pip[1], 1); close(pip[1]); } + flags &= ~EV_BACKCMD; } flags |= EV_EXIT; } @@ -1053,8 +1067,7 @@ parent: /* parent process gets here (if backcmd->fd = pip[0]; close(pip[1]); backcmd->jp = jp; - } else - exitstatus = 0; + } out: if (lastarg) Modified: projects/bhyve/bin/sh/eval.h ============================================================================== --- projects/bhyve/bin/sh/eval.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/eval.h Tue Jun 28 06:26:03 2011 (r223621) @@ -51,19 +51,10 @@ struct backcmd { /* result of evalbackc #define EV_TESTED 02 /* exit status is checked; ignore -e flag */ #define EV_BACKCMD 04 /* command executing within back quotes */ -int evalcmd(int, char **); void evalstring(char *, int); union node; /* BLETCH for ansi C */ void evaltree(union node *, int); void evalbackcmd(union node *, struct backcmd *); -int bltincmd(int, char **); -int breakcmd(int, char **); -int returncmd(int, char **); -int falsecmd(int, char **); -int truecmd(int, char **); -int execcmd(int, char **); -int timescmd(int, char **); -int commandcmd(int, char **); /* in_function returns nonzero if we are currently evaluating a function */ #define in_function() funcnest Modified: projects/bhyve/bin/sh/exec.h ============================================================================== --- projects/bhyve/bin/sh/exec.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/exec.h Tue Jun 28 06:26:03 2011 (r223621) @@ -66,7 +66,6 @@ extern int exerrno; /* last exec error void shellexec(char **, char **, const char *, int) __dead2; char *padvance(const char **, const char *); -int hashcmd(int, char **); void find_command(const char *, struct cmdentry *, int, const char *); int find_builtin(const char *, int *); void hashcd(void); @@ -75,5 +74,4 @@ void addcmdentry(const char *, struct cm void defun(const char *, union node *); int unsetfunc(const char *); int typecmd_impl(int, char **, int, const char *); -int typecmd(int, char **); void clearcmdentry(void); Modified: projects/bhyve/bin/sh/expand.c ============================================================================== --- projects/bhyve/bin/sh/expand.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/expand.c Tue Jun 28 06:26:03 2011 (r223621) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * Routines to expand arguments to commands. We have to deal with @@ -76,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "arith.h" #include "show.h" +#include "builtins.h" /* * Structure specifying which parts of the string should be searched @@ -174,6 +176,7 @@ expandarg(union node *arg, struct arglis ifslastp = NULL; argstr(arg->narg.text, flag); if (arglist == NULL) { + STACKSTRNUL(expdest); return; /* here document expanded */ } STPUTC('\0', expdest); @@ -761,7 +764,8 @@ again: /* jump here after setting a vari break; record: recordregion(startloc, expdest - stackblock(), - varflags & VSQUOTE); + varflags & VSQUOTE || (ifsset() && ifsval()[0] == '\0' && + (*var == '@' || *var == '*'))); break; case VSPLUS: @@ -947,7 +951,9 @@ numvar: sep = ' '; for (ap = shellparam.p ; (p = *ap++) != NULL ; ) { strtodest(p, flag, subtype, quoted); - if (*ap && sep) + if (!*ap) + break; + if (sep || (flag & EXP_FULL && !quoted && **ap != '\0')) STPUTC(sep, expdest); } break; @@ -1396,13 +1402,43 @@ get_wc(const char **p) /* + * See if a character matches a character class, starting at the first colon + * of "[:class:]". + * If a valid character class is recognized, a pointer to the next character + * after the final closing bracket is stored into *end, otherwise a null + * pointer is stored into *end. + */ +static int +match_charclass(const char *p, wchar_t chr, const char **end) +{ + char name[20]; + const char *nameend; + wctype_t cclass; + + *end = NULL; + p++; + nameend = strstr(p, ":]"); + if (nameend == NULL || nameend - p >= sizeof(name) || nameend == p) + return 0; + memcpy(name, p, nameend - p); + name[nameend - p] = '\0'; + *end = nameend + 2; + cclass = wctype(name); + /* An unknown class matches nothing but is valid nevertheless. */ + if (cclass == 0) + return 0; + return iswctype(chr, cclass); +} + + +/* * Returns true if the pattern matches the string. */ int patmatch(const char *pattern, const char *string, int squoted) { - const char *p, *q; + const char *p, *q, *end; char c; wchar_t wc, wc2; @@ -1426,7 +1462,7 @@ patmatch(const char *pattern, const char if (localeisutf8) wc = get_wc(&q); else - wc = *q++; + wc = (unsigned char)*q++; if (wc == '\0') return 0; break; @@ -1483,13 +1519,18 @@ patmatch(const char *pattern, const char if (localeisutf8) chr = get_wc(&q); else - chr = *q++; + chr = (unsigned char)*q++; if (chr == '\0') return 0; c = *p++; do { if (c == CTLQUOTEMARK) continue; + if (c == '[' && *p == ':') { + found |= match_charclass(p, chr, &end); + if (end != NULL) + p = end; + } if (c == CTLESC) c = *p++; if (localeisutf8 && c & 0x80) { @@ -1498,7 +1539,7 @@ patmatch(const char *pattern, const char if (wc == 0) /* bad utf-8 */ return 0; } else - wc = c; + wc = (unsigned char)c; if (*p == '-' && p[1] != ']') { p++; while (*p == CTLQUOTEMARK) @@ -1510,7 +1551,7 @@ patmatch(const char *pattern, const char if (wc2 == 0) /* bad utf-8 */ return 0; } else - wc2 = *p++; + wc2 = (unsigned char)*p++; if ( collate_range_cmp(chr, wc) >= 0 && collate_range_cmp(chr, wc2) <= 0 ) @@ -1617,78 +1658,6 @@ cvtnum(int num, char *buf) } /* - * Check statically if expanding a string may have side effects. - */ -int -expandhassideeffects(const char *p) -{ - int c; - int arinest; - - arinest = 0; - while ((c = *p++) != '\0') { - switch (c) { - case CTLESC: - p++; - break; - case CTLVAR: - c = *p++; - /* Expanding $! sets the job to remembered. */ - if (*p == '!') - return 1; - if ((c & VSTYPE) == VSASSIGN) - return 1; - /* - * If we are in arithmetic, the parameter may contain - * '=' which may cause side effects. Exceptions are - * the length of a parameter and $$, $# and $? which - * are always numeric. - */ - if ((c & VSTYPE) == VSLENGTH) { - while (*p != '=') - p++; - p++; - break; - } - if ((*p == '$' || *p == '#' || *p == '?') && - p[1] == '=') { - p += 2; - break; - } - if (arinest > 0) - return 1; - break; - case CTLBACKQ: - case CTLBACKQ | CTLQUOTE: - if (arinest > 0) - return 1; - break; - case CTLARI: - arinest++; - break; - case CTLENDARI: - arinest--; - break; - case '=': - if (*p == '=') { - /* Allow '==' operator. */ - p++; - continue; - } - if (arinest > 0) - return 1; - break; - case '!': case '<': case '>': - /* Allow '!=', '<=', '>=' operators. */ - if (*p == '=') - p++; - break; - } - } - return 0; -} - -/* * Do most of the work for wordexp(3). */ Modified: projects/bhyve/bin/sh/expand.h ============================================================================== --- projects/bhyve/bin/sh/expand.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/expand.h Tue Jun 28 06:26:03 2011 (r223621) @@ -63,5 +63,3 @@ void expari(int); int patmatch(const char *, const char *, int); void rmescapes(char *); int casematch(union node *, const char *); -int expandhassideeffects(const char *); -int wordexpcmd(int, char **); Modified: projects/bhyve/bin/sh/histedit.c ============================================================================== --- projects/bhyve/bin/sh/histedit.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/histedit.c Tue Jun 28 06:26:03 2011 (r223621) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "eval.h" #include "memalloc.h" +#include "builtins.h" #define MAXHISTLOOPS 4 /* max recursions through fc */ #define DEFEDITOR "ed" /* default editor *should* be $EDITOR */ Modified: projects/bhyve/bin/sh/input.c ============================================================================== --- projects/bhyve/bin/sh/input.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/input.c Tue Jun 28 06:26:03 2011 (r223621) @@ -403,7 +403,7 @@ setinputfile(const char *fname, int push INTOFF; if ((fd = open(fname, O_RDONLY)) < 0) - error("Can't open %s: %s", fname, strerror(errno)); + error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { fd2 = fcntl(fd, F_DUPFD, 10); close(fd); Modified: projects/bhyve/bin/sh/jobs.c ============================================================================== --- projects/bhyve/bin/sh/jobs.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/jobs.c Tue Jun 28 06:26:03 2011 (r223621) @@ -70,6 +70,8 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "error.h" #include "mystring.h" +#include "var.h" +#include "builtins.h" static struct job *jobtab; /* array of jobs */ @@ -798,6 +800,7 @@ forkshell(struct job *jp, union node *n, handler = &main_handler; closescript(); INTON; + forcelocal = 0; clear_traps(); #if JOBS jobctl = 0; /* do job control only in root shell */ @@ -820,7 +823,7 @@ forkshell(struct job *jp, union node *n, ! fd0_redirected_p ()) { close(0); if (open(_PATH_DEVNULL, O_RDONLY) != 0) - error("Can't open %s: %s", + error("cannot open %s: %s", _PATH_DEVNULL, strerror(errno)); } } @@ -832,7 +835,7 @@ forkshell(struct job *jp, union node *n, ! fd0_redirected_p ()) { close(0); if (open(_PATH_DEVNULL, O_RDONLY) != 0) - error("Can't open %s: %s", + error("cannot open %s: %s", _PATH_DEVNULL, strerror(errno)); } } @@ -1121,7 +1124,7 @@ backgndpidset(void) pid_t backgndpidval(void) { - if (bgjob != NULL) + if (bgjob != NULL && !forcelocal) bgjob->remembered = 1; return backgndpid; } Modified: projects/bhyve/bin/sh/jobs.h ============================================================================== --- projects/bhyve/bin/sh/jobs.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/jobs.h Tue Jun 28 06:26:03 2011 (r223621) @@ -88,12 +88,7 @@ extern int in_dowait; /* are we in dowa extern volatile sig_atomic_t breakwaitcmd; /* break wait to process traps? */ void setjobctl(int); -int fgcmd(int, char **); -int bgcmd(int, char **); -int jobscmd(int, char **); void showjobs(int, int); -int waitcmd(int, char **); -int jobidcmd(int, char **); struct job *makejob(union node *, int); pid_t forkshell(struct job *, union node *, int); int waitforjob(struct job *, int *); Modified: projects/bhyve/bin/sh/main.c ============================================================================== --- projects/bhyve/bin/sh/main.c Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/main.c Tue Jun 28 06:26:03 2011 (r223621) @@ -72,13 +72,14 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "exec.h" #include "cd.h" +#include "builtins.h" int rootpid; int rootshell; struct jmploc main_handler; int localeisutf8, initial_localeisutf8; -static void read_profile(const char *); +static void read_profile(char *); static char *find_dot_file(char *); /* @@ -92,7 +93,7 @@ static char *find_dot_file(char *); int main(int argc, char *argv[]) { - struct stackmark smark; + struct stackmark smark, smark2; volatile int state; char *shinit; @@ -139,6 +140,7 @@ main(int argc, char *argv[]) rootshell = 1; init(); setstackmark(&smark); + setstackmark(&smark2); procargs(argc, argv); pwd_init(iflag); if (iflag) @@ -149,7 +151,7 @@ main(int argc, char *argv[]) state1: state = 2; if (privileged == 0) - read_profile(".profile"); + read_profile("${HOME-}/.profile"); else read_profile("/etc/suid_profile"); } @@ -163,6 +165,7 @@ state2: } state3: state = 4; + popstackmark(&smark2); if (minusc) { evalstring(minusc, sflag ? 0 : EV_EXIT); } @@ -235,12 +238,16 @@ cmdloop(int top) */ static void -read_profile(const char *name) +read_profile(char *name) { int fd; + const char *expandedname; + expandedname = expandstr(name); + if (expandedname == NULL) + return; INTOFF; - if ((fd = open(name, O_RDONLY)) >= 0) + if ((fd = open(expandedname, O_RDONLY)) >= 0) setinputfd(fd, 1); INTON; if (fd < 0) @@ -264,7 +271,7 @@ readcmdfile(const char *name) if ((fd = open(name, O_RDONLY)) >= 0) setinputfd(fd, 1); else - error("Can't open %s: %s", name, strerror(errno)); + error("cannot open %s: %s", name, strerror(errno)); INTON; cmdloop(0); popfile(); Modified: projects/bhyve/bin/sh/main.h ============================================================================== --- projects/bhyve/bin/sh/main.h Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/main.h Tue Jun 28 06:26:03 2011 (r223621) @@ -39,5 +39,3 @@ extern struct jmploc main_handler; /* to void readcmdfile(const char *); void cmdloop(int); -int dotcmd(int, char **); -int exitcmd(int, char **); Modified: projects/bhyve/bin/sh/mkbuiltins ============================================================================== --- projects/bhyve/bin/sh/mkbuiltins Tue Jun 28 06:16:33 2011 (r223620) +++ projects/bhyve/bin/sh/mkbuiltins Tue Jun 28 06:26:03 2011 (r223621) @@ -58,9 +58,7 @@ cat <<\! ! awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \ print $0}' builtins.def | sed 's/-[hj]//' > $temp -awk '{ printf "int %s(int, char **);\n", $1}' $temp -echo ' -int (*const builtinfunc[])(int, char **) = {' *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 12:51:08 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E55C106566C; Tue, 28 Jun 2011 12:51:08 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8E5FD8FC08; Tue, 28 Jun 2011 12:51:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SCp81U050092; Tue, 28 Jun 2011 12:51:08 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SCp8oE050089; Tue, 28 Jun 2011 12:51:08 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106281251.p5SCp8oE050089@svn.freebsd.org> From: Attilio Rao Date: Tue, 28 Jun 2011 12:51:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223639 - projects/largeSMP/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 12:51:08 -0000 Author: attilio Date: Tue Jun 28 12:51:08 2011 New Revision: 223639 URL: http://svn.freebsd.org/changeset/base/223639 Log: Remove pc_cpumask and pc_other_cpus from MIPS support. Tested by: gonzo Modified: projects/largeSMP/sys/mips/mips/mp_machdep.c projects/largeSMP/sys/mips/mips/pmap.c Modified: projects/largeSMP/sys/mips/mips/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/mips/mips/mp_machdep.c Tue Jun 28 12:32:24 2011 (r223638) +++ projects/largeSMP/sys/mips/mips/mp_machdep.c Tue Jun 28 12:51:08 2011 (r223639) @@ -75,8 +75,11 @@ ipi_send(struct pcpu *pc, int ipi) void ipi_all_but_self(int ipi) { + cpuset_t other_cpus; - ipi_selected(PCPU_GET(other_cpus), ipi); + other_cpus = all_cpus; + CPU_CLR(PCPU_GET(cpuid), &other_cpus); + ipi_selected(other_cpus, ipi); } /* Send an IPI to a set of cpus. */ @@ -86,7 +89,7 @@ ipi_selected(cpuset_t cpus, int ipi) struct pcpu *pc; STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { - if (CPU_OVERLAP(&cpus, &pc->pc_cpumask)) { + if (CPU_ISSET(pc->pc_cpuid, &cpus)) { CTR3(KTR_SMP, "%s: pc: %p, ipi: %x\n", __func__, pc, ipi); ipi_send(pc, ipi); @@ -109,13 +112,10 @@ ipi_cpu(int cpu, u_int ipi) static int mips_ipi_handler(void *arg) { - int cpu; - cpuset_t cpumask; - u_int ipi, ipi_bitmap; + u_int cpu, ipi, ipi_bitmap; int bit; cpu = PCPU_GET(cpuid); - cpumask = PCPU_GET(cpumask); platform_ipi_clear(); /* quiesce the pending ipi interrupt */ @@ -150,14 +150,14 @@ mips_ipi_handler(void *arg) tlb_save(); /* Indicate we are stopped */ - CPU_OR_ATOMIC(&stopped_cpus, &cpumask); + CPU_SET_ATOMIC(cpu, &stopped_cpus); /* Wait for restart */ - while (!CPU_OVERLAP(&started_cpus, &cpumask)) + while (!CPU_ISSET(cpu, &started_cpus)) cpu_spinwait(); - CPU_NAND_ATOMIC(&started_cpus, &cpumask); - CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); + CPU_CLR_ATOMIC(cpu, &started_cpus); + CPU_CLR_ATOMIC(cpu, &stopped_cpus); CTR0(KTR_SMP, "IPI_STOP (restart)"); break; case IPI_PREEMPT: @@ -243,7 +243,7 @@ void cpu_mp_start(void) { int error, cpuid; - cpuset_t cpumask, ocpus; + cpuset_t cpumask; mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); @@ -269,16 +269,11 @@ cpu_mp_start(void) } CPU_SET(cpuid, &all_cpus); } - - ocpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &ocpus); - PCPU_SET(other_cpus, ocpus); } void smp_init_secondary(u_int32_t cpuid) { - cpuset_t ocpus; /* TLB */ mips_wr_wired(0); @@ -316,11 +311,6 @@ smp_init_secondary(u_int32_t cpuid) CTR1(KTR_SMP, "SMP: AP CPU #%d launched", PCPU_GET(cpuid)); - /* Build our map of 'other' CPUs. */ - ocpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &ocpus); - PCPU_SET(other_cpus, ocpus); - if (bootverbose) printf("SMP: AP CPU #%d launched.\n", PCPU_GET(cpuid)); Modified: projects/largeSMP/sys/mips/mips/pmap.c ============================================================================== --- projects/largeSMP/sys/mips/mips/pmap.c Tue Jun 28 12:32:24 2011 (r223638) +++ projects/largeSMP/sys/mips/mips/pmap.c Tue Jun 28 12:51:08 2011 (r223639) @@ -625,19 +625,18 @@ pmap_init(void) static __inline void pmap_invalidate_all_local(pmap_t pmap) { + u_int cpuid; + + cpuid = PCPU_GET(cpuid); if (pmap == kernel_pmap) { tlb_invalidate_all(); return; } - sched_pin(); - if (CPU_OVERLAP(&pmap->pm_active, PCPU_PTR(cpumask))) { - sched_unpin(); + if (CPU_ISSET(cpuid, &pmap->pm_active)) tlb_invalidate_all_user(pmap); - } else { - sched_unpin(); - pmap->pm_asid[PCPU_GET(cpuid)].gen = 0; - } + else + pmap->pm_asid[cpuid].gen = 0; } #ifdef SMP @@ -666,21 +665,20 @@ pmap_invalidate_all(pmap_t pmap) static __inline void pmap_invalidate_page_local(pmap_t pmap, vm_offset_t va) { + u_int cpuid; + + cpuid = PCPU_GET(cpuid); if (is_kernel_pmap(pmap)) { tlb_invalidate_address(pmap, va); return; } - sched_pin(); - if (pmap->pm_asid[PCPU_GET(cpuid)].gen != PCPU_GET(asid_generation)) { - sched_unpin(); + if (pmap->pm_asid[cpuid].gen != PCPU_GET(asid_generation)) return; - } else if (!CPU_OVERLAP(&pmap->pm_active, PCPU_PTR(cpumask))) { - pmap->pm_asid[PCPU_GET(cpuid)].gen = 0; - sched_unpin(); + else if (!CPU_ISSET(cpuid, &pmap->pm_active)) { + pmap->pm_asid[cpuid].gen = 0; return; } - sched_unpin(); tlb_invalidate_address(pmap, va); } @@ -719,21 +717,20 @@ pmap_invalidate_page(pmap_t pmap, vm_off static __inline void pmap_update_page_local(pmap_t pmap, vm_offset_t va, pt_entry_t pte) { + u_int cpuid; + + cpuid = PCPU_GET(cpuid); if (is_kernel_pmap(pmap)) { tlb_update(pmap, va, pte); return; } - sched_pin(); - if (pmap->pm_asid[PCPU_GET(cpuid)].gen != PCPU_GET(asid_generation)) { - sched_unpin(); + if (pmap->pm_asid[cpuid].gen != PCPU_GET(asid_generation)) return; - } else if (!CPU_OVERLAP(&pmap->pm_active, PCPU_PTR(cpumask))) { - pmap->pm_asid[PCPU_GET(cpuid)].gen = 0; - sched_unpin(); + else if (!CPU_ISSET(cpuid, &pmap->pm_active)) { + pmap->pm_asid[cpuid].gen = 0; return; } - sched_unpin(); tlb_update(pmap, va, pte); } @@ -2953,19 +2950,21 @@ pmap_activate(struct thread *td) { pmap_t pmap, oldpmap; struct proc *p = td->td_proc; + u_int cpuid; critical_enter(); pmap = vmspace_pmap(p->p_vmspace); oldpmap = PCPU_GET(curpmap); + cpuid = PCPU_GET(cpuid); if (oldpmap) - CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active); + CPU_SET_ATOMIC(cpuid, &pmap->pm_active); pmap_asid_alloc(pmap); if (td == curthread) { PCPU_SET(segbase, pmap->pm_segtab); - mips_wr_entryhi(pmap->pm_asid[PCPU_GET(cpuid)].asid); + mips_wr_entryhi(pmap->pm_asid[cpuid].asid); } PCPU_SET(curpmap, pmap); From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 13:13:06 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9AAD106564A; Tue, 28 Jun 2011 13:13:06 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A1B788FC16; Tue, 28 Jun 2011 13:13:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SDD68s050828; Tue, 28 Jun 2011 13:13:06 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SDD6Is050823; Tue, 28 Jun 2011 13:13:06 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106281313.p5SDD6Is050823@svn.freebsd.org> From: Attilio Rao Date: Tue, 28 Jun 2011 13:13:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223640 - in projects/largeSMP/sys/i386: i386 xen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 13:13:06 -0000 Author: attilio Date: Tue Jun 28 13:13:06 2011 New Revision: 223640 URL: http://svn.freebsd.org/changeset/base/223640 Log: Remove pc_cpumask usage from i386 and XEN. Tested by: pluknet Modified: projects/largeSMP/sys/i386/i386/mp_machdep.c projects/largeSMP/sys/i386/i386/pmap.c projects/largeSMP/sys/i386/xen/mp_machdep.c projects/largeSMP/sys/i386/xen/pmap.c Modified: projects/largeSMP/sys/i386/i386/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/i386/mp_machdep.c Tue Jun 28 12:51:08 2011 (r223639) +++ projects/largeSMP/sys/i386/i386/mp_machdep.c Tue Jun 28 13:13:06 2011 (r223640) @@ -658,12 +658,11 @@ cpu_mp_announce(void) void init_secondary(void) { - cpuset_t tcpuset; struct pcpu *pc; vm_offset_t addr; int gsel_tss; int x, myid; - u_int cr0; + u_int cpuid, cr0; /* bootAP is set in start_ap() to our ID. */ myid = bootAP; @@ -758,8 +757,9 @@ init_secondary(void) #endif /* A quick check from sanity claus */ + cpuid = PCPU_GET(cpuid); if (PCPU_GET(apic_id) != lapic_id()) { - printf("SMP: cpuid = %d\n", PCPU_GET(cpuid)); + printf("SMP: cpuid = %d\n", cpuid); printf("SMP: actual apic_id = %d\n", lapic_id()); printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id)); panic("cpuid mismatch! boom!!"); @@ -781,14 +781,13 @@ init_secondary(void) smp_cpus++; - CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", PCPU_GET(cpuid)); - printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); - tcpuset = PCPU_GET(cpumask); + CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid); + printf("SMP: AP CPU #%d Launched!\n", cpuid); /* Determine if we are a logical CPU. */ /* XXX Calculation depends on cpu_logical being a power of 2, e.g. 2 */ if (cpu_logical > 1 && PCPU_GET(apic_id) % cpu_logical != 0) - CPU_OR(&logical_cpus_mask, &tcpuset); + CPU_SET(cpuid, &logical_cpus_mask); if (bootverbose) lapic_dump("AP"); @@ -1242,9 +1241,7 @@ smp_targeted_tlb_shootdown(cpuset_t mask if (othercpus < 1) return; } else { - sched_pin(); - CPU_NAND(&mask, PCPU_PTR(cpumask)); - sched_unpin(); + CPU_CLR(PCPU_GET(cpuid), &mask); if (CPU_EMPTY(&mask)) return; } @@ -1465,7 +1462,7 @@ ipi_all_but_self(u_int ipi) int ipi_nmi_handler() { - cpuset_t cpumask; + u_int cpuid; /* * As long as there is not a simple way to know about a NMI's @@ -1473,13 +1470,11 @@ ipi_nmi_handler() * the global pending bitword an IPI_STOP_HARD has been issued * and should be handled. */ - sched_pin(); - cpumask = PCPU_GET(cpumask); - sched_unpin(); - if (!CPU_OVERLAP(&ipi_nmi_pending, &cpumask)) + cpuid = PCPU_GET(cpuid); + if (!CPU_ISSET(cpuid, &ipi_nmi_pending)) return (1); - CPU_NAND_ATOMIC(&ipi_nmi_pending, &cpumask); + CPU_CLR_ATOMIC(cpuid, &ipi_nmi_pending); cpustop_handler(); return (0); } @@ -1491,25 +1486,21 @@ ipi_nmi_handler() void cpustop_handler(void) { - cpuset_t cpumask; u_int cpu; - sched_pin(); cpu = PCPU_GET(cpuid); - cpumask = PCPU_GET(cpumask); - sched_unpin(); savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ - CPU_OR_ATOMIC(&stopped_cpus, &cpumask); + CPU_SET_ATOMIC(cpu, &stopped_cpus); /* Wait for restart */ - while (!CPU_OVERLAP(&started_cpus, &cpumask)) + while (!CPU_ISSET(cpu, &started_cpus)) ia32_pause(); - CPU_NAND_ATOMIC(&started_cpus, &cpumask); - CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); + CPU_CLR_ATOMIC(cpu, &started_cpus); + CPU_CLR_ATOMIC(cpu, &stopped_cpus); if (cpu == 0 && cpustop_restartfunc != NULL) { cpustop_restartfunc(); Modified: projects/largeSMP/sys/i386/i386/pmap.c ============================================================================== --- projects/largeSMP/sys/i386/i386/pmap.c Tue Jun 28 12:51:08 2011 (r223639) +++ projects/largeSMP/sys/i386/i386/pmap.c Tue Jun 28 13:13:06 2011 (r223640) @@ -1012,11 +1012,11 @@ pmap_invalidate_cache(void) } struct pde_action { - cpuset_t store; /* processor that updates the PDE */ cpuset_t invalidate; /* processors that invalidate their TLB */ vm_offset_t va; pd_entry_t *pde; pd_entry_t newpde; + u_int store; /* processor that updates the PDE */ }; static void @@ -1026,9 +1026,7 @@ pmap_update_pde_kernel(void *arg) pd_entry_t *pde; pmap_t pmap; - sched_pin(); - if (!CPU_CMP(&act->store, PCPU_PTR(cpumask))) { - sched_unpin(); + if (act->store == PCPU_GET(cpuid)) { /* * Elsewhere, this operation requires allpmaps_lock for @@ -1039,8 +1037,7 @@ pmap_update_pde_kernel(void *arg) pde = pmap_pde(pmap, act->va); pde_store(pde, act->newpde); } - } else - sched_unpin(); + } } static void @@ -1048,12 +1045,8 @@ pmap_update_pde_user(void *arg) { struct pde_action *act = arg; - sched_pin(); - if (!CPU_CMP(&act->store, PCPU_PTR(cpumask))) { - sched_unpin(); + if (act->store == PCPU_GET(cpuid)) pde_store(act->pde, act->newpde); - } else - sched_unpin(); } static void @@ -1077,24 +1070,25 @@ static void pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde) { struct pde_action act; - cpuset_t active, cpumask, other_cpus; + cpuset_t active, other_cpus; + u_int cpuid; sched_pin(); - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); + CPU_CLR(cpuid, &other_cpus); if (pmap == kernel_pmap) active = all_cpus; else active = pmap->pm_active; if (CPU_OVERLAP(&active, &other_cpus)) { - act.store = cpumask; + act.store = cpuid; act.invalidate = active; act.va = va; act.pde = pde; act.newpde = newpde; - CPU_OR(&cpumask, &active); - smp_rendezvous_cpus(cpumask, + CPU_SET(cpuid, &active); + smp_rendezvous_cpus(active, smp_no_rendevous_barrier, pmap == kernel_pmap ? pmap_update_pde_kernel : pmap_update_pde_user, pmap_update_pde_teardown, &act); @@ -1103,7 +1097,7 @@ pmap_update_pde(pmap_t pmap, vm_offset_t pmap_kenter_pde(va, newpde); else pde_store(pde, newpde); - if (CPU_OVERLAP(&active, &cpumask)) + if (CPU_ISSET(cpuid, &active)) pmap_update_pde_invalidate(va, newpde); } sched_unpin(); @@ -1928,12 +1922,12 @@ pmap_lazyfix_action(void) } static void -pmap_lazyfix_self(cpuset_t mymask) +pmap_lazyfix_self(u_int cpuid) { if (rcr3() == lazyptd) load_cr3(PCPU_GET(curpcb)->pcb_cr3); - CPU_NAND_ATOMIC(lazymask, &mymask); + CPU_CLR_ATOMIC(cpuid, lazymask); } @@ -1941,7 +1935,7 @@ static void pmap_lazyfix(pmap_t pmap) { cpuset_t mymask, mask; - u_int spins; + u_int cpuid, spins; int lsb; mask = pmap->pm_active; @@ -1959,10 +1953,13 @@ pmap_lazyfix(pmap_t pmap) #else lazyptd = vtophys(pmap->pm_pdir); #endif - mymask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); + + /* Use a cpuset just for having an easy check. */ + CPU_SETOF(cpuid, &mymask); if (!CPU_CMP(&mask, &mymask)) { lazymask = &pmap->pm_active; - pmap_lazyfix_self(mymask); + pmap_lazyfix_self(cpuid); } else { atomic_store_rel_int((u_int *)&lazymask, (u_int)&pmap->pm_active); @@ -5101,17 +5098,19 @@ void pmap_activate(struct thread *td) { pmap_t pmap, oldpmap; + u_int cpuid; u_int32_t cr3; critical_enter(); pmap = vmspace_pmap(td->td_proc->p_vmspace); oldpmap = PCPU_GET(curpmap); + cpuid = PCPU_GET(cpuid); #if defined(SMP) - CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active); + CPU_SET_ATOMIC(cpuid, &pmap->pm_active); #else - CPU_NAND(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR(cpuid, &oldpmap->pm_active); + CPU_SET(cpuid, &pmap->pm_active); #endif #ifdef PAE cr3 = vtophys(pmap->pm_pdpt); Modified: projects/largeSMP/sys/i386/xen/mp_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/xen/mp_machdep.c Tue Jun 28 12:51:08 2011 (r223639) +++ projects/largeSMP/sys/i386/xen/mp_machdep.c Tue Jun 28 13:13:06 2011 (r223640) @@ -523,8 +523,8 @@ xen_smp_intr_init_cpus(void *unused) void init_secondary(void) { - cpuset_t tcpuset; vm_offset_t addr; + u_int cpuid; int gsel_tss; @@ -601,18 +601,18 @@ init_secondary(void) #endif smp_cpus++; - CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", PCPU_GET(cpuid)); - printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid)); - tcpuset = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); + CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid); + printf("SMP: AP CPU #%d Launched!\n", cpuid); /* Determine if we are a logical CPU. */ if (logical_cpus > 1 && PCPU_GET(apic_id) % logical_cpus != 0) - CPU_OR(&logical_cpus_mask, &tcpuset); + CPU_SET(cpuid, &logical_cpus_mask); /* Determine if we are a hyperthread. */ if (hyperthreading_cpus > 1 && PCPU_GET(apic_id) % hyperthreading_cpus != 0) - CPU_OR(&hyperthreading_cpus_mask, &tcpuset); + CPU_SET(cpuid, &hyperthreading_cpus_mask); #if 0 if (bootverbose) lapic_dump("AP"); @@ -1020,9 +1020,7 @@ smp_targeted_tlb_shootdown(cpuset_t mask if (othercpus < 1) return; } else { - critical_enter(); - CPU_NAND(&mask, PCPU_PTR(cpumask)); - critical_exit(); + CPU_CLR(PCPU_GET(cpuid), &mask); if (CPU_EMPTY(&mask)) return; } @@ -1185,7 +1183,7 @@ ipi_all_but_self(u_int ipi) int ipi_nmi_handler() { - cpuset_t cpumask; + u_int cpuid; /* * As long as there is not a simple way to know about a NMI's @@ -1193,13 +1191,11 @@ ipi_nmi_handler() * the global pending bitword an IPI_STOP_HARD has been issued * and should be handled. */ - sched_pin(); - cpumask = PCPU_GET(cpumask); - sched_unpin(); - if (!CPU_OVERLAP(&ipi_nmi_pending, &cpumask)) + cpuid = PCPU_GET(cpuid); + if (!CPU_ISSET(cpuid, &ipi_nmi_pending)) return (1); - CPU_NAND_ATOMIC(&ipi_nmi_pending, &cpumask); + CPU_CLR_ATOMIC(cpuid, &ipi_nmi_pending); cpustop_handler(); return (0); } @@ -1211,25 +1207,21 @@ ipi_nmi_handler() void cpustop_handler(void) { - cpuset_t cpumask; int cpu; - sched_pin(); - cpumask = PCPU_GET(cpumask); cpu = PCPU_GET(cpuid); - sched_unpin(); savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ - CPU_OR_ATOMIC(&stopped_cpus, &cpumask); + CPU_SET_ATOMIC(cpu, &stopped_cpus); /* Wait for restart */ - while (!CPU_OVERLAP(&started_cpus, &cpumask)) + while (!CPU_ISSET(cpu, &started_cpus)) ia32_pause(); - CPU_NAND_ATOMIC(&started_cpus, &cpumask); - CPU_NAND_ATOMIC(&stopped_cpus, &cpumask); + CPU_CLR_ATOMIC(cpu, &started_cpus); + CPU_CLR_ATOMIC(cpu, &stopped_cpus); if (cpu == 0 && cpustop_restartfunc != NULL) { cpustop_restartfunc(); Modified: projects/largeSMP/sys/i386/xen/pmap.c ============================================================================== --- projects/largeSMP/sys/i386/xen/pmap.c Tue Jun 28 12:51:08 2011 (r223639) +++ projects/largeSMP/sys/i386/xen/pmap.c Tue Jun 28 13:13:06 2011 (r223640) @@ -802,7 +802,8 @@ pmap_cache_bits(int mode, boolean_t is_p void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; + u_int cpuid; CTR2(KTR_PMAP, "pmap_invalidate_page: pmap=%p va=0x%x", pmap, va); @@ -812,10 +813,10 @@ pmap_invalidate_page(pmap_t pmap, vm_off invlpg(va); smp_invlpg(va); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) invlpg(va); CPU_AND(&other_cpus, &pmap->pm_active); if (!CPU_EMPTY(&other_cpus)) @@ -828,8 +829,9 @@ pmap_invalidate_page(pmap_t pmap, vm_off void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; vm_offset_t addr; + u_int cpuid; CTR3(KTR_PMAP, "pmap_invalidate_page: pmap=%p eva=0x%x sva=0x%x", pmap, sva, eva); @@ -840,10 +842,10 @@ pmap_invalidate_range(pmap_t pmap, vm_of invlpg(addr); smp_invlpg_range(sva, eva); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); CPU_AND(&other_cpus, &pmap->pm_active); @@ -857,7 +859,8 @@ pmap_invalidate_range(pmap_t pmap, vm_of void pmap_invalidate_all(pmap_t pmap) { - cpuset_t cpumask, other_cpus; + cpuset_t other_cpus; + u_int cpuid; CTR1(KTR_PMAP, "pmap_invalidate_page: pmap=%p", pmap); @@ -866,10 +869,10 @@ pmap_invalidate_all(pmap_t pmap) invltlb(); smp_invltlb(); } else { - cpumask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; - CPU_CLR(PCPU_GET(cpuid), &other_cpus); - if (CPU_OVERLAP(&pmap->pm_active, &cpumask)) + CPU_CLR(cpuid, &other_cpus); + if (CPU_ISSET(cpuid, &pmap->pm_active)) invltlb(); CPU_AND(&other_cpus, &pmap->pm_active); if (!CPU_EMPTY(&other_cpus)) @@ -1711,12 +1714,12 @@ pmap_lazyfix_action(void) } static void -pmap_lazyfix_self(cpuset_t mymask) +pmap_lazyfix_self(u_int cpuid) { if (rcr3() == lazyptd) load_cr3(PCPU_GET(curpcb)->pcb_cr3); - CPU_NAND_ATOMIC(lazymask, &mymask); + CPU_CLR_ATOMIC(cpuid, lazymask); } @@ -1724,7 +1727,7 @@ static void pmap_lazyfix(pmap_t pmap) { cpuset_t mymask, mask; - u_int spins; + u_int cpuid, spins; int lsb; mask = pmap->pm_active; @@ -1742,10 +1745,13 @@ pmap_lazyfix(pmap_t pmap) #else lazyptd = vtophys(pmap->pm_pdir); #endif - mymask = PCPU_GET(cpumask); + cpuid = PCPU_GET(cpuid); + + /* Use a cpuset just for having an easy check. */ + CPU_SETOF(cpuid, &mymask); if (!CPU_CMP(&mask, &mymask)) { lazymask = &pmap->pm_active; - pmap_lazyfix_self(mymask); + pmap_lazyfix_self(cpuid); } else { atomic_store_rel_int((u_int *)&lazymask, (u_int)&pmap->pm_active); @@ -4129,17 +4135,19 @@ void pmap_activate(struct thread *td) { pmap_t pmap, oldpmap; + u_int cpuid; u_int32_t cr3; critical_enter(); pmap = vmspace_pmap(td->td_proc->p_vmspace); oldpmap = PCPU_GET(curpmap); + cpuid = PCPU_GET(cpuid); #if defined(SMP) - CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active); + CPU_SET_ATOMIC(cpuid, &pmap->pm_active); #else - CPU_NAND(&oldpmap->pm_active, PCPU_PTR(cpumask)); - CPU_OR(&pmap->pm_active, PCPU_PTR(cpumask)); + CPU_CLR(cpuid, &oldpmap->pm_active); + CPU_SET(cpuid, &pmap->pm_active); #endif #ifdef PAE cr3 = vtophys(pmap->pm_pdpt); From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 13:14:39 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E25CC1065674; Tue, 28 Jun 2011 13:14:39 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D2C4B8FC0A; Tue, 28 Jun 2011 13:14:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SDEdXq050905; Tue, 28 Jun 2011 13:14:39 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SDEdVD050902; Tue, 28 Jun 2011 13:14:39 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106281314.p5SDEdVD050902@svn.freebsd.org> From: Attilio Rao Date: Tue, 28 Jun 2011 13:14:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223641 - in projects/largeSMP/sys/cddl/dev/dtrace: amd64 i386 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 13:14:40 -0000 Author: attilio Date: Tue Jun 28 13:14:39 2011 New Revision: 223641 URL: http://svn.freebsd.org/changeset/base/223641 Log: Remove pc_cpumask usage from dtrace MD support Modified: projects/largeSMP/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/largeSMP/sys/cddl/dev/dtrace/i386/dtrace_subr.c Modified: projects/largeSMP/sys/cddl/dev/dtrace/amd64/dtrace_subr.c ============================================================================== --- projects/largeSMP/sys/cddl/dev/dtrace/amd64/dtrace_subr.c Tue Jun 28 13:13:06 2011 (r223640) +++ projects/largeSMP/sys/cddl/dev/dtrace/amd64/dtrace_subr.c Tue Jun 28 13:14:39 2011 (r223641) @@ -412,8 +412,8 @@ dtrace_gethrtime_init(void *arg) continue; pc = pcpu_find(i); - map = PCPU_GET(cpumask); - CPU_OR(&map, &pc->pc_cpumask); + CPU_SETOF(PCPU_GET(cpuid), &map); + CPU_SET(pc->pc_cpuid, &map); smp_rendezvous_cpus(map, NULL, dtrace_gethrtime_init_cpu, Modified: projects/largeSMP/sys/cddl/dev/dtrace/i386/dtrace_subr.c ============================================================================== --- projects/largeSMP/sys/cddl/dev/dtrace/i386/dtrace_subr.c Tue Jun 28 13:13:06 2011 (r223640) +++ projects/largeSMP/sys/cddl/dev/dtrace/i386/dtrace_subr.c Tue Jun 28 13:14:39 2011 (r223641) @@ -413,8 +413,8 @@ dtrace_gethrtime_init(void *arg) continue; pc = pcpu_find(i); - map = PCPU_GET(cpumask); - CPU_OR(&map, &pc->pc_cpumask); + CPU_SETOF(PCPU_GET(cpuid), &map); + CPU_SET(pc->pc_cpuid, &map); smp_rendezvous_cpus(map, NULL, dtrace_gethrtime_init_cpu, From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 14:40:18 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 74727106564A; Tue, 28 Jun 2011 14:40:18 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 611238FC12; Tue, 28 Jun 2011 14:40:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SEeIRG053653; Tue, 28 Jun 2011 14:40:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SEeIRb053642; Tue, 28 Jun 2011 14:40:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106281440.p5SEeIRb053642@svn.freebsd.org> From: Attilio Rao Date: Tue, 28 Jun 2011 14:40:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223645 - in projects/largeSMP: . bin/sh cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common contrib/libpcap/bpf/net contrib/ntp/ntpd contrib/pf/authpf contrib/p... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 14:40:18 -0000 Author: attilio Date: Tue Jun 28 14:40:17 2011 New Revision: 223645 URL: http://svn.freebsd.org/changeset/base/223645 Log: MFC Added: projects/largeSMP/sys/contrib/pf/net/if_pflow.h - copied unchanged from r223641, head/sys/contrib/pf/net/if_pflow.h projects/largeSMP/sys/contrib/pf/net/pf_lb.c - copied unchanged from r223641, head/sys/contrib/pf/net/pf_lb.c projects/largeSMP/sys/modules/pfsync/ - copied from r223641, head/sys/modules/pfsync/ Deleted: projects/largeSMP/sys/contrib/pf/net/pf_subr.c projects/largeSMP/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk Modified: projects/largeSMP/UPDATING projects/largeSMP/bin/sh/arith_yacc.c projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/largeSMP/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/largeSMP/contrib/libpcap/bpf/net/bpf_filter.c projects/largeSMP/contrib/ntp/ntpd/ntp_io.c projects/largeSMP/contrib/pf/authpf/authpf.8 projects/largeSMP/contrib/pf/authpf/authpf.c projects/largeSMP/contrib/pf/authpf/pathnames.h projects/largeSMP/contrib/pf/ftp-proxy/filter.c projects/largeSMP/contrib/pf/ftp-proxy/filter.h projects/largeSMP/contrib/pf/ftp-proxy/ftp-proxy.8 projects/largeSMP/contrib/pf/ftp-proxy/ftp-proxy.c projects/largeSMP/contrib/pf/man/pf.4 projects/largeSMP/contrib/pf/man/pf.conf.5 projects/largeSMP/contrib/pf/man/pf.os.5 projects/largeSMP/contrib/pf/man/pflog.4 projects/largeSMP/contrib/pf/man/pfsync.4 projects/largeSMP/contrib/pf/pfctl/parse.y projects/largeSMP/contrib/pf/pfctl/pf_print_state.c projects/largeSMP/contrib/pf/pfctl/pfctl.8 projects/largeSMP/contrib/pf/pfctl/pfctl.c projects/largeSMP/contrib/pf/pfctl/pfctl.h projects/largeSMP/contrib/pf/pfctl/pfctl_altq.c projects/largeSMP/contrib/pf/pfctl/pfctl_optimize.c projects/largeSMP/contrib/pf/pfctl/pfctl_osfp.c projects/largeSMP/contrib/pf/pfctl/pfctl_parser.c projects/largeSMP/contrib/pf/pfctl/pfctl_parser.h projects/largeSMP/contrib/pf/pfctl/pfctl_qstats.c projects/largeSMP/contrib/pf/pfctl/pfctl_radix.c projects/largeSMP/contrib/pf/pfctl/pfctl_table.c projects/largeSMP/contrib/pf/pflogd/pflogd.8 projects/largeSMP/contrib/pf/pflogd/pflogd.c projects/largeSMP/contrib/pf/pflogd/privsep.c projects/largeSMP/contrib/pf/pflogd/privsep_fdpass.c projects/largeSMP/contrib/traceroute/traceroute.c projects/largeSMP/contrib/tzdata/antarctica projects/largeSMP/contrib/tzdata/asia projects/largeSMP/contrib/tzdata/europe projects/largeSMP/contrib/tzdata/southamerica projects/largeSMP/contrib/tzdata/zone.tab projects/largeSMP/etc/devd/usb.conf projects/largeSMP/lib/csu/powerpc64/Makefile projects/largeSMP/lib/libc/gen/getutxent.3 projects/largeSMP/lib/libc/gen/posix_spawn.3 projects/largeSMP/lib/libc/gen/posix_spawn.c projects/largeSMP/lib/libc/gen/pututxline.c projects/largeSMP/lib/libc/stdlib/ptsname.c projects/largeSMP/lib/libmd/sha256.3 projects/largeSMP/lib/libmd/sha512.3 projects/largeSMP/lib/libusb/libusb10.c projects/largeSMP/sbin/hastctl/Makefile projects/largeSMP/sbin/hastd/Makefile projects/largeSMP/sbin/hastd/subr.c projects/largeSMP/sbin/pflogd/Makefile projects/largeSMP/share/misc/iso3166 projects/largeSMP/share/mk/bsd.own.mk projects/largeSMP/sys/boot/i386/zfsboot/zfsldr.S projects/largeSMP/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/largeSMP/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/largeSMP/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/largeSMP/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/largeSMP/sys/conf/files projects/largeSMP/sys/contrib/altq/altq/altq_red.c projects/largeSMP/sys/contrib/pf/net/if_pflog.c projects/largeSMP/sys/contrib/pf/net/if_pflog.h projects/largeSMP/sys/contrib/pf/net/if_pfsync.c projects/largeSMP/sys/contrib/pf/net/if_pfsync.h projects/largeSMP/sys/contrib/pf/net/pf.c projects/largeSMP/sys/contrib/pf/net/pf_if.c projects/largeSMP/sys/contrib/pf/net/pf_ioctl.c projects/largeSMP/sys/contrib/pf/net/pf_mtag.h projects/largeSMP/sys/contrib/pf/net/pf_norm.c projects/largeSMP/sys/contrib/pf/net/pf_osfp.c projects/largeSMP/sys/contrib/pf/net/pf_ruleset.c projects/largeSMP/sys/contrib/pf/net/pf_table.c projects/largeSMP/sys/contrib/pf/net/pfvar.h projects/largeSMP/sys/dev/acpica/acpi_thermal.c projects/largeSMP/sys/dev/an/if_an.c projects/largeSMP/sys/dev/ath/ath_hal/ah_eeprom_9287.h projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/largeSMP/sys/dev/dc/dcphy.c projects/largeSMP/sys/dev/dc/pnphy.c projects/largeSMP/sys/dev/en/if_en_pci.c projects/largeSMP/sys/dev/et/if_et.c projects/largeSMP/sys/dev/fdc/fdc_pccard.c projects/largeSMP/sys/dev/fxp/if_fxp.c projects/largeSMP/sys/dev/iicbus/if_ic.c projects/largeSMP/sys/dev/mfi/mfi_cam.c projects/largeSMP/sys/dev/my/if_my.c projects/largeSMP/sys/dev/pty/pty.c projects/largeSMP/sys/dev/sis/if_sis.c projects/largeSMP/sys/dev/snp/snp.c projects/largeSMP/sys/dev/syscons/scterm-teken.c projects/largeSMP/sys/dev/tdfx/tdfx_pci.c projects/largeSMP/sys/dev/usb/usb_msctest.c projects/largeSMP/sys/geom/part/g_part_ebr.c projects/largeSMP/sys/geom/part/g_part_mbr.c projects/largeSMP/sys/kern/tty.c projects/largeSMP/sys/kern/tty_inq.c projects/largeSMP/sys/kern/tty_outq.c projects/largeSMP/sys/kern/tty_pts.c projects/largeSMP/sys/kern/tty_ttydisc.c projects/largeSMP/sys/modules/Makefile projects/largeSMP/sys/modules/ipdivert/Makefile projects/largeSMP/sys/modules/pf/Makefile projects/largeSMP/sys/modules/pflog/Makefile projects/largeSMP/sys/net/if.c projects/largeSMP/sys/net80211/ieee80211_dfs.c projects/largeSMP/sys/netinet/in_gif.c projects/largeSMP/sys/netinet/ip_divert.c projects/largeSMP/sys/netinet/ip_icmp.c projects/largeSMP/sys/netinet/ipfw/ip_fw2.c projects/largeSMP/sys/netinet/ipfw/ip_fw_pfil.c projects/largeSMP/sys/netinet/raw_ip.c projects/largeSMP/sys/netinet/sctp_uio.h projects/largeSMP/sys/netinet6/icmp6.c projects/largeSMP/sys/netinet6/in6_gif.c projects/largeSMP/sys/netipsec/ipsec_input.c projects/largeSMP/sys/netipsec/ipsec_output.c projects/largeSMP/sys/netipsec/xform_ipip.c projects/largeSMP/sys/sys/diskmbr.h projects/largeSMP/sys/sys/mbuf.h projects/largeSMP/sys/sys/param.h projects/largeSMP/sys/teken/demo/teken_demo.c projects/largeSMP/sys/teken/gensequences projects/largeSMP/sys/teken/libteken/teken.3 projects/largeSMP/sys/teken/teken.c projects/largeSMP/sys/teken/teken_subr.h projects/largeSMP/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all projects/largeSMP/usr.bin/tar/write.c projects/largeSMP/usr.sbin/ftp-proxy/ftp-proxy/Makefile Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/compiler-rt/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/tnftp/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/UPDATING ============================================================================== --- projects/largeSMP/UPDATING Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/UPDATING Tue Jun 28 14:40:17 2011 (r223645) @@ -22,6 +22,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110628: + The packet filter (pf) code has been updated to OpenBSD 4.5. + You need to update userland tools to be in sync with kernel. + 20110608: The following sysctls and tunables are retired on x86 platforms: machdep.hlt_cpus Modified: projects/largeSMP/bin/sh/arith_yacc.c ============================================================================== --- projects/largeSMP/bin/sh/arith_yacc.c Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/bin/sh/arith_yacc.c Tue Jun 28 14:40:17 2011 (r223645) @@ -35,7 +35,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #include #include Modified: projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Jun 28 14:40:17 2011 (r223645) @@ -6,6 +6,7 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] +.\" Copyright 2011 by Delphix. All rights reserved. .TH zfs 1M "24 Sep 2009" "SunOS 5.11" "System Administration Commands" .SH NAME zfs \- configures ZFS file systems @@ -389,7 +390,7 @@ This property can also be referred to by .ad .sp .6 .RS 4n -The compression ratio achieved for this dataset, expressed as a multiplier. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. +For non-snapshots, the compression ratio achieved for the \fBused\fR space of this dataset, expressed as a multiplier. The \fBused\fR property includes descendant datasets, and, for clones, does not include the space shared with the origin snapshot. For snapshots, the \fBcompressratio\fR is the same as the \fBrefcompressratio\fR property. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. .RE .sp @@ -453,6 +454,17 @@ This property can also be referred to by .ne 2 .mk .na +\fB\fBrefcompressratio\fR\fR +.ad +.sp .6 +.RS 4n +The compression ratio achieved for the \fBreferenced\fR space of this dataset, expressed as a multiplier. See also the \fBcompressratio\fR property. +.RE + +.sp +.ne 2 +.mk +.na \fB\fBtype\fR\fR .ad .sp .6 @@ -1278,7 +1290,7 @@ Recursively destroy all dependents, incl Force an unmount of any file systems using the \fBunmount -f\fR command. This option has no effect on non-file systems or unmounted file systems. .RE -Extreme care should be taken when applying either the \fB-r\fR or the \fB-f\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. +Extreme care should be taken when applying either the \fB-r\fR or the \fB-R\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. .RE .sp Modified: projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Jun 28 14:40:17 2011 (r223645) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2010 Nexenta Systems, Inc. All rights reserved. + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ #include @@ -1292,7 +1292,7 @@ static int zfs_do_get(int argc, char **argv) { zprop_get_cbdata_t cb = { 0 }; - int i, c, flags = 0; + int i, c, flags = ZFS_ITER_ARGS_CAN_BE_PATHS; char *value, *fields; int ret; int limit = 0; Modified: projects/largeSMP/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/largeSMP/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Jun 28 14:40:17 2011 (r223645) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2010 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ #include @@ -2038,6 +2039,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop } break; + case ZFS_PROP_REFRATIO: case ZFS_PROP_COMPRESSRATIO: if (get_numeric_property(zhp, prop, src, &source, &val) != 0) return (-1); Modified: projects/largeSMP/contrib/libpcap/bpf/net/bpf_filter.c ============================================================================== --- projects/largeSMP/contrib/libpcap/bpf/net/bpf_filter.c Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/contrib/libpcap/bpf/net/bpf_filter.c Tue Jun 28 14:40:17 2011 (r223645) @@ -405,7 +405,18 @@ bpf_filter(pc, p, wirelen, buflen) continue; case BPF_JMP|BPF_JA: +#if defined(KERNEL) || defined(_KERNEL) + /* + * No backward jumps allowed. + */ pc += pc->k; +#else + /* + * XXX - we currently implement "ip6 protochain" + * with backward jumps, so sign-extend pc->k. + */ + pc += (bpf_int32)pc->k; +#endif continue; case BPF_JMP|BPF_JGT|BPF_K: Modified: projects/largeSMP/contrib/ntp/ntpd/ntp_io.c ============================================================================== --- projects/largeSMP/contrib/ntp/ntpd/ntp_io.c Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/contrib/ntp/ntpd/ntp_io.c Tue Jun 28 14:40:17 2011 (r223645) @@ -2716,14 +2716,14 @@ sendpkt( for (slot = ERRORCACHESIZE; --slot >= 0; ) if(dest->ss_family == AF_INET) { - if (badaddrs[slot].port == ((struct sockaddr_in*)dest)->sin_port && + if (badaddrs[slot].port == SRCPORT(dest) && badaddrs[slot].addr.s_addr == ((struct sockaddr_in*)dest)->sin_addr.s_addr) break; } #ifdef INCLUDE_IPV6_SUPPORT else if (dest->ss_family == AF_INET6) { - if (badaddrs6[slot].port == ((struct sockaddr_in6*)dest)->sin6_port && - badaddrs6[slot].addr.s6_addr == ((struct sockaddr_in6*)dest)->sin6_addr.s6_addr) + if (badaddrs6[slot].port == SRCPORT(dest) && + !memcmp(&badaddrs6[slot].addr, &((struct sockaddr_in6*)dest)->sin6_addr, sizeof(struct in6_addr))) break; } #endif /* INCLUDE_IPV6_SUPPORT */ Modified: projects/largeSMP/contrib/pf/authpf/authpf.8 ============================================================================== --- projects/largeSMP/contrib/pf/authpf/authpf.8 Tue Jun 28 14:26:34 2011 (r223644) +++ projects/largeSMP/contrib/pf/authpf/authpf.8 Tue Jun 28 14:40:17 2011 (r223645) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ +.\" $OpenBSD: authpf.8,v 1.47 2009/01/06 03:11:50 mcbride Exp $ .\" .\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" @@ -15,14 +15,16 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd March 28, 2006 +.Dd January 6 2009 .Dt AUTHPF 8 .Os .Sh NAME -.Nm authpf +.Nm authpf , +.Nm authpf-noip .Nd authenticating gateway user shell .Sh SYNOPSIS .Nm authpf +.Nm authpf-noip .Sh DESCRIPTION .Nm is a user shell for authenticating gateways. @@ -31,47 +33,63 @@ It is used to change rules when a user authenticates and starts a session with .Xr sshd 8 and to undo these changes when the user's session exits. -It is designed for changing filter and translation rules for an individual -source IP address as long as a user maintains an active -.Xr ssh 1 -session. Typical use would be for a gateway that authenticates users before allowing them Internet use, or a gateway that allows different users into different places. +Combined with properly set up filter rules and secure switches, .Nm -logs the successful start and end of a session to -.Xr syslogd 8 . -This, combined with properly set up filter rules and secure switches, can be used to ensure users are held accountable for their network traffic. -.Pp -.Nm -can add filter and translation rules using the syntax described in -.Xr pf.conf 5 . -.Nm -requires that the +It is meant to be used with users who can connect via +.Xr ssh 1 +only, and requires the .Xr pf 4 -system be enabled and a -.Xr fdescfs 5 -file system be mounted at -.Pa /dev/fd -before use. +subsystem to be enabled. +.Pp +.Nm authpf-noip +is a user shell +which allows multiple connections to take +place from the same IP address. +It is useful primarily in cases where connections are tunneled via +the gateway system, and can be directly associated with the user name. +It cannot ensure accountability when +classifying connections by IP address; +in this case the client's IP address +is not provided to the packet filter via the +.Ar client_ip +macro or the +.Ar authpf_users +table. +Additionally, states associated with the client IP address +are not purged when the session is ended. +.Pp +To use either .Nm -can also maintain the list of IP address of connected users -in the "authpf_users" -.Pa table . +or +.Nm authpf-noip , +the user's shell needs to be set to +.Pa /usr/sbin/authpf +or +.Pa /usr/sbin/authpf-noip . .Pp .Nm -is meant to be used with users who can connect via +uses the +.Xr pf.conf 5 +syntax to change filter and translation rules for an individual +user or client IP address as long as a user maintains an active .Xr ssh 1 -only. -On startup, +session, and logs the successful start and end of a session to +.Xr syslogd 8 . .Nm retrieves the client's connecting IP address via the .Ev SSH_CLIENT environment variable and, after performing additional access checks, reads a template file to determine what filter and translation rules -(if any) to add. -On session exit the same rules that were added at startup are removed. +(if any) to add, and +maintains the list of IP addresses of connected users in the +.Ar authpf_users +table. +On session exit the same rules and table entries that were added at startup +are removed, and all states associated with the client's IP address are purged. .Pp Each .Nm @@ -185,6 +203,9 @@ It is also possible to configure to only allow specific users access. This is done by listing their login names, one per line, in .Pa /etc/authpf/authpf.allow . +A group of users can also be indicated by prepending "%" to the group name, +and all members of a login class can be indicated by prepending "@" to the +login class name. If "*" is found on a line, then all usernames match. If .Nm @@ -297,7 +318,8 @@ They have a wireless network which they would like to protect from unauthorized use. To accomplish this, they create the file .Pa /etc/authpf/authpf.allow -which lists their login ids, one per line. +which lists their login ids, group prepended with "%", or login class +prepended with "@", one per line. At this point, even if eve could authenticate to .Xr sshd 8 , she would not be allowed to use the gateway. @@ -501,6 +523,31 @@ table persist anchor "authpf/*" from rdr-anchor "authpf/*" from .Ed +.Pp +.Sy Tunneled users +\- normally +.Nm +allows only one session per client IP address. +However in some cases, such as when connections are tunneled via +.Xr ssh 1 +or +.Xr ipsec 4 , +the connections can be authorized based on the userid of the user instead of +the client IP address. +In this case it is appropriate to use +.Nm authpf-noip +to allow multiple users behind a NAT gateway to connect. +In the +.Pa /etc/authpf/authpf.rules +example below, the remote user could tunnel a remote desktop session to their +workstation: +.Bd -literal +internal_if="bge0" +workstation_ip="10.2.3.4" + +pass out on $internal_if from (self) to $workstation_ip port 3389 \e + user $user_id +.Ed .Sh FILES .Bl -tag -width "/etc/authpf/authpf.conf" -compact .It Pa /etc/authpf/authpf.conf @@ -512,7 +559,6 @@ rdr-anchor "authpf/*" from __FBSDID("$FreeBSD$"); -#include +#include #include #include #include @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #endif #include #include +#include #include #include #include @@ -48,10 +49,11 @@ __FBSDID("$FreeBSD$"); #include "pathnames.h" static int read_config(FILE *); -static void print_message(char *); -static int allowed_luser(char *); -static int check_luser(char *, char *); +static void print_message(const char *); +static int allowed_luser(struct passwd *); +static int check_luser(const char *, char *); static int remove_stale_rulesets(void); +static int recursive_ruleset_purge(char *, char *); static int change_filter(int, const char *, const char *); static int change_table(int, const char *); static void authpf_kill_states(void); @@ -60,8 +62,10 @@ int dev; /* pf device */ char anchorname[PF_ANCHOR_NAME_SIZE] = "authpf"; char rulesetname[MAXPATHLEN - PF_ANCHOR_NAME_SIZE - 2]; char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; +int user_ip = 1; /* controls whether $user_ip is set */ FILE *pidfp; +int pidfd = -1; char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -75,6 +79,7 @@ static __dead2 void do_death(int); #else static __dead void do_death(int); #endif +extern char *__progname; /* program name */ /* * User shell for authenticating gateways. Sole purpose is to allow @@ -83,21 +88,24 @@ static __dead void do_death(int); * up. Meant to be used only from ssh(1) connections. */ int -main(int argc, char *argv[]) +main(void) { - int lockcnt = 0, n, pidfd; + int lockcnt = 0, n; FILE *config; struct in6_addr ina; struct passwd *pw; char *cp; gid_t gid; uid_t uid; - char *shell; + const char *shell; login_cap_t *lc; + if (strcmp(__progname, "-authpf-noip") == 0) + user_ip = 0; + config = fopen(PATH_CONFFILE, "r"); if (config == NULL) { - syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + syslog(LOG_ERR, "cannot open %s (%m)", PATH_CONFFILE); exit(1); } @@ -142,23 +150,34 @@ main(int argc, char *argv[]) } if ((lc = login_getclass(pw->pw_class)) != NULL) - shell = (char *)login_getcapstr(lc, "shell", pw->pw_shell, + shell = login_getcapstr(lc, "shell", pw->pw_shell, pw->pw_shell); else shell = pw->pw_shell; +#ifndef __FreeBSD__ login_close(lc); +#endif - if (strcmp(shell, PATH_AUTHPF_SHELL)) { + if (strcmp(shell, PATH_AUTHPF_SHELL) && + strcmp(shell, PATH_AUTHPF_SHELL_NOIP)) { syslog(LOG_ERR, "wrong shell for user %s, uid %u", pw->pw_name, pw->pw_uid); +#ifdef __FreeBSD__ + login_close(lc); +#else if (shell != pw->pw_shell) free(shell); +#endif goto die; } +#ifdef __FreeBSD__ + login_close(lc); +#else if (shell != pw->pw_shell) free(shell); +#endif /* * Paranoia, but this data _does_ come from outside authpf, and @@ -181,13 +200,22 @@ main(int argc, char *argv[]) } - /* Make our entry in /var/authpf as /var/authpf/ipaddr */ - n = snprintf(pidfile, sizeof(pidfile), "%s/%s", PATH_PIDFILE, ipsrc); + /* Make our entry in /var/authpf as ipaddr or username */ + n = snprintf(pidfile, sizeof(pidfile), "%s/%s", + PATH_PIDFILE, user_ip ? ipsrc : luser); if (n < 0 || (u_int)n >= sizeof(pidfile)) { syslog(LOG_ERR, "path to pidfile too long"); goto die; } + signal(SIGTERM, need_death); + signal(SIGINT, need_death); + signal(SIGALRM, need_death); + signal(SIGPIPE, need_death); + signal(SIGHUP, need_death); + signal(SIGQUIT, need_death); + signal(SIGTSTP, need_death); + /* * If someone else is already using this ip, then this person * wants to switch users - so kill the old process and exit @@ -241,15 +269,17 @@ main(int argc, char *argv[]) } /* - * we try to kill the previous process and acquire the lock + * We try to kill the previous process and acquire the lock * for 10 seconds, trying once a second. if we can't after - * 10 attempts we log an error and give up + * 10 attempts we log an error and give up. */ - if (++lockcnt > 10) { - syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", - otherpid); + if (want_death || ++lockcnt > 10) { + if (!want_death) + syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", + otherpid); fclose(pidfp); pidfp = NULL; + pidfd = -1; goto dogdeath; } sleep(1); @@ -260,6 +290,7 @@ main(int argc, char *argv[]) */ fclose(pidfp); pidfp = NULL; + pidfd = -1; } while (1); /* whack the group list */ @@ -277,7 +308,7 @@ main(int argc, char *argv[]) } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); - if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { + if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(pw)) { syslog(LOG_INFO, "user %s prohibited", luser); do_death(0); } @@ -302,19 +333,12 @@ main(int argc, char *argv[]) printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, ipsrc) == -1) { + if (user_ip && change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); } - signal(SIGTERM, need_death); - signal(SIGINT, need_death); - signal(SIGALRM, need_death); - signal(SIGPIPE, need_death); - signal(SIGHUP, need_death); - signal(SIGQUIT, need_death); - signal(SIGTSTP, need_death); while (1) { printf("\r\nHello %s. ", luser); printf("You are authenticated from host \"%s\"\r\n", ipsrc); @@ -337,8 +361,6 @@ dogdeath: sleep(180); /* them lusers read reaaaaal slow */ die: do_death(0); - - /* NOTREACHED */ } /* @@ -361,6 +383,8 @@ read_config(FILE *f) } i++; len = strlen(buf); + if (len == 0) + continue; if (buf[len - 1] != '\n' && !feof(f)) { syslog(LOG_ERR, "line %d too long in %s", i, PATH_CONFFILE); @@ -413,7 +437,7 @@ parse_error: * they've been bad or we're unavailable. */ static void -print_message(char *filename) +print_message(const char *filename) { char buf[1024]; FILE *f; @@ -436,6 +460,7 @@ print_message(char *filename) * allowed_luser checks to see if user "luser" is allowed to * use this gateway by virtue of being listed in an allowed * users file, namely /etc/authpf/authpf.allow . + * Users may be listed by , %, or @. * * If /etc/authpf/authpf.allow does not exist, then we assume that * all users who are allowed in by sshd(8) are permitted to @@ -444,9 +469,9 @@ print_message(char *filename) * the session terminates in the same manner as being banned. */ static int -allowed_luser(char *luser) +allowed_luser(struct passwd *pw) { - char *buf, *lbuf; + char *buf,*lbuf; int matched; size_t len; FILE *f; @@ -476,8 +501,14 @@ allowed_luser(char *luser) * "public" gateway, such as it is, so let * everyone use it. */ + int gl_init = 0, ngroups = NGROUPS + 1; + gid_t groups[NGROUPS + 1]; + lbuf = NULL; + matched = 0; + while ((buf = fgetln(f, &len))) { + if (buf[len - 1] == '\n') buf[len - 1] = '\0'; else { @@ -488,7 +519,40 @@ allowed_luser(char *luser) buf = lbuf; } - matched = strcmp(luser, buf) == 0 || strcmp("*", buf) == 0; + if (buf[0] == '@') { + /* check login class */ + if (strcmp(pw->pw_class, buf + 1) == 0) + matched++; + } else if (buf[0] == '%') { + /* check group membership */ + int cnt; + struct group *group; + + if ((group = getgrnam(buf + 1)) == NULL) { + syslog(LOG_ERR, + "invalid group '%s' in %s (%s)", + buf + 1, PATH_ALLOWFILE, + strerror(errno)); + return (0); + } + + if (!gl_init) { + (void) getgrouplist(pw->pw_name, + pw->pw_gid, groups, &ngroups); + gl_init++; + } + + for ( cnt = 0; cnt < ngroups; cnt++) { + if (group->gr_gid == groups[cnt]) { + matched++; + break; + } + } + } else { + /* check username and wildcard */ + matched = strcmp(pw->pw_name, buf) == 0 || + strcmp("*", buf) == 0; + } if (lbuf != NULL) { free(lbuf); @@ -496,13 +560,13 @@ allowed_luser(char *luser) } if (matched) - return (1); /* matched an allowed username */ + return (1); /* matched an allowed user/group */ } syslog(LOG_INFO, "denied access to %s: not listed in %s", - luser, PATH_ALLOWFILE); + pw->pw_name, PATH_ALLOWFILE); /* reuse buf */ - buf = "\n\nSorry, you are not allowed to use this facility!\n"; + sprintf(buf, "%s", "\n\nSorry, you are not allowed to use this facility!\n"); fputs(buf, stdout); } fflush(stdout); @@ -520,13 +584,13 @@ allowed_luser(char *luser) * going to be un-banned.) */ static int -check_luser(char *luserdir, char *luser) +check_luser(const char *luserdir, char *l_user) { FILE *f; int n; char tmp[MAXPATHLEN]; - n = snprintf(tmp, sizeof(tmp), "%s/%s", luserdir, luser); + n = snprintf(tmp, sizeof(tmp), "%s/%s", luserdir, l_user); if (n < 0 || (u_int)n >= sizeof(tmp)) { syslog(LOG_ERR, "provided banned directory line too long (%s)", luserdir); @@ -555,7 +619,7 @@ check_luser(char *luserdir, char *luser) * tell what they can do and where they can go. */ syslog(LOG_INFO, "denied access to %s: %s exists", - luser, tmp); + l_user, tmp); /* reuse tmp */ strlcpy(tmp, "\n\n-**- Sorry, you have been banned! -**-\n\n", @@ -581,7 +645,7 @@ static int remove_stale_rulesets(void) { struct pfioc_ruleset prs; - u_int32_t nr, mnr; + u_int32_t nr; memset(&prs, 0, sizeof(prs)); strlcpy(prs.path, anchorname, sizeof(prs.path)); @@ -592,13 +656,12 @@ remove_stale_rulesets(void) return (1); } - mnr = prs.nr; - nr = 0; - while (nr < mnr) { + nr = prs.nr; + while (nr) { char *s, *t; pid_t pid; - prs.nr = nr; + prs.nr = nr - 1; if (ioctl(dev, DIOCGETRULESET, &prs)) return (1); errno = 0; @@ -610,119 +673,159 @@ remove_stale_rulesets(void) if (!prs.name[0] || errno || (*s && (t == prs.name || *s != ')'))) return (1); - if (kill(pid, 0) && errno != EPERM) { - int i; - struct pfioc_trans_e t_e[PF_RULESET_MAX+1]; - struct pfioc_trans t; - - bzero(&t, sizeof(t)); - bzero(t_e, sizeof(t_e)); - t.size = PF_RULESET_MAX+1; - t.esize = sizeof(t_e[0]); - t.array = t_e; - for (i = 0; i < PF_RULESET_MAX+1; ++i) { - t_e[i].rs_num = i; - snprintf(t_e[i].anchor, sizeof(t_e[i].anchor), - "%s/%s", anchorname, prs.name); - } - t_e[PF_RULESET_MAX].rs_num = PF_RULESET_TABLE; - if ((ioctl(dev, DIOCXBEGIN, &t) || - ioctl(dev, DIOCXCOMMIT, &t)) && - errno != EINVAL) + if ((kill(pid, 0) && errno != EPERM) || pid == getpid()) { + if (recursive_ruleset_purge(anchorname, prs.name)) return (1); - mnr--; - } else - nr++; + } + nr--; } return (0); } +static int +recursive_ruleset_purge(char *an, char *rs) +{ + struct pfioc_trans_e *t_e = NULL; + struct pfioc_trans *t = NULL; + struct pfioc_ruleset *prs = NULL; + int i; + + + /* purge rules */ + errno = 0; + if ((t = calloc(1, sizeof(struct pfioc_trans))) == NULL) + goto no_mem; + if ((t_e = calloc(PF_RULESET_MAX+1, + sizeof(struct pfioc_trans_e))) == NULL) + goto no_mem; + t->size = PF_RULESET_MAX+1; + t->esize = sizeof(struct pfioc_trans_e); + t->array = t_e; + for (i = 0; i < PF_RULESET_MAX+1; ++i) { + t_e[i].rs_num = i; + snprintf(t_e[i].anchor, sizeof(t_e[i].anchor), "%s/%s", an, rs); + } + t_e[PF_RULESET_MAX].rs_num = PF_RULESET_TABLE; + if ((ioctl(dev, DIOCXBEGIN, t) || + ioctl(dev, DIOCXCOMMIT, t)) && + errno != EINVAL) + goto cleanup; + + /* purge any children */ + if ((prs = calloc(1, sizeof(struct pfioc_ruleset))) == NULL) + goto no_mem; + snprintf(prs->path, sizeof(prs->path), "%s/%s", an, rs); + if (ioctl(dev, DIOCGETRULESETS, prs)) { + if (errno != EINVAL) + goto cleanup; + errno = 0; + } else { + int nr = prs->nr; + + while (nr) { + prs->nr = 0; + if (ioctl(dev, DIOCGETRULESET, prs)) + goto cleanup; + + if (recursive_ruleset_purge(prs->path, prs->name)) + goto cleanup; + nr--; + } + } + +no_mem: + if (errno == ENOMEM) + syslog(LOG_ERR, "calloc failed"); + +cleanup: + free(t); + free(t_e); + free(prs); + return (errno); +} + /* * Add/remove filter entries for user "luser" from ip "ipsrc" */ static int -change_filter(int add, const char *luser, const char *ipsrc) +change_filter(int add, const char *l_user, const char *ip_src) { - char *pargv[13] = { - "pfctl", "-p", "/dev/pf", "-q", "-a", "anchor/ruleset", - "-D", "user_ip=X", "-D", "user_id=X", "-f", - "file", NULL - }; char *fdpath = NULL, *userstr = NULL, *ipstr = NULL; char *rsn = NULL, *fn = NULL; pid_t pid; gid_t gid; int s; - if (luser == NULL || !luser[0] || ipsrc == NULL || !ipsrc[0]) { - syslog(LOG_ERR, "invalid luser/ipsrc"); - goto error; - } - - if (asprintf(&rsn, "%s/%s", anchorname, rulesetname) == -1) - goto no_mem; - if (asprintf(&fdpath, "/dev/fd/%d", dev) == -1) - goto no_mem; - if (asprintf(&ipstr, "user_ip=%s", ipsrc) == -1) - goto no_mem; - if (asprintf(&userstr, "user_id=%s", luser) == -1) - goto no_mem; - if (add) { struct stat sb; + char *pargv[13] = { + "pfctl", "-p", "/dev/pf", "-q", "-a", "anchor/ruleset", + "-D", "user_id=X", "-D", "user_ip=X", "-f", "file", NULL + }; - if (asprintf(&fn, "%s/%s/authpf.rules", PATH_USER_DIR, luser) - == -1) + if (l_user == NULL || !l_user[0] || ip_src == NULL || !ip_src[0]) { + syslog(LOG_ERR, "invalid luser/ipsrc"); + goto error; + } + + if (asprintf(&rsn, "%s/%s", anchorname, rulesetname) == -1) + goto no_mem; + if (asprintf(&fdpath, "/dev/fd/%d", dev) == -1) + goto no_mem; + if (asprintf(&ipstr, "user_ip=%s", ip_src) == -1) + goto no_mem; + if (asprintf(&userstr, "user_id=%s", l_user) == -1) + goto no_mem; + if (asprintf(&fn, "%s/%s/authpf.rules", + PATH_USER_DIR, l_user) == -1) goto no_mem; if (stat(fn, &sb) == -1) { free(fn); if ((fn = strdup(PATH_PFRULES)) == NULL) goto no_mem; } - } - pargv[2] = fdpath; - pargv[5] = rsn; - pargv[7] = userstr; - pargv[9] = ipstr; - if (!add) - pargv[11] = "/dev/null"; - else - pargv[11] = fn; + pargv[2] = fdpath; + pargv[5] = rsn; + pargv[7] = userstr; + if (user_ip) { + pargv[9] = ipstr; + pargv[11] = fn; + } else { + pargv[8] = "-f"; + pargv[9] = fn; + pargv[10] = NULL; + } - switch (pid = fork()) { - case -1: - syslog(LOG_ERR, "fork failed"); - goto error; - case 0: - /* revoke group privs before exec */ - gid = getgid(); - if (setregid(gid, gid) == -1) { - err(1, "setregid"); - } - execvp(PATH_PFCTL, pargv); - warn("exec of %s failed", PATH_PFCTL); - _exit(1); - } - - /* parent */ - waitpid(pid, &s, 0); - if (s != 0) { - syslog(LOG_ERR, "pfctl exited abnormally"); - goto error; - } + switch (pid = fork()) { + case -1: + syslog(LOG_ERR, "fork failed"); + goto error; + case 0: + /* revoke group privs before exec */ + gid = getgid(); + if (setregid(gid, gid) == -1) { + err(1, "setregid"); + } + execvp(PATH_PFCTL, pargv); + warn("exec of %s failed", PATH_PFCTL); + _exit(1); + } + + /* parent */ + waitpid(pid, &s, 0); + if (s != 0) { + syslog(LOG_ERR, "pfctl exited abnormally"); + goto error; + } - if (add) { gettimeofday(&Tstart, NULL); - syslog(LOG_INFO, "allowing %s, user %s", ipsrc, luser); + syslog(LOG_INFO, "allowing %s, user %s", ip_src, l_user); } else { + remove_stale_rulesets(); + gettimeofday(&Tend, NULL); -#ifdef __FreeBSD__ - syslog(LOG_INFO, "removed %s, user %s - duration %jd seconds", - ipsrc, luser, (intmax_t)(Tend.tv_sec - Tstart.tv_sec)); -#else - syslog(LOG_INFO, "removed %s, user %s - duration %ld seconds", - ipsrc, luser, Tend.tv_sec - Tstart.tv_sec); -#endif + syslog(LOG_INFO, "removed %s, user %s - duration %ju seconds", + ip_src, l_user, (uintmax_t)(Tend.tv_sec - Tstart.tv_sec)); } return (0); no_mem: @@ -740,7 +843,7 @@ error: * Add/remove this IP from the "authpf_users" table. */ static int -change_table(int add, const char *ipsrc) +change_table(int add, const char *ip_src) { struct pfioc_table io; struct pfr_addr addr; @@ -753,12 +856,12 @@ change_table(int add, const char *ipsrc) io.pfrio_size = 1; bzero(&addr, sizeof(addr)); - if (ipsrc == NULL || !ipsrc[0]) + if (ip_src == NULL || !ip_src[0]) return (-1); - if (inet_pton(AF_INET, ipsrc, &addr.pfra_ip4addr) == 1) { + if (inet_pton(AF_INET, ip_src, &addr.pfra_ip4addr) == 1) { addr.pfra_af = AF_INET; addr.pfra_net = 32; - } else if (inet_pton(AF_INET6, ipsrc, &addr.pfra_ip6addr) == 1) { + } else if (inet_pton(AF_INET6, ip_src, &addr.pfra_ip6addr) == 1) { addr.pfra_af = AF_INET6; addr.pfra_net = 128; } else { @@ -769,7 +872,7 @@ change_table(int add, const char *ipsrc) if (ioctl(dev, add ? DIOCRADDADDRS : DIOCRDELADDRS, &io) && errno != ESRCH) { syslog(LOG_ERR, "cannot %s %s from table %s: %s", - add ? "add" : "remove", ipsrc, tablename, + add ? "add" : "remove", ip_src, tablename, strerror(errno)); return (-1); } @@ -821,7 +924,7 @@ authpf_kill_states(void) /* signal handler that makes us go away properly */ static void -need_death(int signo) +need_death(int signo __unused) { want_death = 1; } @@ -840,11 +943,12 @@ do_death(int active) if (active) { change_filter(0, luser, ipsrc); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 17:51:47 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 905EF106564A; Tue, 28 Jun 2011 17:51:47 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7CC9A8FC14; Tue, 28 Jun 2011 17:51:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SHplrY059491; Tue, 28 Jun 2011 17:51:47 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SHplJC059483; Tue, 28 Jun 2011 17:51:47 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201106281751.p5SHplJC059483@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 28 Jun 2011 17:51:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223650 - in projects/llvm-ia64: contrib/llvm/lib/Target/IA64 contrib/llvm/tools/bugpoint contrib/llvm/tools/llc contrib/llvm/tools/lli contrib/llvm/tools/llvm-ar contrib/llvm/tools/llv... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 17:51:47 -0000 Author: marcel Date: Tue Jun 28 17:51:47 2011 New Revision: 223650 URL: http://svn.freebsd.org/changeset/base/223650 Log: Add the LLVM extras on this branch. Obtained from: dim@ Added: projects/llvm-ia64/contrib/llvm/tools/bugpoint/ projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.h projects/llvm-ia64/contrib/llvm/tools/bugpoint/CrashDebugger.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/ExtractFunction.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/FindBugs.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/ListReducer.h projects/llvm-ia64/contrib/llvm/tools/bugpoint/Miscompilation.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/ToolRunner.cpp projects/llvm-ia64/contrib/llvm/tools/bugpoint/ToolRunner.h projects/llvm-ia64/contrib/llvm/tools/bugpoint/bugpoint.cpp projects/llvm-ia64/contrib/llvm/tools/llc/ projects/llvm-ia64/contrib/llvm/tools/llc/llc.cpp projects/llvm-ia64/contrib/llvm/tools/lli/ projects/llvm-ia64/contrib/llvm/tools/lli/lli.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-ar/ projects/llvm-ia64/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-as/ projects/llvm-ia64/contrib/llvm/tools/llvm-as/llvm-as.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-bcanalyzer/ projects/llvm-ia64/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-diff/ projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DiffConsumer.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DiffConsumer.h projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DiffLog.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DiffLog.h projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DifferenceEngine.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-diff/DifferenceEngine.h projects/llvm-ia64/contrib/llvm/tools/llvm-diff/llvm-diff.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-dis/ projects/llvm-ia64/contrib/llvm/tools/llvm-dis/llvm-dis.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-extract/ projects/llvm-ia64/contrib/llvm/tools/llvm-extract/llvm-extract.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-ld/ projects/llvm-ia64/contrib/llvm/tools/llvm-ld/Optimize.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-ld/llvm-ld.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-link/ projects/llvm-ia64/contrib/llvm/tools/llvm-link/llvm-link.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-mc/ projects/llvm-ia64/contrib/llvm/tools/llvm-mc/Disassembler.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-mc/Disassembler.h projects/llvm-ia64/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-nm/ projects/llvm-ia64/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-objdump/ projects/llvm-ia64/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-prof/ projects/llvm-ia64/contrib/llvm/tools/llvm-prof/llvm-prof.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-ranlib/ projects/llvm-ia64/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-rtdyld/ projects/llvm-ia64/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/llvm-ia64/contrib/llvm/tools/llvm-stub/ projects/llvm-ia64/contrib/llvm/tools/llvm-stub/llvm-stub.c projects/llvm-ia64/contrib/llvm/tools/macho-dump/ projects/llvm-ia64/contrib/llvm/tools/macho-dump/macho-dump.cpp projects/llvm-ia64/contrib/llvm/tools/opt/ projects/llvm-ia64/contrib/llvm/tools/opt/AnalysisWrappers.cpp projects/llvm-ia64/contrib/llvm/tools/opt/GraphPrinters.cpp projects/llvm-ia64/contrib/llvm/tools/opt/PrintSCC.cpp projects/llvm-ia64/contrib/llvm/tools/opt/opt.cpp projects/llvm-ia64/lib/clang/libllvmarchive/ projects/llvm-ia64/lib/clang/libllvmarchive/Makefile projects/llvm-ia64/lib/clang/libllvmexecutionengine/ projects/llvm-ia64/lib/clang/libllvmexecutionengine/Makefile projects/llvm-ia64/lib/clang/libllvminterpreter/ projects/llvm-ia64/lib/clang/libllvminterpreter/Makefile projects/llvm-ia64/lib/clang/libllvmjit/ projects/llvm-ia64/lib/clang/libllvmjit/Makefile projects/llvm-ia64/lib/clang/libllvmlinker/ projects/llvm-ia64/lib/clang/libllvmlinker/Makefile projects/llvm-ia64/lib/clang/libllvmmcdisassembler/ projects/llvm-ia64/lib/clang/libllvmmcdisassembler/Makefile projects/llvm-ia64/lib/clang/libllvmmcjit/ projects/llvm-ia64/lib/clang/libllvmmcjit/Makefile projects/llvm-ia64/lib/clang/libllvmobject/ projects/llvm-ia64/lib/clang/libllvmobject/Makefile projects/llvm-ia64/lib/clang/libllvmruntimedyld/ projects/llvm-ia64/lib/clang/libllvmruntimedyld/Makefile projects/llvm-ia64/tools/build/options/WITH_CLANG_EXTRAS projects/llvm-ia64/usr.bin/clang/bugpoint/ projects/llvm-ia64/usr.bin/clang/bugpoint/Makefile projects/llvm-ia64/usr.bin/clang/bugpoint/bugpoint.1 projects/llvm-ia64/usr.bin/clang/llc/ projects/llvm-ia64/usr.bin/clang/llc/Makefile projects/llvm-ia64/usr.bin/clang/llc/llc.1 projects/llvm-ia64/usr.bin/clang/lli/ projects/llvm-ia64/usr.bin/clang/lli/Makefile projects/llvm-ia64/usr.bin/clang/lli/lli.1 projects/llvm-ia64/usr.bin/clang/llvm-ar/ projects/llvm-ia64/usr.bin/clang/llvm-ar/Makefile projects/llvm-ia64/usr.bin/clang/llvm-ar/llvm-ar.1 projects/llvm-ia64/usr.bin/clang/llvm-as/ projects/llvm-ia64/usr.bin/clang/llvm-as/Makefile projects/llvm-ia64/usr.bin/clang/llvm-as/llvm-as.1 projects/llvm-ia64/usr.bin/clang/llvm-bcanalyzer/ projects/llvm-ia64/usr.bin/clang/llvm-bcanalyzer/Makefile projects/llvm-ia64/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 projects/llvm-ia64/usr.bin/clang/llvm-diff/ projects/llvm-ia64/usr.bin/clang/llvm-diff/Makefile projects/llvm-ia64/usr.bin/clang/llvm-diff/llvm-diff.1 projects/llvm-ia64/usr.bin/clang/llvm-dis/ projects/llvm-ia64/usr.bin/clang/llvm-dis/Makefile projects/llvm-ia64/usr.bin/clang/llvm-dis/llvm-dis.1 projects/llvm-ia64/usr.bin/clang/llvm-extract/ projects/llvm-ia64/usr.bin/clang/llvm-extract/Makefile projects/llvm-ia64/usr.bin/clang/llvm-extract/llvm-extract.1 projects/llvm-ia64/usr.bin/clang/llvm-ld/ projects/llvm-ia64/usr.bin/clang/llvm-ld/Makefile projects/llvm-ia64/usr.bin/clang/llvm-ld/llvm-ld.1 projects/llvm-ia64/usr.bin/clang/llvm-link/ projects/llvm-ia64/usr.bin/clang/llvm-link/Makefile projects/llvm-ia64/usr.bin/clang/llvm-link/llvm-link.1 projects/llvm-ia64/usr.bin/clang/llvm-mc/ projects/llvm-ia64/usr.bin/clang/llvm-mc/Makefile projects/llvm-ia64/usr.bin/clang/llvm-nm/ projects/llvm-ia64/usr.bin/clang/llvm-nm/Makefile projects/llvm-ia64/usr.bin/clang/llvm-nm/llvm-nm.1 projects/llvm-ia64/usr.bin/clang/llvm-objdump/ projects/llvm-ia64/usr.bin/clang/llvm-objdump/Makefile projects/llvm-ia64/usr.bin/clang/llvm-prof/ projects/llvm-ia64/usr.bin/clang/llvm-prof/Makefile projects/llvm-ia64/usr.bin/clang/llvm-prof/llvm-prof.1 projects/llvm-ia64/usr.bin/clang/llvm-ranlib/ projects/llvm-ia64/usr.bin/clang/llvm-ranlib/Makefile projects/llvm-ia64/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 projects/llvm-ia64/usr.bin/clang/llvm-rtdyld/ projects/llvm-ia64/usr.bin/clang/llvm-rtdyld/Makefile projects/llvm-ia64/usr.bin/clang/llvm-stub/ projects/llvm-ia64/usr.bin/clang/llvm-stub/Makefile projects/llvm-ia64/usr.bin/clang/macho-dump/ projects/llvm-ia64/usr.bin/clang/macho-dump/Makefile projects/llvm-ia64/usr.bin/clang/opt/ projects/llvm-ia64/usr.bin/clang/opt/Makefile projects/llvm-ia64/usr.bin/clang/opt/opt.1 Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.cpp projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.h projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp projects/llvm-ia64/lib/clang/Makefile projects/llvm-ia64/lib/clang/libllvmanalysis/Makefile projects/llvm-ia64/lib/clang/libllvmarmdisassembler/Makefile projects/llvm-ia64/lib/clang/libllvmia64codegen/Makefile projects/llvm-ia64/lib/clang/libllvmipa/Makefile projects/llvm-ia64/lib/clang/libllvmipo/Makefile projects/llvm-ia64/lib/clang/libllvmmc/Makefile projects/llvm-ia64/lib/clang/libllvmscalaropts/Makefile projects/llvm-ia64/lib/clang/libllvmsupport/Makefile projects/llvm-ia64/lib/clang/libllvmtransformutils/Makefile projects/llvm-ia64/lib/clang/libllvmx86disassembler/Makefile projects/llvm-ia64/share/mk/bsd.own.mk projects/llvm-ia64/usr.bin/clang/Makefile Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.cpp Tue Jun 28 16:44:02 2011 (r223649) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.cpp Tue Jun 28 17:51:47 2011 (r223650) @@ -1,3 +1,5 @@ +#define DEBUG_TYPE "ia64-frame-lowering" + #include "IA64FrameLowering.h" #include "IA64InstrInfo.h" #include "IA64MachineFunctionInfo.h" @@ -11,6 +13,7 @@ #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetOptions.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/Debug.h" using namespace llvm; @@ -23,14 +26,15 @@ IA64FrameLowering::emitPrologue(MachineF const IA64InstrInfo &TII = *static_cast(MF.getTarget().getInstrInfo()); - llvm_unreachable(__func__); + DEBUG(dbgs() << "XXX: IA64FrameLowering::" << __func__ << "\n"); } void IA64FrameLowering::emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const { - llvm_unreachable(__func__); + + DEBUG(dbgs() << "XXX: IA64FrameLowering::" << __func__ << "\n"); } bool Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.h ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.h Tue Jun 28 16:44:02 2011 (r223649) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64FrameLowering.h Tue Jun 28 17:51:47 2011 (r223650) @@ -15,7 +15,7 @@ namespace llvm { public: explicit IA64FrameLowering(const IA64Subtarget &sti) : - TargetFrameLowering(TargetFrameLowering::StackGrowsDown, 16, -8, 16), + TargetFrameLowering(TargetFrameLowering::StackGrowsDown, 16, 0, 16), STI(sti) {} void emitPrologue(MachineFunction &MF) const; Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Tue Jun 28 16:44:02 2011 (r223649) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Tue Jun 28 17:51:47 2011 (r223650) @@ -60,6 +60,8 @@ IA64TargetLowering::LowerFormalArguments MachineFunction &MF = DAG.getMachineFunction(); SDValue Val; + DEBUG(dbgs() << "XXX: IA64TargetLowering::" << __func__ << "\n"); + for (unsigned ArgNo = 0, e = Ins.size(); ArgNo != e; ++ArgNo) { EVT vt = Ins[ArgNo].VT; @@ -82,5 +84,9 @@ IA64TargetLowering::LowerReturn(SDValue const SmallVectorImpl &OutVals, DebugLoc dl, SelectionDAG &DAG) const { + MachineFunction &MF = DAG.getMachineFunction(); + + DEBUG(dbgs() << "XXX: IA64TargetLowering::" <<__func__ << "\n"); + return Chain; } Added: projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.cpp Tue Jun 28 17:51:47 2011 (r223650) @@ -0,0 +1,246 @@ +//===- BugDriver.cpp - Top-Level BugPoint class implementation ------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This class contains all of the shared state and information that is used by +// the BugPoint tool to track down errors in optimizations. This class is the +// main driver class that invokes all sub-functionality. +// +//===----------------------------------------------------------------------===// + +#include "BugDriver.h" +#include "ToolRunner.h" +#include "llvm/Linker.h" +#include "llvm/Module.h" +#include "llvm/Pass.h" +#include "llvm/Support/IRReader.h" +#include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileUtilities.h" +#include "llvm/Support/SourceMgr.h" +#include "llvm/Support/raw_ostream.h" +#include "llvm/Support/Host.h" +#include +using namespace llvm; + +namespace llvm { + Triple TargetTriple; +} + +// Anonymous namespace to define command line options for debugging. +// +namespace { + // Output - The user can specify a file containing the expected output of the + // program. If this filename is set, it is used as the reference diff source, + // otherwise the raw input run through an interpreter is used as the reference + // source. + // + cl::opt + OutputFile("output", cl::desc("Specify a reference program output " + "(for miscompilation detection)")); +} + +/// setNewProgram - If we reduce or update the program somehow, call this method +/// to update bugdriver with it. This deletes the old module and sets the +/// specified one as the current program. +void BugDriver::setNewProgram(Module *M) { + delete Program; + Program = M; +} + + +/// getPassesString - Turn a list of passes into a string which indicates the +/// command line options that must be passed to add the passes. +/// +std::string llvm::getPassesString(const std::vector &Passes) { + std::string Result; + for (unsigned i = 0, e = Passes.size(); i != e; ++i) { + if (i) Result += " "; + Result += "-"; + Result += Passes[i]; + } + return Result; +} + +BugDriver::BugDriver(const char *toolname, bool find_bugs, + unsigned timeout, unsigned memlimit, bool use_valgrind, + LLVMContext& ctxt) + : Context(ctxt), ToolName(toolname), ReferenceOutputFile(OutputFile), + Program(0), Interpreter(0), SafeInterpreter(0), gcc(0), + run_find_bugs(find_bugs), Timeout(timeout), + MemoryLimit(memlimit), UseValgrind(use_valgrind) {} + +BugDriver::~BugDriver() { + delete Program; +} + + +/// ParseInputFile - Given a bitcode or assembly input filename, parse and +/// return it, or return null if not possible. +/// +Module *llvm::ParseInputFile(const std::string &Filename, + LLVMContext& Ctxt) { + SMDiagnostic Err; + Module *Result = ParseIRFile(Filename, Err, Ctxt); + if (!Result) + Err.Print("bugpoint", errs()); + + // If we don't have an override triple, use the first one to configure + // bugpoint, or use the host triple if none provided. + if (Result) { + if (TargetTriple.getTriple().empty()) { + Triple TheTriple(Result->getTargetTriple()); + + if (TheTriple.getTriple().empty()) + TheTriple.setTriple(sys::getHostTriple()); + + TargetTriple.setTriple(TheTriple.getTriple()); + } + + Result->setTargetTriple(TargetTriple.getTriple()); // override the triple + } + return Result; +} + +// This method takes the specified list of LLVM input files, attempts to load +// them, either as assembly or bitcode, then link them together. It returns +// true on failure (if, for example, an input bitcode file could not be +// parsed), and false on success. +// +bool BugDriver::addSources(const std::vector &Filenames) { + assert(Program == 0 && "Cannot call addSources multiple times!"); + assert(!Filenames.empty() && "Must specify at least on input filename!"); + + // Load the first input file. + Program = ParseInputFile(Filenames[0], Context); + if (Program == 0) return true; + + outs() << "Read input file : '" << Filenames[0] << "'\n"; + + for (unsigned i = 1, e = Filenames.size(); i != e; ++i) { + std::auto_ptr M(ParseInputFile(Filenames[i], Context)); + if (M.get() == 0) return true; + + outs() << "Linking in input file: '" << Filenames[i] << "'\n"; + std::string ErrorMessage; + if (Linker::LinkModules(Program, M.get(), &ErrorMessage)) { + errs() << ToolName << ": error linking in '" << Filenames[i] << "': " + << ErrorMessage << '\n'; + return true; + } + } + + outs() << "*** All input ok\n"; + + // All input files read successfully! + return false; +} + + + +/// run - The top level method that is invoked after all of the instance +/// variables are set up from command line arguments. +/// +bool BugDriver::run(std::string &ErrMsg) { + if (run_find_bugs) { + // Rearrange the passes and apply them to the program. Repeat this process + // until the user kills the program or we find a bug. + return runManyPasses(PassesToRun, ErrMsg); + } + + // If we're not running as a child, the first thing that we must do is + // determine what the problem is. Does the optimization series crash the + // compiler, or does it produce illegal code? We make the top-level + // decision by trying to run all of the passes on the the input program, + // which should generate a bitcode file. If it does generate a bitcode + // file, then we know the compiler didn't crash, so try to diagnose a + // miscompilation. + if (!PassesToRun.empty()) { + outs() << "Running selected passes on program to test for crash: "; + if (runPasses(Program, PassesToRun)) + return debugOptimizerCrash(); + } + + // Set up the execution environment, selecting a method to run LLVM bitcode. + if (initializeExecutionEnvironment()) return true; + + // Test to see if we have a code generator crash. + outs() << "Running the code generator to test for a crash: "; + std::string Error; + compileProgram(Program, &Error); + if (!Error.empty()) { + outs() << Error; + return debugCodeGeneratorCrash(ErrMsg); + } + outs() << '\n'; + + // Run the raw input to see where we are coming from. If a reference output + // was specified, make sure that the raw output matches it. If not, it's a + // problem in the front-end or the code generator. + // + bool CreatedOutput = false; + if (ReferenceOutputFile.empty()) { + outs() << "Generating reference output from raw program: "; + if (!createReferenceFile(Program)) { + return debugCodeGeneratorCrash(ErrMsg); + } + CreatedOutput = true; + } + + // Make sure the reference output file gets deleted on exit from this + // function, if appropriate. + sys::Path ROF(ReferenceOutputFile); + FileRemover RemoverInstance(ROF.str(), CreatedOutput && !SaveTemps); + + // Diff the output of the raw program against the reference output. If it + // matches, then we assume there is a miscompilation bug and try to + // diagnose it. + outs() << "*** Checking the code generator...\n"; + bool Diff = diffProgram(Program, "", "", false, &Error); + if (!Error.empty()) { + errs() << Error; + return debugCodeGeneratorCrash(ErrMsg); + } + if (!Diff) { + outs() << "\n*** Output matches: Debugging miscompilation!\n"; + debugMiscompilation(&Error); + if (!Error.empty()) { + errs() << Error; + return debugCodeGeneratorCrash(ErrMsg); + } + return false; + } + + outs() << "\n*** Input program does not match reference diff!\n"; + outs() << "Debugging code generator problem!\n"; + bool Failure = debugCodeGenerator(&Error); + if (!Error.empty()) { + errs() << Error; + return debugCodeGeneratorCrash(ErrMsg); + } + return Failure; +} + +void llvm::PrintFunctionList(const std::vector &Funcs) { + unsigned NumPrint = Funcs.size(); + if (NumPrint > 10) NumPrint = 10; + for (unsigned i = 0; i != NumPrint; ++i) + outs() << " " << Funcs[i]->getName(); + if (NumPrint < Funcs.size()) + outs() << "... <" << Funcs.size() << " total>"; + outs().flush(); +} + +void llvm::PrintGlobalVariableList(const std::vector &GVs) { + unsigned NumPrint = GVs.size(); + if (NumPrint > 10) NumPrint = 10; + for (unsigned i = 0; i != NumPrint; ++i) + outs() << " " << GVs[i]->getName(); + if (NumPrint < GVs.size()) + outs() << "... <" << GVs.size() << " total>"; + outs().flush(); +} Added: projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/llvm-ia64/contrib/llvm/tools/bugpoint/BugDriver.h Tue Jun 28 17:51:47 2011 (r223650) @@ -0,0 +1,330 @@ +//===- BugDriver.h - Top-Level BugPoint class -------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This class contains all of the shared state and information that is used by +// the BugPoint tool to track down errors in optimizations. This class is the +// main driver class that invokes all sub-functionality. +// +//===----------------------------------------------------------------------===// + +#ifndef BUGDRIVER_H +#define BUGDRIVER_H + +#include "llvm/ADT/ValueMap.h" +#include "llvm/Transforms/Utils/ValueMapper.h" +#include +#include + +namespace llvm { + +class Value; +class PassInfo; +class Module; +class GlobalVariable; +class Function; +class BasicBlock; +class AbstractInterpreter; +class Instruction; +class LLVMContext; + +class DebugCrashes; + +class GCC; + +extern bool DisableSimplifyCFG; + +/// BugpointIsInterrupted - Set to true when the user presses ctrl-c. +/// +extern bool BugpointIsInterrupted; + +class BugDriver { + LLVMContext& Context; + const char *ToolName; // argv[0] of bugpoint + std::string ReferenceOutputFile; // Name of `good' output file + Module *Program; // The raw program, linked together + std::vector PassesToRun; + AbstractInterpreter *Interpreter; // How to run the program + AbstractInterpreter *SafeInterpreter; // To generate reference output, etc. + GCC *gcc; + bool run_find_bugs; + unsigned Timeout; + unsigned MemoryLimit; + bool UseValgrind; + + // FIXME: sort out public/private distinctions... + friend class ReducePassList; + friend class ReduceMisCodegenFunctions; + +public: + BugDriver(const char *toolname, bool find_bugs, + unsigned timeout, unsigned memlimit, bool use_valgrind, + LLVMContext& ctxt); + ~BugDriver(); + + const char *getToolName() const { return ToolName; } + + LLVMContext& getContext() const { return Context; } + + // Set up methods... these methods are used to copy information about the + // command line arguments into instance variables of BugDriver. + // + bool addSources(const std::vector &FileNames); + void addPass(std::string p) { PassesToRun.push_back(p); } + void setPassesToRun(const std::vector &PTR) { + PassesToRun = PTR; + } + const std::vector &getPassesToRun() const { + return PassesToRun; + } + + /// run - The top level method that is invoked after all of the instance + /// variables are set up from command line arguments. The \p as_child argument + /// indicates whether the driver is to run in parent mode or child mode. + /// + bool run(std::string &ErrMsg); + + /// debugOptimizerCrash - This method is called when some optimizer pass + /// crashes on input. It attempts to prune down the testcase to something + /// reasonable, and figure out exactly which pass is crashing. + /// + bool debugOptimizerCrash(const std::string &ID = "passes"); + + /// debugCodeGeneratorCrash - This method is called when the code generator + /// crashes on an input. It attempts to reduce the input as much as possible + /// while still causing the code generator to crash. + bool debugCodeGeneratorCrash(std::string &Error); + + /// debugMiscompilation - This method is used when the passes selected are not + /// crashing, but the generated output is semantically different from the + /// input. + void debugMiscompilation(std::string *Error); + + /// debugPassMiscompilation - This method is called when the specified pass + /// miscompiles Program as input. It tries to reduce the testcase to + /// something that smaller that still miscompiles the program. + /// ReferenceOutput contains the filename of the file containing the output we + /// are to match. + /// + bool debugPassMiscompilation(const PassInfo *ThePass, + const std::string &ReferenceOutput); + + /// compileSharedObject - This method creates a SharedObject from a given + /// BitcodeFile for debugging a code generator. + /// + std::string compileSharedObject(const std::string &BitcodeFile, + std::string &Error); + + /// debugCodeGenerator - This method narrows down a module to a function or + /// set of functions, using the CBE as a ``safe'' code generator for other + /// functions that are not under consideration. + bool debugCodeGenerator(std::string *Error); + + /// isExecutingJIT - Returns true if bugpoint is currently testing the JIT + /// + bool isExecutingJIT(); + + /// runPasses - Run all of the passes in the "PassesToRun" list, discard the + /// output, and return true if any of the passes crashed. + bool runPasses(Module *M) const { + return runPasses(M, PassesToRun); + } + + Module *getProgram() const { return Program; } + + /// swapProgramIn - Set the current module to the specified module, returning + /// the old one. + Module *swapProgramIn(Module *M) { + Module *OldProgram = Program; + Program = M; + return OldProgram; + } + + AbstractInterpreter *switchToSafeInterpreter() { + AbstractInterpreter *Old = Interpreter; + Interpreter = (AbstractInterpreter*)SafeInterpreter; + return Old; + } + + void switchToInterpreter(AbstractInterpreter *AI) { + Interpreter = AI; + } + + /// setNewProgram - If we reduce or update the program somehow, call this + /// method to update bugdriver with it. This deletes the old module and sets + /// the specified one as the current program. + void setNewProgram(Module *M); + + /// compileProgram - Try to compile the specified module, returning false and + /// setting Error if an error occurs. This is used for code generation + /// crash testing. + /// + void compileProgram(Module *M, std::string *Error) const; + + /// executeProgram - This method runs "Program", capturing the output of the + /// program to a file. A recommended filename may be optionally specified. + /// + std::string executeProgram(const Module *Program, + std::string OutputFilename, + std::string Bitcode, + const std::string &SharedObjects, + AbstractInterpreter *AI, + std::string *Error) const; + + /// executeProgramSafely - Used to create reference output with the "safe" + /// backend, if reference output is not provided. If there is a problem with + /// the code generator (e.g., llc crashes), this will return false and set + /// Error. + /// + std::string executeProgramSafely(const Module *Program, + std::string OutputFile, + std::string *Error) const; + + /// createReferenceFile - calls compileProgram and then records the output + /// into ReferenceOutputFile. Returns true if reference file created, false + /// otherwise. Note: initializeExecutionEnvironment should be called BEFORE + /// this function. + /// + bool createReferenceFile(Module *M, const std::string &Filename + = "bugpoint.reference.out"); + + /// diffProgram - This method executes the specified module and diffs the + /// output against the file specified by ReferenceOutputFile. If the output + /// is different, 1 is returned. If there is a problem with the code + /// generator (e.g., llc crashes), this will return -1 and set Error. + /// + bool diffProgram(const Module *Program, + const std::string &BitcodeFile = "", + const std::string &SharedObj = "", + bool RemoveBitcode = false, + std::string *Error = 0) const; + + /// EmitProgressBitcode - This function is used to output M to a file named + /// "bugpoint-ID.bc". + /// + void EmitProgressBitcode(const Module *M, const std::string &ID, + bool NoFlyer = false) const; + + /// deleteInstructionFromProgram - This method clones the current Program and + /// deletes the specified instruction from the cloned module. It then runs a + /// series of cleanup passes (ADCE and SimplifyCFG) to eliminate any code + /// which depends on the value. The modified module is then returned. + /// + Module *deleteInstructionFromProgram(const Instruction *I, unsigned Simp); + + /// performFinalCleanups - This method clones the current Program and performs + /// a series of cleanups intended to get rid of extra cruft on the module. If + /// the MayModifySemantics argument is true, then the cleanups is allowed to + /// modify how the code behaves. + /// + Module *performFinalCleanups(Module *M, bool MayModifySemantics = false); + + /// ExtractLoop - Given a module, extract up to one loop from it into a new + /// function. This returns null if there are no extractable loops in the + /// program or if the loop extractor crashes. + Module *ExtractLoop(Module *M); + + /// ExtractMappedBlocksFromModule - Extract all but the specified basic blocks + /// into their own functions. The only detail is that M is actually a module + /// cloned from the one the BBs are in, so some mapping needs to be performed. + /// If this operation fails for some reason (ie the implementation is buggy), + /// this function should return null, otherwise it returns a new Module. + Module *ExtractMappedBlocksFromModule(const std::vector &BBs, + Module *M); + + /// runPassesOn - Carefully run the specified set of pass on the specified + /// module, returning the transformed module on success, or a null pointer on + /// failure. If AutoDebugCrashes is set to true, then bugpoint will + /// automatically attempt to track down a crashing pass if one exists, and + /// this method will never return null. + Module *runPassesOn(Module *M, const std::vector &Passes, + bool AutoDebugCrashes = false, unsigned NumExtraArgs = 0, + const char * const *ExtraArgs = NULL); + + /// runPasses - Run the specified passes on Program, outputting a bitcode + /// file and writting the filename into OutputFile if successful. If the + /// optimizations fail for some reason (optimizer crashes), return true, + /// otherwise return false. If DeleteOutput is set to true, the bitcode is + /// deleted on success, and the filename string is undefined. This prints to + /// outs() a single line message indicating whether compilation was successful + /// or failed, unless Quiet is set. ExtraArgs specifies additional arguments + /// to pass to the child bugpoint instance. + /// + bool runPasses(Module *Program, + const std::vector &PassesToRun, + std::string &OutputFilename, bool DeleteOutput = false, + bool Quiet = false, unsigned NumExtraArgs = 0, + const char * const *ExtraArgs = NULL) const; + + /// runManyPasses - Take the specified pass list and create different + /// combinations of passes to compile the program with. Compile the program with + /// each set and mark test to see if it compiled correctly. If the passes + /// compiled correctly output nothing and rearrange the passes into a new order. + /// If the passes did not compile correctly, output the command required to + /// recreate the failure. This returns true if a compiler error is found. + /// + bool runManyPasses(const std::vector &AllPasses, + std::string &ErrMsg); + + /// writeProgramToFile - This writes the current "Program" to the named + /// bitcode file. If an error occurs, true is returned. + /// + bool writeProgramToFile(const std::string &Filename, const Module *M) const; + +private: + /// runPasses - Just like the method above, but this just returns true or + /// false indicating whether or not the optimizer crashed on the specified + /// input (true = crashed). + /// + bool runPasses(Module *M, + const std::vector &PassesToRun, + bool DeleteOutput = true) const { + std::string Filename; + return runPasses(M, PassesToRun, Filename, DeleteOutput); + } + + /// initializeExecutionEnvironment - This method is used to set up the + /// environment for executing LLVM programs. + /// + bool initializeExecutionEnvironment(); +}; + +/// ParseInputFile - Given a bitcode or assembly input filename, parse and +/// return it, or return null if not possible. +/// +Module *ParseInputFile(const std::string &InputFilename, + LLVMContext& ctxt); + + +/// getPassesString - Turn a list of passes into a string which indicates the +/// command line options that must be passed to add the passes. +/// +std::string getPassesString(const std::vector &Passes); + +/// PrintFunctionList - prints out list of problematic functions +/// +void PrintFunctionList(const std::vector &Funcs); + +/// PrintGlobalVariableList - prints out list of problematic global variables +/// +void PrintGlobalVariableList(const std::vector &GVs); + +// DeleteFunctionBody - "Remove" the function by deleting all of it's basic +// blocks, making it external. +// +void DeleteFunctionBody(Function *F); + +/// SplitFunctionsOutOfModule - Given a module and a list of functions in the +/// module, split the functions OUT of the specified module, and place them in +/// the new module. +Module *SplitFunctionsOutOfModule(Module *M, const std::vector &F, + ValueToValueMapTy &VMap); + +} // End llvm namespace + +#endif Added: projects/llvm-ia64/contrib/llvm/tools/bugpoint/CrashDebugger.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/llvm-ia64/contrib/llvm/tools/bugpoint/CrashDebugger.cpp Tue Jun 28 17:51:47 2011 (r223650) @@ -0,0 +1,667 @@ +//===- CrashDebugger.cpp - Debug compilation crashes ----------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the bugpoint internals that narrow down compilation crashes +// +//===----------------------------------------------------------------------===// + +#include "BugDriver.h" +#include "ToolRunner.h" +#include "ListReducer.h" +#include "llvm/Constants.h" +#include "llvm/DerivedTypes.h" +#include "llvm/Instructions.h" +#include "llvm/Module.h" +#include "llvm/Pass.h" +#include "llvm/PassManager.h" +#include "llvm/ValueSymbolTable.h" +#include "llvm/ADT/SmallPtrSet.h" +#include "llvm/Analysis/Verifier.h" +#include "llvm/Support/CFG.h" +#include "llvm/Transforms/Scalar.h" +#include "llvm/Transforms/Utils/Cloning.h" +#include "llvm/Support/FileUtilities.h" +#include "llvm/Support/CommandLine.h" +#include +using namespace llvm; + +namespace { + cl::opt + KeepMain("keep-main", + cl::desc("Force function reduction to keep main"), + cl::init(false)); + cl::opt + NoGlobalRM ("disable-global-remove", + cl::desc("Do not remove global variables"), + cl::init(false)); +} + +namespace llvm { + class ReducePassList : public ListReducer { + BugDriver &BD; + public: + ReducePassList(BugDriver &bd) : BD(bd) {} + + // doTest - Return true iff running the "removed" passes succeeds, and + // running the "Kept" passes fail when run on the output of the "removed" + // passes. If we return true, we update the current module of bugpoint. + // + virtual TestResult doTest(std::vector &Removed, + std::vector &Kept, + std::string &Error); + }; +} + +ReducePassList::TestResult +ReducePassList::doTest(std::vector &Prefix, + std::vector &Suffix, + std::string &Error) { + sys::Path PrefixOutput; + Module *OrigProgram = 0; + if (!Prefix.empty()) { + outs() << "Checking to see if these passes crash: " + << getPassesString(Prefix) << ": "; + std::string PfxOutput; + if (BD.runPasses(BD.getProgram(), Prefix, PfxOutput)) + return KeepPrefix; + + PrefixOutput.set(PfxOutput); + OrigProgram = BD.Program; + + BD.Program = ParseInputFile(PrefixOutput.str(), BD.getContext()); + if (BD.Program == 0) { + errs() << BD.getToolName() << ": Error reading bitcode file '" + << PrefixOutput.str() << "'!\n"; + exit(1); + } + PrefixOutput.eraseFromDisk(); + } + + outs() << "Checking to see if these passes crash: " + << getPassesString(Suffix) << ": "; + + if (BD.runPasses(BD.getProgram(), Suffix)) { + delete OrigProgram; // The suffix crashes alone... + return KeepSuffix; + } + + // Nothing failed, restore state... + if (OrigProgram) { + delete BD.Program; + BD.Program = OrigProgram; + } + return NoFailure; +} + +namespace { + /// ReduceCrashingGlobalVariables - This works by removing the global + /// variable's initializer and seeing if the program still crashes. If it + /// does, then we keep that program and try again. + /// + class ReduceCrashingGlobalVariables : public ListReducer { + BugDriver &BD; + bool (*TestFn)(const BugDriver &, Module *); + public: + ReduceCrashingGlobalVariables(BugDriver &bd, + bool (*testFn)(const BugDriver &, Module *)) + : BD(bd), TestFn(testFn) {} + + virtual TestResult doTest(std::vector &Prefix, + std::vector &Kept, + std::string &Error) { + if (!Kept.empty() && TestGlobalVariables(Kept)) + return KeepSuffix; + if (!Prefix.empty() && TestGlobalVariables(Prefix)) + return KeepPrefix; + return NoFailure; + } + + bool TestGlobalVariables(std::vector &GVs); + }; +} + +bool +ReduceCrashingGlobalVariables::TestGlobalVariables( + std::vector &GVs) { + // Clone the program to try hacking it apart... + ValueToValueMapTy VMap; + Module *M = CloneModule(BD.getProgram(), VMap); + + // Convert list to set for fast lookup... + std::set GVSet; + + for (unsigned i = 0, e = GVs.size(); i != e; ++i) { + GlobalVariable* CMGV = cast(VMap[GVs[i]]); + assert(CMGV && "Global Variable not in module?!"); + GVSet.insert(CMGV); + } + + outs() << "Checking for crash with only these global variables: "; + PrintGlobalVariableList(GVs); + outs() << ": "; + + // Loop over and delete any global variables which we aren't supposed to be + // playing with... + for (Module::global_iterator I = M->global_begin(), E = M->global_end(); + I != E; ++I) + if (I->hasInitializer() && !GVSet.count(I)) { + I->setInitializer(0); + I->setLinkage(GlobalValue::ExternalLinkage); + } + + // Try running the hacked up program... + if (TestFn(BD, M)) { + BD.setNewProgram(M); // It crashed, keep the trimmed version... + + // Make sure to use global variable pointers that point into the now-current + // module. + GVs.assign(GVSet.begin(), GVSet.end()); + return true; + } + + delete M; + return false; +} + +namespace llvm { + /// ReduceCrashingFunctions reducer - This works by removing functions and + /// seeing if the program still crashes. If it does, then keep the newer, + /// smaller program. + /// + class ReduceCrashingFunctions : public ListReducer { + BugDriver &BD; + bool (*TestFn)(const BugDriver &, Module *); + public: + ReduceCrashingFunctions(BugDriver &bd, + bool (*testFn)(const BugDriver &, Module *)) + : BD(bd), TestFn(testFn) {} + + virtual TestResult doTest(std::vector &Prefix, + std::vector &Kept, + std::string &Error) { + if (!Kept.empty() && TestFuncs(Kept)) + return KeepSuffix; + if (!Prefix.empty() && TestFuncs(Prefix)) + return KeepPrefix; + return NoFailure; + } + + bool TestFuncs(std::vector &Prefix); + }; +} + +bool ReduceCrashingFunctions::TestFuncs(std::vector &Funcs) { + + //if main isn't present, claim there is no problem + if (KeepMain && find(Funcs.begin(), Funcs.end(), + BD.getProgram()->getFunction("main")) == Funcs.end()) + return false; + + // Clone the program to try hacking it apart... + ValueToValueMapTy VMap; + Module *M = CloneModule(BD.getProgram(), VMap); + + // Convert list to set for fast lookup... + std::set Functions; + for (unsigned i = 0, e = Funcs.size(); i != e; ++i) { + Function *CMF = cast(VMap[Funcs[i]]); + assert(CMF && "Function not in module?!"); + assert(CMF->getFunctionType() == Funcs[i]->getFunctionType() && "wrong ty"); + assert(CMF->getName() == Funcs[i]->getName() && "wrong name"); + Functions.insert(CMF); + } + + outs() << "Checking for crash with only these functions: "; + PrintFunctionList(Funcs); + outs() << ": "; + + // Loop over and delete any functions which we aren't supposed to be playing + // with... + for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) + if (!I->isDeclaration() && !Functions.count(I)) + DeleteFunctionBody(I); + + // Try running the hacked up program... + if (TestFn(BD, M)) { + BD.setNewProgram(M); // It crashed, keep the trimmed version... + + // Make sure to use function pointers that point into the now-current + // module. + Funcs.assign(Functions.begin(), Functions.end()); + return true; + } + delete M; + return false; +} + + +namespace { + /// ReduceCrashingBlocks reducer - This works by setting the terminators of + /// all terminators except the specified basic blocks to a 'ret' instruction, + /// then running the simplify-cfg pass. This has the effect of chopping up + /// the CFG really fast which can reduce large functions quickly. + /// + class ReduceCrashingBlocks : public ListReducer { + BugDriver &BD; + bool (*TestFn)(const BugDriver &, Module *); + public: + ReduceCrashingBlocks(BugDriver &bd, + bool (*testFn)(const BugDriver &, Module *)) + : BD(bd), TestFn(testFn) {} + + virtual TestResult doTest(std::vector &Prefix, + std::vector &Kept, + std::string &Error) { + if (!Kept.empty() && TestBlocks(Kept)) + return KeepSuffix; + if (!Prefix.empty() && TestBlocks(Prefix)) + return KeepPrefix; + return NoFailure; + } + + bool TestBlocks(std::vector &Prefix); + }; +} + +bool ReduceCrashingBlocks::TestBlocks(std::vector &BBs) { + // Clone the program to try hacking it apart... + ValueToValueMapTy VMap; + Module *M = CloneModule(BD.getProgram(), VMap); + + // Convert list to set for fast lookup... + SmallPtrSet Blocks; + for (unsigned i = 0, e = BBs.size(); i != e; ++i) + Blocks.insert(cast(VMap[BBs[i]])); + + outs() << "Checking for crash with only these blocks:"; + unsigned NumPrint = Blocks.size(); + if (NumPrint > 10) NumPrint = 10; + for (unsigned i = 0, e = NumPrint; i != e; ++i) + outs() << " " << BBs[i]->getName(); + if (NumPrint < Blocks.size()) + outs() << "... <" << Blocks.size() << " total>"; + outs() << ": "; + + // Loop over and delete any hack up any blocks that are not listed... + for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) + for (Function::iterator BB = I->begin(), E = I->end(); BB != E; ++BB) + if (!Blocks.count(BB) && BB->getTerminator()->getNumSuccessors()) { + // Loop over all of the successors of this block, deleting any PHI nodes + // that might include it. + for (succ_iterator SI = succ_begin(BB), E = succ_end(BB); SI != E; ++SI) + (*SI)->removePredecessor(BB); + + TerminatorInst *BBTerm = BB->getTerminator(); + + if (!BB->getTerminator()->getType()->isVoidTy()) + BBTerm->replaceAllUsesWith(Constant::getNullValue(BBTerm->getType())); + + // Replace the old terminator instruction. + BB->getInstList().pop_back(); + new UnreachableInst(BB->getContext(), BB); + } + + // The CFG Simplifier pass may delete one of the basic blocks we are + // interested in. If it does we need to take the block out of the list. Make + // a "persistent mapping" by turning basic blocks into pairs. + // This won't work well if blocks are unnamed, but that is just the risk we + // have to take. + std::vector > BlockInfo; + + for (SmallPtrSet::iterator I = Blocks.begin(), + E = Blocks.end(); I != E; ++I) + BlockInfo.push_back(std::make_pair((*I)->getParent()->getName(), + (*I)->getName())); + + // Now run the CFG simplify pass on the function... + std::vector Passes; + Passes.push_back("simplifycfg"); + Passes.push_back("verify"); + Module *New = BD.runPassesOn(M, Passes); + delete M; + if (!New) { + errs() << "simplifycfg failed!\n"; + exit(1); + } + M = New; + + // Try running on the hacked up program... + if (TestFn(BD, M)) { + BD.setNewProgram(M); // It crashed, keep the trimmed version... + + // Make sure to use basic block pointers that point into the now-current + // module, and that they don't include any deleted blocks. + BBs.clear(); + const ValueSymbolTable &GST = M->getValueSymbolTable(); + for (unsigned i = 0, e = BlockInfo.size(); i != e; ++i) { + Function *F = cast(GST.lookup(BlockInfo[i].first)); + ValueSymbolTable &ST = F->getValueSymbolTable(); + Value* V = ST.lookup(BlockInfo[i].second); + if (V && V->getType() == Type::getLabelTy(V->getContext())) + BBs.push_back(cast(V)); + } + return true; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 20:28:13 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0332C106564A; Tue, 28 Jun 2011 20:28:13 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E32DB8FC0A; Tue, 28 Jun 2011 20:28:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SKSC4Z064213; Tue, 28 Jun 2011 20:28:12 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SKSCC1064175; Tue, 28 Jun 2011 20:28:12 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201106282028.p5SKSCC1064175@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 28 Jun 2011 20:28:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223653 - in projects/llvm-ia64: . bin/ps bin/rcp bin/realpath bin/sh bin/sh/bltin cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolari... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 20:28:13 -0000 Author: marcel Date: Tue Jun 28 20:28:11 2011 New Revision: 223653 URL: http://svn.freebsd.org/changeset/base/223653 Log: Sync with head@223652 Added: projects/llvm-ia64/contrib/sendmail/cf/ostype/solaris11.m4 - copied unchanged from r223652, head/contrib/sendmail/cf/ostype/solaris11.m4 - copied from r223652, head/contrib/tnftp/ projects/llvm-ia64/etc/devd/usb.conf - copied unchanged from r223652, head/etc/devd/usb.conf projects/llvm-ia64/etc/rc.d/kld - copied unchanged from r223652, head/etc/rc.d/kld projects/llvm-ia64/etc/rc.d/netwait - copied unchanged from r223652, head/etc/rc.d/netwait projects/llvm-ia64/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S - copied unchanged from r223652, head/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S projects/llvm-ia64/lib/libusb/libusb01.c - copied unchanged from r223652, head/lib/libusb/libusb01.c projects/llvm-ia64/sys/contrib/pf/net/if_pflow.h - copied unchanged from r223652, head/sys/contrib/pf/net/if_pflow.h projects/llvm-ia64/sys/contrib/pf/net/pf_lb.c - copied unchanged from r223652, head/sys/contrib/pf/net/pf_lb.c projects/llvm-ia64/sys/dev/pci/pci_subr.c - copied unchanged from r223652, head/sys/dev/pci/pci_subr.c projects/llvm-ia64/sys/dev/usb/template/usb_template_audio.c - copied unchanged from r223652, head/sys/dev/usb/template/usb_template_audio.c projects/llvm-ia64/sys/dev/usb/template/usb_template_kbd.c - copied unchanged from r223652, head/sys/dev/usb/template/usb_template_kbd.c projects/llvm-ia64/sys/dev/usb/template/usb_template_modem.c - copied unchanged from r223652, head/sys/dev/usb/template/usb_template_modem.c projects/llvm-ia64/sys/dev/usb/template/usb_template_mouse.c - copied unchanged from r223652, head/sys/dev/usb/template/usb_template_mouse.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clkdtrace.c - copied unchanged from r223652, head/sys/fs/nfsclient/nfs_clkdtrace.c projects/llvm-ia64/sys/fs/nfsclient/nfs_kdtrace.h - copied unchanged from r223652, head/sys/fs/nfsclient/nfs_kdtrace.h projects/llvm-ia64/sys/modules/dtrace/dtnfscl/ - copied from r223652, head/sys/modules/dtrace/dtnfscl/ projects/llvm-ia64/sys/modules/pfsync/ - copied from r223652, head/sys/modules/pfsync/ projects/llvm-ia64/sys/powerpc/ps3/ohci_ps3.c - copied unchanged from r223652, head/sys/powerpc/ps3/ohci_ps3.c projects/llvm-ia64/sys/powerpc/ps3/ps3disk.c - copied unchanged from r223652, head/sys/powerpc/ps3/ps3disk.c projects/llvm-ia64/sys/x86/include/pci_cfgreg.h - copied unchanged from r223652, head/sys/x86/include/pci_cfgreg.h projects/llvm-ia64/sys/x86/pci/pci_bus.c - copied unchanged from r223652, head/sys/x86/pci/pci_bus.c projects/llvm-ia64/tools/build/options/WITHOUT_UTMPX - copied unchanged from r223652, head/tools/build/options/WITHOUT_UTMPX projects/llvm-ia64/tools/regression/bin/sh/builtins/case10.0 - copied unchanged from r223652, head/tools/regression/bin/sh/builtins/case10.0 projects/llvm-ia64/tools/regression/bin/sh/builtins/case8.0 - copied unchanged from r223652, head/tools/regression/bin/sh/builtins/case8.0 projects/llvm-ia64/tools/regression/bin/sh/builtins/case9.0 - copied unchanged from r223652, head/tools/regression/bin/sh/builtins/case9.0 projects/llvm-ia64/tools/regression/bin/sh/builtins/export1.0 - copied unchanged from r223652, head/tools/regression/bin/sh/builtins/export1.0 projects/llvm-ia64/tools/regression/bin/sh/builtins/set2.0 - copied unchanged from r223652, head/tools/regression/bin/sh/builtins/set2.0 projects/llvm-ia64/tools/regression/bin/sh/execution/bg4.0 - copied unchanged from r223652, head/tools/regression/bin/sh/execution/bg4.0 projects/llvm-ia64/tools/regression/bin/sh/expansion/cmdsubst11.0 - copied unchanged from r223652, head/tools/regression/bin/sh/expansion/cmdsubst11.0 projects/llvm-ia64/tools/tools/bus_autoconf/ - copied from r223652, head/tools/tools/bus_autoconf/ projects/llvm-ia64/usr.bin/ftp/tnftp_config.h - copied unchanged from r223652, head/usr.bin/ftp/tnftp_config.h projects/llvm-ia64/usr.sbin/makefs/mtree.c - copied unchanged from r223652, head/usr.sbin/makefs/mtree.c Directory Properties: projects/llvm-ia64/contrib/tnftp/ (props changed) Deleted: projects/llvm-ia64/contrib/lukemftp/ projects/llvm-ia64/lib/libusb/libusb20_compat01.c projects/llvm-ia64/sys/amd64/pci/pci_bus.c projects/llvm-ia64/sys/contrib/pf/net/pf_subr.c projects/llvm-ia64/sys/i386/pci/pci_bus.c projects/llvm-ia64/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk projects/llvm-ia64/usr.bin/ftp/config.h Modified: projects/llvm-ia64/Makefile projects/llvm-ia64/Makefile.inc1 projects/llvm-ia64/UPDATING projects/llvm-ia64/bin/ps/extern.h projects/llvm-ia64/bin/ps/keyword.c projects/llvm-ia64/bin/ps/print.c projects/llvm-ia64/bin/ps/ps.1 projects/llvm-ia64/bin/rcp/rcp.c projects/llvm-ia64/bin/realpath/realpath.1 projects/llvm-ia64/bin/realpath/realpath.c projects/llvm-ia64/bin/sh/alias.c projects/llvm-ia64/bin/sh/alias.h projects/llvm-ia64/bin/sh/arith.h projects/llvm-ia64/bin/sh/arith_yacc.c projects/llvm-ia64/bin/sh/bltin/bltin.h projects/llvm-ia64/bin/sh/cd.c projects/llvm-ia64/bin/sh/cd.h projects/llvm-ia64/bin/sh/eval.c projects/llvm-ia64/bin/sh/eval.h projects/llvm-ia64/bin/sh/exec.h projects/llvm-ia64/bin/sh/expand.c projects/llvm-ia64/bin/sh/expand.h projects/llvm-ia64/bin/sh/histedit.c projects/llvm-ia64/bin/sh/jobs.c projects/llvm-ia64/bin/sh/jobs.h projects/llvm-ia64/bin/sh/main.c projects/llvm-ia64/bin/sh/main.h projects/llvm-ia64/bin/sh/mkbuiltins projects/llvm-ia64/bin/sh/mkinit.c projects/llvm-ia64/bin/sh/mktokens projects/llvm-ia64/bin/sh/myhistedit.h projects/llvm-ia64/bin/sh/nodetypes projects/llvm-ia64/bin/sh/options.c projects/llvm-ia64/bin/sh/options.h projects/llvm-ia64/bin/sh/parser.c projects/llvm-ia64/bin/sh/sh.1 projects/llvm-ia64/bin/sh/trap.c projects/llvm-ia64/bin/sh/trap.h projects/llvm-ia64/bin/sh/var.c projects/llvm-ia64/bin/sh/var.h projects/llvm-ia64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/llvm-ia64/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/llvm-ia64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c projects/llvm-ia64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/llvm-ia64/contrib/binutils/bfd/coffcode.h projects/llvm-ia64/contrib/binutils/bfd/opncls.c projects/llvm-ia64/contrib/binutils/bfd/peicode.h projects/llvm-ia64/contrib/binutils/gas/config/obj-elf.c projects/llvm-ia64/contrib/binutils/gas/config/tc-arm.c projects/llvm-ia64/contrib/binutils/gas/frags.c projects/llvm-ia64/contrib/binutils/gas/subsegs.c projects/llvm-ia64/contrib/binutils/ld/ldexp.c projects/llvm-ia64/contrib/binutils/ld/sysdep.h projects/llvm-ia64/contrib/binutils/opcodes/i386-dis.c projects/llvm-ia64/contrib/dialog/dialog.h projects/llvm-ia64/contrib/gcc/cfg.c projects/llvm-ia64/contrib/gcc/output.h projects/llvm-ia64/contrib/gcc/rtl.h projects/llvm-ia64/contrib/gcc/tree.h projects/llvm-ia64/contrib/gdb/gdb/ppcfbsd-tdep.c projects/llvm-ia64/contrib/gperf/src/gen-perf.cc projects/llvm-ia64/contrib/gperf/src/key-list.cc projects/llvm-ia64/contrib/libpcap/bpf/net/bpf_filter.c projects/llvm-ia64/contrib/ntp/ntpd/ntp_io.c projects/llvm-ia64/contrib/pf/authpf/authpf.8 projects/llvm-ia64/contrib/pf/authpf/authpf.c projects/llvm-ia64/contrib/pf/authpf/pathnames.h projects/llvm-ia64/contrib/pf/ftp-proxy/filter.c projects/llvm-ia64/contrib/pf/ftp-proxy/filter.h projects/llvm-ia64/contrib/pf/ftp-proxy/ftp-proxy.8 projects/llvm-ia64/contrib/pf/ftp-proxy/ftp-proxy.c projects/llvm-ia64/contrib/pf/man/pf.4 projects/llvm-ia64/contrib/pf/man/pf.conf.5 projects/llvm-ia64/contrib/pf/man/pf.os.5 projects/llvm-ia64/contrib/pf/man/pflog.4 projects/llvm-ia64/contrib/pf/man/pfsync.4 projects/llvm-ia64/contrib/pf/pfctl/parse.y projects/llvm-ia64/contrib/pf/pfctl/pf_print_state.c projects/llvm-ia64/contrib/pf/pfctl/pfctl.8 projects/llvm-ia64/contrib/pf/pfctl/pfctl.c projects/llvm-ia64/contrib/pf/pfctl/pfctl.h projects/llvm-ia64/contrib/pf/pfctl/pfctl_altq.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_optimize.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_osfp.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_parser.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_parser.h projects/llvm-ia64/contrib/pf/pfctl/pfctl_qstats.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_radix.c projects/llvm-ia64/contrib/pf/pfctl/pfctl_table.c projects/llvm-ia64/contrib/pf/pflogd/pflogd.8 projects/llvm-ia64/contrib/pf/pflogd/pflogd.c projects/llvm-ia64/contrib/pf/pflogd/privsep.c projects/llvm-ia64/contrib/pf/pflogd/privsep_fdpass.c projects/llvm-ia64/contrib/sendmail/CACerts projects/llvm-ia64/contrib/sendmail/FREEBSD-upgrade projects/llvm-ia64/contrib/sendmail/KNOWNBUGS projects/llvm-ia64/contrib/sendmail/LICENSE projects/llvm-ia64/contrib/sendmail/PGPKEYS projects/llvm-ia64/contrib/sendmail/RELEASE_NOTES projects/llvm-ia64/contrib/sendmail/cf/cf/submit.cf projects/llvm-ia64/contrib/sendmail/cf/feature/ldap_routing.m4 projects/llvm-ia64/contrib/sendmail/cf/m4/cfhead.m4 projects/llvm-ia64/contrib/sendmail/cf/m4/proto.m4 projects/llvm-ia64/contrib/sendmail/cf/m4/version.m4 projects/llvm-ia64/contrib/sendmail/contrib/qtool.pl projects/llvm-ia64/contrib/sendmail/doc/op/op.me projects/llvm-ia64/contrib/sendmail/include/sm/conf.h projects/llvm-ia64/contrib/sendmail/libmilter/docs/overview.html projects/llvm-ia64/contrib/sendmail/libmilter/docs/smfi_stop.html projects/llvm-ia64/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html projects/llvm-ia64/contrib/sendmail/libmilter/engine.c projects/llvm-ia64/contrib/sendmail/libmilter/sm_gethost.c projects/llvm-ia64/contrib/sendmail/libmilter/worker.c projects/llvm-ia64/contrib/sendmail/libsm/ldap.c projects/llvm-ia64/contrib/sendmail/makemap/makemap.c projects/llvm-ia64/contrib/sendmail/src/Makefile.m4 projects/llvm-ia64/contrib/sendmail/src/conf.c projects/llvm-ia64/contrib/sendmail/src/daemon.c projects/llvm-ia64/contrib/sendmail/src/deliver.c projects/llvm-ia64/contrib/sendmail/src/domain.c projects/llvm-ia64/contrib/sendmail/src/envelope.c projects/llvm-ia64/contrib/sendmail/src/err.c projects/llvm-ia64/contrib/sendmail/src/main.c projects/llvm-ia64/contrib/sendmail/src/map.c projects/llvm-ia64/contrib/sendmail/src/mci.c projects/llvm-ia64/contrib/sendmail/src/parseaddr.c projects/llvm-ia64/contrib/sendmail/src/queue.c projects/llvm-ia64/contrib/sendmail/src/readcf.c projects/llvm-ia64/contrib/sendmail/src/sendmail.8 projects/llvm-ia64/contrib/sendmail/src/sendmail.h projects/llvm-ia64/contrib/sendmail/src/sm_resolve.c projects/llvm-ia64/contrib/sendmail/src/srvrsmtp.c projects/llvm-ia64/contrib/sendmail/src/tls.c projects/llvm-ia64/contrib/sendmail/src/udb.c projects/llvm-ia64/contrib/sendmail/src/usersmtp.c projects/llvm-ia64/contrib/sendmail/src/version.c projects/llvm-ia64/contrib/top/display.c projects/llvm-ia64/contrib/top/top.h projects/llvm-ia64/contrib/traceroute/traceroute.c projects/llvm-ia64/contrib/tzdata/antarctica projects/llvm-ia64/contrib/tzdata/asia projects/llvm-ia64/contrib/tzdata/europe projects/llvm-ia64/contrib/tzdata/southamerica projects/llvm-ia64/contrib/tzdata/zone.tab projects/llvm-ia64/etc/defaults/rc.conf projects/llvm-ia64/etc/devd/Makefile projects/llvm-ia64/etc/devd/uath.conf projects/llvm-ia64/etc/network.subr projects/llvm-ia64/etc/periodic/daily/800.scrub-zfs projects/llvm-ia64/etc/periodic/monthly/Makefile projects/llvm-ia64/etc/rc.d/Makefile projects/llvm-ia64/etc/rc.d/mountcritremote projects/llvm-ia64/etc/rc.d/quota projects/llvm-ia64/etc/rc.d/var projects/llvm-ia64/etc/rc.subr projects/llvm-ia64/etc/regdomain.xml projects/llvm-ia64/etc/sendmail/freebsd.mc projects/llvm-ia64/etc/sendmail/freebsd.submit.mc projects/llvm-ia64/kerberos5/Makefile projects/llvm-ia64/lib/csu/powerpc64/Makefile projects/llvm-ia64/lib/libc/db/btree/bt_split.c projects/llvm-ia64/lib/libc/db/man/mpool.3 projects/llvm-ia64/lib/libc/gen/basename.3 projects/llvm-ia64/lib/libc/gen/basename.c projects/llvm-ia64/lib/libc/gen/ftw.c projects/llvm-ia64/lib/libc/gen/getutxent.3 projects/llvm-ia64/lib/libc/gen/posix_spawn.3 projects/llvm-ia64/lib/libc/gen/posix_spawn.c projects/llvm-ia64/lib/libc/gen/pututxline.c projects/llvm-ia64/lib/libc/gen/sysconf.c projects/llvm-ia64/lib/libc/iconv/citrus_mapper.c projects/llvm-ia64/lib/libc/iconv/iconv.c projects/llvm-ia64/lib/libc/net/sctp_opt_info.3 projects/llvm-ia64/lib/libc/net/sctp_sys_calls.c projects/llvm-ia64/lib/libc/stdlib/malloc.c projects/llvm-ia64/lib/libc/stdlib/ptsname.c projects/llvm-ia64/lib/libc/sys/wait.2 projects/llvm-ia64/lib/libmd/sha256.3 projects/llvm-ia64/lib/libmd/sha512.3 projects/llvm-ia64/lib/libprocstat/Makefile projects/llvm-ia64/lib/libprocstat/libprocstat.c projects/llvm-ia64/lib/libstand/net.c projects/llvm-ia64/lib/libstand/tftp.c projects/llvm-ia64/lib/libstand/zalloc.c projects/llvm-ia64/lib/libstand/zalloc_malloc.c projects/llvm-ia64/lib/libthr/arch/sparc64/Makefile.inc projects/llvm-ia64/lib/libthr/arch/sparc64/include/pthread_md.h projects/llvm-ia64/lib/libthr/arch/sparc64/sparc64/pthread_md.c projects/llvm-ia64/lib/libthr/thread/thr_init.c projects/llvm-ia64/lib/libusb/Makefile projects/llvm-ia64/lib/libusb/libusb10.c projects/llvm-ia64/lib/libusb/libusb20.3 projects/llvm-ia64/lib/libusb/libusb20.c projects/llvm-ia64/lib/libusb/libusb20.h projects/llvm-ia64/lib/libusb/libusb20_int.h projects/llvm-ia64/lib/libusb/libusb20_ugen20.c projects/llvm-ia64/lib/msun/ld80/e_rem_pio2l.h projects/llvm-ia64/lib/msun/src/e_rem_pio2.c projects/llvm-ia64/libexec/ftpd/ftpd.c projects/llvm-ia64/libexec/rtld-elf/rtld.c projects/llvm-ia64/libexec/tftpd/tftp-file.c projects/llvm-ia64/libexec/tftpd/tftpd.8 projects/llvm-ia64/libexec/ulog-helper/Makefile projects/llvm-ia64/libexec/ulog-helper/ulog-helper.c projects/llvm-ia64/release/Makefile projects/llvm-ia64/release/doc/en_US.ISO8859-1/readme/article.sgml projects/llvm-ia64/release/doc/en_US.ISO8859-1/relnotes/article.sgml projects/llvm-ia64/release/doc/share/sgml/release.ent projects/llvm-ia64/sbin/camcontrol/camcontrol.c projects/llvm-ia64/sbin/ddb/ddb.8 projects/llvm-ia64/sbin/geom/class/part/geom_part.c projects/llvm-ia64/sbin/growfs/growfs.8 projects/llvm-ia64/sbin/growfs/growfs.c projects/llvm-ia64/sbin/hastctl/Makefile projects/llvm-ia64/sbin/hastd/Makefile projects/llvm-ia64/sbin/hastd/primary.c projects/llvm-ia64/sbin/hastd/proto_common.c projects/llvm-ia64/sbin/hastd/secondary.c projects/llvm-ia64/sbin/hastd/subr.c projects/llvm-ia64/sbin/ifconfig/ifconfig.c projects/llvm-ia64/sbin/ipfw/ipfw.8 projects/llvm-ia64/sbin/ipfw/ipfw2.c projects/llvm-ia64/sbin/ipfw/ipfw2.h projects/llvm-ia64/sbin/ipfw/nat.c projects/llvm-ia64/sbin/newfs/newfs.8 projects/llvm-ia64/sbin/pflogd/Makefile projects/llvm-ia64/sbin/savecore/savecore.c projects/llvm-ia64/sbin/tunefs/tunefs.8 projects/llvm-ia64/share/examples/etc/make.conf projects/llvm-ia64/share/man/man4/ng_ether.4 projects/llvm-ia64/share/man/man4/snd_hda.4 projects/llvm-ia64/share/man/man5/make.conf.5 projects/llvm-ia64/share/man/man5/rc.conf.5 projects/llvm-ia64/share/man/man5/src.conf.5 projects/llvm-ia64/share/man/man7/build.7 projects/llvm-ia64/share/man/man9/Makefile projects/llvm-ia64/share/man/man9/device_get_sysctl.9 projects/llvm-ia64/share/misc/committers-ports.dot projects/llvm-ia64/share/misc/iso3166 projects/llvm-ia64/share/misc/usb_hid_usages projects/llvm-ia64/share/mk/bsd.own.mk projects/llvm-ia64/sys/amd64/conf/GENERIC projects/llvm-ia64/sys/amd64/ia32/ia32_sigtramp.S projects/llvm-ia64/sys/amd64/include/pci_cfgreg.h projects/llvm-ia64/sys/arm/at91/at91_machdep.c projects/llvm-ia64/sys/arm/conf/CAMBRIA projects/llvm-ia64/sys/arm/sa11x0/assabet_machdep.c projects/llvm-ia64/sys/arm/sa11x0/sa11x0.c projects/llvm-ia64/sys/boot/Makefile projects/llvm-ia64/sys/boot/Makefile.arm projects/llvm-ia64/sys/boot/Makefile.powerpc projects/llvm-ia64/sys/boot/common/load_elf_obj.c projects/llvm-ia64/sys/boot/forth/loader.rc projects/llvm-ia64/sys/boot/i386/libi386/biosacpi.c projects/llvm-ia64/sys/boot/i386/zfsboot/zfsldr.S projects/llvm-ia64/sys/cam/ata/ata_da.c projects/llvm-ia64/sys/cam/ata/ata_xpt.c projects/llvm-ia64/sys/cam/cam_ccb.h projects/llvm-ia64/sys/cam/cam_periph.c projects/llvm-ia64/sys/cam/cam_periph.h projects/llvm-ia64/sys/cam/cam_xpt.c projects/llvm-ia64/sys/cam/cam_xpt.h projects/llvm-ia64/sys/cam/cam_xpt_internal.h projects/llvm-ia64/sys/cam/scsi/scsi_all.c projects/llvm-ia64/sys/cam/scsi/scsi_all.h projects/llvm-ia64/sys/cam/scsi/scsi_cd.c projects/llvm-ia64/sys/cam/scsi/scsi_da.c projects/llvm-ia64/sys/cam/scsi/scsi_pass.c projects/llvm-ia64/sys/cam/scsi/scsi_xpt.c projects/llvm-ia64/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/llvm-ia64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/llvm-ia64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/llvm-ia64/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h projects/llvm-ia64/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/llvm-ia64/sys/compat/freebsd32/freebsd32_misc.c projects/llvm-ia64/sys/compat/freebsd32/freebsd32_proto.h projects/llvm-ia64/sys/compat/freebsd32/freebsd32_syscall.h projects/llvm-ia64/sys/compat/freebsd32/freebsd32_syscalls.c projects/llvm-ia64/sys/compat/freebsd32/freebsd32_sysent.c projects/llvm-ia64/sys/compat/freebsd32/syscalls.master projects/llvm-ia64/sys/compat/linprocfs/linprocfs.c projects/llvm-ia64/sys/conf/Makefile.arm projects/llvm-ia64/sys/conf/files projects/llvm-ia64/sys/conf/files.amd64 projects/llvm-ia64/sys/conf/files.i386 projects/llvm-ia64/sys/conf/files.ia64 projects/llvm-ia64/sys/conf/files.pc98 projects/llvm-ia64/sys/conf/files.powerpc projects/llvm-ia64/sys/conf/options projects/llvm-ia64/sys/contrib/altq/altq/altq_red.c projects/llvm-ia64/sys/contrib/pf/net/if_pflog.c projects/llvm-ia64/sys/contrib/pf/net/if_pflog.h projects/llvm-ia64/sys/contrib/pf/net/if_pfsync.c projects/llvm-ia64/sys/contrib/pf/net/if_pfsync.h projects/llvm-ia64/sys/contrib/pf/net/pf.c projects/llvm-ia64/sys/contrib/pf/net/pf_if.c projects/llvm-ia64/sys/contrib/pf/net/pf_ioctl.c projects/llvm-ia64/sys/contrib/pf/net/pf_mtag.h projects/llvm-ia64/sys/contrib/pf/net/pf_norm.c projects/llvm-ia64/sys/contrib/pf/net/pf_osfp.c projects/llvm-ia64/sys/contrib/pf/net/pf_ruleset.c projects/llvm-ia64/sys/contrib/pf/net/pf_table.c projects/llvm-ia64/sys/contrib/pf/net/pfvar.h projects/llvm-ia64/sys/dev/acpica/acpi.c projects/llvm-ia64/sys/dev/acpica/acpi_cpu.c projects/llvm-ia64/sys/dev/acpica/acpi_pci.c projects/llvm-ia64/sys/dev/acpica/acpi_pcib_acpi.c projects/llvm-ia64/sys/dev/acpica/acpi_resource.c projects/llvm-ia64/sys/dev/acpica/acpi_thermal.c projects/llvm-ia64/sys/dev/acpica/acpivar.h projects/llvm-ia64/sys/dev/an/if_an.c projects/llvm-ia64/sys/dev/ata/chipsets/ata-intel.c projects/llvm-ia64/sys/dev/ath/ah_osdep.c projects/llvm-ia64/sys/dev/ath/ath_hal/ah.h projects/llvm-ia64/sys/dev/ath/ath_hal/ah_eeprom_9287.h projects/llvm-ia64/sys/dev/ath/ath_hal/ah_internal.h projects/llvm-ia64/sys/dev/ath/ath_hal/ah_regdomain.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5212/ar5112.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/llvm-ia64/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/llvm-ia64/sys/dev/ath/if_ath.c projects/llvm-ia64/sys/dev/ath/if_ath_ahb.c projects/llvm-ia64/sys/dev/ath/if_ath_sysctl.c projects/llvm-ia64/sys/dev/ath/if_ath_sysctl.h projects/llvm-ia64/sys/dev/atkbdc/atkbd.c projects/llvm-ia64/sys/dev/cardbus/cardbus_cis.c projects/llvm-ia64/sys/dev/dc/dcphy.c projects/llvm-ia64/sys/dev/dc/if_dc.c projects/llvm-ia64/sys/dev/dc/pnphy.c projects/llvm-ia64/sys/dev/e1000/if_igb.c projects/llvm-ia64/sys/dev/e1000/if_igb.h projects/llvm-ia64/sys/dev/en/if_en_pci.c projects/llvm-ia64/sys/dev/et/if_et.c projects/llvm-ia64/sys/dev/fdc/fdc_pccard.c projects/llvm-ia64/sys/dev/firewire/fwohci.c projects/llvm-ia64/sys/dev/fxp/if_fxp.c projects/llvm-ia64/sys/dev/gem/if_gem.c projects/llvm-ia64/sys/dev/gem/if_gemvar.h projects/llvm-ia64/sys/dev/iicbus/if_ic.c projects/llvm-ia64/sys/dev/mfi/mfi_cam.c projects/llvm-ia64/sys/dev/my/if_my.c projects/llvm-ia64/sys/dev/pccbb/pccbb.c projects/llvm-ia64/sys/dev/pccbb/pccbb_pci.c projects/llvm-ia64/sys/dev/pci/pci.c projects/llvm-ia64/sys/dev/pci/pci_pci.c projects/llvm-ia64/sys/dev/pty/pty.c projects/llvm-ia64/sys/dev/puc/puc.c projects/llvm-ia64/sys/dev/puc/puc_bfe.h projects/llvm-ia64/sys/dev/puc/puc_pccard.c projects/llvm-ia64/sys/dev/puc/puc_pci.c projects/llvm-ia64/sys/dev/safe/safe.c projects/llvm-ia64/sys/dev/sis/if_sis.c projects/llvm-ia64/sys/dev/snp/snp.c projects/llvm-ia64/sys/dev/sound/macio/i2s.c projects/llvm-ia64/sys/dev/sound/pci/hda/hdac.c projects/llvm-ia64/sys/dev/sound/usb/uaudio.c projects/llvm-ia64/sys/dev/syscons/scterm-teken.c projects/llvm-ia64/sys/dev/tdfx/tdfx_pci.c projects/llvm-ia64/sys/dev/usb/input/atp.c projects/llvm-ia64/sys/dev/usb/input/uep.c projects/llvm-ia64/sys/dev/usb/input/uhid.c projects/llvm-ia64/sys/dev/usb/input/ukbd.c projects/llvm-ia64/sys/dev/usb/input/ums.c projects/llvm-ia64/sys/dev/usb/misc/udbp.c projects/llvm-ia64/sys/dev/usb/misc/ufm.c projects/llvm-ia64/sys/dev/usb/net/if_aue.c projects/llvm-ia64/sys/dev/usb/net/if_axe.c projects/llvm-ia64/sys/dev/usb/net/if_cdce.c projects/llvm-ia64/sys/dev/usb/net/if_cue.c projects/llvm-ia64/sys/dev/usb/net/if_ipheth.c projects/llvm-ia64/sys/dev/usb/net/if_kue.c projects/llvm-ia64/sys/dev/usb/net/if_mos.c projects/llvm-ia64/sys/dev/usb/net/if_rue.c projects/llvm-ia64/sys/dev/usb/net/if_udav.c projects/llvm-ia64/sys/dev/usb/net/uhso.c projects/llvm-ia64/sys/dev/usb/serial/u3g.c projects/llvm-ia64/sys/dev/usb/serial/uark.c projects/llvm-ia64/sys/dev/usb/serial/ubsa.c projects/llvm-ia64/sys/dev/usb/serial/uchcom.c projects/llvm-ia64/sys/dev/usb/serial/ucycom.c projects/llvm-ia64/sys/dev/usb/serial/ufoma.c projects/llvm-ia64/sys/dev/usb/serial/uftdi.c projects/llvm-ia64/sys/dev/usb/serial/ugensa.c projects/llvm-ia64/sys/dev/usb/serial/uipaq.c projects/llvm-ia64/sys/dev/usb/serial/ulpt.c projects/llvm-ia64/sys/dev/usb/serial/umcs.c projects/llvm-ia64/sys/dev/usb/serial/umct.c projects/llvm-ia64/sys/dev/usb/serial/umodem.c projects/llvm-ia64/sys/dev/usb/serial/umoscom.c projects/llvm-ia64/sys/dev/usb/serial/uplcom.c projects/llvm-ia64/sys/dev/usb/serial/uslcom.c projects/llvm-ia64/sys/dev/usb/serial/uvisor.c projects/llvm-ia64/sys/dev/usb/serial/uvscom.c projects/llvm-ia64/sys/dev/usb/storage/umass.c projects/llvm-ia64/sys/dev/usb/storage/urio.c projects/llvm-ia64/sys/dev/usb/template/usb_template.c projects/llvm-ia64/sys/dev/usb/template/usb_template.h projects/llvm-ia64/sys/dev/usb/template/usb_template_cdce.c projects/llvm-ia64/sys/dev/usb/template/usb_template_msc.c projects/llvm-ia64/sys/dev/usb/template/usb_template_mtp.c projects/llvm-ia64/sys/dev/usb/usb_device.c projects/llvm-ia64/sys/dev/usb/usb_hub.c projects/llvm-ia64/sys/dev/usb/usb_ioctl.h projects/llvm-ia64/sys/dev/usb/usb_lookup.c projects/llvm-ia64/sys/dev/usb/usb_msctest.c projects/llvm-ia64/sys/dev/usb/usbdevs projects/llvm-ia64/sys/dev/usb/usbdi.h projects/llvm-ia64/sys/dev/usb/wlan/if_rum.c projects/llvm-ia64/sys/dev/usb/wlan/if_run.c projects/llvm-ia64/sys/dev/usb/wlan/if_uath.c projects/llvm-ia64/sys/dev/usb/wlan/if_upgt.c projects/llvm-ia64/sys/dev/usb/wlan/if_ural.c projects/llvm-ia64/sys/dev/usb/wlan/if_urtw.c projects/llvm-ia64/sys/dev/usb/wlan/if_zyd.c projects/llvm-ia64/sys/dev/vr/if_vr.c projects/llvm-ia64/sys/dev/vr/if_vrreg.h projects/llvm-ia64/sys/dev/xen/blkback/blkback.c projects/llvm-ia64/sys/dev/xl/if_xl.c projects/llvm-ia64/sys/fs/nfs/nfs_commonkrpc.c projects/llvm-ia64/sys/fs/nfs/nfsport.h projects/llvm-ia64/sys/fs/nfs/nfsproto.h projects/llvm-ia64/sys/fs/nfsclient/nfs_clbio.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clkrpc.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clnode.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clport.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clsubs.c projects/llvm-ia64/sys/fs/nfsclient/nfs_clvnops.c projects/llvm-ia64/sys/fs/nfsserver/nfs_nfsdcache.c projects/llvm-ia64/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/llvm-ia64/sys/fs/nfsserver/nfs_nfsdserv.c projects/llvm-ia64/sys/fs/nfsserver/nfs_nfsdsocket.c projects/llvm-ia64/sys/geom/geom.h projects/llvm-ia64/sys/geom/geom_dev.c projects/llvm-ia64/sys/geom/geom_disk.c projects/llvm-ia64/sys/geom/geom_disk.h projects/llvm-ia64/sys/geom/geom_event.c projects/llvm-ia64/sys/geom/geom_subr.c projects/llvm-ia64/sys/geom/part/g_part_bsd.c projects/llvm-ia64/sys/geom/part/g_part_ebr.c projects/llvm-ia64/sys/geom/part/g_part_mbr.c projects/llvm-ia64/sys/i386/conf/GENERIC projects/llvm-ia64/sys/i386/include/param.h projects/llvm-ia64/sys/i386/include/pci_cfgreg.h projects/llvm-ia64/sys/ia64/conf/NOTES projects/llvm-ia64/sys/ia64/ia64/busdma_machdep.c projects/llvm-ia64/sys/ia64/ia64/clock.c projects/llvm-ia64/sys/ia64/ia64/db_machdep.c projects/llvm-ia64/sys/ia64/ia64/interrupt.c projects/llvm-ia64/sys/ia64/ia64/machdep.c projects/llvm-ia64/sys/ia64/ia64/mp_machdep.c projects/llvm-ia64/sys/ia64/ia64/pmap.c projects/llvm-ia64/sys/ia64/include/ia64_cpu.h projects/llvm-ia64/sys/ia64/include/pcpu.h projects/llvm-ia64/sys/ia64/include/smp.h projects/llvm-ia64/sys/kern/imgact_aout.c projects/llvm-ia64/sys/kern/kern_clocksource.c projects/llvm-ia64/sys/kern/kern_conf.c projects/llvm-ia64/sys/kern/kern_exit.c projects/llvm-ia64/sys/kern/link_elf.c projects/llvm-ia64/sys/kern/subr_devstat.c projects/llvm-ia64/sys/kern/subr_kdb.c projects/llvm-ia64/sys/kern/subr_smp.c projects/llvm-ia64/sys/kern/sys_capability.c projects/llvm-ia64/sys/kern/sys_process.c projects/llvm-ia64/sys/kern/tty.c projects/llvm-ia64/sys/kern/tty_inq.c projects/llvm-ia64/sys/kern/tty_outq.c projects/llvm-ia64/sys/kern/tty_pts.c projects/llvm-ia64/sys/kern/tty_ttydisc.c projects/llvm-ia64/sys/kern/vfs_subr.c projects/llvm-ia64/sys/kgssapi/gss_impl.c projects/llvm-ia64/sys/mips/atheros/ar71xx_chip.c projects/llvm-ia64/sys/mips/atheros/ar71xx_machdep.c projects/llvm-ia64/sys/mips/atheros/ar71xx_ohci.c projects/llvm-ia64/sys/mips/atheros/ar71xx_setup.c projects/llvm-ia64/sys/mips/atheros/ar724x_chip.c projects/llvm-ia64/sys/mips/atheros/ar91xx_chip.c projects/llvm-ia64/sys/mips/mips/genassym.c projects/llvm-ia64/sys/mips/mips/trap.c projects/llvm-ia64/sys/mips/rmi/dev/xlr/rge.c projects/llvm-ia64/sys/mips/rmi/fmn.c projects/llvm-ia64/sys/mips/rmi/iodi.c projects/llvm-ia64/sys/mips/sentry5/s5_machdep.c projects/llvm-ia64/sys/mips/sibyte/sb_machdep.c projects/llvm-ia64/sys/modules/Makefile projects/llvm-ia64/sys/modules/cxgbe/if_cxgbe/Makefile projects/llvm-ia64/sys/modules/dtrace/Makefile projects/llvm-ia64/sys/modules/dtrace/dtraceall/dtraceall.c projects/llvm-ia64/sys/modules/ipdivert/Makefile projects/llvm-ia64/sys/modules/kgssapi_krb5/Makefile projects/llvm-ia64/sys/modules/nfscl/Makefile projects/llvm-ia64/sys/modules/nfscommon/Makefile projects/llvm-ia64/sys/modules/pf/Makefile projects/llvm-ia64/sys/modules/pflog/Makefile projects/llvm-ia64/sys/modules/usb/template/Makefile projects/llvm-ia64/sys/net/if.c projects/llvm-ia64/sys/net/if.h projects/llvm-ia64/sys/net/if_gre.c projects/llvm-ia64/sys/net/if_gre.h projects/llvm-ia64/sys/net/route.c projects/llvm-ia64/sys/net/route.h projects/llvm-ia64/sys/net80211/ieee80211_acl.c projects/llvm-ia64/sys/net80211/ieee80211_dfs.c projects/llvm-ia64/sys/net80211/ieee80211_ht.c projects/llvm-ia64/sys/net80211/ieee80211_ioctl.c projects/llvm-ia64/sys/net80211/ieee80211_ioctl.h projects/llvm-ia64/sys/net80211/ieee80211_var.h projects/llvm-ia64/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/llvm-ia64/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c projects/llvm-ia64/sys/netgraph/ng_ether.c projects/llvm-ia64/sys/netinet/if_ether.c projects/llvm-ia64/sys/netinet/in_gif.c projects/llvm-ia64/sys/netinet/ip_divert.c projects/llvm-ia64/sys/netinet/ip_icmp.c projects/llvm-ia64/sys/netinet/ipfw/ip_dn_io.c projects/llvm-ia64/sys/netinet/ipfw/ip_fw2.c projects/llvm-ia64/sys/netinet/ipfw/ip_fw_nat.c projects/llvm-ia64/sys/netinet/ipfw/ip_fw_pfil.c projects/llvm-ia64/sys/netinet/libalias/alias.h projects/llvm-ia64/sys/netinet/libalias/alias_db.c projects/llvm-ia64/sys/netinet/libalias/alias_ftp.c projects/llvm-ia64/sys/netinet/libalias/alias_local.h projects/llvm-ia64/sys/netinet/libalias/libalias.3 projects/llvm-ia64/sys/netinet/raw_ip.c projects/llvm-ia64/sys/netinet/sctp.h projects/llvm-ia64/sys/netinet/sctp_auth.c projects/llvm-ia64/sys/netinet/sctp_indata.c projects/llvm-ia64/sys/netinet/sctp_output.c projects/llvm-ia64/sys/netinet/sctp_pcb.c projects/llvm-ia64/sys/netinet/sctp_structs.h projects/llvm-ia64/sys/netinet/sctp_uio.h projects/llvm-ia64/sys/netinet/sctp_usrreq.c projects/llvm-ia64/sys/netinet/sctp_var.h projects/llvm-ia64/sys/netinet/sctputil.c projects/llvm-ia64/sys/netinet/tcp_output.c projects/llvm-ia64/sys/netinet6/icmp6.c projects/llvm-ia64/sys/netinet6/in6_gif.c projects/llvm-ia64/sys/netipsec/ipsec_input.c projects/llvm-ia64/sys/netipsec/ipsec_output.c projects/llvm-ia64/sys/netipsec/xform_ipip.c projects/llvm-ia64/sys/nfsclient/nfs_krpc.c projects/llvm-ia64/sys/nfsserver/nfs_srvkrpc.c projects/llvm-ia64/sys/pc98/conf/GENERIC projects/llvm-ia64/sys/powerpc/aim/copyinout.c projects/llvm-ia64/sys/powerpc/aim/locore32.S projects/llvm-ia64/sys/powerpc/aim/locore64.S projects/llvm-ia64/sys/powerpc/aim/machdep.c projects/llvm-ia64/sys/powerpc/aim/mmu_oea64.c projects/llvm-ia64/sys/powerpc/aim/mp_cpudep.c projects/llvm-ia64/sys/powerpc/aim/swtch32.S projects/llvm-ia64/sys/powerpc/aim/swtch64.S projects/llvm-ia64/sys/powerpc/aim/trap.c projects/llvm-ia64/sys/powerpc/aim/trap_subr32.S projects/llvm-ia64/sys/powerpc/aim/trap_subr64.S projects/llvm-ia64/sys/powerpc/booke/copyinout.c projects/llvm-ia64/sys/powerpc/booke/interrupt.c projects/llvm-ia64/sys/powerpc/booke/trap.c projects/llvm-ia64/sys/powerpc/include/pcpu.h projects/llvm-ia64/sys/powerpc/ofw/ofwcall32.S projects/llvm-ia64/sys/powerpc/ofw/rtas.c projects/llvm-ia64/sys/powerpc/powermac/fcu.c projects/llvm-ia64/sys/powerpc/powerpc/db_trace.c projects/llvm-ia64/sys/powerpc/powerpc/mp_machdep.c projects/llvm-ia64/sys/powerpc/ps3/if_glc.c projects/llvm-ia64/sys/powerpc/ps3/ps3-hvcall.h projects/llvm-ia64/sys/powerpc/ps3/ps3-hvcall.master projects/llvm-ia64/sys/powerpc/ps3/ps3bus.c projects/llvm-ia64/sys/powerpc/ps3/ps3bus.h projects/llvm-ia64/sys/powerpc/ps3/ps3pic.c projects/llvm-ia64/sys/rpc/rpc_generic.c projects/llvm-ia64/sys/rpc/rpcsec_gss.h projects/llvm-ia64/sys/sparc64/conf/GENERIC projects/llvm-ia64/sys/sparc64/include/smp.h projects/llvm-ia64/sys/sparc64/include/tsb.h projects/llvm-ia64/sys/sparc64/include/vmparam.h projects/llvm-ia64/sys/sparc64/sparc64/intr_machdep.c projects/llvm-ia64/sys/sparc64/sparc64/mp_machdep.c projects/llvm-ia64/sys/sparc64/sparc64/pmap.c projects/llvm-ia64/sys/sparc64/sparc64/tlb.c projects/llvm-ia64/sys/sys/conf.h projects/llvm-ia64/sys/sys/disk.h projects/llvm-ia64/sys/sys/diskmbr.h projects/llvm-ia64/sys/sys/diskpc98.h projects/llvm-ia64/sys/sys/dtrace_bsd.h projects/llvm-ia64/sys/sys/mbuf.h projects/llvm-ia64/sys/sys/param.h projects/llvm-ia64/sys/sys/proc.h projects/llvm-ia64/sys/sys/systm.h projects/llvm-ia64/sys/teken/demo/teken_demo.c projects/llvm-ia64/sys/teken/gensequences projects/llvm-ia64/sys/teken/libteken/teken.3 projects/llvm-ia64/sys/teken/teken.c projects/llvm-ia64/sys/teken/teken_subr.h projects/llvm-ia64/sys/ufs/ffs/ffs_alloc.c projects/llvm-ia64/sys/ufs/ffs/ffs_balloc.c projects/llvm-ia64/sys/ufs/ffs/ffs_extern.h projects/llvm-ia64/sys/ufs/ffs/ffs_inode.c projects/llvm-ia64/sys/ufs/ffs/ffs_snapshot.c projects/llvm-ia64/sys/ufs/ffs/ffs_softdep.c projects/llvm-ia64/sys/ufs/ffs/softdep.h projects/llvm-ia64/sys/vm/vm_fault.c projects/llvm-ia64/sys/vm/vm_page.c projects/llvm-ia64/sys/vm/vm_page.h projects/llvm-ia64/sys/x86/x86/tsc.c projects/llvm-ia64/tools/build/mk/OptionalObsoleteFiles.inc projects/llvm-ia64/tools/build/options/WITHOUT_ACCT projects/llvm-ia64/usr.bin/Makefile projects/llvm-ia64/usr.bin/calendar/calendars/calendar.freebsd projects/llvm-ia64/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all projects/llvm-ia64/usr.bin/cmp/regular.c projects/llvm-ia64/usr.bin/cmp/special.c projects/llvm-ia64/usr.bin/find/function.c projects/llvm-ia64/usr.bin/finger/net.c projects/llvm-ia64/usr.bin/fstat/fuser.c projects/llvm-ia64/usr.bin/ftp/Makefile projects/llvm-ia64/usr.bin/kdump/mksubr projects/llvm-ia64/usr.bin/ktrace/ktrace.c projects/llvm-ia64/usr.bin/lastcomm/lastcomm.c projects/llvm-ia64/usr.bin/lastcomm/readrec.c projects/llvm-ia64/usr.bin/ldd/sods.c projects/llvm-ia64/usr.bin/ncplogin/ncplogin.c projects/llvm-ia64/usr.bin/systat/netstat.c projects/llvm-ia64/usr.bin/tar/util.c projects/llvm-ia64/usr.bin/tar/write.c projects/llvm-ia64/usr.bin/tftp/main.c projects/llvm-ia64/usr.bin/tftp/tftp.1 projects/llvm-ia64/usr.bin/users/users.c projects/llvm-ia64/usr.bin/vmstat/vmstat.c projects/llvm-ia64/usr.bin/xlint/lint1/decl.c projects/llvm-ia64/usr.bin/xlint/lint1/scan.l projects/llvm-ia64/usr.bin/xlint/lint2/msg.c projects/llvm-ia64/usr.bin/xlint/lint2/read.c projects/llvm-ia64/usr.sbin/Makefile projects/llvm-ia64/usr.sbin/ancontrol/ancontrol.c projects/llvm-ia64/usr.sbin/diskinfo/diskinfo.c projects/llvm-ia64/usr.sbin/fdread/fdread.c projects/llvm-ia64/usr.sbin/ftp-proxy/ftp-proxy/Makefile projects/llvm-ia64/usr.sbin/ifmcstat/ifmcstat.c projects/llvm-ia64/usr.sbin/jls/jls.c projects/llvm-ia64/usr.sbin/makefs/Makefile projects/llvm-ia64/usr.sbin/makefs/cd9660/cd9660_write.c projects/llvm-ia64/usr.sbin/makefs/ffs.c projects/llvm-ia64/usr.sbin/makefs/ffs/ffs_bswap.c projects/llvm-ia64/usr.sbin/makefs/ffs/ffs_subr.c projects/llvm-ia64/usr.sbin/makefs/makefs.8 projects/llvm-ia64/usr.sbin/makefs/makefs.c projects/llvm-ia64/usr.sbin/makefs/makefs.h projects/llvm-ia64/usr.sbin/mfiutil/mfi_config.c projects/llvm-ia64/usr.sbin/mfiutil/mfi_drive.c projects/llvm-ia64/usr.sbin/mfiutil/mfi_patrol.c projects/llvm-ia64/usr.sbin/mfiutil/mfi_show.c projects/llvm-ia64/usr.sbin/mfiutil/mfiutil.8 projects/llvm-ia64/usr.sbin/mfiutil/mfiutil.c projects/llvm-ia64/usr.sbin/mfiutil/mfiutil.h projects/llvm-ia64/usr.sbin/mtest/mtest.c projects/llvm-ia64/usr.sbin/nfsd/nfsd.c projects/llvm-ia64/usr.sbin/nfsuserd/nfsuserd.c projects/llvm-ia64/usr.sbin/pmcstat/pmcpl_calltree.c projects/llvm-ia64/usr.sbin/ppp/nat_cmd.c projects/llvm-ia64/usr.sbin/pw/pw_user.c projects/llvm-ia64/usr.sbin/rpc.yppasswdd/yppasswdd_main.c projects/llvm-ia64/usr.sbin/rpc.ypupdated/update.c projects/llvm-ia64/usr.sbin/rpc.ypupdated/ypupdated_main.c projects/llvm-ia64/usr.sbin/rpc.ypupdated/ypupdated_server.c projects/llvm-ia64/usr.sbin/sysinstall/modules.c projects/llvm-ia64/usr.sbin/wpa/ndis_events/ndis_events.c projects/llvm-ia64/usr.sbin/wpa/wpa_supplicant/Packet32.c projects/llvm-ia64/usr.sbin/ypserv/yp_main.c Directory Properties: projects/llvm-ia64/ (props changed) projects/llvm-ia64/cddl/contrib/opensolaris/ (props changed) projects/llvm-ia64/contrib/bind9/ (props changed) projects/llvm-ia64/contrib/binutils/ (props changed) projects/llvm-ia64/contrib/bzip2/ (props changed) projects/llvm-ia64/contrib/compiler-rt/ (props changed) projects/llvm-ia64/contrib/dialog/ (props changed) projects/llvm-ia64/contrib/ee/ (props changed) projects/llvm-ia64/contrib/expat/ (props changed) projects/llvm-ia64/contrib/file/ (props changed) projects/llvm-ia64/contrib/gcc/ (props changed) projects/llvm-ia64/contrib/gdb/ (props changed) projects/llvm-ia64/contrib/gdtoa/ (props changed) projects/llvm-ia64/contrib/gnu-sort/ (props changed) projects/llvm-ia64/contrib/groff/ (props changed) projects/llvm-ia64/contrib/less/ (props changed) projects/llvm-ia64/contrib/libpcap/ (props changed) projects/llvm-ia64/contrib/libstdc++/ (props changed) projects/llvm-ia64/contrib/llvm/ (props changed) projects/llvm-ia64/contrib/llvm/tools/clang/ (props changed) projects/llvm-ia64/contrib/ncurses/ (props changed) projects/llvm-ia64/contrib/netcat/ (props changed) projects/llvm-ia64/contrib/ntp/ (props changed) projects/llvm-ia64/contrib/one-true-awk/ (props changed) projects/llvm-ia64/contrib/openbsm/ (props changed) projects/llvm-ia64/contrib/openpam/ (props changed) projects/llvm-ia64/contrib/pf/ (props changed) projects/llvm-ia64/contrib/sendmail/ (props changed) projects/llvm-ia64/contrib/tcpdump/ (props changed) projects/llvm-ia64/contrib/tcsh/ (props changed) projects/llvm-ia64/contrib/top/ (props changed) projects/llvm-ia64/contrib/top/install-sh (props changed) projects/llvm-ia64/contrib/tzcode/stdtime/ (props changed) projects/llvm-ia64/contrib/tzcode/zic/ (props changed) projects/llvm-ia64/contrib/tzdata/ (props changed) projects/llvm-ia64/contrib/wpa/ (props changed) projects/llvm-ia64/contrib/xz/ (props changed) projects/llvm-ia64/crypto/openssh/ (props changed) projects/llvm-ia64/crypto/openssl/ (props changed) projects/llvm-ia64/gnu/lib/ (props changed) projects/llvm-ia64/gnu/usr.bin/binutils/ (props changed) projects/llvm-ia64/gnu/usr.bin/cc/cc_tools/ (props changed) projects/llvm-ia64/gnu/usr.bin/gdb/ (props changed) projects/llvm-ia64/lib/libc/ (props changed) projects/llvm-ia64/lib/libc/stdtime/ (props changed) projects/llvm-ia64/lib/libutil/ (props changed) projects/llvm-ia64/lib/libz/ (props changed) projects/llvm-ia64/sbin/ (props changed) projects/llvm-ia64/sbin/ipfw/ (props changed) projects/llvm-ia64/share/mk/bsd.arch.inc.mk (props changed) projects/llvm-ia64/share/zoneinfo/ (props changed) projects/llvm-ia64/sys/ (props changed) projects/llvm-ia64/sys/amd64/include/xen/ (props changed) projects/llvm-ia64/sys/boot/ (props changed) projects/llvm-ia64/sys/boot/i386/efi/ (props changed) projects/llvm-ia64/sys/boot/ia64/efi/ (props changed) projects/llvm-ia64/sys/boot/ia64/ski/ (props changed) projects/llvm-ia64/sys/boot/powerpc/boot1.chrp/ (props changed) projects/llvm-ia64/sys/boot/powerpc/ofw/ (props changed) projects/llvm-ia64/sys/cddl/contrib/opensolaris/ (props changed) projects/llvm-ia64/sys/conf/ (props changed) projects/llvm-ia64/sys/contrib/dev/acpica/ (props changed) projects/llvm-ia64/sys/contrib/octeon-sdk/ (props changed) projects/llvm-ia64/sys/contrib/pf/ (props changed) projects/llvm-ia64/sys/contrib/x86emu/ (props changed) projects/llvm-ia64/usr.bin/calendar/ (props changed) projects/llvm-ia64/usr.bin/csup/ (props changed) projects/llvm-ia64/usr.bin/procstat/ (props changed) projects/llvm-ia64/usr.sbin/ndiscvt/ (props changed) projects/llvm-ia64/usr.sbin/zic/ (props changed) Modified: projects/llvm-ia64/Makefile ============================================================================== --- projects/llvm-ia64/Makefile Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/Makefile Tue Jun 28 20:28:11 2011 (r223653) @@ -19,7 +19,7 @@ # kernel - buildkernel + installkernel. # kernel-toolchain - Builds the subset of world necessary to build a kernel # doxygen - Build API documentation of the kernel, needs doxygen. -# update - Convenient way to update your source tree (cvs). +# update - Convenient way to update your source tree(s). # check-old - List obsolete directories/files/libraries. # check-old-dirs - List obsolete directories. # check-old-files - List obsolete files. Modified: projects/llvm-ia64/Makefile.inc1 ============================================================================== --- projects/llvm-ia64/Makefile.inc1 Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/Makefile.inc1 Tue Jun 28 20:28:11 2011 (r223653) @@ -12,6 +12,7 @@ # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update +# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # TARGET="machine" to crossbuild world for a different machine type @@ -904,7 +905,7 @@ doxygen: # # update # -# Update the source tree, by running cvsup and/or running cvs to update to the +# Update the source tree(s), by running cvsup/cvs/svn to update to the # latest copy. # update: @@ -927,6 +928,9 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif +.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) + @${SUP} ${SUPFLAGS} ${WWWSUPFILE} +.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ Modified: projects/llvm-ia64/UPDATING ============================================================================== --- projects/llvm-ia64/UPDATING Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/UPDATING Tue Jun 28 20:28:11 2011 (r223653) @@ -22,6 +22,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110628: + The packet filter (pf) code has been updated to OpenBSD 4.5. + You need to update userland tools to be in sync with kernel. + 20110608: The following sysctls and tunables are retired on x86 platforms: machdep.hlt_cpus @@ -52,6 +56,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. 20110513: Support for sun4v architecture is officially dropped +20110503: + Several KPI breaking changes have been committed to the mii(4) layer, + the PHY drivers and consequently some Ethernet drivers using mii(4). + This means that miibus.ko and the modules of the affected Ethernet + drivers need to be recompiled. + + Note to kernel developers: Given that the OUI bit reversion problem + was fixed as part of these changes all mii(4) commits related to OUIs, + i.e. to sys/dev/mii/miidevs, PHY driver probing and vendor specific + handling, no longer can be merged verbatim to stable/8 and previous + branches. + 20110430: Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' into their kernel configurations along with 'device pci'. Modified: projects/llvm-ia64/bin/ps/extern.h ============================================================================== --- projects/llvm-ia64/bin/ps/extern.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/ps/extern.h Tue Jun 28 20:28:11 2011 (r223653) @@ -70,6 +70,7 @@ void pmem(KINFO *, VARENT *); void pri(KINFO *, VARENT *); void printheader(void); void priorityr(KINFO *, VARENT *); +void egroupname(KINFO *, VARENT *); void rgroupname(KINFO *, VARENT *); void runame(KINFO *, VARENT *); void rvar(KINFO *, VARENT *); @@ -78,6 +79,7 @@ int s_cputime(KINFO *); int s_label(KINFO *); int s_loginclass(KINFO *); int s_logname(KINFO *); +int s_egroupname(KINFO *); int s_rgroupname(KINFO *); int s_runame(KINFO *); int s_systime(KINFO *); Modified: projects/llvm-ia64/bin/ps/keyword.c ============================================================================== --- projects/llvm-ia64/bin/ps/keyword.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/ps/keyword.c Tue Jun 28 20:28:11 2011 (r223653) @@ -88,12 +88,19 @@ static VAR var[] = { {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", 0}, {"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR, NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, + {"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups), + UINT, UIDFMT, 0}, + {"group", "GROUP", NULL, LJUST, egroupname, s_egroupname, + USERLEN, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, "ld", 0}, Modified: projects/llvm-ia64/bin/ps/print.c ============================================================================== --- projects/llvm-ia64/bin/ps/print.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/ps/print.c Tue Jun 28 20:28:11 2011 (r223653) @@ -341,6 +341,22 @@ s_uname(KINFO *k) } void +egroupname(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + (void)printf("%-*s", v->width, + group_from_gid(k->ki_p->ki_groups[0], 0)); +} + +int +s_egroupname(KINFO *k) +{ + return (strlen(group_from_gid(k->ki_p->ki_groups[0], 0))); +} + +void rgroupname(KINFO *k, VARENT *ve) { VAR *v; Modified: projects/llvm-ia64/bin/ps/ps.1 ============================================================================== --- projects/llvm-ia64/bin/ps/ps.1 Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/ps/ps.1 Tue Jun 28 20:28:11 2011 (r223653) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 18, 2011 +.Dd June 14, 2011 .Dt PS 1 .Os .Sh NAME @@ -502,6 +502,12 @@ elapsed running time, in decimal integer .It Cm flags the process flags, in hexadecimal (alias .Cm f ) +.It Cm gid +effective group ID (alias +.Cm egid ) +.It Cm group +group name (from egid) (alias +.Cm egroup ) .It Cm inblk total blocks read (alias .Cm inblock ) @@ -629,7 +635,8 @@ process pointer .It Cm ucomm name to be used for accounting .It Cm uid -effective user ID +effective user ID (alias +.Cm euid ) .It Cm upr scheduling priority on return from system call (alias .Cm usrpri ) Modified: projects/llvm-ia64/bin/rcp/rcp.c ============================================================================== --- projects/llvm-ia64/bin/rcp/rcp.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/rcp/rcp.c Tue Jun 28 20:28:11 2011 (r223653) @@ -71,7 +71,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include "extern.h" Modified: projects/llvm-ia64/bin/realpath/realpath.1 ============================================================================== --- projects/llvm-ia64/bin/realpath/realpath.1 Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/realpath/realpath.1 Tue Jun 28 20:28:11 2011 (r223653) @@ -33,7 +33,7 @@ .\" From: src/bin/pwd/pwd.1,v 1.11 2000/11/20 11:39:39 ru Exp .\" $FreeBSD$ .\" -.Dd November 24, 2000 +.Dd June 21, 2011 .Dt REALPATH 1 .Os .Sh NAME @@ -42,8 +42,7 @@ .Sh SYNOPSIS .Nm .Op Fl q -.Ar path -.Op Ar ... +.Op Ar path ... .Sh DESCRIPTION The .Nm @@ -57,6 +56,11 @@ and .Pa /../ in .Ar path . +If +.Ar path +is absent, the current working directory +.Pq Sq Pa .\& +is assumed. .Pp If .Fl q Modified: projects/llvm-ia64/bin/realpath/realpath.c ============================================================================== --- projects/llvm-ia64/bin/realpath/realpath.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/realpath/realpath.c Tue Jun 28 20:28:11 2011 (r223653) @@ -44,7 +44,8 @@ main(int argc, char *argv[]) { char buf[PATH_MAX]; char *p; - int ch, i, qflag, rval; + const char *path; + int ch, qflag, rval; qflag = 0; while ((ch = getopt(argc, argv, "q")) != -1) { @@ -59,17 +60,16 @@ main(int argc, char *argv[]) } argc -= optind; argv += optind; - if (argc < 1) - usage(); + path = *argv != NULL ? *argv++ : "."; rval = 0; - for (i = 0; i < argc; i++) { - if ((p = realpath(argv[i], buf)) == NULL) { + do { + if ((p = realpath(path, buf)) == NULL) { if (!qflag) - warn("%s", argv[i]); + warn("%s", path); rval = 1; } else (void)printf("%s\n", p); - } + } while ((path = *argv++) != NULL); exit(rval); } @@ -77,6 +77,6 @@ static void usage(void) { - (void)fprintf(stderr, "usage: realpath [-q] path [...]\n"); + (void)fprintf(stderr, "usage: realpath [-q] [path ...]\n"); exit(1); } Modified: projects/llvm-ia64/bin/sh/alias.c ============================================================================== --- projects/llvm-ia64/bin/sh/alias.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/alias.c Tue Jun 28 20:28:11 2011 (r223653) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "alias.h" #include "options.h" /* XXX for argptr (should remove?) */ +#include "builtins.h" #define ATABSIZE 39 Modified: projects/llvm-ia64/bin/sh/alias.h ============================================================================== --- projects/llvm-ia64/bin/sh/alias.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/alias.h Tue Jun 28 20:28:11 2011 (r223653) @@ -43,5 +43,3 @@ struct alias { }; struct alias *lookupalias(const char *, int); -int aliascmd(int, char **); -int unaliascmd(int, char **); Modified: projects/llvm-ia64/bin/sh/arith.h ============================================================================== --- projects/llvm-ia64/bin/sh/arith.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/arith.h Tue Jun 28 20:28:11 2011 (r223653) @@ -36,4 +36,3 @@ arith_t arith(const char *); void arith_lex_reset(void); -int expcmd(int, char **); Modified: projects/llvm-ia64/bin/sh/arith_yacc.c ============================================================================== --- projects/llvm-ia64/bin/sh/arith_yacc.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/arith_yacc.c Tue Jun 28 20:28:11 2011 (r223653) @@ -35,7 +35,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #include #include Modified: projects/llvm-ia64/bin/sh/bltin/bltin.h ============================================================================== --- projects/llvm-ia64/bin/sh/bltin/bltin.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/bltin/bltin.h Tue Jun 28 20:28:11 2011 (r223653) @@ -43,6 +43,7 @@ #include "../mystring.h" #ifdef SHELL #include "../output.h" +#include "builtins.h" #define FILE struct output #undef stdout #define stdout out1 @@ -75,7 +76,4 @@ pointer stalloc(int); void error(const char *, ...) __printf0like(1, 2); pid_t getjobpgrp(char *); -int echocmd(int, char **); -int testcmd(int, char **); - extern char *commandname; Modified: projects/llvm-ia64/bin/sh/cd.c ============================================================================== --- projects/llvm-ia64/bin/sh/cd.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/cd.c Tue Jun 28 20:28:11 2011 (r223653) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "show.h" #include "cd.h" +#include "builtins.h" static int cdlogical(char *); static int cdphysical(char *); Modified: projects/llvm-ia64/bin/sh/cd.h ============================================================================== --- projects/llvm-ia64/bin/sh/cd.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/cd.h Tue Jun 28 20:28:11 2011 (r223653) @@ -30,5 +30,3 @@ */ void pwd_init(int); -int cdcmd (int, char **); -int pwdcmd(int, char **); Modified: projects/llvm-ia64/bin/sh/eval.c ============================================================================== --- projects/llvm-ia64/bin/sh/eval.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/eval.c Tue Jun 28 20:28:11 2011 (r223653) @@ -140,7 +140,7 @@ evalcmd(int argc, char **argv) STPUTC('\0', concat); p = grabstackstr(concat); } - evalstring(p, builtin_flags & EV_TESTED); + evalstring(p, builtin_flags); } else exitstatus = 0; return exitstatus; @@ -386,6 +386,14 @@ evalcase(union node *n, int flags) for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { if (casematch(patp, arglist.list->text)) { + while (cp->nclist.next && + cp->type == NCLISTFALLTHRU) { + if (evalskip != 0) + break; + evaltree(cp->nclist.body, + flags & ~EV_EXIT); + cp = cp->nclist.next; + } if (evalskip == 0) { evaltree(cp->nclist.body, flags); } @@ -571,14 +579,8 @@ evalpipe(union node *n) static int is_valid_fast_cmdsubst(union node *n) { - union node *argp; - if (n->type != NCMD) - return 0; - for (argp = n->ncmd.args ; argp ; argp = argp->narg.next) - if (expandhassideeffects(argp->narg.text)) - return 0; - return 1; + return (n->type == NCMD); } /* @@ -596,6 +598,7 @@ evalbackcmd(union node *n, struct backcm struct stackmark smark; /* unnecessary */ struct jmploc jmploc; struct jmploc *savehandler; + struct localvar *savelocalvars; setstackmark(&smark); result->fd = -1; @@ -608,12 +611,18 @@ evalbackcmd(union node *n, struct backcm } if (is_valid_fast_cmdsubst(n)) { exitstatus = oexitstatus; + savelocalvars = localvars; + localvars = NULL; + forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXERROR || exception == EXEXEC) exitstatus = 2; else if (exception != 0) { handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; longjmp(handler->loc, 1); } } else { @@ -621,6 +630,9 @@ evalbackcmd(union node *n, struct backcm evalcommand(n, EV_BACKCMD, result); } handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; } else { exitstatus = 0; if (pipe(pip) < 0) @@ -882,14 +894,13 @@ evalcommand(union node *cmd, int flags, } /* Fork off a child process if necessary. */ - if (cmd->ncmd.backgnd - || ((cmdentry.cmdtype == CMDNORMAL || cmdentry.cmdtype == CMDUNKNOWN) + if (((cmdentry.cmdtype == CMDNORMAL || cmdentry.cmdtype == CMDUNKNOWN) && ((flags & EV_EXIT) == 0 || have_traps())) || ((flags & EV_BACKCMD) != 0 && (cmdentry.cmdtype != CMDBUILTIN || !safe_builtin(cmdentry.u.index, argc, argv)))) { jp = makejob(cmd, 1); - mode = cmd->ncmd.backgnd; + mode = FORK_FG; if (flags & EV_BACKCMD) { mode = FORK_NOJOB; if (pipe(pip) < 0) @@ -904,6 +915,7 @@ evalcommand(union node *cmd, int flags, dup2(pip[1], 1); close(pip[1]); } + flags &= ~EV_BACKCMD; } flags |= EV_EXIT; } @@ -1055,8 +1067,7 @@ parent: /* parent process gets here (if backcmd->fd = pip[0]; close(pip[1]); backcmd->jp = jp; - } else - exitstatus = 0; + } out: if (lastarg) Modified: projects/llvm-ia64/bin/sh/eval.h ============================================================================== --- projects/llvm-ia64/bin/sh/eval.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/eval.h Tue Jun 28 20:28:11 2011 (r223653) @@ -51,19 +51,10 @@ struct backcmd { /* result of evalbackc #define EV_TESTED 02 /* exit status is checked; ignore -e flag */ #define EV_BACKCMD 04 /* command executing within back quotes */ -int evalcmd(int, char **); void evalstring(char *, int); union node; /* BLETCH for ansi C */ void evaltree(union node *, int); void evalbackcmd(union node *, struct backcmd *); -int bltincmd(int, char **); -int breakcmd(int, char **); -int returncmd(int, char **); -int falsecmd(int, char **); -int truecmd(int, char **); -int execcmd(int, char **); -int timescmd(int, char **); -int commandcmd(int, char **); /* in_function returns nonzero if we are currently evaluating a function */ #define in_function() funcnest Modified: projects/llvm-ia64/bin/sh/exec.h ============================================================================== --- projects/llvm-ia64/bin/sh/exec.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/exec.h Tue Jun 28 20:28:11 2011 (r223653) @@ -66,7 +66,6 @@ extern int exerrno; /* last exec error void shellexec(char **, char **, const char *, int) __dead2; char *padvance(const char **, const char *); -int hashcmd(int, char **); void find_command(const char *, struct cmdentry *, int, const char *); int find_builtin(const char *, int *); void hashcd(void); @@ -75,5 +74,4 @@ void addcmdentry(const char *, struct cm void defun(const char *, union node *); int unsetfunc(const char *); int typecmd_impl(int, char **, int, const char *); -int typecmd(int, char **); void clearcmdentry(void); Modified: projects/llvm-ia64/bin/sh/expand.c ============================================================================== --- projects/llvm-ia64/bin/sh/expand.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/expand.c Tue Jun 28 20:28:11 2011 (r223653) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * Routines to expand arguments to commands. We have to deal with @@ -76,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "arith.h" #include "show.h" +#include "builtins.h" /* * Structure specifying which parts of the string should be searched @@ -1400,13 +1402,43 @@ get_wc(const char **p) /* + * See if a character matches a character class, starting at the first colon + * of "[:class:]". + * If a valid character class is recognized, a pointer to the next character + * after the final closing bracket is stored into *end, otherwise a null + * pointer is stored into *end. + */ +static int +match_charclass(const char *p, wchar_t chr, const char **end) +{ + char name[20]; + const char *nameend; + wctype_t cclass; + + *end = NULL; + p++; + nameend = strstr(p, ":]"); + if (nameend == NULL || nameend - p >= sizeof(name) || nameend == p) + return 0; + memcpy(name, p, nameend - p); + name[nameend - p] = '\0'; + *end = nameend + 2; + cclass = wctype(name); + /* An unknown class matches nothing but is valid nevertheless. */ + if (cclass == 0) + return 0; + return iswctype(chr, cclass); +} + + +/* * Returns true if the pattern matches the string. */ int patmatch(const char *pattern, const char *string, int squoted) { - const char *p, *q; + const char *p, *q, *end; char c; wchar_t wc, wc2; @@ -1494,6 +1526,11 @@ patmatch(const char *pattern, const char do { if (c == CTLQUOTEMARK) continue; + if (c == '[' && *p == ':') { + found |= match_charclass(p, chr, &end); + if (end != NULL) + p = end; + } if (c == CTLESC) c = *p++; if (localeisutf8 && c & 0x80) { @@ -1621,78 +1658,6 @@ cvtnum(int num, char *buf) } /* - * Check statically if expanding a string may have side effects. - */ -int -expandhassideeffects(const char *p) -{ - int c; - int arinest; - - arinest = 0; - while ((c = *p++) != '\0') { - switch (c) { - case CTLESC: - p++; - break; - case CTLVAR: - c = *p++; - /* Expanding $! sets the job to remembered. */ - if (*p == '!') - return 1; - if ((c & VSTYPE) == VSASSIGN) - return 1; - /* - * If we are in arithmetic, the parameter may contain - * '=' which may cause side effects. Exceptions are - * the length of a parameter and $$, $# and $? which - * are always numeric. - */ - if ((c & VSTYPE) == VSLENGTH) { - while (*p != '=') - p++; - p++; - break; - } - if ((*p == '$' || *p == '#' || *p == '?') && - p[1] == '=') { - p += 2; - break; - } - if (arinest > 0) - return 1; - break; - case CTLBACKQ: - case CTLBACKQ | CTLQUOTE: - if (arinest > 0) - return 1; - break; - case CTLARI: - arinest++; - break; - case CTLENDARI: - arinest--; - break; - case '=': - if (*p == '=') { - /* Allow '==' operator. */ - p++; - continue; - } - if (arinest > 0) - return 1; - break; - case '!': case '<': case '>': - /* Allow '!=', '<=', '>=' operators. */ - if (*p == '=') - p++; - break; - } - } - return 0; -} - -/* * Do most of the work for wordexp(3). */ Modified: projects/llvm-ia64/bin/sh/expand.h ============================================================================== --- projects/llvm-ia64/bin/sh/expand.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/expand.h Tue Jun 28 20:28:11 2011 (r223653) @@ -63,5 +63,3 @@ void expari(int); int patmatch(const char *, const char *, int); void rmescapes(char *); int casematch(union node *, const char *); -int expandhassideeffects(const char *); -int wordexpcmd(int, char **); Modified: projects/llvm-ia64/bin/sh/histedit.c ============================================================================== --- projects/llvm-ia64/bin/sh/histedit.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/histedit.c Tue Jun 28 20:28:11 2011 (r223653) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "eval.h" #include "memalloc.h" +#include "builtins.h" #define MAXHISTLOOPS 4 /* max recursions through fc */ #define DEFEDITOR "ed" /* default editor *should* be $EDITOR */ Modified: projects/llvm-ia64/bin/sh/jobs.c ============================================================================== --- projects/llvm-ia64/bin/sh/jobs.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/jobs.c Tue Jun 28 20:28:11 2011 (r223653) @@ -70,6 +70,8 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "error.h" #include "mystring.h" +#include "var.h" +#include "builtins.h" static struct job *jobtab; /* array of jobs */ @@ -798,6 +800,7 @@ forkshell(struct job *jp, union node *n, handler = &main_handler; closescript(); INTON; + forcelocal = 0; clear_traps(); #if JOBS jobctl = 0; /* do job control only in root shell */ @@ -1121,7 +1124,7 @@ backgndpidset(void) pid_t backgndpidval(void) { - if (bgjob != NULL) + if (bgjob != NULL && !forcelocal) bgjob->remembered = 1; return backgndpid; } Modified: projects/llvm-ia64/bin/sh/jobs.h ============================================================================== --- projects/llvm-ia64/bin/sh/jobs.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/jobs.h Tue Jun 28 20:28:11 2011 (r223653) @@ -88,12 +88,7 @@ extern int in_dowait; /* are we in dowa extern volatile sig_atomic_t breakwaitcmd; /* break wait to process traps? */ void setjobctl(int); -int fgcmd(int, char **); -int bgcmd(int, char **); -int jobscmd(int, char **); void showjobs(int, int); -int waitcmd(int, char **); -int jobidcmd(int, char **); struct job *makejob(union node *, int); pid_t forkshell(struct job *, union node *, int); int waitforjob(struct job *, int *); Modified: projects/llvm-ia64/bin/sh/main.c ============================================================================== --- projects/llvm-ia64/bin/sh/main.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/main.c Tue Jun 28 20:28:11 2011 (r223653) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "exec.h" #include "cd.h" +#include "builtins.h" int rootpid; int rootshell; Modified: projects/llvm-ia64/bin/sh/main.h ============================================================================== --- projects/llvm-ia64/bin/sh/main.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/main.h Tue Jun 28 20:28:11 2011 (r223653) @@ -39,5 +39,3 @@ extern struct jmploc main_handler; /* to void readcmdfile(const char *); void cmdloop(int); -int dotcmd(int, char **); -int exitcmd(int, char **); Modified: projects/llvm-ia64/bin/sh/mkbuiltins ============================================================================== --- projects/llvm-ia64/bin/sh/mkbuiltins Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/mkbuiltins Tue Jun 28 20:28:11 2011 (r223653) @@ -58,9 +58,7 @@ cat <<\! ! awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \ print $0}' builtins.def | sed 's/-[hj]//' > $temp -awk '{ printf "int %s(int, char **);\n", $1}' $temp -echo ' -int (*const builtinfunc[])(int, char **) = {' +echo 'int (*const builtinfunc[])(int, char **) = {' awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp echo '}; @@ -94,5 +92,7 @@ struct builtincmd { }; extern int (*const builtinfunc[])(int, char **); -extern const struct builtincmd builtincmd[];' +extern const struct builtincmd builtincmd[]; +' +awk '{ printf "int %s(int, char **);\n", $1}' $temp rm -f $temp Modified: projects/llvm-ia64/bin/sh/mkinit.c ============================================================================== --- projects/llvm-ia64/bin/sh/mkinit.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/mkinit.c Tue Jun 28 20:28:11 2011 (r223653) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); */ -#include #include #include #include Modified: projects/llvm-ia64/bin/sh/mktokens ============================================================================== --- projects/llvm-ia64/bin/sh/mktokens Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/mktokens Tue Jun 28 20:28:11 2011 (r223653) @@ -50,6 +50,7 @@ TPIPE 0 "|" TLP 0 "(" TRP 1 ")" TENDCASE 1 ";;" +TFALLTHRU 1 ";&" TREDIR 0 redirection TWORD 0 word TIF 0 "if" Modified: projects/llvm-ia64/bin/sh/myhistedit.h ============================================================================== --- projects/llvm-ia64/bin/sh/myhistedit.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/myhistedit.h Tue Jun 28 20:28:11 2011 (r223653) @@ -39,8 +39,6 @@ extern int displayhist; void histedit(void); void sethistsize(const char *); void setterm(const char *); -int histcmd(int, char **); int not_fcnumber(const char *); int str_to_event(const char *, int); -int bindcmd(int, char **); Modified: projects/llvm-ia64/bin/sh/nodetypes ============================================================================== --- projects/llvm-ia64/bin/sh/nodetypes Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/nodetypes Tue Jun 28 20:28:11 2011 (r223653) @@ -56,7 +56,6 @@ NSEMI nbinary # two commands separated NCMD ncmd # a simple command type int - backgnd int # set to run command in background args nodeptr # the arguments redirect nodeptr # list of file redirections @@ -96,12 +95,13 @@ NCASE ncase # a case statement expr nodeptr # the word to switch on cases nodeptr # the list of cases (NCLIST nodes) -NCLIST nclist # a case +NCLIST nclist # a case ending with ;; type int next nodeptr # the next case in list pattern nodeptr # list of patterns for this case body nodeptr # code to execute for this case +NCLISTFALLTHRU nclist # a case ending with ;& NDEFUN narg # define a function. The "next" field contains # the body of the function. Modified: projects/llvm-ia64/bin/sh/options.c ============================================================================== --- projects/llvm-ia64/bin/sh/options.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/options.c Tue Jun 28 20:28:11 2011 (r223653) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "error.h" #include "mystring.h" +#include "builtins.h" #ifndef NO_HISTORY #include "myhistedit.h" #endif Modified: projects/llvm-ia64/bin/sh/options.h ============================================================================== --- projects/llvm-ia64/bin/sh/options.h Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/options.h Tue Jun 28 20:28:11 2011 (r223653) @@ -62,8 +62,9 @@ struct shparam { #define privileged optlist[15].val #define Tflag optlist[16].val #define Pflag optlist[17].val +#define hflag optlist[18].val -#define NOPTS 18 +#define NOPTS 19 struct optent { const char *name; @@ -91,6 +92,7 @@ struct optent optlist[NOPTS] = { { "privileged", 'p', 0 }, { "trapsasync", 'T', 0 }, { "physical", 'P', 0 }, + { "trackall", 'h', 0 }, }; #else extern struct optent optlist[NOPTS]; @@ -108,8 +110,5 @@ void procargs(int, char **); void optschanged(void); void setparam(char **); void freeparam(struct shparam *); -int shiftcmd(int, char **); -int setcmd(int, char **); -int getoptscmd(int, char **); int nextopt(const char *); void getoptsreset(const char *); Modified: projects/llvm-ia64/bin/sh/parser.c ============================================================================== --- projects/llvm-ia64/bin/sh/parser.c Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/parser.c Tue Jun 28 20:28:11 2011 (r223653) @@ -240,8 +240,8 @@ list(int nlflag, int erflag) n2 = andor(); tok = readtoken(); if (tok == TBACKGND) { - if (n2->type == NCMD || n2->type == NPIPE) { - n2->ncmd.backgnd = 1; + if (n2->type == NPIPE) { + n2->npipe.backgnd = 1; } else if (n2->type == NREDIR) { n2->type = NBACKGND; } else { @@ -542,10 +542,13 @@ TRACE(("expecting DO got %s %s\n", tokna checkkwd = CHKNL | CHKKWD | CHKALIAS; if ((t = readtoken()) != TESAC) { - if (t != TENDCASE) - synexpect(TENDCASE); + if (t == TENDCASE) + ; + else if (t == TFALLTHRU) + cp->type = NCLISTFALLTHRU; else - checkkwd = CHKNL | CHKKWD, readtoken(); + synexpect(TENDCASE); + checkkwd = CHKNL | CHKKWD, readtoken(); } cpp = &cp->nclist.next; } @@ -686,7 +689,6 @@ simplecmd(union node **rpp, union node * *rpp = NULL; n = (union node *)stalloc(sizeof (struct ncmd)); n->type = NCMD; - n->ncmd.backgnd = 0; n->ncmd.args = args; n->ncmd.redirect = redir; return n; @@ -931,8 +933,11 @@ xxreadtoken(void) pungetc(); RETURN(TPIPE); case ';': - if (pgetc() == ';') + c = pgetc(); + if (c == ';') RETURN(TENDCASE); + else if (c == '&') + RETURN(TFALLTHRU); pungetc(); RETURN(TSEMI); case '(': Modified: projects/llvm-ia64/bin/sh/sh.1 ============================================================================== --- projects/llvm-ia64/bin/sh/sh.1 Tue Jun 28 19:59:46 2011 (r223652) +++ projects/llvm-ia64/bin/sh/sh.1 Tue Jun 28 20:28:11 2011 (r223653) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 10, 2011 +.Dd June 24, 2011 .Dt SH 1 .Os .Sh NAME @@ -241,6 +241,10 @@ tested, all commands of the function are well. .It Fl f Li noglob Disable pathname expansion. +.It Fl h Li trackall +A do-nothing option for +.Tn POSIX +compliance. .It Fl I Li ignoreeof Ignore .Dv EOF Ap s @@ -372,7 +376,7 @@ The following is a list of valid operato .It Control operators: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en -.It Li ;; Ta Li ; Ta Li | Ta Li || +.It Li ;; Ta Li ;& Ta Li ; Ta Li | Ta Li || .El .It Redirection operators: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact @@ -990,6 +994,22 @@ described later), separated by .Ql \&| characters. +Tilde expansion, parameter expansion, command substitution, +arithmetic expansion and quote removal are applied to the word. +Then, each pattern is expanded in turn using tilde expansion, +parameter expansion, command substitution and arithmetic expansion and +the expanded form of the word is checked against it. +If a match is found, the corresponding list is executed. +If the selected list is terminated by the control operator +.Ql ;& +instead of +.Ql ;; , +execution continues with the next list, +continuing until a list terminated with +.Ql ;; +or the end of the +.Ic case +command. The exit code of the .Ic case command is the exit code of the last command executed in the list or @@ -1536,10 +1556,7 @@ except that the built-in commands and .Ic trap return information about the main shell environment -if they are the only command in a command substitution -and the substitutions in the command cannot cause side effects -(such as from assigning values to variables or referencing -.Li $! ). +if they are the only command in a command substitution. .Ss Arithmetic Expansion Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. @@ -1612,15 +1629,15 @@ There are two restrictions on this: firs a string containing a slash, and second, a pattern cannot match a string starting with a period unless the first character of the pattern is a period. -The next section describes the patterns used for both -Pathname Expansion and the +The next section describes the patterns used for +Pathname Expansion, +the four varieties of parameter expansion for substring processing and the .Ic case command. .Ss Shell Patterns A pattern consists of normal characters, which match themselves, and meta-characters. The meta-characters are -.Ql \&! , .Ql * , .Ql \&? , and @@ -1650,16 +1667,30 @@ matches a .Ql \&[ rather than introducing a character class. A character class matches any of the characters between the square brackets. -A range of characters may be specified using a minus sign. +A locale-dependent range of characters may be specified using a minus sign. +A named class of characters (see +.Xr wctype 3 ) +may be specified by surrounding the name with +.Ql \&[: +and +.Ql :\&] . +For example, +.Ql \&[\&[:alpha:\&]\&] +is a shell pattern that matches a single letter. The character class may be complemented by making an exclamation point .Pq Ql !\& the first character of the character class. +A caret +.Pq Ql ^ +has the same effect but is non-standard. .Pp To include a .Ql \&] in a character class, make it the first character listed (after the -.Ql \&! , +.Ql \&! +or +.Ql ^ , if any). To include a *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jun 28 21:21:11 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A42191065770; Tue, 28 Jun 2011 21:21:11 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 902028FC17; Tue, 28 Jun 2011 21:21:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5SLLBgP066064; Tue, 28 Jun 2011 21:21:11 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5SLLBFC066044; Tue, 28 Jun 2011 21:21:11 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201106282121.p5SLLBFC066044@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 28 Jun 2011 21:21:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223656 - in projects/altix: lib/libstand sys/amd64/conf sys/amd64/ia32 sys/amd64/include sys/amd64/pci sys/arm/at91 sys/arm/conf sys/arm/sa11x0 sys/boot sys/boot/common sys/boot/forth ... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 21:21:11 -0000 Author: marcel Date: Tue Jun 28 21:21:10 2011 New Revision: 223656 URL: http://svn.freebsd.org/changeset/base/223656 Log: Sync with head@223653 Added: projects/altix/sys/contrib/pf/net/if_pflow.h - copied unchanged from r223653, head/sys/contrib/pf/net/if_pflow.h projects/altix/sys/contrib/pf/net/pf_lb.c - copied unchanged from r223653, head/sys/contrib/pf/net/pf_lb.c projects/altix/sys/dev/pci/pci_subr.c - copied unchanged from r223653, head/sys/dev/pci/pci_subr.c projects/altix/sys/dev/usb/template/usb_template_audio.c - copied unchanged from r223653, head/sys/dev/usb/template/usb_template_audio.c projects/altix/sys/dev/usb/template/usb_template_kbd.c - copied unchanged from r223653, head/sys/dev/usb/template/usb_template_kbd.c projects/altix/sys/dev/usb/template/usb_template_modem.c - copied unchanged from r223653, head/sys/dev/usb/template/usb_template_modem.c projects/altix/sys/dev/usb/template/usb_template_mouse.c - copied unchanged from r223653, head/sys/dev/usb/template/usb_template_mouse.c projects/altix/sys/fs/nfsclient/nfs_clkdtrace.c - copied unchanged from r223653, head/sys/fs/nfsclient/nfs_clkdtrace.c projects/altix/sys/fs/nfsclient/nfs_kdtrace.h - copied unchanged from r223653, head/sys/fs/nfsclient/nfs_kdtrace.h projects/altix/sys/modules/dtrace/dtnfscl/ - copied from r223653, head/sys/modules/dtrace/dtnfscl/ projects/altix/sys/modules/pfsync/ - copied from r223653, head/sys/modules/pfsync/ projects/altix/sys/powerpc/ps3/ohci_ps3.c - copied unchanged from r223653, head/sys/powerpc/ps3/ohci_ps3.c projects/altix/sys/powerpc/ps3/ps3disk.c - copied unchanged from r223653, head/sys/powerpc/ps3/ps3disk.c projects/altix/sys/x86/include/pci_cfgreg.h - copied unchanged from r223653, head/sys/x86/include/pci_cfgreg.h projects/altix/sys/x86/pci/pci_bus.c - copied unchanged from r223653, head/sys/x86/pci/pci_bus.c Deleted: projects/altix/sys/amd64/pci/pci_bus.c projects/altix/sys/contrib/pf/net/pf_subr.c projects/altix/sys/i386/pci/pci_bus.c Modified: projects/altix/lib/libstand/net.c projects/altix/lib/libstand/tftp.c projects/altix/lib/libstand/zalloc.c projects/altix/lib/libstand/zalloc_malloc.c projects/altix/sys/amd64/conf/GENERIC projects/altix/sys/amd64/ia32/ia32_sigtramp.S projects/altix/sys/amd64/include/pci_cfgreg.h projects/altix/sys/arm/at91/at91_machdep.c projects/altix/sys/arm/conf/CAMBRIA projects/altix/sys/arm/sa11x0/assabet_machdep.c projects/altix/sys/arm/sa11x0/sa11x0.c projects/altix/sys/boot/Makefile projects/altix/sys/boot/Makefile.arm projects/altix/sys/boot/Makefile.powerpc projects/altix/sys/boot/common/load_elf_obj.c projects/altix/sys/boot/forth/loader.rc projects/altix/sys/boot/i386/libi386/biosacpi.c projects/altix/sys/boot/i386/zfsboot/zfsldr.S projects/altix/sys/cam/ata/ata_da.c projects/altix/sys/cam/ata/ata_xpt.c projects/altix/sys/cam/cam_ccb.h projects/altix/sys/cam/cam_periph.c projects/altix/sys/cam/cam_periph.h projects/altix/sys/cam/cam_xpt.c projects/altix/sys/cam/cam_xpt.h projects/altix/sys/cam/cam_xpt_internal.h projects/altix/sys/cam/scsi/scsi_all.c projects/altix/sys/cam/scsi/scsi_all.h projects/altix/sys/cam/scsi/scsi_cd.c projects/altix/sys/cam/scsi/scsi_da.c projects/altix/sys/cam/scsi/scsi_pass.c projects/altix/sys/cam/scsi/scsi_xpt.c projects/altix/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h projects/altix/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/altix/sys/compat/freebsd32/freebsd32_misc.c projects/altix/sys/compat/freebsd32/freebsd32_proto.h projects/altix/sys/compat/freebsd32/freebsd32_syscall.h projects/altix/sys/compat/freebsd32/freebsd32_syscalls.c projects/altix/sys/compat/freebsd32/freebsd32_sysent.c projects/altix/sys/compat/freebsd32/syscalls.master projects/altix/sys/compat/linprocfs/linprocfs.c projects/altix/sys/conf/Makefile.arm projects/altix/sys/conf/files projects/altix/sys/conf/files.amd64 projects/altix/sys/conf/files.i386 projects/altix/sys/conf/files.ia64 projects/altix/sys/conf/files.pc98 projects/altix/sys/conf/files.powerpc projects/altix/sys/conf/options projects/altix/sys/contrib/altq/altq/altq_red.c projects/altix/sys/contrib/pf/net/if_pflog.c projects/altix/sys/contrib/pf/net/if_pflog.h projects/altix/sys/contrib/pf/net/if_pfsync.c projects/altix/sys/contrib/pf/net/if_pfsync.h projects/altix/sys/contrib/pf/net/pf.c projects/altix/sys/contrib/pf/net/pf_if.c projects/altix/sys/contrib/pf/net/pf_ioctl.c projects/altix/sys/contrib/pf/net/pf_mtag.h projects/altix/sys/contrib/pf/net/pf_norm.c projects/altix/sys/contrib/pf/net/pf_osfp.c projects/altix/sys/contrib/pf/net/pf_ruleset.c projects/altix/sys/contrib/pf/net/pf_table.c projects/altix/sys/contrib/pf/net/pfvar.h projects/altix/sys/dev/acpica/acpi.c projects/altix/sys/dev/acpica/acpi_cpu.c projects/altix/sys/dev/acpica/acpi_pci.c projects/altix/sys/dev/acpica/acpi_pcib_acpi.c projects/altix/sys/dev/acpica/acpi_resource.c projects/altix/sys/dev/acpica/acpi_thermal.c projects/altix/sys/dev/acpica/acpivar.h projects/altix/sys/dev/an/if_an.c projects/altix/sys/dev/ata/chipsets/ata-intel.c projects/altix/sys/dev/ath/ah_osdep.c projects/altix/sys/dev/ath/ath_hal/ah.h projects/altix/sys/dev/ath/ath_hal/ah_eeprom_9287.h projects/altix/sys/dev/ath/ath_hal/ah_internal.h projects/altix/sys/dev/ath/ath_hal/ah_regdomain.c projects/altix/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/altix/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c projects/altix/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/altix/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c projects/altix/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c projects/altix/sys/dev/ath/ath_hal/ar5212/ar5112.c projects/altix/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/altix/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/altix/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/altix/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/altix/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/altix/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/altix/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/altix/sys/dev/ath/if_ath.c projects/altix/sys/dev/ath/if_ath_ahb.c projects/altix/sys/dev/ath/if_ath_sysctl.c projects/altix/sys/dev/ath/if_ath_sysctl.h projects/altix/sys/dev/atkbdc/atkbd.c projects/altix/sys/dev/cardbus/cardbus_cis.c projects/altix/sys/dev/dc/dcphy.c projects/altix/sys/dev/dc/if_dc.c projects/altix/sys/dev/dc/pnphy.c projects/altix/sys/dev/e1000/if_igb.c projects/altix/sys/dev/e1000/if_igb.h projects/altix/sys/dev/en/if_en_pci.c projects/altix/sys/dev/et/if_et.c projects/altix/sys/dev/fdc/fdc_pccard.c projects/altix/sys/dev/firewire/fwohci.c projects/altix/sys/dev/fxp/if_fxp.c projects/altix/sys/dev/gem/if_gem.c projects/altix/sys/dev/gem/if_gemvar.h projects/altix/sys/dev/iicbus/if_ic.c projects/altix/sys/dev/mfi/mfi_cam.c projects/altix/sys/dev/my/if_my.c projects/altix/sys/dev/pccbb/pccbb.c projects/altix/sys/dev/pccbb/pccbb_pci.c projects/altix/sys/dev/pci/pci.c projects/altix/sys/dev/pci/pci_pci.c projects/altix/sys/dev/pty/pty.c projects/altix/sys/dev/puc/puc.c projects/altix/sys/dev/puc/puc_bfe.h projects/altix/sys/dev/puc/puc_pccard.c projects/altix/sys/dev/puc/puc_pci.c projects/altix/sys/dev/safe/safe.c projects/altix/sys/dev/sis/if_sis.c projects/altix/sys/dev/snp/snp.c projects/altix/sys/dev/sound/macio/i2s.c projects/altix/sys/dev/sound/pci/hda/hdac.c projects/altix/sys/dev/sound/usb/uaudio.c projects/altix/sys/dev/syscons/scterm-teken.c projects/altix/sys/dev/tdfx/tdfx_pci.c projects/altix/sys/dev/usb/input/atp.c projects/altix/sys/dev/usb/input/uep.c projects/altix/sys/dev/usb/input/uhid.c projects/altix/sys/dev/usb/input/ukbd.c projects/altix/sys/dev/usb/input/ums.c projects/altix/sys/dev/usb/misc/udbp.c projects/altix/sys/dev/usb/misc/ufm.c projects/altix/sys/dev/usb/net/if_aue.c projects/altix/sys/dev/usb/net/if_axe.c projects/altix/sys/dev/usb/net/if_cdce.c projects/altix/sys/dev/usb/net/if_cue.c projects/altix/sys/dev/usb/net/if_ipheth.c projects/altix/sys/dev/usb/net/if_kue.c projects/altix/sys/dev/usb/net/if_mos.c projects/altix/sys/dev/usb/net/if_rue.c projects/altix/sys/dev/usb/net/if_udav.c projects/altix/sys/dev/usb/net/uhso.c projects/altix/sys/dev/usb/serial/u3g.c projects/altix/sys/dev/usb/serial/uark.c projects/altix/sys/dev/usb/serial/ubsa.c projects/altix/sys/dev/usb/serial/uchcom.c projects/altix/sys/dev/usb/serial/ucycom.c projects/altix/sys/dev/usb/serial/ufoma.c projects/altix/sys/dev/usb/serial/uftdi.c projects/altix/sys/dev/usb/serial/ugensa.c projects/altix/sys/dev/usb/serial/uipaq.c projects/altix/sys/dev/usb/serial/ulpt.c projects/altix/sys/dev/usb/serial/umcs.c projects/altix/sys/dev/usb/serial/umct.c projects/altix/sys/dev/usb/serial/umodem.c projects/altix/sys/dev/usb/serial/umoscom.c projects/altix/sys/dev/usb/serial/uplcom.c projects/altix/sys/dev/usb/serial/uslcom.c projects/altix/sys/dev/usb/serial/uvisor.c projects/altix/sys/dev/usb/serial/uvscom.c projects/altix/sys/dev/usb/storage/umass.c projects/altix/sys/dev/usb/storage/urio.c projects/altix/sys/dev/usb/template/usb_template.c projects/altix/sys/dev/usb/template/usb_template.h projects/altix/sys/dev/usb/template/usb_template_cdce.c projects/altix/sys/dev/usb/template/usb_template_msc.c projects/altix/sys/dev/usb/template/usb_template_mtp.c projects/altix/sys/dev/usb/usb_device.c projects/altix/sys/dev/usb/usb_hub.c projects/altix/sys/dev/usb/usb_ioctl.h projects/altix/sys/dev/usb/usb_lookup.c projects/altix/sys/dev/usb/usb_msctest.c projects/altix/sys/dev/usb/usbdevs projects/altix/sys/dev/usb/usbdi.h projects/altix/sys/dev/usb/wlan/if_rum.c projects/altix/sys/dev/usb/wlan/if_run.c projects/altix/sys/dev/usb/wlan/if_uath.c projects/altix/sys/dev/usb/wlan/if_upgt.c projects/altix/sys/dev/usb/wlan/if_ural.c projects/altix/sys/dev/usb/wlan/if_urtw.c projects/altix/sys/dev/usb/wlan/if_zyd.c projects/altix/sys/dev/vr/if_vr.c projects/altix/sys/dev/vr/if_vrreg.h projects/altix/sys/dev/xen/blkback/blkback.c projects/altix/sys/dev/xl/if_xl.c projects/altix/sys/fs/nfs/nfs_commonkrpc.c projects/altix/sys/fs/nfs/nfsport.h projects/altix/sys/fs/nfs/nfsproto.h projects/altix/sys/fs/nfsclient/nfs_clbio.c projects/altix/sys/fs/nfsclient/nfs_clkrpc.c projects/altix/sys/fs/nfsclient/nfs_clnode.c projects/altix/sys/fs/nfsclient/nfs_clport.c projects/altix/sys/fs/nfsclient/nfs_clsubs.c projects/altix/sys/fs/nfsclient/nfs_clvnops.c projects/altix/sys/fs/nfsserver/nfs_nfsdcache.c projects/altix/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/altix/sys/fs/nfsserver/nfs_nfsdserv.c projects/altix/sys/fs/nfsserver/nfs_nfsdsocket.c projects/altix/sys/geom/geom.h projects/altix/sys/geom/geom_dev.c projects/altix/sys/geom/geom_disk.c projects/altix/sys/geom/geom_disk.h projects/altix/sys/geom/geom_event.c projects/altix/sys/geom/geom_subr.c projects/altix/sys/geom/part/g_part_bsd.c projects/altix/sys/geom/part/g_part_ebr.c projects/altix/sys/geom/part/g_part_mbr.c projects/altix/sys/i386/conf/GENERIC projects/altix/sys/i386/include/param.h projects/altix/sys/i386/include/pci_cfgreg.h projects/altix/sys/ia64/conf/NOTES projects/altix/sys/ia64/ia64/clock.c projects/altix/sys/ia64/ia64/db_machdep.c projects/altix/sys/ia64/ia64/interrupt.c projects/altix/sys/ia64/ia64/machdep.c projects/altix/sys/ia64/ia64/mp_machdep.c projects/altix/sys/ia64/ia64/pmap.c projects/altix/sys/ia64/include/ia64_cpu.h projects/altix/sys/ia64/include/pcpu.h projects/altix/sys/ia64/include/smp.h projects/altix/sys/kern/imgact_aout.c projects/altix/sys/kern/kern_clocksource.c projects/altix/sys/kern/kern_conf.c projects/altix/sys/kern/kern_exit.c projects/altix/sys/kern/link_elf.c projects/altix/sys/kern/subr_devstat.c projects/altix/sys/kern/subr_kdb.c projects/altix/sys/kern/subr_smp.c projects/altix/sys/kern/sys_capability.c projects/altix/sys/kern/sys_process.c projects/altix/sys/kern/tty.c projects/altix/sys/kern/tty_inq.c projects/altix/sys/kern/tty_outq.c projects/altix/sys/kern/tty_pts.c projects/altix/sys/kern/tty_ttydisc.c projects/altix/sys/kern/vfs_subr.c projects/altix/sys/kgssapi/gss_impl.c projects/altix/sys/mips/atheros/ar71xx_chip.c projects/altix/sys/mips/atheros/ar71xx_machdep.c projects/altix/sys/mips/atheros/ar71xx_ohci.c projects/altix/sys/mips/atheros/ar71xx_setup.c projects/altix/sys/mips/atheros/ar724x_chip.c projects/altix/sys/mips/atheros/ar91xx_chip.c projects/altix/sys/mips/mips/genassym.c projects/altix/sys/mips/mips/trap.c projects/altix/sys/mips/rmi/dev/xlr/rge.c projects/altix/sys/mips/rmi/fmn.c projects/altix/sys/mips/rmi/iodi.c projects/altix/sys/mips/sentry5/s5_machdep.c projects/altix/sys/mips/sibyte/sb_machdep.c projects/altix/sys/modules/Makefile projects/altix/sys/modules/cxgbe/if_cxgbe/Makefile projects/altix/sys/modules/dtrace/Makefile projects/altix/sys/modules/dtrace/dtraceall/dtraceall.c projects/altix/sys/modules/ipdivert/Makefile projects/altix/sys/modules/kgssapi_krb5/Makefile projects/altix/sys/modules/nfscl/Makefile projects/altix/sys/modules/nfscommon/Makefile projects/altix/sys/modules/pf/Makefile projects/altix/sys/modules/pflog/Makefile projects/altix/sys/modules/usb/template/Makefile projects/altix/sys/net/if.c projects/altix/sys/net/if.h projects/altix/sys/net/if_gre.c projects/altix/sys/net/if_gre.h projects/altix/sys/net/route.c projects/altix/sys/net/route.h projects/altix/sys/net80211/ieee80211_acl.c projects/altix/sys/net80211/ieee80211_dfs.c projects/altix/sys/net80211/ieee80211_ht.c projects/altix/sys/net80211/ieee80211_ioctl.c projects/altix/sys/net80211/ieee80211_ioctl.h projects/altix/sys/net80211/ieee80211_var.h projects/altix/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/altix/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c projects/altix/sys/netgraph/ng_ether.c projects/altix/sys/netinet/if_ether.c projects/altix/sys/netinet/in_gif.c projects/altix/sys/netinet/ip_divert.c projects/altix/sys/netinet/ip_icmp.c projects/altix/sys/netinet/ipfw/ip_dn_io.c projects/altix/sys/netinet/ipfw/ip_fw2.c projects/altix/sys/netinet/ipfw/ip_fw_nat.c projects/altix/sys/netinet/ipfw/ip_fw_pfil.c projects/altix/sys/netinet/libalias/alias.h projects/altix/sys/netinet/libalias/alias_db.c projects/altix/sys/netinet/libalias/alias_ftp.c projects/altix/sys/netinet/libalias/alias_local.h projects/altix/sys/netinet/libalias/libalias.3 projects/altix/sys/netinet/raw_ip.c projects/altix/sys/netinet/sctp.h projects/altix/sys/netinet/sctp_auth.c projects/altix/sys/netinet/sctp_indata.c projects/altix/sys/netinet/sctp_output.c projects/altix/sys/netinet/sctp_pcb.c projects/altix/sys/netinet/sctp_structs.h projects/altix/sys/netinet/sctp_uio.h projects/altix/sys/netinet/sctp_usrreq.c projects/altix/sys/netinet/sctp_var.h projects/altix/sys/netinet/sctputil.c projects/altix/sys/netinet/tcp_output.c projects/altix/sys/netinet6/icmp6.c projects/altix/sys/netinet6/in6_gif.c projects/altix/sys/netipsec/ipsec_input.c projects/altix/sys/netipsec/ipsec_output.c projects/altix/sys/netipsec/xform_ipip.c projects/altix/sys/nfsclient/nfs_krpc.c projects/altix/sys/nfsserver/nfs_srvkrpc.c projects/altix/sys/pc98/conf/GENERIC projects/altix/sys/powerpc/aim/copyinout.c projects/altix/sys/powerpc/aim/locore32.S projects/altix/sys/powerpc/aim/locore64.S projects/altix/sys/powerpc/aim/machdep.c projects/altix/sys/powerpc/aim/mmu_oea64.c projects/altix/sys/powerpc/aim/mp_cpudep.c projects/altix/sys/powerpc/aim/swtch32.S projects/altix/sys/powerpc/aim/swtch64.S projects/altix/sys/powerpc/aim/trap.c projects/altix/sys/powerpc/aim/trap_subr32.S projects/altix/sys/powerpc/aim/trap_subr64.S projects/altix/sys/powerpc/booke/copyinout.c projects/altix/sys/powerpc/booke/interrupt.c projects/altix/sys/powerpc/booke/trap.c projects/altix/sys/powerpc/include/pcpu.h projects/altix/sys/powerpc/ofw/ofwcall32.S projects/altix/sys/powerpc/ofw/rtas.c projects/altix/sys/powerpc/powermac/fcu.c projects/altix/sys/powerpc/powerpc/db_trace.c projects/altix/sys/powerpc/powerpc/mp_machdep.c projects/altix/sys/powerpc/ps3/if_glc.c projects/altix/sys/powerpc/ps3/ps3-hvcall.h projects/altix/sys/powerpc/ps3/ps3-hvcall.master projects/altix/sys/powerpc/ps3/ps3bus.c projects/altix/sys/powerpc/ps3/ps3bus.h projects/altix/sys/powerpc/ps3/ps3pic.c projects/altix/sys/rpc/rpc_generic.c projects/altix/sys/rpc/rpcsec_gss.h projects/altix/sys/sparc64/conf/GENERIC projects/altix/sys/sparc64/include/smp.h projects/altix/sys/sparc64/include/tsb.h projects/altix/sys/sparc64/include/vmparam.h projects/altix/sys/sparc64/sparc64/intr_machdep.c projects/altix/sys/sparc64/sparc64/mp_machdep.c projects/altix/sys/sparc64/sparc64/pmap.c projects/altix/sys/sparc64/sparc64/tlb.c projects/altix/sys/sys/conf.h projects/altix/sys/sys/disk.h projects/altix/sys/sys/diskmbr.h projects/altix/sys/sys/diskpc98.h projects/altix/sys/sys/dtrace_bsd.h projects/altix/sys/sys/mbuf.h projects/altix/sys/sys/param.h projects/altix/sys/sys/proc.h projects/altix/sys/sys/systm.h projects/altix/sys/teken/demo/teken_demo.c projects/altix/sys/teken/gensequences projects/altix/sys/teken/libteken/teken.3 projects/altix/sys/teken/teken.c projects/altix/sys/teken/teken_subr.h projects/altix/sys/ufs/ffs/ffs_alloc.c projects/altix/sys/ufs/ffs/ffs_balloc.c projects/altix/sys/ufs/ffs/ffs_extern.h projects/altix/sys/ufs/ffs/ffs_inode.c projects/altix/sys/ufs/ffs/ffs_snapshot.c projects/altix/sys/ufs/ffs/ffs_softdep.c projects/altix/sys/ufs/ffs/softdep.h projects/altix/sys/vm/vm_fault.c projects/altix/sys/vm/vm_page.c projects/altix/sys/vm/vm_page.h projects/altix/sys/x86/x86/tsc.c Directory Properties: projects/altix/lib/libstand/ (props changed) projects/altix/sys/ (props changed) projects/altix/sys/amd64/include/xen/ (props changed) projects/altix/sys/boot/ (props changed) projects/altix/sys/boot/i386/efi/ (props changed) projects/altix/sys/boot/ia64/efi/ (props changed) projects/altix/sys/boot/ia64/ski/ (props changed) projects/altix/sys/boot/powerpc/boot1.chrp/ (props changed) projects/altix/sys/boot/powerpc/ofw/ (props changed) projects/altix/sys/cddl/contrib/opensolaris/ (props changed) projects/altix/sys/conf/ (props changed) projects/altix/sys/contrib/dev/acpica/ (props changed) projects/altix/sys/contrib/octeon-sdk/ (props changed) projects/altix/sys/contrib/pf/ (props changed) projects/altix/sys/contrib/x86emu/ (props changed) projects/altix/sys/kern/subr_busdma.c (props changed) Modified: projects/altix/lib/libstand/net.c ============================================================================== --- projects/altix/lib/libstand/net.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/lib/libstand/net.c Tue Jun 28 21:21:10 2011 (r223656) @@ -100,7 +100,7 @@ sendrecv(struct iodesc *d, cc, ssize); tleft = tmo; - tmo <<= 1; + tmo += MINTMO; if (tmo > MAXTMO) tmo = MAXTMO; Modified: projects/altix/lib/libstand/tftp.c ============================================================================== --- projects/altix/lib/libstand/tftp.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/lib/libstand/tftp.c Tue Jun 28 21:21:10 2011 (r223656) @@ -60,12 +60,21 @@ __FBSDID("$FreeBSD$"); #include "tftp.h" +struct tftp_handle; + static int tftp_open(const char *path, struct open_file *f); static int tftp_close(struct open_file *f); +static int tftp_parse_oack(struct tftp_handle *h, char *buf, size_t len); static int tftp_read(struct open_file *f, void *buf, size_t size, size_t *resid); static int tftp_write(struct open_file *f, void *buf, size_t size, size_t *resid); static off_t tftp_seek(struct open_file *f, off_t offset, int where); +static int tftp_set_blksize(struct tftp_handle *h, const char *str); static int tftp_stat(struct open_file *f, struct stat *sb); +static ssize_t sendrecv_tftp(struct tftp_handle *h, + ssize_t (*sproc)(struct iodesc *, void *, size_t), + void *sbuf, size_t ssize, + ssize_t (*rproc)(struct tftp_handle *h, void *, ssize_t, time_t, unsigned short *), + void *rbuf, size_t rsize, unsigned short *rtype); struct fs_ops tftp_fsops = { "tftp", @@ -81,8 +90,20 @@ struct fs_ops tftp_fsops = { extern struct in_addr servip; static int tftpport = 2000; +static int is_open = 0; -#define RSPACE 520 /* max data packet, rounded up */ +/* + * The legacy TFTP_BLKSIZE value was SEGSIZE(512). + * TFTP_REQUESTED_BLKSIZE of 1428 is (Ethernet MTU, less the TFTP, UDP and + * IP header lengths). + */ +#define TFTP_REQUESTED_BLKSIZE 1428 + +/* + * Choose a blksize big enough so we can test with Ethernet + * Jumbo frames in the future. + */ +#define TFTP_MAX_BLKSIZE 9008 struct tftp_handle { struct iodesc *iodesc; @@ -91,14 +112,17 @@ struct tftp_handle { int validsize; int off; char *path; /* saved for re-requests */ + unsigned int tftp_blksize; + unsigned long tftp_tsize; struct { u_char header[HEADER_SIZE]; struct tftphdr t; - u_char space[RSPACE]; + u_char space[TFTP_MAX_BLKSIZE]; } __packed __aligned(4) lastdata; }; -static const int tftperrors[8] = { +#define TFTP_MAX_ERRCODE EOPTNEG +static const int tftperrors[TFTP_MAX_ERRCODE + 1] = { 0, /* ??? */ ENOENT, EPERM, @@ -106,12 +130,61 @@ static const int tftperrors[8] = { EINVAL, /* ??? */ EINVAL, /* ??? */ EEXIST, - EINVAL /* ??? */ + EINVAL, /* ??? */ + EINVAL, /* Option negotiation failed. */ }; -static ssize_t -recvtftp(struct iodesc *d, void *pkt, ssize_t len, time_t tleft) +static int tftp_getnextblock(struct tftp_handle *h); + +/* send error message back. */ +static void +tftp_senderr(struct tftp_handle *h, u_short errcode, const char *msg) +{ + struct { + u_char header[HEADER_SIZE]; + struct tftphdr t; + u_char space[63]; /* +1 from t */ + } __packed __aligned(4) wbuf; + char *wtail; + int len; + + len = strlen(msg); + if (len > sizeof(wbuf.space)) + len = sizeof(wbuf.space); + + wbuf.t.th_opcode = htons((u_short) ERROR); + wbuf.t.th_code = htons(errcode); + + wtail = wbuf.t.th_msg; + bcopy(msg, wtail, len); + wtail[len] = '\0'; + wtail += len + 1; + + sendudp(h->iodesc, &wbuf.t, wtail - (char *) &wbuf.t); +} + +static void +tftp_sendack(struct tftp_handle *h) +{ + struct { + u_char header[HEADER_SIZE]; + struct tftphdr t; + } __packed __aligned(4) wbuf; + char *wtail; + + wbuf.t.th_opcode = htons((u_short) ACK); + wtail = (char *) &wbuf.t.th_block; + wbuf.t.th_block = htons((u_short) h->currblock); + wtail += 2; + + sendudp(h->iodesc, &wbuf.t, wtail - (char *) &wbuf.t); +} + +static ssize_t +recvtftp(struct tftp_handle *h, void *pkt, ssize_t len, time_t tleft, + unsigned short *rtype) { + struct iodesc *d = h->iodesc; struct tftphdr *t; errno = 0; @@ -122,6 +195,7 @@ recvtftp(struct iodesc *d, void *pkt, ss return (-1); t = (struct tftphdr *) pkt; + *rtype = ntohs(t->th_opcode); switch (ntohs(t->th_opcode)) { case DATA: { int got; @@ -144,7 +218,7 @@ recvtftp(struct iodesc *d, void *pkt, ss return got; } case ERROR: - if ((unsigned) ntohs(t->th_code) >= 8) { + if ((unsigned) ntohs(t->th_code) > TFTP_MAX_ERRCODE) { printf("illegal tftp error %d\n", ntohs(t->th_code)); errno = EIO; } else { @@ -154,6 +228,34 @@ recvtftp(struct iodesc *d, void *pkt, ss errno = tftperrors[ntohs(t->th_code)]; } return (-1); + case OACK: { + struct udphdr *uh; + int tftp_oack_len; + + /* + * Unexpected OACK. TFTP transfer already in progress. + * Drop the pkt. + */ + if (d->xid != 1) { + return (-1); + } + + /* + * Remember which port this OACK came from, because we need + * to send the ACK or errors back to it. + */ + uh = (struct udphdr *) pkt - 1; + d->destport = uh->uh_sport; + + /* Parse options ACK-ed by the server. */ + tftp_oack_len = len - sizeof(t->th_opcode); + if (tftp_parse_oack(h, t->th_u.tu_stuff, tftp_oack_len) != 0) { + tftp_senderr(h, EOPTNEG, "Malformed OACK"); + errno = EIO; + return (-1); + } + return (0); + } default: #ifdef TFTP_DEBUG printf("tftp type %d not handled\n", ntohs(t->th_opcode)); @@ -163,7 +265,7 @@ recvtftp(struct iodesc *d, void *pkt, ss } /* send request, expect first block (or error) */ -static int +static int tftp_makereq(struct tftp_handle *h) { struct { @@ -175,14 +277,35 @@ tftp_makereq(struct tftp_handle *h) int l; ssize_t res; struct tftphdr *t; + char *tftp_blksize = NULL; + int blksize_l; + unsigned short rtype = 0; + + /* + * Allow overriding default TFTP block size by setting + * a tftp.blksize environment variable. + */ + if ((tftp_blksize = getenv("tftp.blksize")) != NULL) { + tftp_set_blksize(h, tftp_blksize); + } wbuf.t.th_opcode = htons((u_short) RRQ); wtail = wbuf.t.th_stuff; l = strlen(h->path); + if (l > FNAME_SIZE) + return (ENAMETOOLONG); bcopy(h->path, wtail, l + 1); wtail += l + 1; bcopy("octet", wtail, 6); wtail += 6; + bcopy("blksize", wtail, 8); + wtail += 8; + blksize_l = sprintf(wtail, "%d", h->tftp_blksize); + wtail += blksize_l + 1; + bcopy("tsize", wtail, 6); + wtail += 6; + bcopy("0", wtail, 2); + wtail += 2; t = &h->lastdata.t; @@ -191,18 +314,35 @@ tftp_makereq(struct tftp_handle *h) h->iodesc->destport = htons(IPPORT_TFTP); h->iodesc->xid = 1; /* expected block */ - res = sendrecv(h->iodesc, sendudp, &wbuf.t, wtail - (char *) &wbuf.t, - recvtftp, t, sizeof(*t) + RSPACE); + h->currblock = 0; + h->islastblock = 0; + h->validsize = 0; - if (res == -1) - return (errno); + res = sendrecv_tftp(h, &sendudp, &wbuf.t, wtail - (char *) &wbuf.t, + &recvtftp, t, sizeof(*t) + h->tftp_blksize, &rtype); + + if (rtype == OACK) + return (tftp_getnextblock(h)); + + /* Server ignored our blksize request, revert to TFTP default. */ + h->tftp_blksize = SEGSIZE; + + switch (rtype) { + case DATA: { + h->currblock = 1; + h->validsize = res; + h->islastblock = 0; + if (res < h->tftp_blksize) { + h->islastblock = 1; /* very short file */ + tftp_sendack(h); + } + return (0); + } + case ERROR: + default: + return (errno); + } - h->currblock = 1; - h->validsize = res; - h->islastblock = 0; - if (res < SEGSIZE) - h->islastblock = 1; /* very short file */ - return (0); } /* ack block, expect next */ @@ -216,7 +356,7 @@ tftp_getnextblock(struct tftp_handle *h) char *wtail; int res; struct tftphdr *t; - + unsigned short rtype = 0; wbuf.t.th_opcode = htons((u_short) ACK); wtail = (char *) &wbuf.t.th_block; wbuf.t.th_block = htons((u_short) h->currblock); @@ -226,20 +366,27 @@ tftp_getnextblock(struct tftp_handle *h) h->iodesc->xid = h->currblock + 1; /* expected block */ - res = sendrecv(h->iodesc, sendudp, &wbuf.t, wtail - (char *) &wbuf.t, - recvtftp, t, sizeof(*t) + RSPACE); + res = sendrecv_tftp(h, &sendudp, &wbuf.t, wtail - (char *) &wbuf.t, + &recvtftp, t, sizeof(*t) + h->tftp_blksize, &rtype); if (res == -1) /* 0 is OK! */ return (errno); h->currblock++; h->validsize = res; - if (res < SEGSIZE) + if (res < h->tftp_blksize) h->islastblock = 1; /* EOF */ + + if (h->islastblock == 1) { + /* Send an ACK for the last block */ + wbuf.t.th_block = htons((u_short) h->currblock); + sendudp(h->iodesc, &wbuf.t, wtail - (char *)&wbuf.t); + } + return (0); } -static int +static int tftp_open(const char *path, struct open_file *f) { struct tftp_handle *tftpfile; @@ -251,10 +398,15 @@ tftp_open(const char *path, struct open_ return (EINVAL); #endif + if (is_open) + return (EBUSY); + tftpfile = (struct tftp_handle *) malloc(sizeof(*tftpfile)); if (!tftpfile) return (ENOMEM); + memset(tftpfile, 0, sizeof(*tftpfile)); + tftpfile->tftp_blksize = TFTP_REQUESTED_BLKSIZE; tftpfile->iodesc = io = socktodesc(*(int *) (f->f_devdata)); if (io == NULL) return (EINVAL); @@ -275,10 +427,11 @@ tftp_open(const char *path, struct open_ return (res); } f->f_fsdata = (void *) tftpfile; + is_open = 1; return (0); } -static int +static int tftp_read(struct open_file *f, void *addr, size_t size, size_t *resid /* out */) { @@ -292,11 +445,13 @@ tftp_read(struct open_file *f, void *add if (!(tc++ % 16)) twiddle(); - needblock = tftpfile->off / SEGSIZE + 1; + needblock = tftpfile->off / tftpfile->tftp_blksize + 1; - if (tftpfile->currblock > needblock) /* seek backwards */ + if (tftpfile->currblock > needblock) { /* seek backwards */ + tftp_senderr(tftpfile, 0, "No error: read aborted"); tftp_makereq(tftpfile); /* no error check, it worked * for open */ + } while (tftpfile->currblock < needblock) { int res; @@ -315,7 +470,7 @@ tftp_read(struct open_file *f, void *add if (tftpfile->currblock == needblock) { int offinblock, inbuffer; - offinblock = tftpfile->off % SEGSIZE; + offinblock = tftpfile->off % tftpfile->tftp_blksize; inbuffer = tftpfile->validsize - offinblock; if (inbuffer < 0) { @@ -361,18 +516,19 @@ tftp_close(struct open_file *f) free(tftpfile->path); free(tftpfile); } + is_open = 0; return (0); } -static int +static int tftp_write(struct open_file *f __unused, void *start __unused, size_t size __unused, - size_t *resid /* out */ __unused) + size_t *resid __unused /* out */) { return (EROFS); } static int -tftp_stat(struct open_file *f, struct stat *sb) +tftp_stat(struct open_file *f, struct stat *sb) { struct tftp_handle *tftpfile; tftpfile = (struct tftp_handle *) f->f_fsdata; @@ -385,7 +541,7 @@ tftp_stat(struct open_file *f, struct st return (0); } -static off_t +static off_t tftp_seek(struct open_file *f, off_t offset, int where) { struct tftp_handle *tftpfile; @@ -404,3 +560,179 @@ tftp_seek(struct open_file *f, off_t off } return (tftpfile->off); } + +static ssize_t +sendrecv_tftp(struct tftp_handle *h, + ssize_t (*sproc)(struct iodesc *, void *, size_t), + void *sbuf, size_t ssize, + ssize_t (*rproc)(struct tftp_handle *, void *, ssize_t, time_t, unsigned short *), + void *rbuf, size_t rsize, unsigned short *rtype) +{ + struct iodesc *d = h->iodesc; + ssize_t cc; + time_t t, t1, tleft; + +#ifdef TFTP_DEBUG + if (debug) + printf("sendrecv: called\n"); +#endif + + tleft = MINTMO; + t = t1 = getsecs(); + for (;;) { + if ((getsecs() - t) > MAXTMO) { + errno = ETIMEDOUT; + return -1; + } + + cc = (*sproc)(d, sbuf, ssize); + if (cc != -1 && cc < ssize) + panic("sendrecv: short write! (%zd < %zu)", + cc, ssize); + + if (cc == -1) { + /* Error on transmit; wait before retrying */ + while ((getsecs() - t1) < tleft); + continue; + } + +recvnext: + /* Try to get a packet and process it. */ + cc = (*rproc)(h, rbuf, rsize, tleft, rtype); + /* Return on data, EOF or real error. */ + if (cc != -1 || errno != 0) + return (cc); + if ((getsecs() - t1) < tleft) { + goto recvnext; + } + + /* Timed out or didn't get the packet we're waiting for */ + tleft += MINTMO; + if (tleft > (2 * MINTMO)) { + tleft = (2 * MINTMO); + } + t1 = getsecs(); + } +} + +static int +tftp_set_blksize(struct tftp_handle *h, const char *str) +{ + char *endptr; + int new_blksize; + int ret = 0; + + if (h == NULL || str == NULL) + return (ret); + + new_blksize = + (unsigned int)strtol(str, &endptr, 0); + + /* + * Only accept blksize value if it is numeric. + * RFC2348 specifies that acceptable values are 8-65464. + * Let's choose a limit less than MAXRSPACE. + */ + if (*endptr == '\0' && new_blksize >= 8 + && new_blksize <= TFTP_MAX_BLKSIZE) { + h->tftp_blksize = new_blksize; + ret = 1; + } + + return (ret); +} + +/* + * In RFC2347, the TFTP Option Acknowledgement package (OACK) + * is used to acknowledge a client's option negotiation request. + * The format of an OACK packet is: + * +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ + * | opc | opt1 | 0 | value1 | 0 | optN | 0 | valueN | 0 | + * +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ + * + * opc + * The opcode field contains a 6, for Option Acknowledgment. + * + * opt1 + * The first option acknowledgment, copied from the original + * request. + * + * value1 + * The acknowledged value associated with the first option. If + * and how this value may differ from the original request is + * detailed in the specification for the option. + * + * optN, valueN + * The final option/value acknowledgment pair. + */ +static int +tftp_parse_oack(struct tftp_handle *h, char *buf, size_t len) +{ + /* + * We parse the OACK strings into an array + * of name-value pairs. + */ + char *tftp_options[128] = { 0 }; + char *val = buf; + int i = 0; + int option_idx = 0; + int blksize_is_set = 0; + int tsize = 0; + + unsigned int orig_blksize; + + while (option_idx < 128 && i < len) { + if (buf[i] == '\0') { + if (&buf[i] > val) { + tftp_options[option_idx] = val; + val = &buf[i] + 1; + ++option_idx; + } + } + ++i; + } + + /* Save the block size we requested for sanity check later. */ + orig_blksize = h->tftp_blksize; + + /* + * Parse individual TFTP options. + * * "blksize" is specified in RFC2348. + * * "tsize" is specified in RFC2349. + */ + for (i = 0; i < option_idx; i += 2) { + if (strcasecmp(tftp_options[i], "blksize") == 0) { + if (i + 1 < option_idx) + blksize_is_set = + tftp_set_blksize(h, tftp_options[i + 1]); + } else if (strcasecmp(tftp_options[i], "tsize") == 0) { + if (i + 1 < option_idx) + tsize = strtol(tftp_options[i + 1], (char **)NULL, 10); + } else { + /* Do not allow any options we did not expect to be ACKed. */ + printf("unexpected tftp option '%s'\n", tftp_options[i]); + return (-1); + } + } + + if (!blksize_is_set) { + /* + * If TFTP blksize was not set, try defaulting + * to the legacy TFTP blksize of SEGSIZE(512) + */ + h->tftp_blksize = SEGSIZE; + } else if (h->tftp_blksize > orig_blksize) { + /* + * Server should not be proposing block sizes that + * exceed what we said we can handle. + */ + printf("unexpected blksize %u\n", h->tftp_blksize); + return (-1); + } + +#ifdef TFTP_DEBUG + printf("tftp_blksize: %u\n", h->tftp_blksize); + printf("tftp_tsize: %lu\n", h->tftp_tsize); +#endif + return 0; +} Modified: projects/altix/lib/libstand/zalloc.c ============================================================================== --- projects/altix/lib/libstand/zalloc.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/lib/libstand/zalloc.c Tue Jun 28 21:21:10 2011 (r223656) @@ -154,7 +154,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by if ((char *)ptr < (char *)mp->mp_Base || (char *)ptr + bytes > (char *)mp->mp_End || ((iaddr_t)ptr & MEMNODE_SIZE_MASK) != 0) - panic("zfree(%p,%d): wild pointer", ptr, bytes); + panic("zfree(%p,%ju): wild pointer", ptr, bytes); /* * free the segment @@ -178,7 +178,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by * range check */ if ((char *)ptr + bytes > (char *)mn) - panic("zfree(%p,%d): corrupt memlist1",ptr, bytes); + panic("zfree(%p,%ju): corrupt memlist1",ptr, bytes); /* * merge against next area or create independant area @@ -209,7 +209,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by /* NOT REACHED */ } if ((char *)ptr < (char *)mn + mn->mr_Bytes) - panic("zfree(%p,%d): corrupt memlist2", ptr, bytes); + panic("zfree(%p,%ju): corrupt memlist2", ptr, bytes); } /* * We are beyond the last MemNode, append new MemNode. Merge against Modified: projects/altix/lib/libstand/zalloc_malloc.c ============================================================================== --- projects/altix/lib/libstand/zalloc_malloc.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/lib/libstand/zalloc_malloc.c Tue Jun 28 21:21:10 2011 (r223656) @@ -110,7 +110,7 @@ Free(void *ptr, const char *file, int li return; } if (*((signed char *)res + res->ga_Bytes - 1) != -2) - panic("free: guard2 fail @ %p + %d from %s:%d", ptr, res->ga_Bytes - MALLOCALIGN, file, line); + panic("free: guard2 fail @ %p + %zu from %s:%d", ptr, res->ga_Bytes - MALLOCALIGN, file, line); *((signed char *)res + res->ga_Bytes - 1) = -1; #endif Modified: projects/altix/sys/amd64/conf/GENERIC ============================================================================== --- projects/altix/sys/amd64/conf/GENERIC Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/amd64/conf/GENERIC Tue Jun 28 21:21:10 2011 (r223656) @@ -295,6 +295,7 @@ options USB_DEBUG # enable debug msgs device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) +device xhci # XHCI PCI->USB interface (USB 3.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices (needs netgraph) device uhid # "Human Interface Devices" Modified: projects/altix/sys/amd64/ia32/ia32_sigtramp.S ============================================================================== --- projects/altix/sys/amd64/ia32/ia32_sigtramp.S Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/amd64/ia32/ia32_sigtramp.S Tue Jun 28 21:21:10 2011 (r223656) @@ -79,8 +79,20 @@ ia32_osigcode: jmp 1b +/* + * The lcall $7,$0 emulator cannot use the call gate that does an + * inter-privilege transition. The reason is that the call gate + * does not disable interrupts, and, before the swapgs is + * executed, we would have a window where the ring 0 code is + * executed with the wrong gsbase. + * + * Instead, reflect the lcall $7,$0 back to ring 3 trampoline + * which sets up the frame for int $0x80. + */ ALIGN_TEXT lcall_tramp: + cmpl $SYS_vfork,%eax + je 2f pushl %ebp movl %esp,%ebp pushl 0x24(%ebp) /* arg 6 */ @@ -91,8 +103,19 @@ lcall_tramp: pushl 0x10(%ebp) /* arg 1 */ pushl 0xc(%ebp) /* gap */ int $0x80 - leave + leavel +1: lretl +2: + /* + * vfork handling is special and relies on the libc stub saving + * the return ip in %ecx. If vfork failed, then there is no + * child which can corrupt the frame created by call gate. + */ + int $0x80 + jb 1b + addl $8,%esp + jmpl *%ecx #endif ALIGN_TEXT Modified: projects/altix/sys/amd64/include/pci_cfgreg.h ============================================================================== --- projects/altix/sys/amd64/include/pci_cfgreg.h Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/amd64/include/pci_cfgreg.h Tue Jun 28 21:21:10 2011 (r223656) @@ -1,43 +1,6 @@ /*- - * Copyright (c) 1997, Stefan Esser - * 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$ - * + * This file is in the public domain. */ +/* $FreeBSD$ */ -#define CONF1_ADDR_PORT 0x0cf8 -#define CONF1_DATA_PORT 0x0cfc - -#define CONF1_ENABLE 0x80000000ul -#define CONF1_ENABLE_CHK 0x80000000ul -#define CONF1_ENABLE_MSK 0x7f000000ul -#define CONF1_ENABLE_CHK1 0xff000001ul -#define CONF1_ENABLE_MSK1 0x80000001ul -#define CONF1_ENABLE_RES1 0x80000000ul - -int pcie_cfgregopen(uint64_t base, uint8_t minbus, uint8_t maxbus); -int pci_cfgregopen(void); -u_int32_t pci_cfgregread(int bus, int slot, int func, int reg, int bytes); -void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes); +#include Modified: projects/altix/sys/arm/at91/at91_machdep.c ============================================================================== --- projects/altix/sys/arm/at91/at91_machdep.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/arm/at91/at91_machdep.c Tue Jun 28 21:21:10 2011 (r223656) @@ -91,7 +91,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ #define KERNEL_PT_KERN 1 Modified: projects/altix/sys/arm/conf/CAMBRIA ============================================================================== --- projects/altix/sys/arm/conf/CAMBRIA Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/arm/conf/CAMBRIA Tue Jun 28 21:21:10 2011 (r223656) @@ -130,7 +130,7 @@ options ATH_DIAGAPI #options ATH_TX99_DIAG device ath_rate_sample # SampleRate tx rate control for ath -options AH_DEBUG +#options AH_DEBUG #options AH_ASSERT options AH_PRIVATE_DIAG #device ath_ar5210 Modified: projects/altix/sys/arm/sa11x0/assabet_machdep.c ============================================================================== --- projects/altix/sys/arm/sa11x0/assabet_machdep.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/arm/sa11x0/assabet_machdep.c Tue Jun 28 21:21:10 2011 (r223656) @@ -77,7 +77,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: projects/altix/sys/arm/sa11x0/sa11x0.c ============================================================================== --- projects/altix/sys/arm/sa11x0/sa11x0.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/arm/sa11x0/sa11x0.c Tue Jun 28 21:21:10 2011 (r223656) @@ -58,7 +58,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -74,7 +73,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include extern void sa11x0_activateirqs(void); Modified: projects/altix/sys/boot/Makefile ============================================================================== --- projects/altix/sys/boot/Makefile Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/Makefile Tue Jun 28 21:21:10 2011 (r223656) @@ -8,10 +8,6 @@ SUBDIR+= ficl .endif -.if ${MK_FDT} != "no" -SUBDIR+= fdt -.endif - # Pick the machine-dependent subdir based on the target architecture. ADIR= ${MACHINE:S/amd64/i386/:S/powerpc64/powerpc/} .if exists(${.CURDIR}/${ADIR}/.) Modified: projects/altix/sys/boot/Makefile.arm ============================================================================== --- projects/altix/sys/boot/Makefile.arm Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/Makefile.arm Tue Jun 28 21:21:10 2011 (r223656) @@ -1,3 +1,7 @@ # $FreeBSD$ +.if ${MK_FDT} != "no" +SUBDIR+= fdt +.endif + SUBDIR+= uboot Modified: projects/altix/sys/boot/Makefile.powerpc ============================================================================== --- projects/altix/sys/boot/Makefile.powerpc Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/Makefile.powerpc Tue Jun 28 21:21:10 2011 (r223656) @@ -1,4 +1,8 @@ # $FreeBSD$ +.if ${MK_FDT} != "no" +SUBDIR+= fdt +.endif + SUBDIR+= ofw SUBDIR+= uboot Modified: projects/altix/sys/boot/common/load_elf_obj.c ============================================================================== --- projects/altix/sys/boot/common/load_elf_obj.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/common/load_elf_obj.c Tue Jun 28 21:21:10 2011 (r223656) @@ -196,7 +196,7 @@ static int __elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, u_int64_t off) { Elf_Ehdr *hdr; - Elf_Shdr *shdr; + Elf_Shdr *shdr, *cshdr, *lshdr; vm_offset_t firstaddr, lastaddr; int i, nsym, res, ret, shdrbytes, symstrindex; @@ -294,12 +294,35 @@ __elfN(obj_loadimage)(struct preloaded_f /* Clear the whole area, including bss regions. */ kern_bzero(firstaddr, lastaddr - firstaddr); - /* Now read it all in. */ - for (i = 0; i < hdr->e_shnum; i++) { - if (shdr[i].sh_addr == 0 || shdr[i].sh_type == SHT_NOBITS) - continue; - if (kern_pread(ef->fd, (vm_offset_t)shdr[i].sh_addr, - shdr[i].sh_size, (off_t)shdr[i].sh_offset) != 0) { + /* Figure section with the lowest file offset we haven't loaded yet. */ + for (cshdr = NULL; /* none */; /* none */) + { + /* + * Find next section to load. The complexity of this loop is + * O(n^2), but with the number of sections being typically + * small, we do not care. + */ + lshdr = cshdr; + + for (i = 0; i < hdr->e_shnum; i++) { + if (shdr[i].sh_addr == 0 || + shdr[i].sh_type == SHT_NOBITS) + continue; + /* Skip sections that were loaded already. */ + if (lshdr != NULL && + lshdr->sh_offset >= shdr[i].sh_offset) + continue; + /* Find section with smallest offset. */ + if (cshdr == lshdr || + cshdr->sh_offset > shdr[i].sh_offset) + cshdr = &shdr[i]; + } + + if (cshdr == lshdr) + break; + + if (kern_pread(ef->fd, (vm_offset_t)cshdr->sh_addr, + cshdr->sh_size, (off_t)cshdr->sh_offset) != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_obj_loadimage: read failed\n"); goto out; Modified: projects/altix/sys/boot/forth/loader.rc ============================================================================== --- projects/altix/sys/boot/forth/loader.rc Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/forth/loader.rc Tue Jun 28 21:21:10 2011 (r223656) @@ -10,8 +10,5 @@ start \ Tests for password -- executes autoboot first if a password was defined check-password -\ Load in the boot menu -include /boot/beastie.4th +\ Unless set otherwise, autoboot is automatic at this point -\ Start the boot menu -beastie-start Modified: projects/altix/sys/boot/i386/libi386/biosacpi.c ============================================================================== --- projects/altix/sys/boot/i386/libi386/biosacpi.c Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/i386/libi386/biosacpi.c Tue Jun 28 21:21:10 2011 (r223656) @@ -61,7 +61,7 @@ biosacpi_detect(void) return; /* export values from the RSDP */ - sprintf(buf, "%p", VTOP(rsdp)); + sprintf(buf, "%u", VTOP(rsdp)); setenv("hint.acpi.0.rsdp", buf, 1); revision = rsdp->Revision; if (revision == 0) Modified: projects/altix/sys/boot/i386/zfsboot/zfsldr.S ============================================================================== --- projects/altix/sys/boot/i386/zfsboot/zfsldr.S Tue Jun 28 21:01:32 2011 (r223655) +++ projects/altix/sys/boot/i386/zfsboot/zfsldr.S Tue Jun 28 21:21:10 2011 (r223656) @@ -16,7 +16,6 @@ */ /* Memory Locations */ - .set MEM_REL,0x700 # Relocation address .set MEM_ARG,0x900 # Arguments .set MEM_ORG,0x7c00 # Origin .set MEM_BUF,0x8000 # Load area @@ -38,43 +37,6 @@ .globl start .code16 -start: jmp main # Start recognizably - -/* - * This is the start of a standard BIOS Parameter Block (BPB). Most bootable - * FAT disks have this at the start of their MBR. While normal BIOS's will - * work fine without this section, IBM's El Torito emulation "fixes" up the - * BPB by writing into the memory copy of the MBR. Rather than have data - * written into our code, we'll define a BPB to work around it. - * The data marked with (T) indicates a field required for a ThinkPad to - * recognize the disk and (W) indicates fields written from IBM BIOS code. - * The use of the BPB is based on what OpenBSD and NetBSD implemented in - * their boot code but the required fields were determined by trial and error. - * - * Note: If additional space is needed in boot1, one solution would be to - * move the "prompt" message data (below) to replace the OEM ID. - */ - .org 0x03, 0x00 -oemid: .space 0x08, 0x00 # OEM ID - - .org 0x0b, 0x00 -bpb: .word 512 # sector size (T) - .byte 0 # sectors/clustor - .word 0 # reserved sectors - .byte 0 # number of FATs - .word 0 # root entries - .word 0 # small sectors - .byte 0 # media type (W) - .word 0 # sectors/fat - .word 18 # sectors per track (T) - .word 2 # number of heads (T) - .long 0 # hidden sectors (W) - .long 0 # large sectors - - .org 0x24, 0x00 -ebpb: .byte 0 # BIOS physical drive number (W) - - .org 0x25,0x90 /* * Load the rest of zfsboot2 and BTX up, copy the parts to the right locations, * and start it all up. @@ -84,33 +46,24 @@ ebpb: .byte 0 # BIOS physical drive nu * Setup the segment registers to flat addressing (segment 0) and setup the * stack to end just below the start of our code. */ -main: cld # String ops inc +start: cld # String ops inc xor %cx,%cx # Zero mov %cx,%es # Address mov %cx,%ds # data mov %cx,%ss # Set up mov $start,%sp # stack /* - * Relocate ourself to MEM_REL. Since %cx == 0, the inc %ch sets - * %cx == 0x100. - */ - mov %sp,%si # Source - mov $MEM_REL,%di # Destination - incb %ch # Word count - rep # Copy - movsw # code -/* - * If we are on a hard drive, then load the MBR and look for the first - * FreeBSD slice. We use the fake partition entry below that points to - * the MBR when we call nread. The first pass looks for the first active - * FreeBSD slice. The second pass looks for the first non-active FreeBSD - * slice if the first one fails. - */ - mov $part4,%si # Partition - cmpb $0x80,%dl # Hard drive? - jb main.4 # No - movb $0x1,%dh # Block count - callw nread # Read MBR + * Load the MBR and look for the first FreeBSD slice. We use the fake + * partition entry below that points to the MBR when we call read. + * The first pass looks for the first active FreeBSD slice. The + * second pass looks for the first non-active FreeBSD slice if the + * first one fails. + */ + call check_edd # Make sure EDD works + mov $part4,%si # Dummy partition + xor %eax,%eax # Read MBR + movl $MEM_BUF,%ebx # from first + call read # sector mov $0x1,%cx # Two passes main.1: mov $MEM_BUF+PRT_OFF,%si # Partition table movb $0x1,%dh # Partition @@ -131,60 +84,55 @@ main.3: add $0x10,%si # Next entry */ mov $msg_part,%si # Message jmp error # Error -/* - * Floppies use partition 0 of drive 0. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Jun 29 08:50:58 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FF52106564A; Wed, 29 Jun 2011 08:50:58 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F187A8FC08; Wed, 29 Jun 2011 08:50:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5T8ovhd086840; Wed, 29 Jun 2011 08:50:57 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5T8ovWS086825; Wed, 29 Jun 2011 08:50:57 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106290850.p5T8ovWS086825@svn.freebsd.org> From: Attilio Rao Date: Wed, 29 Jun 2011 08:50:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223664 - in projects/largeSMP: contrib/top etc/rc.d sbin/growfs sbin/hastd sbin/ipfw share/mk sys/dev/gem sys/fs/nfs sys/fs/nfsclient sys/geom/part sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2011 08:50:58 -0000 Author: attilio Date: Wed Jun 29 08:50:57 2011 New Revision: 223664 URL: http://svn.freebsd.org/changeset/base/223664 Log: MFC Modified: projects/largeSMP/etc/rc.d/quota projects/largeSMP/sbin/growfs/growfs.8 projects/largeSMP/sbin/growfs/growfs.c projects/largeSMP/sbin/hastd/activemap.c projects/largeSMP/sbin/hastd/primary.c projects/largeSMP/sbin/ipfw/main.c projects/largeSMP/sys/dev/gem/if_gem.c projects/largeSMP/sys/dev/gem/if_gemvar.h projects/largeSMP/sys/fs/nfs/nfsproto.h projects/largeSMP/sys/fs/nfsclient/nfs_clport.c projects/largeSMP/sys/fs/nfsclient/nfs_clrpcops.c projects/largeSMP/sys/geom/part/g_part_gpt.c projects/largeSMP/sys/sys/soundcard.h Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/compiler-rt/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/tnftp/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/etc/rc.d/quota ============================================================================== --- projects/largeSMP/etc/rc.d/quota Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/etc/rc.d/quota Wed Jun 29 08:50:57 2011 (r223664) @@ -14,6 +14,7 @@ name="quota" rcvar=`set_rcvar` +load_rc_config $name start_cmd="quota_start" stop_cmd="/usr/sbin/quotaoff ${quotaoff_flags}" @@ -30,5 +31,4 @@ quota_start() echo ' done.' } -load_rc_config $name run_rc_command "$1" Modified: projects/largeSMP/sbin/growfs/growfs.8 ============================================================================== --- projects/largeSMP/sbin/growfs/growfs.8 Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sbin/growfs/growfs.8 Wed Jun 29 08:50:57 2011 (r223664) @@ -37,12 +37,12 @@ .\" $TSHeader: src/sbin/growfs/growfs.8,v 1.3 2000/12/12 19:31:00 tomsoft Exp $ .\" $FreeBSD$ .\" -.Dd June 22, 2011 +.Dd June 29, 2011 .Dt GROWFS 8 .Os .Sh NAME .Nm growfs -.Nd expand an existing UFS filesystem +.Nd expand an existing UFS file system .Sh SYNOPSIS .Nm .Op Fl Ny @@ -58,8 +58,8 @@ Before starting .Nm the disk must be labeled to a bigger size using .Xr bsdlabel 8 . -If you wish to grow a filesystem beyond the boundary of -the slice it resides in, you must resize the slice using +If you wish to grow a file system beyond the boundary of +the slice it resides in, you must re-size the slice using .Xr gpart 8 before running .Nm . @@ -67,17 +67,17 @@ If you are using volumes you must enlarg .Xr gvinum 8 . The .Nm -utility extends the size of the filesystem on the specified special file. +utility extends the size of the file system on the specified special file. Currently .Nm -can only enlarge unmounted filesystems. -Do not try enlarging a mounted filesystem, your system may panic and you will -not be able to use the filesystem any longer. +can only enlarge unmounted file systems. +Do not try enlarging a mounted file system, your system may panic and you will +not be able to use the file system any longer. Most of the .Xr newfs 8 options cannot be changed by .Nm . -In fact, you can only increase the size of the filesystem. +In fact, you can only increase the size of the file system. Use .Xr tunefs 8 for other changes. @@ -86,8 +86,8 @@ The following options are available: .Bl -tag -width indent .It Fl N .Dq Test mode . -Causes the new filesystem parameters to be printed out without actually -enlarging the filesystem. +Causes the new file system parameters to be printed out without actually +enlarging the file system. .It Fl y .Dq Expert mode . Usually @@ -102,12 +102,12 @@ So use this option with great care! .It Fl s Ar size Determines the .Ar size -of the filesystem after enlarging in sectors. +of the file system after enlarging in sectors. This value defaults to the size of the raw partition specified in .Ar special (in other words, .Nm -will enlarge the filesystem to the size of the entire partition). +will enlarge the file system to the size of the entire partition). .El .Sh EXAMPLES .Dl growfs -s 4194304 /dev/vinum/testvol @@ -122,9 +122,9 @@ up to 2GB if there is enough space in .Xr ffsinfo 8 , .Xr fsck 8 , .Xr gpart 8 , +.Xr gvinum 8 , .Xr newfs 8 , -.Xr tunefs 8 , -.Xr gvinum 8 +.Xr tunefs 8 .Sh HISTORY The .Nm @@ -144,12 +144,12 @@ There may be cases on .Fx 3.x only, when .Nm -does not recognize properly whether or not the filesystem is mounted and +does not recognize properly whether or not the file system is mounted and exits with an error message. Then please use .Nm .Fl y -if you are sure that the filesystem is not mounted. +if you are sure that the file system is not mounted. It is also recommended to always use .Xr fsck 8 after enlarging (just to be on the safe side). @@ -183,8 +183,8 @@ on the first cylinder group to verify th in the CYLINDER SUMMARY (internal cs) of the CYLINDER GROUP .Em cgr0 has enough blocks. -As a rule of thumb for default filesystem parameters one block is needed for -every 2 GB of total filesystem size. +As a rule of thumb for default file system parameters one block is needed for +every 2 GB of total file system size. .Pp Normally .Nm Modified: projects/largeSMP/sbin/growfs/growfs.c ============================================================================== --- projects/largeSMP/sbin/growfs/growfs.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sbin/growfs/growfs.c Wed Jun 29 08:50:57 2011 (r223664) @@ -160,7 +160,7 @@ static void get_dev_size(int, int *); /* ************************************************************ growfs ***** */ /* - * Here we actually start growing the filesystem. We basically read the + * Here we actually start growing the file system. We basically read the * cylinder summary from the first cylinder group as we want to update * this on the fly during our various operations. First we handle the * changes in the former last cylinder group. Afterwards we create all new @@ -231,7 +231,7 @@ growfs(int fsi, int fso, unsigned int Nf updjcg(osblock.fs_ncg-1, modtime, fsi, fso, Nflag); /* - * Dump out summary information about filesystem. + * Dump out summary information about file system. */ # define B2MBFACTOR (1 / (1024.0 * 1024.0)) printf("growfs: %.1fMB (%jd sectors) block size %d, fragment size %d\n", @@ -435,7 +435,7 @@ initcg(int cylno, time_t modtime, int fs if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) { /* * This should never happen as we would have had that panic - * already on filesystem creation + * already on file system creation */ errx(37, "panic: cylinder group too big"); } @@ -446,7 +446,7 @@ initcg(int cylno, time_t modtime, int fs acg.cg_cs.cs_nifree--; } /* - * For the old filesystem, we have to initialize all the inodes. + * For the old file system, we have to initialize all the inodes. */ if (sblock.fs_magic == FS_UFS1_MAGIC) { bzero(iobuf, sblock.fs_bsize); @@ -670,7 +670,7 @@ cond_bl_upd(ufs2_daddr_t *block, struct /* ************************************************************ updjcg ***** */ /* * Here we do all needed work for the former last cylinder group. It has to be - * changed in any case, even if the filesystem ended exactly on the end of + * changed in any case, even if the file system ended exactly on the end of * this group, as there is some slightly inconsistent handling of the number * of cylinders in the cylinder group. We start again by reading the cylinder * group from disk. If the last block was not fully available, we first handle @@ -780,7 +780,7 @@ updjcg(int cylno, time_t modtime, int fs * the rotational layout tables and the cluster summary. This is * also done per fragment for the first new block if the old file * system end was not on a block boundary, per fragment for the new - * last block if the new filesystem end is not on a block boundary, + * last block if the new file system end is not on a block boundary, * and per block for all space in between. * * Handle the first new block here if it was partially available @@ -804,7 +804,7 @@ updjcg(int cylno, time_t modtime, int fs /* * Check if the fragment just created could join an * already existing fragment at the former end of the - * filesystem. + * file system. */ if(isblock(&sblock, cg_blksfree(&acg), ((osblock.fs_size - cgbase(&sblock, cylno))/ @@ -931,7 +931,7 @@ updjcg(int cylno, time_t modtime, int fs * Option (1) is considered to be less intrusive to the structure of the file- * system. So we try to stick to that whenever possible. If there is not enough * space in the cylinder group containing the cylinder summary we have to use - * method (2). In case of active snapshots in the filesystem we probably can + * method (2). In case of active snapshots in the file system we probably can * completely avoid implementing copy on write if we stick to method (2) only. */ static void @@ -1287,7 +1287,7 @@ updcsloc(time_t modtime, int fsi, int fs /* * No cluster handling is needed here, as there was at least * one fragment in use by the cylinder summary in the old - * filesystem. + * file system. * No block-free counter handling here as this block was not * a free block. */ @@ -1597,7 +1597,7 @@ wtfs(ufs2_daddr_t bno, size_t size, void /* * Here we allocate a free block in the current cylinder group. It is assumed, * that acg contains the current cylinder group. As we may take a block from - * somewhere in the filesystem we have to handle cluster summary here. + * somewhere in the file system we have to handle cluster summary here. */ static ufs2_daddr_t alloc(void) @@ -1939,9 +1939,9 @@ get_dev_size(int fd, int *size) /* ************************************************************** main ***** */ /* * growfs(8) is a utility which allows to increase the size of an existing - * ufs filesystem. Currently this can only be done on unmounted filesystem. + * ufs file system. Currently this can only be done on unmounted file system. * It recognizes some command line options to specify the new desired size, - * and it does some basic checkings. The old filesystem size is determined + * and it does some basic checkings. The old file system size is determined * and after some more checks like we can really access the new last block * on the disk etc. we calculate the new parameters for the superblock. After * having done this we just call growfs() which will do the work. Before @@ -1953,11 +1953,11 @@ get_dev_size(int fd, int *size) * are lucky, then we only have to handle our blocks to be relocated in that * way. * Also we have to consider in what order we actually update the critical - * data structures of the filesystem to make sure, that in case of a disaster + * data structures of the file system to make sure, that in case of a disaster * fsck(8) is still able to restore any lost data. * The foreseen last step then will be to provide for growing even mounted - * filesystems. There we have to extend the mount() system call to provide - * userland access to the filesystem locking facility. + * file systems. There we have to extend the mount() system call to provide + * userland access to the file system locking facility. */ int main(int argc, char **argv) @@ -2088,7 +2088,7 @@ main(int argc, char **argv) } /* - * Check if that partition is suitable for growing a filesystem. + * Check if that partition is suitable for growing a file system. */ if (p_size < 1) { errx(1, "partition is unavailable"); @@ -2146,7 +2146,7 @@ main(int argc, char **argv) if(ExpertFlag == 0) { for(j=0; jam_keepdirty, kd, kd_next); TAILQ_INSERT_HEAD(&->am_keepdirty, kd, kd_next); - return; + return (false); } /* * Add new element, but first remove the most unused one if @@ -238,6 +238,8 @@ keepdirty_add(struct activemap *amp, int amp->am_nkeepdirty++; TAILQ_INSERT_HEAD(&->am_keepdirty, kd, kd_next); } + + return (true); } static void @@ -308,9 +310,9 @@ activemap_write_start(struct activemap * assert(!bit_test(amp->am_memmap, ext)); bit_set(amp->am_memmap, ext); amp->am_ndirty++; - modified = true; } - keepdirty_add(amp, ext); + if (keepdirty_add(amp, ext)) + modified = true; } return (modified); @@ -345,7 +347,8 @@ activemap_write_complete(struct activema if (--amp->am_memtab[ext] == 0) { bit_clear(amp->am_memmap, ext); amp->am_ndirty--; - modified = true; + if (keepdirty_find(amp, ext) == NULL) + modified = true; } } Modified: projects/largeSMP/sbin/hastd/primary.c ============================================================================== --- projects/largeSMP/sbin/hastd/primary.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sbin/hastd/primary.c Wed Jun 29 08:50:57 2011 (r223664) @@ -1687,8 +1687,11 @@ ggate_send_thread(void *arg) } if (ggio->gctl_error == 0 && ggio->gctl_cmd == BIO_WRITE) { mtx_lock(&res->hr_amp_lock); - activemap_write_complete(res->hr_amp, - ggio->gctl_offset, ggio->gctl_length); + if (activemap_write_complete(res->hr_amp, + ggio->gctl_offset, ggio->gctl_length)) { + res->hr_stat_activemap_update++; + (void)hast_activemap_flush(res); + } mtx_unlock(&res->hr_amp_lock); } if (ggio->gctl_cmd == BIO_WRITE) { Modified: projects/largeSMP/sbin/ipfw/main.c ============================================================================== --- projects/largeSMP/sbin/ipfw/main.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sbin/ipfw/main.c Wed Jun 29 08:50:57 2011 (r223664) @@ -262,7 +262,7 @@ ipfw_main(int oldac, char **oldav) save_av = av; optind = optreset = 1; /* restart getopt() */ - while ((ch = getopt(ac, av, "abcdefhinNqs:STtv")) != -1) + while ((ch = getopt(ac, av, "abcdefhinNp:qs:STtv")) != -1) switch (ch) { case 'a': do_acct = 1; @@ -306,6 +306,10 @@ ipfw_main(int oldac, char **oldav) co.do_resolv = 1; break; + case 'p': + errx(EX_USAGE, "An absolute pathname must be used " + "with -p option."); + case 'q': co.do_quiet = 1; break; @@ -603,9 +607,12 @@ main(int ac, char *av[]) * as a file to be preprocessed. */ - if (ac > 1 && av[ac - 1][0] == '/' && access(av[ac - 1], R_OK) == 0) - ipfw_readfile(ac, av); - else { + if (ac > 1 && av[ac - 1][0] == '/') { + if (access(av[ac - 1], R_OK) == 0) + ipfw_readfile(ac, av); + else + err(EX_USAGE, "pathname: %s", av[ac - 1]); + } else { if (ipfw_main(ac, av)) { errx(EX_USAGE, "usage: ipfw [options]\n" Modified: projects/largeSMP/sys/dev/gem/if_gem.c ============================================================================== --- projects/largeSMP/sys/dev/gem/if_gem.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/dev/gem/if_gem.c Wed Jun 29 08:50:57 2011 (r223664) @@ -121,7 +121,7 @@ static void gem_rint_timeout(void *arg); #endif static inline void gem_rxcksum(struct mbuf *m, uint64_t flags); static void gem_rxdrain(struct gem_softc *sc); -static void gem_setladrf(struct gem_softc *sc); +static void gem_setladrf(struct gem_softc *sc, u_int enable); static void gem_start(struct ifnet *ifp); static void gem_start_locked(struct ifnet *ifp); static void gem_stop(struct ifnet *ifp, int disable); @@ -705,7 +705,7 @@ gem_reset_rx(struct gem_softc *sc) * Resetting while DMA is in progress can cause a bus hang, so we * disable DMA first. */ - gem_disable_rx(sc); + (void)gem_disable_rx(sc); GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, 0); GEM_BANK1_BARRIER(sc, GEM_RX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); @@ -715,7 +715,7 @@ gem_reset_rx(struct gem_softc *sc) /* Wait 5ms extra. */ DELAY(5000); - /* Finally, reset the ERX. */ + /* Reset the ERX. */ GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX); GEM_BANK2_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); @@ -724,6 +724,16 @@ gem_reset_rx(struct gem_softc *sc) device_printf(sc->sc_dev, "cannot reset receiver\n"); return (1); } + + /* Finally, reset RX MAC. */ + GEM_BANK1_WRITE_4(sc, GEM_MAC_RXRESET, 1); + GEM_BANK1_BARRIER(sc, GEM_MAC_RXRESET, 4, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RXRESET, 1, 0)) { + device_printf(sc->sc_dev, "cannot reset RX MAC\n"); + return (1); + } + return (0); } @@ -766,12 +776,17 @@ gem_reset_rxdma(struct gem_softc *sc) GEM_BANK1_WRITE_4(sc, GEM_RX_PAUSE_THRESH, (3 * sc->sc_rxfifosize / 256) | ((sc->sc_rxfifosize / 256) << 12)); + /* + * Clear the RX filter and reprogram it. This will also set the + * current RX MAC configuration. + */ + gem_setladrf(sc, 0); GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, GEM_BANK1_READ_4(sc, GEM_RX_CONFIG) | GEM_RX_CONFIG_RXDMA_EN); GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_MASK, GEM_MAC_RX_DONE | GEM_MAC_RX_FRAME_CNT); GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, - GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG) | GEM_MAC_RX_ENABLE); + sc->sc_mac_rxcfg | GEM_MAC_RX_ENABLE); } static int @@ -782,7 +797,7 @@ gem_reset_tx(struct gem_softc *sc) * Resetting while DMA is in progress can cause a bus hang, so we * disable DMA first. */ - gem_disable_tx(sc); + (void)gem_disable_tx(sc); GEM_BANK1_WRITE_4(sc, GEM_TX_CONFIG, 0); GEM_BANK1_BARRIER(sc, GEM_TX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); @@ -812,8 +827,10 @@ gem_disable_rx(struct gem_softc *sc) GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG) & ~GEM_MAC_RX_ENABLE); GEM_BANK1_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - return (GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, - 0)); + if (GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)) + return (1); + device_printf(sc->sc_dev, "cannot disable RX MAC\n"); + return (0); } static int @@ -824,8 +841,10 @@ gem_disable_tx(struct gem_softc *sc) GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG) & ~GEM_MAC_TX_ENABLE); GEM_BANK1_BARRIER(sc, GEM_MAC_TX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - return (GEM_BANK1_BITWAIT(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, - 0)); + if (GEM_BANK1_BITWAIT(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)) + return (1); + device_printf(sc->sc_dev, "cannot disable TX MAC\n"); + return (0); } static int @@ -960,7 +979,7 @@ gem_init_locked(struct gem_softc *sc) gem_init_regs(sc); /* step 5. RX MAC registers & counters */ - gem_setladrf(sc); + gem_setladrf(sc, 0); /* step 6 & 7. Program Descriptor Ring Base Addresses. */ /* NOTE: we use only 32-bit DMA addresses here. */ @@ -1050,21 +1069,14 @@ gem_init_locked(struct gem_softc *sc) /* step 12. RX_MAC Configuration Register */ v = GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG); v |= GEM_MAC_RX_ENABLE | GEM_MAC_RX_STRIP_CRC; - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)) - device_printf(sc->sc_dev, "cannot configure RX MAC\n"); + (void)gem_disable_rx(sc); + sc->sc_mac_rxcfg = v & ~GEM_MAC_RX_ENABLE; GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v); /* step 13. TX_MAC Configuration Register */ v = GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG); v |= GEM_MAC_TX_ENABLE; - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_MAC_TX_CONFIG, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)) - device_printf(sc->sc_dev, "cannot configure TX MAC\n"); + (void)gem_disable_tx(sc); GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, v); /* step 14. Issue Transmit Pending command. */ @@ -1588,7 +1600,7 @@ gem_rint(struct gem_softc *sc) * the buffer that's already attached to this descriptor. */ if (gem_add_rxbuf(sc, sc->sc_rxptr) != 0) { - ifp->if_ierrors++; + ifp->if_iqdrops++; GEM_INIT_RXDESC(sc, sc->sc_rxptr); m = NULL; } @@ -2028,8 +2040,8 @@ gem_mii_statchg(device_t dev) * the GEM Gigabit Ethernet ASIC Specification. */ - rxcfg = GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG); - rxcfg &= ~(GEM_MAC_RX_CARR_EXTEND | GEM_MAC_RX_ENABLE); + rxcfg = sc->sc_mac_rxcfg; + rxcfg &= ~GEM_MAC_RX_CARR_EXTEND; txcfg = GEM_MAC_TX_ENA_IPG0 | GEM_MAC_TX_NGU | GEM_MAC_TX_NGU_LIMIT; if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_FDX) != 0) txcfg |= GEM_MAC_TX_IGN_CARRIER | GEM_MAC_TX_IGN_COLLIS; @@ -2037,17 +2049,9 @@ gem_mii_statchg(device_t dev) rxcfg |= GEM_MAC_RX_CARR_EXTEND; txcfg |= GEM_MAC_TX_CARR_EXTEND; } - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_MAC_TX_CONFIG, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)) - device_printf(sc->sc_dev, "cannot disable TX MAC\n"); + (void)gem_disable_tx(sc); GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, txcfg); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)) - device_printf(sc->sc_dev, "cannot disable RX MAC\n"); + (void)gem_disable_rx(sc); GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, rxcfg); v = GEM_BANK1_READ_4(sc, GEM_MAC_CONTROL_CONFIG) & @@ -2092,6 +2096,7 @@ gem_mii_statchg(device_t dev) v |= GEM_MAC_XIF_FDPLX_LED; GEM_BANK1_WRITE_4(sc, GEM_MAC_XIF_CONFIG, v); + sc->sc_mac_rxcfg = rxcfg; if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && (sc->sc_flags & GEM_LINK) != 0) { GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, @@ -2147,7 +2152,7 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && ((ifp->if_flags ^ sc->sc_ifflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) - gem_setladrf(sc); + gem_setladrf(sc, 1); else gem_init_locked(sc); } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) @@ -2164,7 +2169,8 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, case SIOCADDMULTI: case SIOCDELMULTI: GEM_LOCK(sc); - gem_setladrf(sc); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + gem_setladrf(sc, 1); GEM_UNLOCK(sc); break; case SIOCGIFMEDIA: @@ -2189,7 +2195,7 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, } static void -gem_setladrf(struct gem_softc *sc) +gem_setladrf(struct gem_softc *sc, u_int enable) { struct ifnet *ifp = sc->sc_ifp; struct ifmultiaddr *inm; @@ -2199,24 +2205,20 @@ gem_setladrf(struct gem_softc *sc) GEM_LOCK_ASSERT(sc, MA_OWNED); - /* Get the current RX configuration. */ - v = GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG); - /* - * Turn off promiscuous mode, promiscuous group mode (all multicast), - * and hash filter. Depending on the case, the right bit will be - * enabled. + * Turn off the RX MAC and the hash filter as required by the Sun GEM + * programming restrictions. */ - v &= ~(GEM_MAC_RX_PROMISCUOUS | GEM_MAC_RX_HASH_FILTER | - GEM_MAC_RX_PROMISC_GRP); - + v = sc->sc_mac_rxcfg & ~GEM_MAC_RX_HASH_FILTER; GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v); GEM_BANK1_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_HASH_FILTER, - 0)) - device_printf(sc->sc_dev, "cannot disable RX hash filter\n"); + if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_HASH_FILTER | + GEM_MAC_RX_ENABLE, 0)) + device_printf(sc->sc_dev, + "cannot disable RX MAC or hash filter\n"); + v &= ~(GEM_MAC_RX_PROMISCUOUS | GEM_MAC_RX_PROMISC_GRP); if ((ifp->if_flags & IFF_PROMISC) != 0) { v |= GEM_MAC_RX_PROMISCUOUS; goto chipit; @@ -2262,5 +2264,8 @@ gem_setladrf(struct gem_softc *sc) hash[i]); chipit: + sc->sc_mac_rxcfg = v; + if (enable) + v |= GEM_MAC_RX_ENABLE; GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v); } Modified: projects/largeSMP/sys/dev/gem/if_gemvar.h ============================================================================== --- projects/largeSMP/sys/dev/gem/if_gemvar.h Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/dev/gem/if_gemvar.h Wed Jun 29 08:50:57 2011 (r223664) @@ -173,6 +173,8 @@ struct gem_softc { u_int sc_rxptr; /* next ready RX descriptor/state */ u_int sc_rxfifosize; /* RX FIFO size (bytes) */ + uint32_t sc_mac_rxcfg; /* RX MAC conf. % GEM_MAC_RX_ENABLE */ + int sc_ifflags; u_long sc_csum_features; }; Modified: projects/largeSMP/sys/fs/nfs/nfsproto.h ============================================================================== --- projects/largeSMP/sys/fs/nfs/nfsproto.h Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/fs/nfs/nfsproto.h Wed Jun 29 08:50:57 2011 (r223664) @@ -868,15 +868,24 @@ struct nfsv3_sattr { * NFSATTRBIT_WRITEGETATTR0 - bits 0<->31 */ #define NFSATTRBIT_WRITEGETATTR0 \ - (NFSATTRBM_CHANGE | \ + (NFSATTRBM_SUPPORTEDATTRS | \ + NFSATTRBM_TYPE | \ + NFSATTRBM_CHANGE | \ NFSATTRBM_SIZE | \ - NFSATTRBM_FSID) + NFSATTRBM_FSID | \ + NFSATTRBM_FILEID | \ + NFSATTRBM_MAXREAD) /* * NFSATTRBIT_WRITEGETATTR1 - bits 32<->63 */ #define NFSATTRBIT_WRITEGETATTR1 \ - (NFSATTRBM_TIMEMETADATA | \ + (NFSATTRBM_MODE | \ + NFSATTRBM_NUMLINKS | \ + NFSATTRBM_RAWDEV | \ + NFSATTRBM_SPACEUSED | \ + NFSATTRBM_TIMEACCESS | \ + NFSATTRBM_TIMEMETADATA | \ NFSATTRBM_TIMEMODIFY) /* Modified: projects/largeSMP/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- projects/largeSMP/sys/fs/nfsclient/nfs_clport.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/fs/nfsclient/nfs_clport.c Wed Jun 29 08:50:57 2011 (r223664) @@ -388,6 +388,7 @@ nfscl_loadattrcache(struct vnode **vpp, np->n_vattr.na_mtime = nap->na_mtime; np->n_vattr.na_ctime = nap->na_ctime; np->n_vattr.na_fsid = nap->na_fsid; + np->n_vattr.na_mode = nap->na_mode; } else { NFSBCOPY((caddr_t)nap, (caddr_t)&np->n_vattr, sizeof (struct nfsvattr)); Modified: projects/largeSMP/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- projects/largeSMP/sys/fs/nfsclient/nfs_clrpcops.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/fs/nfsclient/nfs_clrpcops.c Wed Jun 29 08:50:57 2011 (r223664) @@ -1527,8 +1527,8 @@ nfsrpc_writerpc(vnode_t vp, struct uio * * deadlock, is that the upcall times out and allows * the write to complete. However, progress is so slow * that it might just as well be deadlocked. - * So, we just get the attributes that change with each - * write Op. + * As such, we get the rest of the attributes, but not + * Owner or Owner_group. * nb: nfscl_loadattrcache() needs to be told that these * partial attributes from a write rpc are being * passed in, via a argument flag. Modified: projects/largeSMP/sys/geom/part/g_part_gpt.c ============================================================================== --- projects/largeSMP/sys/geom/part/g_part_gpt.c Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/geom/part/g_part_gpt.c Wed Jun 29 08:50:57 2011 (r223664) @@ -88,6 +88,7 @@ struct g_part_gpt_entry { static void g_gpt_printf_utf16(struct sbuf *, uint16_t *, size_t); static void g_gpt_utf8_to_utf16(const uint8_t *, uint16_t *, size_t); +static void g_gpt_set_defaults(struct g_part_table *, struct g_provider *); static int g_part_gpt_add(struct g_part_table *, struct g_part_entry *, struct g_part_parms *); @@ -493,12 +494,7 @@ g_part_gpt_create(struct g_part_table *b table->mbr[DOSPARTOFF + 6] = 0xff; /* esect */ table->mbr[DOSPARTOFF + 7] = 0xff; /* ecyl */ le32enc(table->mbr + DOSPARTOFF + 8, 1); /* start */ - le32enc(table->mbr + DOSPARTOFF + 12, MIN(last, 0xffffffffLL)); - - table->lba[GPT_ELT_PRIHDR] = 1; - table->lba[GPT_ELT_PRITBL] = 2; - table->lba[GPT_ELT_SECHDR] = last; - table->lba[GPT_ELT_SECTBL] = last - tblsz; + le32enc(table->mbr + DOSPARTOFF + 12, MIN(last, UINT32_MAX)); /* Allocate space for the header */ table->hdr = g_malloc(sizeof(struct gpt_hdr), M_WAITOK | M_ZERO); @@ -506,14 +502,11 @@ g_part_gpt_create(struct g_part_table *b bcopy(GPT_HDR_SIG, table->hdr->hdr_sig, sizeof(table->hdr->hdr_sig)); table->hdr->hdr_revision = GPT_HDR_REVISION; table->hdr->hdr_size = offsetof(struct gpt_hdr, padding); - table->hdr->hdr_lba_start = 2 + tblsz; - table->hdr->hdr_lba_end = last - tblsz - 1; kern_uuidgen(&table->hdr->hdr_uuid, 1); table->hdr->hdr_entries = basetable->gpt_entries; table->hdr->hdr_entsz = sizeof(struct gpt_ent); - basetable->gpt_first = table->hdr->hdr_lba_start; - basetable->gpt_last = table->hdr->hdr_lba_end; + g_gpt_set_defaults(basetable, pp); return (0); } @@ -815,32 +808,10 @@ g_part_gpt_read(struct g_part_table *bas static int g_part_gpt_recover(struct g_part_table *basetable) { - struct g_part_gpt_table *table; - struct g_provider *pp; - uint64_t last; - size_t tblsz; - - table = (struct g_part_gpt_table *)basetable; - pp = LIST_FIRST(&basetable->gpt_gp->consumer)->provider; - last = pp->mediasize / pp->sectorsize - 1; - tblsz = (table->hdr->hdr_entries * table->hdr->hdr_entsz + - pp->sectorsize - 1) / pp->sectorsize; - - table->lba[GPT_ELT_PRIHDR] = 1; - table->lba[GPT_ELT_PRITBL] = 2; - table->lba[GPT_ELT_SECHDR] = last; - table->lba[GPT_ELT_SECTBL] = last - tblsz; - table->state[GPT_ELT_PRIHDR] = GPT_STATE_OK; - table->state[GPT_ELT_PRITBL] = GPT_STATE_OK; - table->state[GPT_ELT_SECHDR] = GPT_STATE_OK; - table->state[GPT_ELT_SECTBL] = GPT_STATE_OK; - table->hdr->hdr_lba_start = 2 + tblsz; - table->hdr->hdr_lba_end = last - tblsz - 1; - basetable->gpt_first = table->hdr->hdr_lba_start; - basetable->gpt_last = table->hdr->hdr_lba_end; + g_gpt_set_defaults(basetable, + LIST_FIRST(&basetable->gpt_gp->consumer)->provider); basetable->gpt_corrupt = 0; - return (0); } @@ -1039,6 +1010,34 @@ g_part_gpt_write(struct g_part_table *ba } static void +g_gpt_set_defaults(struct g_part_table *basetable, struct g_provider *pp) +{ + struct g_part_gpt_table *table; + quad_t last; + size_t tblsz; + + table = (struct g_part_gpt_table *)basetable; + last = pp->mediasize / pp->sectorsize - 1; + tblsz = (basetable->gpt_entries * sizeof(struct gpt_ent) + + pp->sectorsize - 1) / pp->sectorsize; + + table->lba[GPT_ELT_PRIHDR] = 1; + table->lba[GPT_ELT_PRITBL] = 2; + table->lba[GPT_ELT_SECHDR] = last; + table->lba[GPT_ELT_SECTBL] = last - tblsz; + table->state[GPT_ELT_PRIHDR] = GPT_STATE_OK; + table->state[GPT_ELT_PRITBL] = GPT_STATE_OK; + table->state[GPT_ELT_SECHDR] = GPT_STATE_OK; + table->state[GPT_ELT_SECTBL] = GPT_STATE_OK; + + table->hdr->hdr_lba_start = 2 + tblsz; + table->hdr->hdr_lba_end = last - tblsz - 1; + + basetable->gpt_first = table->hdr->hdr_lba_start; + basetable->gpt_last = table->hdr->hdr_lba_end; +} + +static void g_gpt_printf_utf16(struct sbuf *sb, uint16_t *str, size_t len) { u_int bo; Modified: projects/largeSMP/sys/sys/soundcard.h ============================================================================== --- projects/largeSMP/sys/sys/soundcard.h Wed Jun 29 08:32:37 2011 (r223663) +++ projects/largeSMP/sys/sys/soundcard.h Wed Jun 29 08:50:57 2011 (r223664) @@ -311,8 +311,7 @@ typedef struct _snd_capabilities { * IOCTL Commands for /dev/sequencer */ -#define SNDCTL_SEQ_HALT _IO ('Q', 0) -#define SNDCTL_SEQ_RESET SNDCTL_SEQ_HALT /* Historic interface */ +#define SNDCTL_SEQ_RESET _IO ('Q', 0) #define SNDCTL_SEQ_SYNC _IO ('Q', 1) #define SNDCTL_SYNTH_INFO _IOWR('Q', 2, struct synth_info) #define SNDCTL_SEQ_CTRLRATE _IOWR('Q', 3, int) /* Set/get timer res.(hz) */ @@ -776,7 +775,8 @@ typedef struct { * IOCTL commands for /dev/dsp and /dev/audio */ -#define SNDCTL_DSP_RESET _IO ('P', 0) +#define SNDCTL_DSP_HALT _IO ('P', 0) +#define SNDCTL_DSP_RESET SNDCTL_DSP_HALT #define SNDCTL_DSP_SYNC _IO ('P', 1) #define SNDCTL_DSP_SPEED _IOWR('P', 2, int) #define SNDCTL_DSP_STEREO _IOWR('P', 3, int) From owner-svn-src-projects@FreeBSD.ORG Wed Jun 29 18:19:41 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10354106566C; Wed, 29 Jun 2011 18:19:41 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA7408FC19; Wed, 29 Jun 2011 18:19:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5TIJeVQ008757; Wed, 29 Jun 2011 18:19:40 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5TIJehF008755; Wed, 29 Jun 2011 18:19:40 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201106291819.p5TIJehF008755@svn.freebsd.org> From: Mark Linimon Date: Wed, 29 Jun 2011 18:19:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223684 - projects/portbuild/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2011 18:19:41 -0000 Author: linimon (doc,ports committer) Date: Wed Jun 29 18:19:40 2011 New Revision: 223684 URL: http://svn.freebsd.org/changeset/base/223684 Log: clang error detection fixes: fix most false positives for "process failed"; add "assumes_gcc"; adds a few cases to clang and linker_error. Modified: projects/portbuild/scripts/processonelog Modified: projects/portbuild/scripts/processonelog ============================================================================== --- projects/portbuild/scripts/processonelog Wed Jun 29 17:32:52 2011 (r223683) +++ projects/portbuild/scripts/processonelog Wed Jun 29 18:19:40 2011 (r223684) @@ -91,7 +91,7 @@ elif bzgrep -q "core dumped" $1; then # linimon would _really_ like to understand how to fix this problem elif bzgrep -q "pkg_add: tar extract.*failed!" $1; then reason="truncated_distfile"; tag="truncated_distfile" -elif bzgrep -qE "(error: C++ requires a type specifier|error: allocation of incomplete type|error: array is too large|error: binding of reference|error: called object type|error: cannot combine with previous.*specifier|error: cannot initialize (a parameter|a variable|return object)|error: cannot pass object|error:.*cast from pointer|error: comparison of unsigned.*expression.*is always false|error: conversion.*(is ambiguous|specifies type)|error:.*converts between pointers to integer|error: declaration of.*shadows template parameter|error:.*declared as an array with a negative size|error: default arguments cannot be added|error: default initialization of an object|error:.*directive requires a positive integer argument|error: elaborated type refers to a typedef|error: exception specification|error: expected.*(at end of declaration|expression|identifier)|error: explicit specialization.*after instantiation|error: explicitly assigning a variable|error: expression result unused|er ror: fields must have a constant size|error: flexible array member|error: (first|second) parameter of .main|error: format string is not a string literal|error: global register values are not supported|error: if statement has empty body|error: illegal storage class on function|error: implicit (declaration|instantiation)|error: indirection.*will be deleted|error: initializer element is not.*constant|error: initialization of pointer|error: invalid (argument type|integral value|operand|token|use of a cast|value)|error: indirect goto might cross|error:.*is a (private|protected) member|error: member (of anonymous union|reference)|error: non-const lvalue|error: non-void function.*should return a value|error:.*not supported|error: no (matching constructor|member named|viable overloaded)|error: passing.(a.*value|incompatible type)|error: qualified reference|error: redeclaration of.*built-in type|error:.*requires a (constant expression|pointer or reference|type specifier)|error: redef inition of|error: switch condition has boolean|error: taking! the address of a temporary object|error:.*unable to pass LLVM bit-code files to linker|error: unexpected token|error: unknown (machine mode|type name)|error: unsupported (inline asm|option)|error: unused (function|parameter)|error: use of (GNU old-style field designator|undeclared identifier|unknown builtin)|error: using the result of an assignment|error: variable length array|error: void function.*should not return a value|the clang compiler does not support|Unknown depmode none)" $1; then +elif bzgrep -qE "(error: a parameter list without types|error: C++ requires a type specifier|error: allocation of incomplete type|error: array is too large|error: binding of reference|error: call to func.*neither visible|error: called object type|error: cannot combine with previous.*specifier|error: cannot initialize (a parameter|a variable|return object)|error: cannot pass object|error:.*cast from pointer|error: comparison of unsigned.*expression.*is always|error: conversion.*(is ambiguous|specifies type)|error:.*converts between pointers to integer|error: declaration of.*shadows template parameter|error:.*declared as an array with a negative size|error: default arguments cannot be added|error: default initialization of an object|error: definition.*not in a namespace|error:.*directive requires a positive integer argument|error: elaborated type refers to a typedef|error: exception specification|error: expected.*(at end of declaration|expression|identifier)|error: explicit sp ecialization.*after instantiation|error: explicitly assigning a variable|error: expression result unused|error: fields must have a constant size|error: flexible array member|error: (first|second) (argument|parameter) of .main|error: format string is not a string literal|error: function.*is not needed|error: global register values are not supported|error:.*hides overloaded virtual function|error: if statement has empty body|error: illegal storage class on function|error: implicit (conversion|declaration|instantiation)|error: indirection.*will be deleted|error: initializer element is not.*constant|error: initialization of pointer|error: invalid (argument type|integral value|operand|token|use of a cast|value)|error: indirect goto might cross|error:.*is a (private|protected) member|error: member (of anonymous union|reference)|error: no matching member|error: non-const lvalue|error: non-void function.*should return a value|error:.*not supported|error: no (matching constructor|mem ber named|viable overloaded)|error: parameter.*must have typ! e|error: passing.*(a.*value|incompatible type)|error: qualified reference|error: redeclaration of.*built-in type|error:.*requires a (constant expression|pointer or reference|type specifier)|error: redefinition of|error: switch condition has boolean|error: taking the address of a temporary object|error: target.*conflicts with declaration|error:.*unable to pass LLVM bit-code files to linker|error: unexpected token|error: unknown (machine mode|type name)|error: unsupported (inline asm|option)|error: unused (function|parameter)|error: use of (GNU old-style field designator|undeclared identifier|unknown builtin)|error: using the result of an assignment|error: variable.*is unitialized|error: variable length array|error: void function.*should not return a value|the clang compiler does not support|Unknown depmode none)" $1; then reason="clang"; tag="clang" # below here are the less common items @@ -99,6 +99,8 @@ elif bzgrep -qE "(error: C++ requires a # XXX MCL "file not recognized: File format not recognized" can be clang elif bzgrep -qE "(.s: Assembler messages:|Cannot (determine .* target|find the byte order) for this architecture|^cc1: bad value.*for -mcpu.*switch|could not read symbols: File in wrong format|[Ee]rror: [Uu]nknown opcode|error.*Unsupported architecture|ENDIAN must be defined 0 or 1|failed to merge target-specific data|(file not recognized|failed to set dynamic section sizes): File format not recognized|impossible register constraint|inconsistent operand constraints in an .asm|Invalid configuration.*unknown.*machine.*unknown not recognized|invalid lvalue in asm statement|is only for.*, and you are running|not a valid 64 bit base/index expression|relocation R_X86_64_32.*can not be used when making a shared object|relocation truncated to fit: |shminit failed: Function not implemented|The target cpu, .*, is not currently supported.|This architecture seems to be neither big endian nor little endian|unknown register name|Unable to correct byte order|Unsupported platform, sorry|won 't run on this architecture)" $1; then reason="arch"; tag="arch" +elif bzgrep -qE "(Cannot exec cc|cannot find program cc|cc: No such file or directory|cc.*must be installed to build|cc.*not found|compiler not found|error: no acceptable C compiler|g++: No such file or directory|g++.*not found)" $1; then + reason="assumes_gcc"; tag="assumes_gcc" elif bzgrep -qE "autoconf([0-9\-\.]*): (not found|No such file or directory)" $1; then reason="autoconf"; tag="autoconf" elif bzgrep -q "autoheader: not found" $1; then @@ -107,7 +109,7 @@ elif bzgrep -qE "automake(.*): not found reason="automake"; tag="automake" elif bzgrep -q 'Checksum mismatch' $1; then reason="checksum"; tag="checksum" -elif bzgrep -qE "(clang: error:|clang++: error:|error: cannot compile this.*yet|error: clang frontend command failed|error:.*ignoring directive for now|error: (invalid|unknown use of) instruction mnemonic|error:.*please report this as a bug|error: unknown argument)" $1; then +elif bzgrep -qE "(clang: error: unable to execute command|error: cannot compile this.*yet|error: clang frontend command failed|error:.*ignoring directive for now|error: (invalid|unknown) argument|error: (invalid|unknown use of) instruction mnemonic|error:.*please report this as a bug)" $1; then reason="clang-bug"; tag="clang-bug" elif bzgrep -q "Shared object \"libc.so.6\" not found, required by" $1; then reason="compat6x"; tag="compat6x" @@ -131,7 +133,7 @@ elif bzgrep -qE "(missing separator|mixe reason="gmake"; tag="gmake" elif bzgrep -qE "(Run-time system build failed for some reason|tar: Error opening archive: Failed to open.*No such file or directory)" $1; then reason="install_error"; tag="install" -elif bzgrep -qE "(cc: .*libintl.*: No such file or directory|cc: ndbm\.so: No such file or directory|error: The X11 shared library could not be loaded|libtool: link: cannot find the library|relocation against dynamic symbol|Shared object.*not found, required by)" $1; then +elif bzgrep -qE "(cc: .*libintl.*: No such file or directory|cc: ndbm\.so: No such file or directory|error: linker command failed|error: The X11 shared library could not be loaded|libtool: link: cannot find the library|relocation against dynamic symbol|Shared object.*not found, required by)" $1; then reason="linker_error"; tag="ld" elif bzgrep -q "libtool: finish: invalid argument" $1; then reason="libtool"; tag="libtool" From owner-svn-src-projects@FreeBSD.ORG Wed Jun 29 21:12:48 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A989E1065670; Wed, 29 Jun 2011 21:12:48 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9A9268FC14; Wed, 29 Jun 2011 21:12:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5TLCmT2014006; Wed, 29 Jun 2011 21:12:48 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5TLCmFl014004; Wed, 29 Jun 2011 21:12:48 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201106292112.p5TLCmFl014004@svn.freebsd.org> From: Mark Linimon Date: Wed, 29 Jun 2011 21:12:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223685 - projects/portbuild/www X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2011 21:12:48 -0000 Author: linimon (doc,ports committer) Date: Wed Jun 29 21:12:48 2011 New Revision: 223685 URL: http://svn.freebsd.org/changeset/base/223685 Log: Add assumes_gcc error explanation. Modified: projects/portbuild/www/index.html Modified: projects/portbuild/www/index.html ============================================================================== --- projects/portbuild/www/index.html Wed Jun 29 18:19:40 2011 (r223684) +++ projects/portbuild/www/index.html Wed Jun 29 21:12:48 2011 (r223685) @@ -428,6 +428,12 @@ make that pointers may be cast to and fr the problems run much deeper, in which case ONLY_FOR_ARCHS may be needed. +
(common)assumes_gcc
+ +
This port does not install with the the experimental clang compiler +due to hardwired assumptions about gcc being the compiler.
+
(uncommon)autoconf
From owner-svn-src-projects@FreeBSD.ORG Wed Jun 29 21:32:53 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F9E9106566B; Wed, 29 Jun 2011 21:32:53 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 105C58FC0A; Wed, 29 Jun 2011 21:32:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5TLWqZQ014758; Wed, 29 Jun 2011 21:32:52 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5TLWqW1014756; Wed, 29 Jun 2011 21:32:52 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201106292132.p5TLWqW1014756@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 29 Jun 2011 21:32:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223686 - projects/jbuild/usr.bin/jbuild/filemon X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2011 21:32:53 -0000 Author: obrien Date: Wed Jun 29 21:32:52 2011 New Revision: 223686 URL: http://svn.freebsd.org/changeset/base/223686 Log: Bump FILEMON_VERSION due to r212984 [log the argument to _exit(2)] -- turns out it makes a difference to bmake. Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon.h Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon.h ============================================================================== --- projects/jbuild/usr.bin/jbuild/filemon/filemon.h Wed Jun 29 21:12:48 2011 (r223685) +++ projects/jbuild/usr.bin/jbuild/filemon/filemon.h Wed Jun 29 21:32:52 2011 (r223686) @@ -29,4 +29,4 @@ #define FILEMON_SET_FD _IOWR('S', 1, int) #define FILEMON_SET_PID _IOWR('S', 2, pid_t) -#define FILEMON_VERSION 2 /* output format */ +#define FILEMON_VERSION 3 /* output format */ From owner-svn-src-projects@FreeBSD.ORG Thu Jun 30 10:19:44 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBD9B1065674; Thu, 30 Jun 2011 10:19:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A8D018FC15; Thu, 30 Jun 2011 10:19:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5UAJi6G037717; Thu, 30 Jun 2011 10:19:44 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5UAJh6s037679; Thu, 30 Jun 2011 10:19:43 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106301019.p5UAJh6s037679@svn.freebsd.org> From: Attilio Rao Date: Thu, 30 Jun 2011 10:19:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223691 - in projects/largeSMP: . contrib/ntp/ntpd contrib/top sbin/fsck_ffs sbin/ipfw share/man/man4 share/mk sys/amd64/amd64 sys/arm/arm sys/arm/mv sys/conf sys/dev/ath sys/dev/e1000 ... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2011 10:19:44 -0000 Author: attilio Date: Thu Jun 30 10:19:43 2011 New Revision: 223691 URL: http://svn.freebsd.org/changeset/base/223691 Log: MFC Modified: projects/largeSMP/UPDATING projects/largeSMP/contrib/ntp/ntpd/ntp_config.c projects/largeSMP/contrib/ntp/ntpd/ntp_intres.c projects/largeSMP/sbin/fsck_ffs/suj.c projects/largeSMP/sbin/ipfw/ipfw.8 projects/largeSMP/sbin/ipfw/ipfw2.c projects/largeSMP/sbin/ipfw/ipfw2.h projects/largeSMP/share/man/man4/jme.4 projects/largeSMP/sys/amd64/amd64/pmap.c projects/largeSMP/sys/amd64/amd64/sys_machdep.c projects/largeSMP/sys/arm/arm/pmap.c projects/largeSMP/sys/arm/arm/sys_machdep.c projects/largeSMP/sys/arm/mv/common.c projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/conf/options projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/dev/e1000/if_em.c projects/largeSMP/sys/dev/e1000/if_igb.c projects/largeSMP/sys/dev/e1000/if_igb.h projects/largeSMP/sys/dev/mii/e1000phy.c projects/largeSMP/sys/dev/mii/miidevs projects/largeSMP/sys/dev/uart/uart_bus_pci.c projects/largeSMP/sys/fs/tmpfs/tmpfs_subr.c projects/largeSMP/sys/i386/i386/pmap.c projects/largeSMP/sys/i386/i386/sys_machdep.c projects/largeSMP/sys/i386/xen/pmap.c projects/largeSMP/sys/ia64/ia64/pmap.c projects/largeSMP/sys/kern/subr_trap.c projects/largeSMP/sys/kern/sys_capability.c projects/largeSMP/sys/kern/uipc_shm.c projects/largeSMP/sys/kern/vfs_subr.c projects/largeSMP/sys/mips/mips/pmap.c projects/largeSMP/sys/netinet/ip_fw.h projects/largeSMP/sys/netinet/ip_var.h projects/largeSMP/sys/netinet/ipfw/ip_fw2.c projects/largeSMP/sys/netinet/ipfw/ip_fw_log.c projects/largeSMP/sys/netinet/ipfw/ip_fw_sockopt.c projects/largeSMP/sys/nfs/bootp_subr.c projects/largeSMP/sys/ufs/ffs/ffs_inode.c projects/largeSMP/sys/ufs/ffs/ffs_softdep.c projects/largeSMP/sys/vm/vm_map.c projects/largeSMP/sys/vm/vm_object.c projects/largeSMP/sys/vm/vm_object.h projects/largeSMP/sys/vm/vnode_pager.c projects/largeSMP/usr.bin/quota/quota.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/compiler-rt/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/tnftp/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/UPDATING ============================================================================== --- projects/largeSMP/UPDATING Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/UPDATING Thu Jun 30 10:19:43 2011 (r223691) @@ -25,6 +25,8 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. 20110628: The packet filter (pf) code has been updated to OpenBSD 4.5. You need to update userland tools to be in sync with kernel. + This update breaks backward compatibility with earlier pfsync(4) + versions. Care must be taken when updating redundant firewall setups. 20110608: The following sysctls and tunables are retired on x86 platforms: Modified: projects/largeSMP/contrib/ntp/ntpd/ntp_config.c ============================================================================== --- projects/largeSMP/contrib/ntp/ntpd/ntp_config.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/contrib/ntp/ntpd/ntp_config.c Thu Jun 30 10:19:43 2011 (r223691) @@ -414,7 +414,7 @@ enum gnn_type { static int getnetnum P((const char *, struct sockaddr_storage *, int, enum gnn_type)); static void save_resolve P((char *, int, int, int, int, u_int, int, - keyid_t, u_char *)); + keyid_t, u_char *, u_char)); static void do_resolve_internal P((void)); static void abort_resolve P((void)); #if !defined(VMS) && !defined(SYS_WINNT) @@ -870,9 +870,9 @@ getconfig( stoa(&peeraddr)); } } else if (errflg == -1) { - save_resolve(tokens[1], hmode, peerversion, + save_resolve(tokens[istart - 1], hmode, peerversion, minpoll, maxpoll, peerflags, ttl, - peerkey, peerkeystr); + peerkey, peerkeystr, peeraddr.ss_family); } break; @@ -2325,7 +2325,8 @@ save_resolve( u_int flags, int ttl, keyid_t keyid, - u_char *keystr + u_char *keystr, + u_char peeraf ) { #ifndef SYS_VXWORKS @@ -2365,11 +2366,11 @@ save_resolve( } #endif - (void)fprintf(res_fp, "%s %d %d %d %d %d %d %u %s\n", name, + (void)fprintf(res_fp, "%s %u %d %d %d %d %d %d %u %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #ifdef DEBUG if (debug > 1) - printf("config: %s %d %d %d %d %x %d %u %s\n", name, mode, + printf("config: %s %u %d %d %d %d %x %d %u %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #endif Modified: projects/largeSMP/contrib/ntp/ntpd/ntp_intres.c ============================================================================== --- projects/largeSMP/contrib/ntp/ntpd/ntp_intres.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/contrib/ntp/ntpd/ntp_intres.c Thu Jun 30 10:19:43 2011 (r223691) @@ -29,6 +29,7 @@ #include #include +#include #include /**/ @@ -111,15 +112,16 @@ static int resolve_value; /* next value * is supposed to consist of entries in the following order */ #define TOK_HOSTNAME 0 -#define TOK_HMODE 1 -#define TOK_VERSION 2 -#define TOK_MINPOLL 3 -#define TOK_MAXPOLL 4 -#define TOK_FLAGS 5 -#define TOK_TTL 6 -#define TOK_KEYID 7 -#define TOK_KEYSTR 8 -#define NUMTOK 9 +#define TOK_PEERAF 1 +#define TOK_HMODE 2 +#define TOK_VERSION 3 +#define TOK_MINPOLL 4 +#define TOK_MAXPOLL 5 +#define TOK_FLAGS 6 +#define TOK_TTL 7 +#define TOK_KEYID 8 +#define TOK_KEYSTR 9 +#define NUMTOK 10 #define MAXLINESIZE 512 @@ -140,7 +142,7 @@ char *req_file; /* name of the file wit static void checkparent P((void)); static void removeentry P((struct conf_entry *)); static void addentry P((char *, int, int, int, int, u_int, - int, keyid_t, char *)); + int, keyid_t, char *, u_char)); static int findhostaddr P((struct conf_entry *)); static void openntp P((void)); static int request P((struct conf_peer *)); @@ -397,7 +399,8 @@ addentry( u_int flags, int ttl, keyid_t keyid, - char *keystr + char *keystr, + u_char peeraf ) { register char *cp; @@ -407,7 +410,7 @@ addentry( #ifdef DEBUG if (debug > 1) msyslog(LOG_INFO, - "intres: <%s> %d %d %d %d %x %d %x %s\n", name, + "intres: <%s> %u %d %d %d %d %x %d %x %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #endif @@ -422,6 +425,7 @@ addentry( ce->ce_peeraddr6 = in6addr_any; #endif ANYSOCK(&ce->peer_store); + ce->peer_store.ss_family = peeraf; /* Save AF for getaddrinfo hints. */ ce->ce_hmode = (u_char)mode; ce->ce_version = (u_char)version; ce->ce_minpoll = (u_char)minpoll; @@ -482,7 +486,8 @@ findhostaddr( entry->ce_name)); memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; + hints.ai_family = entry->peer_store.ss_family; + hints.ai_socktype = SOCK_DGRAM; /* * If the IPv6 stack is not available look only for IPv4 addresses */ @@ -1051,6 +1056,13 @@ readconf( } } + if (intval[TOK_PEERAF] != AF_UNSPEC && intval[TOK_PEERAF] != + AF_INET && intval[TOK_PEERAF] != AF_INET6) { + msyslog(LOG_ERR, "invalid peer address family (%u) in " + "file %s", intval[TOK_PEERAF], name); + exit(1); + } + if (intval[TOK_HMODE] != MODE_ACTIVE && intval[TOK_HMODE] != MODE_CLIENT && intval[TOK_HMODE] != MODE_BROADCAST) { @@ -1107,7 +1119,7 @@ readconf( addentry(token[TOK_HOSTNAME], (int)intval[TOK_HMODE], (int)intval[TOK_VERSION], (int)intval[TOK_MINPOLL], (int)intval[TOK_MAXPOLL], flags, (int)intval[TOK_TTL], - intval[TOK_KEYID], token[TOK_KEYSTR]); + intval[TOK_KEYID], token[TOK_KEYSTR], (u_char)intval[TOK_PEERAF]); } } @@ -1129,6 +1141,9 @@ doconfigure( dores ? "with" : "without" ); #endif + if (dores) /* Reload /etc/resolv.conf - bug 1226 */ + res_init(); + ce = confentries; while (ce != NULL) { #ifdef DEBUG Modified: projects/largeSMP/sbin/fsck_ffs/suj.c ============================================================================== --- projects/largeSMP/sbin/fsck_ffs/suj.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sbin/fsck_ffs/suj.c Thu Jun 30 10:19:43 2011 (r223691) @@ -2261,6 +2261,7 @@ suj_build(void) blk_build((struct jblkrec *)rec); break; case JOP_TRUNC: + case JOP_SYNC: ino_build_trunc((struct jtrncrec *)rec); break; default: Modified: projects/largeSMP/sbin/ipfw/ipfw.8 ============================================================================== --- projects/largeSMP/sbin/ipfw/ipfw.8 Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sbin/ipfw/ipfw.8 Thu Jun 30 10:19:43 2011 (r223691) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 14, 2011 +.Dd June 29, 2011 .Dt IPFW 8 .Os .Sh NAME @@ -822,6 +822,78 @@ skipto, but care should be used, as no d is possible in this case so the rules are always walked to find it, starting from the .Cm skipto . +.It Cm call Ar number | tablearg +The current rule number is saved in the internal stack and +ruleset processing continues with the first rule numbered +.Ar number +or higher. +If later a rule with the +.Cm return +action is encountered, the processing returns to the first rule +with number of this +.Cm call +rule plus one or higher +(the same behaviour as with packets returning from +.Xr divert 4 +socket after a +.Cm divert +action). +This could be used to make somewhat like an assembly language +.Dq subroutine +calls to rules with common checks for different interfaces, etc. +.Pp +Rule with any number could be called, not just forward jumps as with +.Cm skipto . +So, to prevent endless loops in case of mistakes, both +.Cm call +and +.Cm return +actions don't do any jumps and simply go to the next rule if memory +can't be allocated or stack overflowed/undeflowed. +.Pp +Internally stack for rule numbers is implemented using +.Xr mbuf_tags 9 +facility and currently has size of 16 entries. +As mbuf tags are lost when packet leaves the kernel, +.Cm divert +should not be used in subroutines to avoid endless loops +and other undesired effects. +.It Cm return +Takes rule number saved to internal stack by the last +.Cm call +action and returns ruleset processing to the first rule +with number greater than number of corresponding +.Cm call +rule. See description of the +.Cm call +action for more details. +.Pp +Note that +.Cm return +rules usually end a +.Dq subroutine +and thus are unconditional, but +.Nm +command-line utility currently requires every action except +.Cm check-state +to have body. +While it is sometimes useful to return only on some packets, +usually you want to print just +.Dq return +for readability. +A workaround for this is to use new syntax and +.Fl c +switch: +.Pp +.Bd -literal -offset indent +# Add a rule without actual body +ipfw add 2999 return via any + +# List rules without "from any to any" part +ipfw -c list +.Ed +.Pp +This cosmetic annoyance may be fixed in future releases. .It Cm tee Ar port Send a copy of packets matching this rule to the .Xr divert 4 @@ -3253,3 +3325,18 @@ for the respective conversations. To avoid failures of network error detection and path MTU discovery, ICMP error messages may need to be allowed explicitly through static rules. +.Pp +Rules using +.Cm call +and +.Cm return +actions may lead to confusing behaviour if ruleset has mistakes, +and/or interaction with other subsystems (netgraph, dummynet, etc.) is used. +One possible case for this is packet leaving +.Nm +in subroutine on the input pass, while later on output encountering unpaired +.Cm return +first. +As the call stack is kept intact after input pass, packet will suddenly +return to the rule number used on input pass, not on output one. +Order of processing should be checked carefully to avoid such mistakes. Modified: projects/largeSMP/sbin/ipfw/ipfw2.c ============================================================================== --- projects/largeSMP/sbin/ipfw/ipfw2.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sbin/ipfw/ipfw2.c Thu Jun 30 10:19:43 2011 (r223691) @@ -214,6 +214,8 @@ static struct _s_x rule_actions[] = { { "nat", TOK_NAT }, { "reass", TOK_REASS }, { "setfib", TOK_SETFIB }, + { "call", TOK_CALL }, + { "return", TOK_RETURN }, { NULL, 0 } /* terminator */ }; @@ -1136,6 +1138,13 @@ show_ipfw(struct ip_fw *rule, int pcwidt printf("reass"); break; + case O_CALLRETURN: + if (cmd->len & F_NOT) + printf("return"); + else + PRINT_UINT_ARG("call ", cmd->arg1); + break; + default: printf("** unrecognized action %d len %d ", cmd->opcode, cmd->len); @@ -2771,6 +2780,9 @@ ipfw_add(char *av[]) goto chkarg; case TOK_TEE: action->opcode = O_TEE; + goto chkarg; + case TOK_CALL: + action->opcode = O_CALLRETURN; chkarg: if (!av[0]) errx(EX_USAGE, "missing argument for %s", *(av - 1)); @@ -2863,6 +2875,10 @@ chkarg: action->opcode = O_REASS; break; + case TOK_RETURN: + fill_cmd(action, O_CALLRETURN, F_NOT, 0); + break; + default: errx(EX_DATAERR, "invalid action %s\n", av[-1]); } Modified: projects/largeSMP/sbin/ipfw/ipfw2.h ============================================================================== --- projects/largeSMP/sbin/ipfw/ipfw2.h Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sbin/ipfw/ipfw2.h Thu Jun 30 10:19:43 2011 (r223691) @@ -99,6 +99,8 @@ enum tokens { TOK_CHECKSTATE, TOK_NAT, TOK_REASS, + TOK_CALL, + TOK_RETURN, TOK_ALTQ, TOK_LOG, Modified: projects/largeSMP/share/man/man4/jme.4 ============================================================================== --- projects/largeSMP/share/man/man4/jme.4 Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/share/man/man4/jme.4 Thu Jun 30 10:19:43 2011 (r223691) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2010 +.Dd June 29, 2011 .Dt JME 4 .Os .Sh NAME @@ -178,3 +178,17 @@ address once station address is reprogra It is highly recommended not to reprogram station address and it is responsibility of administrator to store original station address into a safe place when station address should be changed. +.Pp +There are two known 1000baseT link establishment issues with JMC25x. +If the full mask revision number of JMC25x controller is less than +or equal to 4 and link partner enabled IEEE 802.3az Energy Efficient +Ethernet feature, the controller would not be able to establish a +1000baseT link. +Also if the length of cable is longer than 120 meters, controller +can not establish a 1000baseT link. +The known workaround for the issue is to force manual link +configuration with 100baseTX instead of relying on auto-negotiation. +The full mask revision number of controller could be checked with +verbose kernel boot option. +Use lower nibble of chip revision number to get full mask revision of +the controller. Modified: projects/largeSMP/sys/amd64/amd64/pmap.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/amd64/amd64/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -2847,8 +2847,8 @@ pmap_remove_all(vm_page_t m) vm_offset_t va; vm_page_t free; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); free = NULL; vm_page_lock_queues(); pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m)); Modified: projects/largeSMP/sys/amd64/amd64/sys_machdep.c ============================================================================== --- projects/largeSMP/sys/amd64/amd64/sys_machdep.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/amd64/amd64/sys_machdep.c Thu Jun 30 10:19:43 2011 (r223691) @@ -33,7 +33,7 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_capabilities.h" +#include "opt_capsicum.h" #include #include @@ -180,7 +180,7 @@ sysarch(td, uap) uint64_t a64base; struct i386_ioperm_args iargs; -#ifdef CAPABILITIES +#ifdef CAPABILITY_MODE /* * Whitelist of operations which are safe enough for capability mode. */ Modified: projects/largeSMP/sys/arm/arm/pmap.c ============================================================================== --- projects/largeSMP/sys/arm/arm/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/arm/arm/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -3120,8 +3120,8 @@ pmap_remove_all(vm_page_t m) pmap_t curpm; int flags = 0; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); if (TAILQ_EMPTY(&m->md.pv_list)) return; vm_page_lock_queues(); Modified: projects/largeSMP/sys/arm/arm/sys_machdep.c ============================================================================== --- projects/largeSMP/sys/arm/arm/sys_machdep.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/arm/arm/sys_machdep.c Thu Jun 30 10:19:43 2011 (r223691) @@ -36,7 +36,7 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_capabilities.h" +#include "opt_capsicum.h" #include #include @@ -107,7 +107,7 @@ sysarch(td, uap) { int error; -#ifdef CAPABILITIES +#ifdef CAPABILITY_MODE /* * Whitelist of operations which are safe enough for capability mode. */ Modified: projects/largeSMP/sys/arm/mv/common.c ============================================================================== --- projects/largeSMP/sys/arm/mv/common.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/arm/mv/common.c Thu Jun 30 10:19:43 2011 (r223691) @@ -122,7 +122,7 @@ static struct soc_node_spec soc_nodes[] { "mrvl,sata", &decode_win_sata_setup, NULL }, { "mrvl,xor", &decode_win_xor_setup, &decode_win_xor_dump }, { "mrvl,idma", &decode_win_idma_setup, &decode_win_idma_dump }, - { "mvrl,pcie", &decode_win_pcie_setup, NULL }, + { "mrvl,pcie", &decode_win_pcie_setup, NULL }, { NULL, NULL, NULL }, }; Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/conf/NOTES Thu Jun 30 10:19:43 2011 (r223691) @@ -1162,7 +1162,7 @@ options MAC_STUB options MAC_TEST # Support for Capsicum -options CAPABILITIES +options CAPABILITY_MODE ##################################################################### Modified: projects/largeSMP/sys/conf/options ============================================================================== --- projects/largeSMP/sys/conf/options Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/conf/options Thu Jun 30 10:19:43 2011 (r223691) @@ -63,7 +63,7 @@ SYSCTL_DEBUG opt_sysctl.h ADAPTIVE_LOCKMGRS ALQ AUDIT opt_global.h -CAPABILITIES opt_capabilities.h +CAPABILITY_MODE opt_capsicum.h CODA_COMPAT_5 opt_coda.h COMPAT_43 opt_compat.h COMPAT_43TTY opt_compat.h Modified: projects/largeSMP/sys/dev/ath/if_ath.c ============================================================================== --- projects/largeSMP/sys/dev/ath/if_ath.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/ath/if_ath.c Thu Jun 30 10:19:43 2011 (r223691) @@ -4693,6 +4693,7 @@ ath_newstate(struct ieee80211vap *vap, e struct ieee80211_node *ni = NULL; int i, error, stamode; u_int32_t rfilt; + int csa_run_transition = 0; static const HAL_LED_STATE leds[] = { HAL_LED_INIT, /* IEEE80211_S_INIT */ HAL_LED_SCAN, /* IEEE80211_S_SCAN */ @@ -4708,6 +4709,9 @@ ath_newstate(struct ieee80211vap *vap, e ieee80211_state_name[vap->iv_state], ieee80211_state_name[nstate]); + if (vap->iv_state == IEEE80211_S_CSA && nstate == IEEE80211_S_RUN) + csa_run_transition = 1; + callout_drain(&sc->sc_cal_ch); ath_hal_setledstate(ah, leds[nstate]); /* set LED */ @@ -4814,8 +4818,14 @@ ath_newstate(struct ieee80211vap *vap, e * Defer beacon timer configuration to the next * beacon frame so we have a current TSF to use * (any TSF collected when scanning is likely old). + * However if it's due to a CSA -> RUN transition, + * force a beacon update so we pick up a lack of + * beacons from an AP in CAC and thus force a + * scan. */ sc->sc_syncbeacon = 1; + if (csa_run_transition) + ath_beacon_config(sc, vap); break; case IEEE80211_M_MONITOR: /* Modified: projects/largeSMP/sys/dev/e1000/if_em.c ============================================================================== --- projects/largeSMP/sys/dev/e1000/if_em.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/e1000/if_em.c Thu Jun 30 10:19:43 2011 (r223691) @@ -330,42 +330,71 @@ MODULE_DEPEND(em, ether, 1, 1, 1); #define CSUM_TSO 0 #endif +SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD, 0, "EM driver parameters"); + static int em_tx_int_delay_dflt = EM_TICKS_TO_USECS(EM_TIDV); static int em_rx_int_delay_dflt = EM_TICKS_TO_USECS(EM_RDTR); TUNABLE_INT("hw.em.tx_int_delay", &em_tx_int_delay_dflt); TUNABLE_INT("hw.em.rx_int_delay", &em_rx_int_delay_dflt); +SYSCTL_INT(_hw_em, OID_AUTO, tx_int_delay, CTLFLAG_RDTUN, &em_tx_int_delay_dflt, + 0, "Default transmit interrupt delay in usecs"); +SYSCTL_INT(_hw_em, OID_AUTO, rx_int_delay, CTLFLAG_RDTUN, &em_rx_int_delay_dflt, + 0, "Default receive interrupt delay in usecs"); static int em_tx_abs_int_delay_dflt = EM_TICKS_TO_USECS(EM_TADV); static int em_rx_abs_int_delay_dflt = EM_TICKS_TO_USECS(EM_RADV); TUNABLE_INT("hw.em.tx_abs_int_delay", &em_tx_abs_int_delay_dflt); TUNABLE_INT("hw.em.rx_abs_int_delay", &em_rx_abs_int_delay_dflt); +SYSCTL_INT(_hw_em, OID_AUTO, tx_abs_int_delay, CTLFLAG_RDTUN, + &em_tx_abs_int_delay_dflt, 0, + "Default transmit interrupt delay limit in usecs"); +SYSCTL_INT(_hw_em, OID_AUTO, rx_abs_int_delay, CTLFLAG_RDTUN, + &em_rx_abs_int_delay_dflt, 0, + "Default receive interrupt delay limit in usecs"); static int em_rxd = EM_DEFAULT_RXD; static int em_txd = EM_DEFAULT_TXD; TUNABLE_INT("hw.em.rxd", &em_rxd); TUNABLE_INT("hw.em.txd", &em_txd); +SYSCTL_INT(_hw_em, OID_AUTO, rxd, CTLFLAG_RDTUN, &em_rxd, 0, + "Number of receive descriptors per queue"); +SYSCTL_INT(_hw_em, OID_AUTO, txd, CTLFLAG_RDTUN, &em_txd, 0, + "Number of transmit descriptors per queue"); static int em_smart_pwr_down = FALSE; TUNABLE_INT("hw.em.smart_pwr_down", &em_smart_pwr_down); +SYSCTL_INT(_hw_em, OID_AUTO, smart_pwr_down, CTLFLAG_RDTUN, &em_smart_pwr_down, + 0, "Set to true to leave smart power down enabled on newer adapters"); /* Controls whether promiscuous also shows bad packets */ static int em_debug_sbp = FALSE; TUNABLE_INT("hw.em.sbp", &em_debug_sbp); +SYSCTL_INT(_hw_em, OID_AUTO, sbp, CTLFLAG_RDTUN, &em_debug_sbp, 0, + "Show bad packets in promiscuous mode"); static int em_enable_msix = TRUE; TUNABLE_INT("hw.em.enable_msix", &em_enable_msix); +SYSCTL_INT(_hw_em, OID_AUTO, enable_msix, CTLFLAG_RDTUN, &em_enable_msix, 0, + "Enable MSI-X interrupts"); /* How many packets rxeof tries to clean at a time */ static int em_rx_process_limit = 100; TUNABLE_INT("hw.em.rx_process_limit", &em_rx_process_limit); +SYSCTL_INT(_hw_em, OID_AUTO, rx_process_limit, CTLFLAG_RDTUN, + &em_rx_process_limit, 0, + "Maximum number of received packets to process at a time, -1 means unlimited"); /* Flow control setting - default to FULL */ static int em_fc_setting = e1000_fc_full; TUNABLE_INT("hw.em.fc_setting", &em_fc_setting); +SYSCTL_INT(_hw_em, OID_AUTO, fc_setting, CTLFLAG_RDTUN, &em_fc_setting, 0, + "Flow control"); /* Energy efficient ethernet - default to OFF */ static int eee_setting = 0; TUNABLE_INT("hw.em.eee_setting", &eee_setting); +SYSCTL_INT(_hw_em, OID_AUTO, eee_setting, CTLFLAG_RDTUN, &eee_setting, 0, + "Enable Energy Efficient Ethernet"); /* Global used in WOL setup with multiport cards */ static int global_quad_port_a = 0; Modified: projects/largeSMP/sys/dev/e1000/if_igb.c ============================================================================== --- projects/largeSMP/sys/dev/e1000/if_igb.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/e1000/if_igb.c Thu Jun 30 10:19:43 2011 (r223691) @@ -300,11 +300,17 @@ MODULE_DEPEND(igb, ether, 1, 1, 1); * Tunable default values. *********************************************************************/ +SYSCTL_NODE(_hw, OID_AUTO, igb, CTLFLAG_RD, 0, "IGB driver parameters"); + /* Descriptor defaults */ static int igb_rxd = IGB_DEFAULT_RXD; static int igb_txd = IGB_DEFAULT_TXD; TUNABLE_INT("hw.igb.rxd", &igb_rxd); TUNABLE_INT("hw.igb.txd", &igb_txd); +SYSCTL_INT(_hw_igb, OID_AUTO, rxd, CTLFLAG_RDTUN, &igb_rxd, 0, + "Number of receive descriptors per queue"); +SYSCTL_INT(_hw_igb, OID_AUTO, txd, CTLFLAG_RDTUN, &igb_txd, 0, + "Number of transmit descriptors per queue"); /* ** AIM: Adaptive Interrupt Moderation @@ -314,6 +320,8 @@ TUNABLE_INT("hw.igb.txd", &igb_txd); */ static int igb_enable_aim = TRUE; TUNABLE_INT("hw.igb.enable_aim", &igb_enable_aim); +SYSCTL_INT(_hw_igb, OID_AUTO, enable_aim, CTLFLAG_RW, &igb_enable_aim, 0, + "Enable adaptive interrupt moderation"); /* * MSIX should be the default for best performance, @@ -321,12 +329,16 @@ TUNABLE_INT("hw.igb.enable_aim", &igb_en */ static int igb_enable_msix = 1; TUNABLE_INT("hw.igb.enable_msix", &igb_enable_msix); +SYSCTL_INT(_hw_igb, OID_AUTO, enable_msix, CTLFLAG_RDTUN, &igb_enable_msix, 0, + "Enable MSI-X interrupts"); /* ** Tuneable Interrupt rate */ static int igb_max_interrupt_rate = 8000; TUNABLE_INT("hw.igb.max_interrupt_rate", &igb_max_interrupt_rate); +SYSCTL_INT(_hw_igb, OID_AUTO, max_interrupt_rate, CTLFLAG_RDTUN, + &igb_max_interrupt_rate, 0, "Maximum interrupts per second"); /* ** Header split causes the packet header to @@ -338,6 +350,8 @@ TUNABLE_INT("hw.igb.max_interrupt_rate", */ static bool igb_header_split = FALSE; TUNABLE_INT("hw.igb.hdr_split", &igb_header_split); +SYSCTL_INT(_hw_igb, OID_AUTO, header_split, CTLFLAG_RDTUN, &igb_header_split, 0, + "Enable receive mbuf header split"); /* ** This will autoconfigure based on @@ -345,10 +359,15 @@ TUNABLE_INT("hw.igb.hdr_split", &igb_hea */ static int igb_num_queues = 0; TUNABLE_INT("hw.igb.num_queues", &igb_num_queues); +SYSCTL_INT(_hw_igb, OID_AUTO, num_queues, CTLFLAG_RDTUN, &igb_num_queues, 0, + "Number of queues to configure, 0 indicates autoconfigure"); /* How many packets rxeof tries to clean at a time */ static int igb_rx_process_limit = 100; TUNABLE_INT("hw.igb.rx_process_limit", &igb_rx_process_limit); +SYSCTL_INT(_hw_igb, OID_AUTO, rx_process_limit, CTLFLAG_RDTUN, + &igb_rx_process_limit, 0, + "Maximum number of received packets to process at a time, -1 means unlimited"); /********************************************************************* * Device identification routine @@ -435,10 +454,9 @@ igb_attach(device_t dev) OID_AUTO, "nvm", CTLTYPE_INT|CTLFLAG_RW, adapter, 0, igb_sysctl_nvm_info, "I", "NVM Information"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "enable_aim", CTLTYPE_INT|CTLFLAG_RW, - &igb_enable_aim, 1, "Interrupt Moderation"); + igb_set_sysctl_value(adapter, "enable_aim", + "Interrupt Moderation", &adapter->enable_aim, + igb_enable_aim); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -1498,7 +1516,7 @@ igb_msix_que(void *arg) more_rx = igb_rxeof(que, adapter->rx_process_limit, NULL); - if (igb_enable_aim == FALSE) + if (adapter->enable_aim == FALSE) goto no_calc; /* ** Do Adaptive Interrupt Moderation: Modified: projects/largeSMP/sys/dev/e1000/if_igb.h ============================================================================== --- projects/largeSMP/sys/dev/e1000/if_igb.h Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/e1000/if_igb.h Thu Jun 30 10:19:43 2011 (r223691) @@ -402,6 +402,7 @@ struct adapter { u16 link_duplex; u32 smartspeed; u32 dmac; + int enable_aim; /* Interface queues */ struct igb_queue *queues; Modified: projects/largeSMP/sys/dev/mii/e1000phy.c ============================================================================== --- projects/largeSMP/sys/dev/mii/e1000phy.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/mii/e1000phy.c Thu Jun 30 10:19:43 2011 (r223691) @@ -107,6 +107,7 @@ static const struct mii_phydesc e1000phy MII_PHY_DESC(xxMARVELL, E1116), MII_PHY_DESC(xxMARVELL, E1116R), MII_PHY_DESC(xxMARVELL, E1118), + MII_PHY_DESC(xxMARVELL, E1149R), MII_PHY_DESC(xxMARVELL, E3016), MII_PHY_DESC(xxMARVELL, PHYG65G), MII_PHY_END @@ -147,6 +148,7 @@ e1000phy_attach(device_t dev) sc->mii_flags |= MIIF_HAVEFIBER; break; case MII_MODEL_xxMARVELL_E1149: + case MII_MODEL_xxMARVELL_E1149R: /* * Some 88E1149 PHY's page select is initialized to * point to other bank instead of copper/fiber bank @@ -208,6 +210,7 @@ e1000phy_reset(struct mii_softc *sc) case MII_MODEL_xxMARVELL_E1116: case MII_MODEL_xxMARVELL_E1118: case MII_MODEL_xxMARVELL_E1149: + case MII_MODEL_xxMARVELL_E1149R: case MII_MODEL_xxMARVELL_PHYG65G: /* Disable energy detect mode. */ reg &= ~E1000_SCR_EN_DETECT_MASK; @@ -240,7 +243,8 @@ e1000phy_reset(struct mii_softc *sc) PHY_WRITE(sc, E1000_SCR, reg); if (sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1116 || - sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149) { + sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149 || + sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149R) { PHY_WRITE(sc, E1000_EADR, 2); reg = PHY_READ(sc, E1000_SCR); reg |= E1000_SCR_RGMII_POWER_UP; Modified: projects/largeSMP/sys/dev/mii/miidevs ============================================================================== --- projects/largeSMP/sys/dev/mii/miidevs Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/mii/miidevs Thu Jun 30 10:19:43 2011 (r223691) @@ -248,6 +248,7 @@ model xxMARVELL E1111 0x000c Marvell 88 model xxMARVELL E1116 0x0021 Marvell 88E1116 Gigabit PHY model xxMARVELL E1116R 0x0024 Marvell 88E1116R Gigabit PHY model xxMARVELL E1118 0x0022 Marvell 88E1118 Gigabit PHY +model xxMARVELL E1149R 0x0025 Marvell 88E1149R Quad Gigabit PHY model xxMARVELL E3016 0x0026 Marvell 88E3016 10/100 Fast Ethernet PHY model xxMARVELL PHYG65G 0x0027 Marvell PHYG65G Gigabit PHY model MARVELL E1000 0x0005 Marvell 88E1000 Gigabit PHY Modified: projects/largeSMP/sys/dev/uart/uart_bus_pci.c ============================================================================== --- projects/largeSMP/sys/dev/uart/uart_bus_pci.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/dev/uart/uart_bus_pci.c Thu Jun 30 10:19:43 2011 (r223691) @@ -113,6 +113,8 @@ static struct pci_id pci_ns8250_ids[] = { 0x9710, 0x9820, 0x1000, 1, "NetMos NM9820 Serial Port", 0x10 }, { 0x9710, 0x9835, 0x1000, 1, "NetMos NM9835 Serial Port", 0x10 }, { 0x9710, 0x9865, 0xa000, 0x1000, "NetMos NM9865 Serial Port", 0x10 }, +{ 0x9710, 0x9900, 0xa000, 0x1000, + "MosChip MCS9900 PCIe to Peripheral Controller", 0x10 }, { 0x9710, 0x9901, 0xa000, 0x1000, "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 }, { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 }, Modified: projects/largeSMP/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- projects/largeSMP/sys/fs/tmpfs/tmpfs_subr.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/fs/tmpfs/tmpfs_subr.c Thu Jun 30 10:19:43 2011 (r223691) @@ -926,7 +926,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t if (newpages < oldpages) { swap_pager_freespace(uobj, newpages, oldpages - newpages); - vm_object_page_remove(uobj, newpages, 0, FALSE); + vm_object_page_remove(uobj, newpages, 0, 0); } /* Modified: projects/largeSMP/sys/i386/i386/pmap.c ============================================================================== --- projects/largeSMP/sys/i386/i386/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/i386/i386/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -2927,8 +2927,8 @@ pmap_remove_all(vm_page_t m) vm_offset_t va; vm_page_t free; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); free = NULL; vm_page_lock_queues(); sched_pin(); Modified: projects/largeSMP/sys/i386/i386/sys_machdep.c ============================================================================== --- projects/largeSMP/sys/i386/i386/sys_machdep.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/i386/i386/sys_machdep.c Thu Jun 30 10:19:43 2011 (r223691) @@ -32,7 +32,7 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_capabilities.h" +#include "opt_capsicum.h" #include "opt_kstack_pages.h" #include @@ -111,7 +111,7 @@ sysarch(td, uap) AUDIT_ARG_CMD(uap->op); -#ifdef CAPABILITIES +#ifdef CAPABILITY_MODE /* * Whitelist of operations which are safe enough for capability mode. */ Modified: projects/largeSMP/sys/i386/xen/pmap.c ============================================================================== --- projects/largeSMP/sys/i386/xen/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/i386/xen/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -2430,8 +2430,8 @@ pmap_remove_all(vm_page_t m) pt_entry_t *pte, tpte; vm_page_t free; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); free = NULL; vm_page_lock_queues(); sched_pin(); Modified: projects/largeSMP/sys/ia64/ia64/pmap.c ============================================================================== --- projects/largeSMP/sys/ia64/ia64/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/ia64/ia64/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -1424,8 +1424,8 @@ pmap_remove_all(vm_page_t m) pmap_t oldpmap; pv_entry_t pv; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); vm_page_lock_queues(); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { struct ia64_lpte *pte; Modified: projects/largeSMP/sys/kern/subr_trap.c ============================================================================== --- projects/largeSMP/sys/kern/subr_trap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/kern/subr_trap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -44,7 +44,7 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_capabilities.h" +#include "opt_capsicum.h" #include "opt_ktrace.h" #include "opt_kdtrace.h" #include "opt_sched.h" @@ -313,7 +313,7 @@ syscallenter(struct thread *td, struct s goto retval; } -#ifdef CAPABILITIES +#ifdef CAPABILITY_MODE /* * In capability mode, we only allow access to system calls * flagged with SYF_CAPENABLED. Modified: projects/largeSMP/sys/kern/sys_capability.c ============================================================================== --- projects/largeSMP/sys/kern/sys_capability.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/kern/sys_capability.c Thu Jun 30 10:19:43 2011 (r223691) @@ -36,7 +36,7 @@ * */ -#include "opt_capabilities.h" +#include "opt_capsicum.h" #include __FBSDID("$FreeBSD$"); @@ -59,7 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef CAPABILITIES +#ifdef CAPABILITY_MODE FEATURE(security_capabilities, "Capsicum Capability Mode"); @@ -99,7 +99,7 @@ cap_getmode(struct thread *td, struct ca return (copyout(&i, uap->modep, sizeof(i))); } -#else /* !CAPABILITIES */ +#else /* !CAPABILITY_MODE */ int cap_enter(struct thread *td, struct cap_enter_args *uap) @@ -115,4 +115,4 @@ cap_getmode(struct thread *td, struct ca return (ENOSYS); } -#endif /* CAPABILITIES */ +#endif /* CAPABILITY_MODE */ Modified: projects/largeSMP/sys/kern/uipc_shm.c ============================================================================== --- projects/largeSMP/sys/kern/uipc_shm.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/kern/uipc_shm.c Thu Jun 30 10:19:43 2011 (r223691) @@ -264,7 +264,7 @@ shm_dotruncate(struct shmfd *shmfd, off_ /* Toss in memory pages. */ if (nobjsize < object->size) vm_object_page_remove(object, nobjsize, object->size, - FALSE); + 0); /* Toss pages from swap. */ if (object->type == OBJT_SWAP) Modified: projects/largeSMP/sys/kern/vfs_subr.c ============================================================================== --- projects/largeSMP/sys/kern/vfs_subr.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/kern/vfs_subr.c Thu Jun 30 10:19:43 2011 (r223691) @@ -1190,8 +1190,8 @@ bufobj_invalbuf(struct bufobj *bo, int f */ if (bo->bo_object != NULL && (flags & (V_ALT | V_NORMAL)) == 0) { VM_OBJECT_LOCK(bo->bo_object); - vm_object_page_remove(bo->bo_object, 0, 0, - (flags & V_SAVE) ? TRUE : FALSE); + vm_object_page_remove(bo->bo_object, 0, 0, (flags & V_SAVE) ? + OBJPR_CLEANONLY : 0); VM_OBJECT_UNLOCK(bo->bo_object); } Modified: projects/largeSMP/sys/mips/mips/pmap.c ============================================================================== --- projects/largeSMP/sys/mips/mips/pmap.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/mips/mips/pmap.c Thu Jun 30 10:19:43 2011 (r223691) @@ -1708,8 +1708,8 @@ pmap_remove_all(vm_page_t m) pv_entry_t pv; pt_entry_t *pte, tpte; - KASSERT((m->flags & PG_FICTITIOUS) == 0, - ("pmap_remove_all: page %p is fictitious", m)); + KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0, + ("pmap_remove_all: page %p is not managed", m)); vm_page_lock_queues(); if (m->md.pv_flags & PV_TABLE_REF) Modified: projects/largeSMP/sys/netinet/ip_fw.h ============================================================================== --- projects/largeSMP/sys/netinet/ip_fw.h Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/netinet/ip_fw.h Thu Jun 30 10:19:43 2011 (r223691) @@ -57,6 +57,12 @@ #define IP_FW_TABLEARG 65535 /* XXX should use 0 */ /* + * Number of entries in the call stack of the call/return commands. + * Call stack currently is an uint16_t array with rule numbers. + */ +#define IPFW_CALLSTACK_SIZE 16 + +/* * The kernel representation of ipfw rules is made of a list of * 'instructions' (for all practical purposes equivalent to BPF * instructions), which specify which fields of the packet @@ -195,6 +201,8 @@ enum ipfw_opcodes { /* arguments (4 byt O_SOCKARG, /* socket argument */ + O_CALLRETURN, /* arg1=called rule number */ + O_LAST_OPCODE /* not an opcode! */ }; Modified: projects/largeSMP/sys/netinet/ip_var.h ============================================================================== --- projects/largeSMP/sys/netinet/ip_var.h Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/netinet/ip_var.h Thu Jun 30 10:19:43 2011 (r223691) @@ -286,6 +286,7 @@ enum { }; #define MTAG_IPFW 1148380143 /* IPFW-tagged cookie */ #define MTAG_IPFW_RULE 1262273568 /* rule reference */ +#define MTAG_IPFW_CALL 1308397630 /* call stack */ struct ip_fw_args; typedef int (*ip_fw_chk_ptr_t)(struct ip_fw_args *args); Modified: projects/largeSMP/sys/netinet/ipfw/ip_fw2.c ============================================================================== --- projects/largeSMP/sys/netinet/ipfw/ip_fw2.c Thu Jun 30 09:20:26 2011 (r223690) +++ projects/largeSMP/sys/netinet/ipfw/ip_fw2.c Thu Jun 30 10:19:43 2011 (r223691) @@ -2095,6 +2095,123 @@ do { \ continue; break; /* not reached */ + case O_CALLRETURN: { + /* + * Implementation of `subroutine' call/return, + * in the stack carried in an mbuf tag. This + * is different from `skipto' in that any call + * address is possible (`skipto' must prevent + * backward jumps to avoid endless loops). + * We have `return' action when F_NOT flag is + * present. The `m_tag_id' field is used as + * stack pointer. + */ + struct m_tag *mtag; + uint16_t jmpto, *stack; + +#define IS_CALL ((cmd->len & F_NOT) == 0) +#define IS_RETURN ((cmd->len & F_NOT) != 0) + /* + * Hand-rolled version of m_tag_locate() with + * wildcard `type'. + * If not already tagged, allocate new tag. + */ + mtag = m_tag_first(m); + while (mtag != NULL) { + if (mtag->m_tag_cookie == + MTAG_IPFW_CALL) + break; + mtag = m_tag_next(m, mtag); + } + if (mtag == NULL && IS_CALL) { + mtag = m_tag_alloc(MTAG_IPFW_CALL, 0, + IPFW_CALLSTACK_SIZE * + sizeof(uint16_t), M_NOWAIT); + if (mtag != NULL) + m_tag_prepend(m, mtag); + } + + /* + * On error both `call' and `return' just + * continue with next rule. + */ + if (IS_RETURN && (mtag == NULL || + mtag->m_tag_id == 0)) { + l = 0; /* exit inner loop */ + break; + } + if (IS_CALL && (mtag == NULL || + mtag->m_tag_id >= IPFW_CALLSTACK_SIZE)) { + printf("ipfw: call stack error, " + "go to next rule\n"); + l = 0; /* exit inner loop */ + break; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Jun 30 17:37:43 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D673106564A; Thu, 30 Jun 2011 17:37:43 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 49DF58FC18; Thu, 30 Jun 2011 17:37:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5UHbhYM053363; Thu, 30 Jun 2011 17:37:43 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5UHbg6T053344; Thu, 30 Jun 2011 17:37:42 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201106301737.p5UHbg6T053344@svn.freebsd.org> From: Peter Grehan Date: Thu, 30 Jun 2011 17:37:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223698 - in projects/bhyve: . bin/rcp bin/realpath bin/sh cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common contrib/binutils/gas/config contrib/libpcap/bpf/ne... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2011 17:37:43 -0000 Author: grehan Date: Thu Jun 30 17:37:42 2011 New Revision: 223698 URL: http://svn.freebsd.org/changeset/base/223698 Log: IFC @ r223696 to pick up dfr's userboot Added: projects/bhyve/etc/devd/usb.conf - copied unchanged from r223696, head/etc/devd/usb.conf projects/bhyve/lib/libusb/libusb01.c - copied unchanged from r223696, head/lib/libusb/libusb01.c projects/bhyve/sys/boot/common/disk.c - copied unchanged from r223696, head/sys/boot/common/disk.c projects/bhyve/sys/boot/common/disk.h - copied unchanged from r223696, head/sys/boot/common/disk.h projects/bhyve/sys/boot/ficl/amd64/ - copied from r223696, head/sys/boot/ficl/amd64/ projects/bhyve/sys/boot/userboot/ - copied from r223696, head/sys/boot/userboot/ projects/bhyve/sys/contrib/pf/net/if_pflow.h - copied unchanged from r223696, head/sys/contrib/pf/net/if_pflow.h projects/bhyve/sys/contrib/pf/net/pf_lb.c - copied unchanged from r223696, head/sys/contrib/pf/net/pf_lb.c projects/bhyve/sys/dev/pci/pci_subr.c - copied unchanged from r223696, head/sys/dev/pci/pci_subr.c projects/bhyve/sys/dev/usb/template/usb_template_audio.c - copied unchanged from r223696, head/sys/dev/usb/template/usb_template_audio.c projects/bhyve/sys/dev/usb/template/usb_template_kbd.c - copied unchanged from r223696, head/sys/dev/usb/template/usb_template_kbd.c projects/bhyve/sys/dev/usb/template/usb_template_modem.c - copied unchanged from r223696, head/sys/dev/usb/template/usb_template_modem.c projects/bhyve/sys/dev/usb/template/usb_template_mouse.c - copied unchanged from r223696, head/sys/dev/usb/template/usb_template_mouse.c projects/bhyve/sys/modules/pfsync/ - copied from r223696, head/sys/modules/pfsync/ projects/bhyve/sys/x86/include/pci_cfgreg.h - copied unchanged from r223696, head/sys/x86/include/pci_cfgreg.h projects/bhyve/sys/x86/pci/pci_bus.c - copied unchanged from r223696, head/sys/x86/pci/pci_bus.c projects/bhyve/tools/regression/bin/sh/builtins/case10.0 - copied unchanged from r223696, head/tools/regression/bin/sh/builtins/case10.0 projects/bhyve/tools/tools/bus_autoconf/ - copied from r223696, head/tools/tools/bus_autoconf/ Deleted: projects/bhyve/lib/libusb/libusb20_compat01.c projects/bhyve/sys/amd64/pci/pci_bus.c projects/bhyve/sys/contrib/pf/net/pf_subr.c projects/bhyve/sys/i386/pci/pci_bus.c projects/bhyve/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk Modified: projects/bhyve/UPDATING projects/bhyve/bin/rcp/rcp.c projects/bhyve/bin/realpath/realpath.1 projects/bhyve/bin/realpath/realpath.c projects/bhyve/bin/sh/arith_yacc.c projects/bhyve/bin/sh/mkinit.c projects/bhyve/bin/sh/sh.1 projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/bhyve/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/bhyve/contrib/binutils/gas/config/tc-arm.c projects/bhyve/contrib/libpcap/bpf/net/bpf_filter.c projects/bhyve/contrib/ntp/ntpd/ntp_config.c projects/bhyve/contrib/ntp/ntpd/ntp_intres.c projects/bhyve/contrib/ntp/ntpd/ntp_io.c projects/bhyve/contrib/pf/authpf/authpf.8 projects/bhyve/contrib/pf/authpf/authpf.c projects/bhyve/contrib/pf/authpf/pathnames.h projects/bhyve/contrib/pf/ftp-proxy/filter.c projects/bhyve/contrib/pf/ftp-proxy/filter.h projects/bhyve/contrib/pf/ftp-proxy/ftp-proxy.8 projects/bhyve/contrib/pf/ftp-proxy/ftp-proxy.c projects/bhyve/contrib/pf/man/pf.4 projects/bhyve/contrib/pf/man/pf.conf.5 projects/bhyve/contrib/pf/man/pf.os.5 projects/bhyve/contrib/pf/man/pflog.4 projects/bhyve/contrib/pf/man/pfsync.4 projects/bhyve/contrib/pf/pfctl/parse.y projects/bhyve/contrib/pf/pfctl/pf_print_state.c projects/bhyve/contrib/pf/pfctl/pfctl.8 projects/bhyve/contrib/pf/pfctl/pfctl.c projects/bhyve/contrib/pf/pfctl/pfctl.h projects/bhyve/contrib/pf/pfctl/pfctl_altq.c projects/bhyve/contrib/pf/pfctl/pfctl_optimize.c projects/bhyve/contrib/pf/pfctl/pfctl_osfp.c projects/bhyve/contrib/pf/pfctl/pfctl_parser.c projects/bhyve/contrib/pf/pfctl/pfctl_parser.h projects/bhyve/contrib/pf/pfctl/pfctl_qstats.c projects/bhyve/contrib/pf/pfctl/pfctl_radix.c projects/bhyve/contrib/pf/pfctl/pfctl_table.c projects/bhyve/contrib/pf/pflogd/pflogd.8 projects/bhyve/contrib/pf/pflogd/pflogd.c projects/bhyve/contrib/pf/pflogd/privsep.c projects/bhyve/contrib/pf/pflogd/privsep_fdpass.c projects/bhyve/contrib/traceroute/traceroute.c projects/bhyve/contrib/tzdata/antarctica projects/bhyve/contrib/tzdata/asia projects/bhyve/contrib/tzdata/europe projects/bhyve/contrib/tzdata/southamerica projects/bhyve/contrib/tzdata/zone.tab projects/bhyve/etc/devd/Makefile projects/bhyve/etc/devd/uath.conf projects/bhyve/etc/network.subr projects/bhyve/etc/rc.d/netwait projects/bhyve/etc/rc.d/quota projects/bhyve/etc/regdomain.xml projects/bhyve/kerberos5/Makefile projects/bhyve/lib/csu/powerpc64/Makefile projects/bhyve/lib/libc/gen/getutxent.3 projects/bhyve/lib/libc/gen/posix_spawn.3 projects/bhyve/lib/libc/gen/posix_spawn.c projects/bhyve/lib/libc/gen/pututxline.c projects/bhyve/lib/libc/stdlib/malloc.c projects/bhyve/lib/libc/stdlib/ptsname.c projects/bhyve/lib/libmd/sha256.3 projects/bhyve/lib/libmd/sha512.3 projects/bhyve/lib/libprocstat/Makefile projects/bhyve/lib/libstand/tftp.c projects/bhyve/lib/libusb/Makefile projects/bhyve/lib/libusb/libusb10.c projects/bhyve/lib/libusb/libusb20.3 projects/bhyve/lib/libusb/libusb20.c projects/bhyve/lib/libusb/libusb20.h projects/bhyve/lib/libusb/libusb20_int.h projects/bhyve/lib/libusb/libusb20_ugen20.c projects/bhyve/libexec/ftpd/ftpd.c projects/bhyve/libexec/tftpd/tftp-file.c projects/bhyve/libexec/tftpd/tftpd.8 projects/bhyve/libexec/ulog-helper/Makefile projects/bhyve/libexec/ulog-helper/ulog-helper.c projects/bhyve/release/doc/en_US.ISO8859-1/readme/article.sgml projects/bhyve/release/doc/share/sgml/release.ent projects/bhyve/sbin/fsck_ffs/suj.c projects/bhyve/sbin/geom/class/part/geom_part.c projects/bhyve/sbin/growfs/growfs.8 projects/bhyve/sbin/growfs/growfs.c projects/bhyve/sbin/hastctl/Makefile projects/bhyve/sbin/hastd/Makefile projects/bhyve/sbin/hastd/activemap.c projects/bhyve/sbin/hastd/primary.c projects/bhyve/sbin/hastd/subr.c projects/bhyve/sbin/ipfw/ipfw.8 projects/bhyve/sbin/ipfw/ipfw2.c projects/bhyve/sbin/ipfw/ipfw2.h projects/bhyve/sbin/ipfw/main.c projects/bhyve/sbin/ipfw/nat.c projects/bhyve/sbin/newfs/newfs.8 projects/bhyve/sbin/pflogd/Makefile projects/bhyve/sbin/savecore/savecore.c projects/bhyve/sbin/tunefs/tunefs.8 projects/bhyve/share/man/man4/jme.4 projects/bhyve/share/man/man4/ng_ether.4 projects/bhyve/share/misc/iso3166 projects/bhyve/share/mk/bsd.own.mk projects/bhyve/sys/amd64/amd64/pmap.c projects/bhyve/sys/amd64/amd64/sys_machdep.c projects/bhyve/sys/amd64/include/pci_cfgreg.h projects/bhyve/sys/arm/arm/pmap.c projects/bhyve/sys/arm/arm/sys_machdep.c projects/bhyve/sys/arm/at91/at91_machdep.c projects/bhyve/sys/arm/conf/CAMBRIA projects/bhyve/sys/arm/mv/common.c projects/bhyve/sys/arm/sa11x0/assabet_machdep.c projects/bhyve/sys/arm/sa11x0/sa11x0.c projects/bhyve/sys/boot/Makefile projects/bhyve/sys/boot/Makefile.amd64 projects/bhyve/sys/boot/Makefile.arm projects/bhyve/sys/boot/Makefile.powerpc projects/bhyve/sys/boot/common/Makefile.inc projects/bhyve/sys/boot/common/load_elf.c projects/bhyve/sys/boot/common/reloc_elf.c projects/bhyve/sys/boot/i386/libi386/bioscd.c projects/bhyve/sys/boot/i386/zfsboot/zfsldr.S projects/bhyve/sys/cam/ata/ata_xpt.c projects/bhyve/sys/cam/cam_xpt.c projects/bhyve/sys/cam/scsi/scsi_cd.c projects/bhyve/sys/cam/scsi/scsi_xpt.c projects/bhyve/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/bhyve/sys/conf/NOTES projects/bhyve/sys/conf/files projects/bhyve/sys/conf/files.amd64 projects/bhyve/sys/conf/files.i386 projects/bhyve/sys/conf/files.ia64 projects/bhyve/sys/conf/files.pc98 projects/bhyve/sys/conf/options projects/bhyve/sys/contrib/altq/altq/altq_red.c projects/bhyve/sys/contrib/pf/net/if_pflog.c projects/bhyve/sys/contrib/pf/net/if_pflog.h projects/bhyve/sys/contrib/pf/net/if_pfsync.c projects/bhyve/sys/contrib/pf/net/if_pfsync.h projects/bhyve/sys/contrib/pf/net/pf.c projects/bhyve/sys/contrib/pf/net/pf_if.c projects/bhyve/sys/contrib/pf/net/pf_ioctl.c projects/bhyve/sys/contrib/pf/net/pf_mtag.h projects/bhyve/sys/contrib/pf/net/pf_norm.c projects/bhyve/sys/contrib/pf/net/pf_osfp.c projects/bhyve/sys/contrib/pf/net/pf_ruleset.c projects/bhyve/sys/contrib/pf/net/pf_table.c projects/bhyve/sys/contrib/pf/net/pfvar.h projects/bhyve/sys/dev/acpica/acpi.c projects/bhyve/sys/dev/acpica/acpi_cpu.c projects/bhyve/sys/dev/acpica/acpi_pcib_acpi.c projects/bhyve/sys/dev/acpica/acpi_resource.c projects/bhyve/sys/dev/acpica/acpi_thermal.c projects/bhyve/sys/dev/acpica/acpivar.h projects/bhyve/sys/dev/an/if_an.c projects/bhyve/sys/dev/ath/ah_osdep.c projects/bhyve/sys/dev/ath/ath_hal/ah.h projects/bhyve/sys/dev/ath/ath_hal/ah_eeprom_9287.h projects/bhyve/sys/dev/ath/ath_hal/ah_internal.h projects/bhyve/sys/dev/ath/ath_hal/ah_regdomain.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c projects/bhyve/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c projects/bhyve/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5112.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/bhyve/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/bhyve/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/bhyve/sys/dev/ath/if_ath.c projects/bhyve/sys/dev/ath/if_ath_sysctl.c projects/bhyve/sys/dev/ath/if_ath_sysctl.h projects/bhyve/sys/dev/cardbus/cardbus_cis.c projects/bhyve/sys/dev/dc/dcphy.c projects/bhyve/sys/dev/dc/if_dc.c projects/bhyve/sys/dev/dc/pnphy.c projects/bhyve/sys/dev/e1000/if_em.c projects/bhyve/sys/dev/e1000/if_igb.c projects/bhyve/sys/dev/e1000/if_igb.h projects/bhyve/sys/dev/en/if_en_pci.c projects/bhyve/sys/dev/et/if_et.c projects/bhyve/sys/dev/fdc/fdc_pccard.c projects/bhyve/sys/dev/firewire/fwohci.c projects/bhyve/sys/dev/fxp/if_fxp.c projects/bhyve/sys/dev/gem/if_gem.c projects/bhyve/sys/dev/gem/if_gemvar.h projects/bhyve/sys/dev/iicbus/if_ic.c projects/bhyve/sys/dev/mfi/mfi_cam.c projects/bhyve/sys/dev/mii/e1000phy.c projects/bhyve/sys/dev/mii/miidevs projects/bhyve/sys/dev/my/if_my.c projects/bhyve/sys/dev/pccbb/pccbb_pci.c projects/bhyve/sys/dev/pci/pci.c projects/bhyve/sys/dev/pci/pci_pci.c projects/bhyve/sys/dev/pty/pty.c projects/bhyve/sys/dev/sis/if_sis.c projects/bhyve/sys/dev/snp/snp.c projects/bhyve/sys/dev/sound/macio/i2s.c projects/bhyve/sys/dev/sound/usb/uaudio.c projects/bhyve/sys/dev/syscons/scterm-teken.c projects/bhyve/sys/dev/tdfx/tdfx_pci.c projects/bhyve/sys/dev/uart/uart_bus_pci.c projects/bhyve/sys/dev/usb/input/atp.c projects/bhyve/sys/dev/usb/input/uep.c projects/bhyve/sys/dev/usb/input/uhid.c projects/bhyve/sys/dev/usb/input/ukbd.c projects/bhyve/sys/dev/usb/input/ums.c projects/bhyve/sys/dev/usb/misc/udbp.c projects/bhyve/sys/dev/usb/misc/ufm.c projects/bhyve/sys/dev/usb/net/if_aue.c projects/bhyve/sys/dev/usb/net/if_axe.c projects/bhyve/sys/dev/usb/net/if_cdce.c projects/bhyve/sys/dev/usb/net/if_cue.c projects/bhyve/sys/dev/usb/net/if_ipheth.c projects/bhyve/sys/dev/usb/net/if_kue.c projects/bhyve/sys/dev/usb/net/if_mos.c projects/bhyve/sys/dev/usb/net/if_rue.c projects/bhyve/sys/dev/usb/net/if_udav.c projects/bhyve/sys/dev/usb/net/uhso.c projects/bhyve/sys/dev/usb/serial/u3g.c projects/bhyve/sys/dev/usb/serial/uark.c projects/bhyve/sys/dev/usb/serial/ubsa.c projects/bhyve/sys/dev/usb/serial/uchcom.c projects/bhyve/sys/dev/usb/serial/ucycom.c projects/bhyve/sys/dev/usb/serial/ufoma.c projects/bhyve/sys/dev/usb/serial/uftdi.c projects/bhyve/sys/dev/usb/serial/ugensa.c projects/bhyve/sys/dev/usb/serial/uipaq.c projects/bhyve/sys/dev/usb/serial/ulpt.c projects/bhyve/sys/dev/usb/serial/umcs.c projects/bhyve/sys/dev/usb/serial/umct.c projects/bhyve/sys/dev/usb/serial/umodem.c projects/bhyve/sys/dev/usb/serial/umoscom.c projects/bhyve/sys/dev/usb/serial/uplcom.c projects/bhyve/sys/dev/usb/serial/uslcom.c projects/bhyve/sys/dev/usb/serial/uvisor.c projects/bhyve/sys/dev/usb/serial/uvscom.c projects/bhyve/sys/dev/usb/storage/umass.c projects/bhyve/sys/dev/usb/storage/urio.c projects/bhyve/sys/dev/usb/template/usb_template.c projects/bhyve/sys/dev/usb/template/usb_template.h projects/bhyve/sys/dev/usb/template/usb_template_cdce.c projects/bhyve/sys/dev/usb/template/usb_template_msc.c projects/bhyve/sys/dev/usb/template/usb_template_mtp.c projects/bhyve/sys/dev/usb/usb_device.c projects/bhyve/sys/dev/usb/usb_hub.c projects/bhyve/sys/dev/usb/usb_ioctl.h projects/bhyve/sys/dev/usb/usb_lookup.c projects/bhyve/sys/dev/usb/usb_msctest.c projects/bhyve/sys/dev/usb/usbdi.h projects/bhyve/sys/dev/usb/wlan/if_rum.c projects/bhyve/sys/dev/usb/wlan/if_run.c projects/bhyve/sys/dev/usb/wlan/if_uath.c projects/bhyve/sys/dev/usb/wlan/if_upgt.c projects/bhyve/sys/dev/usb/wlan/if_ural.c projects/bhyve/sys/dev/usb/wlan/if_urtw.c projects/bhyve/sys/dev/usb/wlan/if_zyd.c projects/bhyve/sys/dev/vr/if_vr.c projects/bhyve/sys/dev/vr/if_vrreg.h projects/bhyve/sys/dev/xl/if_xl.c projects/bhyve/sys/fs/nfs/nfs_commonkrpc.c projects/bhyve/sys/fs/nfs/nfsproto.h projects/bhyve/sys/fs/nfsclient/nfs_clport.c projects/bhyve/sys/fs/nfsclient/nfs_clrpcops.c projects/bhyve/sys/fs/nfsserver/nfs_nfsdserv.c projects/bhyve/sys/fs/tmpfs/tmpfs_subr.c projects/bhyve/sys/geom/part/g_part_ebr.c projects/bhyve/sys/geom/part/g_part_gpt.c projects/bhyve/sys/geom/part/g_part_mbr.c projects/bhyve/sys/i386/i386/pmap.c projects/bhyve/sys/i386/i386/sys_machdep.c projects/bhyve/sys/i386/include/param.h projects/bhyve/sys/i386/include/pci_cfgreg.h projects/bhyve/sys/i386/xen/pmap.c projects/bhyve/sys/ia64/conf/NOTES projects/bhyve/sys/ia64/ia64/clock.c projects/bhyve/sys/ia64/ia64/db_machdep.c projects/bhyve/sys/ia64/ia64/interrupt.c projects/bhyve/sys/ia64/ia64/machdep.c projects/bhyve/sys/ia64/ia64/mp_machdep.c projects/bhyve/sys/ia64/ia64/pmap.c projects/bhyve/sys/ia64/include/pcpu.h projects/bhyve/sys/ia64/include/smp.h projects/bhyve/sys/kern/imgact_elf.c projects/bhyve/sys/kern/kern_clocksource.c projects/bhyve/sys/kern/kern_descrip.c projects/bhyve/sys/kern/kern_exec.c projects/bhyve/sys/kern/subr_kdb.c projects/bhyve/sys/kern/subr_smp.c projects/bhyve/sys/kern/subr_trap.c projects/bhyve/sys/kern/sys_capability.c projects/bhyve/sys/kern/tty.c projects/bhyve/sys/kern/tty_inq.c projects/bhyve/sys/kern/tty_outq.c projects/bhyve/sys/kern/tty_pts.c projects/bhyve/sys/kern/tty_ttydisc.c projects/bhyve/sys/kern/uipc_shm.c projects/bhyve/sys/kern/uipc_syscalls.c projects/bhyve/sys/kern/vfs_subr.c projects/bhyve/sys/mips/atheros/ar71xx_chip.c projects/bhyve/sys/mips/atheros/ar71xx_machdep.c projects/bhyve/sys/mips/atheros/ar71xx_ohci.c projects/bhyve/sys/mips/atheros/ar71xx_setup.c projects/bhyve/sys/mips/atheros/ar724x_chip.c projects/bhyve/sys/mips/atheros/ar91xx_chip.c projects/bhyve/sys/mips/mips/genassym.c projects/bhyve/sys/mips/mips/pmap.c projects/bhyve/sys/mips/mips/trap.c projects/bhyve/sys/mips/rmi/dev/xlr/rge.c projects/bhyve/sys/mips/rmi/fmn.c projects/bhyve/sys/mips/rmi/iodi.c projects/bhyve/sys/mips/sentry5/s5_machdep.c projects/bhyve/sys/mips/sibyte/sb_machdep.c projects/bhyve/sys/modules/Makefile projects/bhyve/sys/modules/cxgbe/if_cxgbe/Makefile projects/bhyve/sys/modules/ipdivert/Makefile projects/bhyve/sys/modules/nfscl/Makefile projects/bhyve/sys/modules/nfscommon/Makefile projects/bhyve/sys/modules/pf/Makefile projects/bhyve/sys/modules/pflog/Makefile projects/bhyve/sys/modules/usb/template/Makefile projects/bhyve/sys/net/if.c projects/bhyve/sys/net/route.c projects/bhyve/sys/net/route.h projects/bhyve/sys/net80211/ieee80211_dfs.c projects/bhyve/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/bhyve/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c projects/bhyve/sys/netgraph/ng_ether.c projects/bhyve/sys/netinet/in_gif.c projects/bhyve/sys/netinet/ip_divert.c projects/bhyve/sys/netinet/ip_fw.h projects/bhyve/sys/netinet/ip_icmp.c projects/bhyve/sys/netinet/ip_var.h projects/bhyve/sys/netinet/ipfw/ip_dn_io.c projects/bhyve/sys/netinet/ipfw/ip_fw2.c projects/bhyve/sys/netinet/ipfw/ip_fw_log.c projects/bhyve/sys/netinet/ipfw/ip_fw_pfil.c projects/bhyve/sys/netinet/ipfw/ip_fw_sockopt.c projects/bhyve/sys/netinet/libalias/alias_db.c projects/bhyve/sys/netinet/libalias/alias_ftp.c projects/bhyve/sys/netinet/libalias/alias_local.h projects/bhyve/sys/netinet/libalias/libalias.3 projects/bhyve/sys/netinet/raw_ip.c projects/bhyve/sys/netinet/sctp_uio.h projects/bhyve/sys/netinet6/icmp6.c projects/bhyve/sys/netinet6/in6_gif.c projects/bhyve/sys/netipsec/ipsec_input.c projects/bhyve/sys/netipsec/ipsec_output.c projects/bhyve/sys/netipsec/xform_ipip.c projects/bhyve/sys/nfs/bootp_subr.c projects/bhyve/sys/powerpc/aim/copyinout.c projects/bhyve/sys/powerpc/aim/locore32.S projects/bhyve/sys/powerpc/aim/locore64.S projects/bhyve/sys/powerpc/aim/machdep.c projects/bhyve/sys/powerpc/aim/mmu_oea64.c projects/bhyve/sys/powerpc/aim/mp_cpudep.c projects/bhyve/sys/powerpc/aim/swtch32.S projects/bhyve/sys/powerpc/aim/swtch64.S projects/bhyve/sys/powerpc/aim/trap.c projects/bhyve/sys/powerpc/aim/trap_subr32.S projects/bhyve/sys/powerpc/aim/trap_subr64.S projects/bhyve/sys/powerpc/booke/copyinout.c projects/bhyve/sys/powerpc/booke/interrupt.c projects/bhyve/sys/powerpc/booke/trap.c projects/bhyve/sys/powerpc/include/pcpu.h projects/bhyve/sys/powerpc/ofw/ofwcall32.S projects/bhyve/sys/powerpc/ofw/rtas.c projects/bhyve/sys/powerpc/powermac/fcu.c projects/bhyve/sys/powerpc/powerpc/db_trace.c projects/bhyve/sys/powerpc/powerpc/mp_machdep.c projects/bhyve/sys/powerpc/ps3/ps3-hvcall.h projects/bhyve/sys/powerpc/ps3/ps3-hvcall.master projects/bhyve/sys/powerpc/ps3/ps3bus.c projects/bhyve/sys/powerpc/ps3/ps3disk.c projects/bhyve/sys/powerpc/ps3/ps3pic.c projects/bhyve/sys/sparc64/include/tsb.h projects/bhyve/sys/sparc64/include/vmparam.h projects/bhyve/sys/sparc64/sparc64/pmap.c projects/bhyve/sys/sparc64/sparc64/sys_machdep.c projects/bhyve/sys/sys/diskmbr.h projects/bhyve/sys/sys/filedesc.h projects/bhyve/sys/sys/mbuf.h projects/bhyve/sys/sys/param.h projects/bhyve/sys/sys/soundcard.h projects/bhyve/sys/sys/systm.h projects/bhyve/sys/teken/demo/teken_demo.c projects/bhyve/sys/teken/gensequences projects/bhyve/sys/teken/libteken/teken.3 projects/bhyve/sys/teken/teken.c projects/bhyve/sys/teken/teken_subr.h projects/bhyve/sys/ufs/ffs/ffs_inode.c projects/bhyve/sys/ufs/ffs/ffs_softdep.c projects/bhyve/sys/vm/vm_fault.c projects/bhyve/sys/vm/vm_map.c projects/bhyve/sys/vm/vm_object.c projects/bhyve/sys/vm/vm_object.h projects/bhyve/sys/vm/vm_page.c projects/bhyve/sys/vm/vnode_pager.c projects/bhyve/sys/x86/x86/tsc.c projects/bhyve/usr.bin/calendar/calendars/calendar.freebsd projects/bhyve/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all projects/bhyve/usr.bin/cmp/regular.c projects/bhyve/usr.bin/cmp/special.c projects/bhyve/usr.bin/finger/net.c projects/bhyve/usr.bin/ktrace/ktrace.c projects/bhyve/usr.bin/lastcomm/lastcomm.c projects/bhyve/usr.bin/lastcomm/readrec.c projects/bhyve/usr.bin/ncplogin/ncplogin.c projects/bhyve/usr.bin/quota/quota.c projects/bhyve/usr.bin/systat/netstat.c projects/bhyve/usr.bin/tar/util.c projects/bhyve/usr.bin/tar/write.c projects/bhyve/usr.bin/tftp/main.c projects/bhyve/usr.bin/tftp/tftp.1 projects/bhyve/usr.bin/vmstat/vmstat.c projects/bhyve/usr.sbin/ancontrol/ancontrol.c projects/bhyve/usr.sbin/ftp-proxy/ftp-proxy/Makefile projects/bhyve/usr.sbin/ifmcstat/ifmcstat.c projects/bhyve/usr.sbin/mtest/mtest.c projects/bhyve/usr.sbin/nfsd/nfsd.c projects/bhyve/usr.sbin/nfsuserd/nfsuserd.c projects/bhyve/usr.sbin/pmcstat/pmcpl_calltree.c projects/bhyve/usr.sbin/ppp/nat_cmd.c projects/bhyve/usr.sbin/rpc.yppasswdd/yppasswdd_main.c projects/bhyve/usr.sbin/rpc.ypupdated/update.c projects/bhyve/usr.sbin/rpc.ypupdated/ypupdated_main.c projects/bhyve/usr.sbin/rpc.ypupdated/ypupdated_server.c projects/bhyve/usr.sbin/sysinstall/modules.c projects/bhyve/usr.sbin/wpa/ndis_events/ndis_events.c projects/bhyve/usr.sbin/wpa/wpa_supplicant/Packet32.c Directory Properties: projects/bhyve/ (props changed) projects/bhyve/cddl/contrib/opensolaris/ (props changed) projects/bhyve/contrib/bind9/ (props changed) projects/bhyve/contrib/binutils/ (props changed) projects/bhyve/contrib/bzip2/ (props changed) projects/bhyve/contrib/compiler-rt/ (props changed) projects/bhyve/contrib/dialog/ (props changed) projects/bhyve/contrib/ee/ (props changed) projects/bhyve/contrib/expat/ (props changed) projects/bhyve/contrib/file/ (props changed) projects/bhyve/contrib/gcc/ (props changed) projects/bhyve/contrib/gdb/ (props changed) projects/bhyve/contrib/gdtoa/ (props changed) projects/bhyve/contrib/gnu-sort/ (props changed) projects/bhyve/contrib/groff/ (props changed) projects/bhyve/contrib/less/ (props changed) projects/bhyve/contrib/libpcap/ (props changed) projects/bhyve/contrib/libstdc++/ (props changed) projects/bhyve/contrib/llvm/ (props changed) projects/bhyve/contrib/llvm/tools/clang/ (props changed) projects/bhyve/contrib/ncurses/ (props changed) projects/bhyve/contrib/netcat/ (props changed) projects/bhyve/contrib/ntp/ (props changed) projects/bhyve/contrib/one-true-awk/ (props changed) projects/bhyve/contrib/openbsm/ (props changed) projects/bhyve/contrib/openpam/ (props changed) projects/bhyve/contrib/pf/ (props changed) projects/bhyve/contrib/sendmail/ (props changed) projects/bhyve/contrib/tcpdump/ (props changed) projects/bhyve/contrib/tcsh/ (props changed) projects/bhyve/contrib/tnftp/ (props changed) projects/bhyve/contrib/top/ (props changed) projects/bhyve/contrib/top/install-sh (props changed) projects/bhyve/contrib/tzcode/stdtime/ (props changed) projects/bhyve/contrib/tzcode/zic/ (props changed) projects/bhyve/contrib/tzdata/ (props changed) projects/bhyve/contrib/wpa/ (props changed) projects/bhyve/contrib/xz/ (props changed) projects/bhyve/crypto/openssh/ (props changed) projects/bhyve/crypto/openssl/ (props changed) projects/bhyve/gnu/lib/ (props changed) projects/bhyve/gnu/usr.bin/binutils/ (props changed) projects/bhyve/gnu/usr.bin/cc/cc_tools/ (props changed) projects/bhyve/gnu/usr.bin/gdb/ (props changed) projects/bhyve/lib/libc/ (props changed) projects/bhyve/lib/libc/stdtime/ (props changed) projects/bhyve/lib/libutil/ (props changed) projects/bhyve/lib/libz/ (props changed) projects/bhyve/sbin/ (props changed) projects/bhyve/sbin/ipfw/ (props changed) projects/bhyve/share/mk/bsd.arch.inc.mk (props changed) projects/bhyve/share/zoneinfo/ (props changed) projects/bhyve/sys/ (props changed) projects/bhyve/sys/amd64/include/xen/ (props changed) projects/bhyve/sys/boot/ (props changed) projects/bhyve/sys/boot/i386/efi/ (props changed) projects/bhyve/sys/boot/ia64/efi/ (props changed) projects/bhyve/sys/boot/ia64/ski/ (props changed) projects/bhyve/sys/boot/powerpc/boot1.chrp/ (props changed) projects/bhyve/sys/boot/powerpc/ofw/ (props changed) projects/bhyve/sys/cddl/contrib/opensolaris/ (props changed) projects/bhyve/sys/conf/ (props changed) projects/bhyve/sys/contrib/dev/acpica/ (props changed) projects/bhyve/sys/contrib/octeon-sdk/ (props changed) projects/bhyve/sys/contrib/pf/ (props changed) projects/bhyve/sys/contrib/x86emu/ (props changed) projects/bhyve/usr.bin/calendar/ (props changed) projects/bhyve/usr.bin/csup/ (props changed) projects/bhyve/usr.bin/procstat/ (props changed) projects/bhyve/usr.sbin/ndiscvt/ (props changed) projects/bhyve/usr.sbin/zic/ (props changed) Modified: projects/bhyve/UPDATING ============================================================================== --- projects/bhyve/UPDATING Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/UPDATING Thu Jun 30 17:37:42 2011 (r223698) @@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110628: + The packet filter (pf) code has been updated to OpenBSD 4.5. + You need to update userland tools to be in sync with kernel. + This update breaks backward compatibility with earlier pfsync(4) + versions. Care must be taken when updating redundant firewall setups. + 20110608: The following sysctls and tunables are retired on x86 platforms: machdep.hlt_cpus Modified: projects/bhyve/bin/rcp/rcp.c ============================================================================== --- projects/bhyve/bin/rcp/rcp.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/rcp/rcp.c Thu Jun 30 17:37:42 2011 (r223698) @@ -71,7 +71,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include "extern.h" Modified: projects/bhyve/bin/realpath/realpath.1 ============================================================================== --- projects/bhyve/bin/realpath/realpath.1 Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/realpath/realpath.1 Thu Jun 30 17:37:42 2011 (r223698) @@ -33,7 +33,7 @@ .\" From: src/bin/pwd/pwd.1,v 1.11 2000/11/20 11:39:39 ru Exp .\" $FreeBSD$ .\" -.Dd November 24, 2000 +.Dd June 21, 2011 .Dt REALPATH 1 .Os .Sh NAME @@ -42,8 +42,7 @@ .Sh SYNOPSIS .Nm .Op Fl q -.Ar path -.Op Ar ... +.Op Ar path ... .Sh DESCRIPTION The .Nm @@ -57,6 +56,11 @@ and .Pa /../ in .Ar path . +If +.Ar path +is absent, the current working directory +.Pq Sq Pa .\& +is assumed. .Pp If .Fl q Modified: projects/bhyve/bin/realpath/realpath.c ============================================================================== --- projects/bhyve/bin/realpath/realpath.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/realpath/realpath.c Thu Jun 30 17:37:42 2011 (r223698) @@ -44,7 +44,8 @@ main(int argc, char *argv[]) { char buf[PATH_MAX]; char *p; - int ch, i, qflag, rval; + const char *path; + int ch, qflag, rval; qflag = 0; while ((ch = getopt(argc, argv, "q")) != -1) { @@ -59,17 +60,16 @@ main(int argc, char *argv[]) } argc -= optind; argv += optind; - if (argc < 1) - usage(); + path = *argv != NULL ? *argv++ : "."; rval = 0; - for (i = 0; i < argc; i++) { - if ((p = realpath(argv[i], buf)) == NULL) { + do { + if ((p = realpath(path, buf)) == NULL) { if (!qflag) - warn("%s", argv[i]); + warn("%s", path); rval = 1; } else (void)printf("%s\n", p); - } + } while ((path = *argv++) != NULL); exit(rval); } @@ -77,6 +77,6 @@ static void usage(void) { - (void)fprintf(stderr, "usage: realpath [-q] path [...]\n"); + (void)fprintf(stderr, "usage: realpath [-q] [path ...]\n"); exit(1); } Modified: projects/bhyve/bin/sh/arith_yacc.c ============================================================================== --- projects/bhyve/bin/sh/arith_yacc.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/sh/arith_yacc.c Thu Jun 30 17:37:42 2011 (r223698) @@ -35,7 +35,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #include #include Modified: projects/bhyve/bin/sh/mkinit.c ============================================================================== --- projects/bhyve/bin/sh/mkinit.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/sh/mkinit.c Thu Jun 30 17:37:42 2011 (r223698) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); */ -#include #include #include #include Modified: projects/bhyve/bin/sh/sh.1 ============================================================================== --- projects/bhyve/bin/sh/sh.1 Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/bin/sh/sh.1 Thu Jun 30 17:37:42 2011 (r223698) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 18, 2011 +.Dd June 24, 2011 .Dt SH 1 .Os .Sh NAME @@ -994,11 +994,22 @@ described later), separated by .Ql \&| characters. +Tilde expansion, parameter expansion, command substitution, +arithmetic expansion and quote removal are applied to the word. +Then, each pattern is expanded in turn using tilde expansion, +parameter expansion, command substitution and arithmetic expansion and +the expanded form of the word is checked against it. +If a match is found, the corresponding list is executed. If the selected list is terminated by the control operator .Ql ;& instead of .Ql ;; , -execution continues with the next list. +execution continues with the next list, +continuing until a list terminated with +.Ql ;; +or the end of the +.Ic case +command. The exit code of the .Ic case command is the exit code of the last command executed in the list or @@ -1618,15 +1629,15 @@ There are two restrictions on this: firs a string containing a slash, and second, a pattern cannot match a string starting with a period unless the first character of the pattern is a period. -The next section describes the patterns used for both -Pathname Expansion and the +The next section describes the patterns used for +Pathname Expansion, +the four varieties of parameter expansion for substring processing and the .Ic case command. .Ss Shell Patterns A pattern consists of normal characters, which match themselves, and meta-characters. The meta-characters are -.Ql \&! , .Ql * , .Ql \&? , and @@ -1656,7 +1667,7 @@ matches a .Ql \&[ rather than introducing a character class. A character class matches any of the characters between the square brackets. -A range of characters may be specified using a minus sign. +A locale-dependent range of characters may be specified using a minus sign. A named class of characters (see .Xr wctype 3 ) may be specified by surrounding the name with @@ -1669,12 +1680,17 @@ is a shell pattern that matches a single The character class may be complemented by making an exclamation point .Pq Ql !\& the first character of the character class. +A caret +.Pq Ql ^ +has the same effect but is non-standard. .Pp To include a .Ql \&] in a character class, make it the first character listed (after the -.Ql \&! , +.Ql \&! +or +.Ql ^ , if any). To include a .Ql - , Modified: projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Jun 30 17:37:42 2011 (r223698) @@ -6,6 +6,7 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] +.\" Copyright 2011 by Delphix. All rights reserved. .TH zfs 1M "24 Sep 2009" "SunOS 5.11" "System Administration Commands" .SH NAME zfs \- configures ZFS file systems @@ -389,7 +390,7 @@ This property can also be referred to by .ad .sp .6 .RS 4n -The compression ratio achieved for this dataset, expressed as a multiplier. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. +For non-snapshots, the compression ratio achieved for the \fBused\fR space of this dataset, expressed as a multiplier. The \fBused\fR property includes descendant datasets, and, for clones, does not include the space shared with the origin snapshot. For snapshots, the \fBcompressratio\fR is the same as the \fBrefcompressratio\fR property. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. .RE .sp @@ -453,6 +454,17 @@ This property can also be referred to by .ne 2 .mk .na +\fB\fBrefcompressratio\fR\fR +.ad +.sp .6 +.RS 4n +The compression ratio achieved for the \fBreferenced\fR space of this dataset, expressed as a multiplier. See also the \fBcompressratio\fR property. +.RE + +.sp +.ne 2 +.mk +.na \fB\fBtype\fR\fR .ad .sp .6 @@ -1278,7 +1290,7 @@ Recursively destroy all dependents, incl Force an unmount of any file systems using the \fBunmount -f\fR command. This option has no effect on non-file systems or unmounted file systems. .RE -Extreme care should be taken when applying either the \fB-r\fR or the \fB-f\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. +Extreme care should be taken when applying either the \fB-r\fR or the \fB-R\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. .RE .sp Modified: projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Jun 30 17:37:42 2011 (r223698) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2010 Nexenta Systems, Inc. All rights reserved. + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. */ #include @@ -1292,7 +1292,7 @@ static int zfs_do_get(int argc, char **argv) { zprop_get_cbdata_t cb = { 0 }; - int i, c, flags = 0; + int i, c, flags = ZFS_ITER_ARGS_CAN_BE_PATHS; char *value, *fields; int ret; int limit = 0; Modified: projects/bhyve/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Jun 30 17:37:42 2011 (r223698) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2010 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ #include @@ -2038,6 +2039,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop } break; + case ZFS_PROP_REFRATIO: case ZFS_PROP_COMPRESSRATIO: if (get_numeric_property(zhp, prop, src, &source, &val) != 0) return (-1); Modified: projects/bhyve/contrib/binutils/gas/config/tc-arm.c ============================================================================== --- projects/bhyve/contrib/binutils/gas/config/tc-arm.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/binutils/gas/config/tc-arm.c Thu Jun 30 17:37:42 2011 (r223698) @@ -9974,6 +9974,13 @@ do_t_rbit (void) } static void +do_t_rd_rm (void) +{ + inst.instruction |= inst.operands[0].reg << 8; + inst.instruction |= inst.operands[1].reg; +} + +static void do_t_rev (void) { if (inst.operands[0].reg <= 7 && inst.operands[1].reg <= 7 @@ -14901,6 +14908,9 @@ static const struct asm_opcode insns[] = TCE(rsb, 0600000, ebc00000, 3, (RR, oRR, SH), arit, t_rsb), TC3(rsbs, 0700000, ebd00000, 3, (RR, oRR, SH), arit, t_rsb), + TCE(rrx, 1a00060, ea4f0030, 2, (RR, RR), rd_rm, t_rd_rm), + TCE(rrxs, 1b00060, ea5f0030, 2, (RR, RR), rd_rm, t_rd_rm), + #undef THUMB_VARIANT #define THUMB_VARIANT &arm_ext_v6 TCE(cpy, 1a00000, 4600, 2, (RR, RR), rd_rm, t_cpy), Modified: projects/bhyve/contrib/libpcap/bpf/net/bpf_filter.c ============================================================================== --- projects/bhyve/contrib/libpcap/bpf/net/bpf_filter.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/libpcap/bpf/net/bpf_filter.c Thu Jun 30 17:37:42 2011 (r223698) @@ -405,7 +405,18 @@ bpf_filter(pc, p, wirelen, buflen) continue; case BPF_JMP|BPF_JA: +#if defined(KERNEL) || defined(_KERNEL) + /* + * No backward jumps allowed. + */ pc += pc->k; +#else + /* + * XXX - we currently implement "ip6 protochain" + * with backward jumps, so sign-extend pc->k. + */ + pc += (bpf_int32)pc->k; +#endif continue; case BPF_JMP|BPF_JGT|BPF_K: Modified: projects/bhyve/contrib/ntp/ntpd/ntp_config.c ============================================================================== --- projects/bhyve/contrib/ntp/ntpd/ntp_config.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/ntp/ntpd/ntp_config.c Thu Jun 30 17:37:42 2011 (r223698) @@ -414,7 +414,7 @@ enum gnn_type { static int getnetnum P((const char *, struct sockaddr_storage *, int, enum gnn_type)); static void save_resolve P((char *, int, int, int, int, u_int, int, - keyid_t, u_char *)); + keyid_t, u_char *, u_char)); static void do_resolve_internal P((void)); static void abort_resolve P((void)); #if !defined(VMS) && !defined(SYS_WINNT) @@ -870,9 +870,9 @@ getconfig( stoa(&peeraddr)); } } else if (errflg == -1) { - save_resolve(tokens[1], hmode, peerversion, + save_resolve(tokens[istart - 1], hmode, peerversion, minpoll, maxpoll, peerflags, ttl, - peerkey, peerkeystr); + peerkey, peerkeystr, peeraddr.ss_family); } break; @@ -2325,7 +2325,8 @@ save_resolve( u_int flags, int ttl, keyid_t keyid, - u_char *keystr + u_char *keystr, + u_char peeraf ) { #ifndef SYS_VXWORKS @@ -2365,11 +2366,11 @@ save_resolve( } #endif - (void)fprintf(res_fp, "%s %d %d %d %d %d %d %u %s\n", name, + (void)fprintf(res_fp, "%s %u %d %d %d %d %d %d %u %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #ifdef DEBUG if (debug > 1) - printf("config: %s %d %d %d %d %x %d %u %s\n", name, mode, + printf("config: %s %u %d %d %d %d %x %d %u %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #endif Modified: projects/bhyve/contrib/ntp/ntpd/ntp_intres.c ============================================================================== --- projects/bhyve/contrib/ntp/ntpd/ntp_intres.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/ntp/ntpd/ntp_intres.c Thu Jun 30 17:37:42 2011 (r223698) @@ -29,6 +29,7 @@ #include #include +#include #include /**/ @@ -111,15 +112,16 @@ static int resolve_value; /* next value * is supposed to consist of entries in the following order */ #define TOK_HOSTNAME 0 -#define TOK_HMODE 1 -#define TOK_VERSION 2 -#define TOK_MINPOLL 3 -#define TOK_MAXPOLL 4 -#define TOK_FLAGS 5 -#define TOK_TTL 6 -#define TOK_KEYID 7 -#define TOK_KEYSTR 8 -#define NUMTOK 9 +#define TOK_PEERAF 1 +#define TOK_HMODE 2 +#define TOK_VERSION 3 +#define TOK_MINPOLL 4 +#define TOK_MAXPOLL 5 +#define TOK_FLAGS 6 +#define TOK_TTL 7 +#define TOK_KEYID 8 +#define TOK_KEYSTR 9 +#define NUMTOK 10 #define MAXLINESIZE 512 @@ -140,7 +142,7 @@ char *req_file; /* name of the file wit static void checkparent P((void)); static void removeentry P((struct conf_entry *)); static void addentry P((char *, int, int, int, int, u_int, - int, keyid_t, char *)); + int, keyid_t, char *, u_char)); static int findhostaddr P((struct conf_entry *)); static void openntp P((void)); static int request P((struct conf_peer *)); @@ -397,7 +399,8 @@ addentry( u_int flags, int ttl, keyid_t keyid, - char *keystr + char *keystr, + u_char peeraf ) { register char *cp; @@ -407,7 +410,7 @@ addentry( #ifdef DEBUG if (debug > 1) msyslog(LOG_INFO, - "intres: <%s> %d %d %d %d %x %d %x %s\n", name, + "intres: <%s> %u %d %d %d %d %x %d %x %s\n", name, peeraf, mode, version, minpoll, maxpoll, flags, ttl, keyid, keystr); #endif @@ -422,6 +425,7 @@ addentry( ce->ce_peeraddr6 = in6addr_any; #endif ANYSOCK(&ce->peer_store); + ce->peer_store.ss_family = peeraf; /* Save AF for getaddrinfo hints. */ ce->ce_hmode = (u_char)mode; ce->ce_version = (u_char)version; ce->ce_minpoll = (u_char)minpoll; @@ -482,7 +486,8 @@ findhostaddr( entry->ce_name)); memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; + hints.ai_family = entry->peer_store.ss_family; + hints.ai_socktype = SOCK_DGRAM; /* * If the IPv6 stack is not available look only for IPv4 addresses */ @@ -1051,6 +1056,13 @@ readconf( } } + if (intval[TOK_PEERAF] != AF_UNSPEC && intval[TOK_PEERAF] != + AF_INET && intval[TOK_PEERAF] != AF_INET6) { + msyslog(LOG_ERR, "invalid peer address family (%u) in " + "file %s", intval[TOK_PEERAF], name); + exit(1); + } + if (intval[TOK_HMODE] != MODE_ACTIVE && intval[TOK_HMODE] != MODE_CLIENT && intval[TOK_HMODE] != MODE_BROADCAST) { @@ -1107,7 +1119,7 @@ readconf( addentry(token[TOK_HOSTNAME], (int)intval[TOK_HMODE], (int)intval[TOK_VERSION], (int)intval[TOK_MINPOLL], (int)intval[TOK_MAXPOLL], flags, (int)intval[TOK_TTL], - intval[TOK_KEYID], token[TOK_KEYSTR]); + intval[TOK_KEYID], token[TOK_KEYSTR], (u_char)intval[TOK_PEERAF]); } } @@ -1129,6 +1141,9 @@ doconfigure( dores ? "with" : "without" ); #endif + if (dores) /* Reload /etc/resolv.conf - bug 1226 */ + res_init(); + ce = confentries; while (ce != NULL) { #ifdef DEBUG Modified: projects/bhyve/contrib/ntp/ntpd/ntp_io.c ============================================================================== --- projects/bhyve/contrib/ntp/ntpd/ntp_io.c Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/ntp/ntpd/ntp_io.c Thu Jun 30 17:37:42 2011 (r223698) @@ -2716,14 +2716,14 @@ sendpkt( for (slot = ERRORCACHESIZE; --slot >= 0; ) if(dest->ss_family == AF_INET) { - if (badaddrs[slot].port == ((struct sockaddr_in*)dest)->sin_port && + if (badaddrs[slot].port == SRCPORT(dest) && badaddrs[slot].addr.s_addr == ((struct sockaddr_in*)dest)->sin_addr.s_addr) break; } #ifdef INCLUDE_IPV6_SUPPORT else if (dest->ss_family == AF_INET6) { - if (badaddrs6[slot].port == ((struct sockaddr_in6*)dest)->sin6_port && - badaddrs6[slot].addr.s6_addr == ((struct sockaddr_in6*)dest)->sin6_addr.s6_addr) + if (badaddrs6[slot].port == SRCPORT(dest) && + !memcmp(&badaddrs6[slot].addr, &((struct sockaddr_in6*)dest)->sin6_addr, sizeof(struct in6_addr))) break; } #endif /* INCLUDE_IPV6_SUPPORT */ Modified: projects/bhyve/contrib/pf/authpf/authpf.8 ============================================================================== --- projects/bhyve/contrib/pf/authpf/authpf.8 Thu Jun 30 16:56:55 2011 (r223697) +++ projects/bhyve/contrib/pf/authpf/authpf.8 Thu Jun 30 17:37:42 2011 (r223698) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $ +.\" $OpenBSD: authpf.8,v 1.47 2009/01/06 03:11:50 mcbride Exp $ .\" .\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>. All rights reserved. .\" @@ -15,14 +15,16 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd March 28, 2006 +.Dd January 6 2009 .Dt AUTHPF 8 .Os .Sh NAME -.Nm authpf +.Nm authpf , +.Nm authpf-noip .Nd authenticating gateway user shell .Sh SYNOPSIS .Nm authpf +.Nm authpf-noip .Sh DESCRIPTION .Nm is a user shell for authenticating gateways. @@ -31,47 +33,63 @@ It is used to change rules when a user authenticates and starts a session with .Xr sshd 8 and to undo these changes when the user's session exits. -It is designed for changing filter and translation rules for an individual -source IP address as long as a user maintains an active -.Xr ssh 1 -session. Typical use would be for a gateway that authenticates users before allowing them Internet use, or a gateway that allows different users into different places. +Combined with properly set up filter rules and secure switches, .Nm -logs the successful start and end of a session to -.Xr syslogd 8 . -This, combined with properly set up filter rules and secure switches, can be used to ensure users are held accountable for their network traffic. -.Pp -.Nm -can add filter and translation rules using the syntax described in -.Xr pf.conf 5 . -.Nm -requires that the +It is meant to be used with users who can connect via +.Xr ssh 1 +only, and requires the .Xr pf 4 -system be enabled and a -.Xr fdescfs 5 -file system be mounted at -.Pa /dev/fd -before use. +subsystem to be enabled. +.Pp +.Nm authpf-noip +is a user shell +which allows multiple connections to take +place from the same IP address. +It is useful primarily in cases where connections are tunneled via +the gateway system, and can be directly associated with the user name. +It cannot ensure accountability when +classifying connections by IP address; +in this case the client's IP address +is not provided to the packet filter via the +.Ar client_ip +macro or the +.Ar authpf_users +table. +Additionally, states associated with the client IP address +are not purged when the session is ended. +.Pp +To use either .Nm -can also maintain the list of IP address of connected users -in the "authpf_users" -.Pa table . +or +.Nm authpf-noip , +the user's shell needs to be set to +.Pa /usr/sbin/authpf +or +.Pa /usr/sbin/authpf-noip . .Pp .Nm -is meant to be used with users who can connect via +uses the +.Xr pf.conf 5 +syntax to change filter and translation rules for an individual +user or client IP address as long as a user maintains an active .Xr ssh 1 -only. -On startup, +session, and logs the successful start and end of a session to +.Xr syslogd 8 . .Nm retrieves the client's connecting IP address via the .Ev SSH_CLIENT environment variable and, after performing additional access checks, reads a template file to determine what filter and translation rules -(if any) to add. -On session exit the same rules that were added at startup are removed. +(if any) to add, and +maintains the list of IP addresses of connected users in the +.Ar authpf_users +table. +On session exit the same rules and table entries that were added at startup +are removed, and all states associated with the client's IP address are purged. .Pp Each .Nm @@ -185,6 +203,9 @@ It is also possible to configure to only allow specific users access. This is done by listing their login names, one per line, in .Pa /etc/authpf/authpf.allow . +A group of users can also be indicated by prepending "%" to the group name, +and all members of a login class can be indicated by prepending "@" to the +login class name. If "*" is found on a line, then all usernames match. If .Nm @@ -297,7 +318,8 @@ They have a wireless network which they would like to protect from unauthorized use. To accomplish this, they create the file .Pa /etc/authpf/authpf.allow -which lists their login ids, one per line. +which lists their login ids, group prepended with "%", or login class +prepended with "@", one per line. At this point, even if eve could authenticate to .Xr sshd 8 , she would not be allowed to use the gateway. @@ -501,6 +523,31 @@ table persist anchor "authpf/*" from rdr-anchor "authpf/*" from .Ed +.Pp +.Sy Tunneled users +\- normally +.Nm +allows only one session per client IP address. +However in some cases, such as when connections are tunneled via +.Xr ssh 1 +or +.Xr ipsec 4 , +the connections can be authorized based on the userid of the user instead of +the client IP address. +In this case it is appropriate to use +.Nm authpf-noip +to allow multiple users behind a NAT gateway to connect. +In the +.Pa /etc/authpf/authpf.rules +example below, the remote user could tunnel a remote desktop session to their +workstation: +.Bd -literal +internal_if="bge0" +workstation_ip="10.2.3.4" + +pass out on $internal_if from (self) to $workstation_ip port 3389 \e + user $user_id +.Ed .Sh FILES .Bl -tag -width "/etc/authpf/authpf.conf" -compact .It Pa /etc/authpf/authpf.conf @@ -512,7 +559,6 @@ rdr-anchor "authpf/*" from __FBSDID("$FreeBSD$"); -#include +#include #include #include #include @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #endif #include #include +#include #include #include #include @@ -48,10 +49,11 @@ __FBSDID("$FreeBSD$"); #include "pathnames.h" static int read_config(FILE *); -static void print_message(char *); -static int allowed_luser(char *); -static int check_luser(char *, char *); +static void print_message(const char *); +static int allowed_luser(struct passwd *); +static int check_luser(const char *, char *); static int remove_stale_rulesets(void); +static int recursive_ruleset_purge(char *, char *); static int change_filter(int, const char *, const char *); static int change_table(int, const char *); static void authpf_kill_states(void); @@ -60,8 +62,10 @@ int dev; /* pf device */ char anchorname[PF_ANCHOR_NAME_SIZE] = "authpf"; char rulesetname[MAXPATHLEN - PF_ANCHOR_NAME_SIZE - 2]; char tablename[PF_TABLE_NAME_SIZE] = "authpf_users"; +int user_ip = 1; /* controls whether $user_ip is set */ FILE *pidfp; +int pidfd = -1; char luser[MAXLOGNAME]; /* username */ char ipsrc[256]; /* ip as a string */ char pidfile[MAXPATHLEN]; /* we save pid in this file. */ @@ -75,6 +79,7 @@ static __dead2 void do_death(int); #else static __dead void do_death(int); #endif +extern char *__progname; /* program name */ /* * User shell for authenticating gateways. Sole purpose is to allow @@ -83,21 +88,24 @@ static __dead void do_death(int); * up. Meant to be used only from ssh(1) connections. */ int -main(int argc, char *argv[]) +main(void) { - int lockcnt = 0, n, pidfd; + int lockcnt = 0, n; FILE *config; struct in6_addr ina; struct passwd *pw; char *cp; gid_t gid; uid_t uid; - char *shell; + const char *shell; login_cap_t *lc; + if (strcmp(__progname, "-authpf-noip") == 0) + user_ip = 0; + config = fopen(PATH_CONFFILE, "r"); if (config == NULL) { - syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE); + syslog(LOG_ERR, "cannot open %s (%m)", PATH_CONFFILE); exit(1); } @@ -142,23 +150,34 @@ main(int argc, char *argv[]) } if ((lc = login_getclass(pw->pw_class)) != NULL) - shell = (char *)login_getcapstr(lc, "shell", pw->pw_shell, + shell = login_getcapstr(lc, "shell", pw->pw_shell, pw->pw_shell); else shell = pw->pw_shell; +#ifndef __FreeBSD__ login_close(lc); +#endif - if (strcmp(shell, PATH_AUTHPF_SHELL)) { + if (strcmp(shell, PATH_AUTHPF_SHELL) && + strcmp(shell, PATH_AUTHPF_SHELL_NOIP)) { syslog(LOG_ERR, "wrong shell for user %s, uid %u", pw->pw_name, pw->pw_uid); +#ifdef __FreeBSD__ + login_close(lc); +#else if (shell != pw->pw_shell) free(shell); +#endif goto die; } +#ifdef __FreeBSD__ + login_close(lc); +#else if (shell != pw->pw_shell) free(shell); +#endif /* * Paranoia, but this data _does_ come from outside authpf, and @@ -181,13 +200,22 @@ main(int argc, char *argv[]) } - /* Make our entry in /var/authpf as /var/authpf/ipaddr */ - n = snprintf(pidfile, sizeof(pidfile), "%s/%s", PATH_PIDFILE, ipsrc); + /* Make our entry in /var/authpf as ipaddr or username */ + n = snprintf(pidfile, sizeof(pidfile), "%s/%s", + PATH_PIDFILE, user_ip ? ipsrc : luser); if (n < 0 || (u_int)n >= sizeof(pidfile)) { syslog(LOG_ERR, "path to pidfile too long"); goto die; } + signal(SIGTERM, need_death); + signal(SIGINT, need_death); + signal(SIGALRM, need_death); + signal(SIGPIPE, need_death); + signal(SIGHUP, need_death); + signal(SIGQUIT, need_death); + signal(SIGTSTP, need_death); + /* * If someone else is already using this ip, then this person * wants to switch users - so kill the old process and exit @@ -241,15 +269,17 @@ main(int argc, char *argv[]) } /* - * we try to kill the previous process and acquire the lock + * We try to kill the previous process and acquire the lock * for 10 seconds, trying once a second. if we can't after - * 10 attempts we log an error and give up + * 10 attempts we log an error and give up. */ - if (++lockcnt > 10) { - syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", - otherpid); + if (want_death || ++lockcnt > 10) { + if (!want_death) + syslog(LOG_ERR, "cannot kill previous authpf (pid %d)", + otherpid); fclose(pidfp); pidfp = NULL; + pidfd = -1; goto dogdeath; } sleep(1); @@ -260,6 +290,7 @@ main(int argc, char *argv[]) */ fclose(pidfp); pidfp = NULL; + pidfd = -1; } while (1); /* whack the group list */ @@ -277,7 +308,7 @@ main(int argc, char *argv[]) } openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON); - if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) { + if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(pw)) { syslog(LOG_INFO, "user %s prohibited", luser); do_death(0); } @@ -302,19 +333,12 @@ main(int argc, char *argv[]) printf("Unable to modify filters\r\n"); do_death(0); } - if (change_table(1, ipsrc) == -1) { + if (user_ip && change_table(1, ipsrc) == -1) { printf("Unable to modify table\r\n"); change_filter(0, luser, ipsrc); do_death(0); } - signal(SIGTERM, need_death); - signal(SIGINT, need_death); - signal(SIGALRM, need_death); - signal(SIGPIPE, need_death); - signal(SIGHUP, need_death); - signal(SIGQUIT, need_death); - signal(SIGTSTP, need_death); while (1) { printf("\r\nHello %s. ", luser); printf("You are authenticated from host \"%s\"\r\n", ipsrc); @@ -337,8 +361,6 @@ dogdeath: sleep(180); /* them lusers read reaaaaal slow */ die: do_death(0); - - /* NOTREACHED */ } /* @@ -361,6 +383,8 @@ read_config(FILE *f) } i++; len = strlen(buf); + if (len == 0) + continue; if (buf[len - 1] != '\n' && !feof(f)) { syslog(LOG_ERR, "line %d too long in %s", i, PATH_CONFFILE); @@ -413,7 +437,7 @@ parse_error: * they've been bad or we're unavailable. */ static void -print_message(char *filename) +print_message(const char *filename) { char buf[1024]; FILE *f; @@ -436,6 +460,7 @@ print_message(char *filename) * allowed_luser checks to see if user "luser" is allowed to * use this gateway by virtue of being listed in an allowed * users file, namely /etc/authpf/authpf.allow . + * Users may be listed by , %, or @. * * If /etc/authpf/authpf.allow does not exist, then we assume that * all users who are allowed in by sshd(8) are permitted to @@ -444,9 +469,9 @@ print_message(char *filename) * the session terminates in the same manner as being banned. */ static int -allowed_luser(char *luser) +allowed_luser(struct passwd *pw) { - char *buf, *lbuf; + char *buf,*lbuf; int matched; size_t len; FILE *f; @@ -476,8 +501,14 @@ allowed_luser(char *luser) * "public" gateway, such as it is, so let * everyone use it. */ + int gl_init = 0, ngroups = NGROUPS + 1; + gid_t groups[NGROUPS + 1]; + lbuf = NULL; + matched = 0; + while ((buf = fgetln(f, &len))) { + if (buf[len - 1] == '\n') buf[len - 1] = '\0'; else { @@ -488,7 +519,40 @@ allowed_luser(char *luser) buf = lbuf; } - matched = strcmp(luser, buf) == 0 || strcmp("*", buf) == 0; + if (buf[0] == '@') { + /* check login class */ + if (strcmp(pw->pw_class, buf + 1) == 0) + matched++; + } else if (buf[0] == '%') { + /* check group membership */ + int cnt; + struct group *group; + + if ((group = getgrnam(buf + 1)) == NULL) { + syslog(LOG_ERR, + "invalid group '%s' in %s (%s)", + buf + 1, PATH_ALLOWFILE, + strerror(errno)); + return (0); + } + + if (!gl_init) { + (void) getgrouplist(pw->pw_name, + pw->pw_gid, groups, &ngroups); + gl_init++; + } + + for ( cnt = 0; cnt < ngroups; cnt++) { + if (group->gr_gid == groups[cnt]) { + matched++; + break; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 01:41:23 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FA8E106566B; Fri, 1 Jul 2011 01:41:23 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0668E8FC0A; Fri, 1 Jul 2011 01:41:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p611fM9D067753; Fri, 1 Jul 2011 01:41:22 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p611fMtZ067750; Fri, 1 Jul 2011 01:41:22 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107010141.p611fMtZ067750@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 1 Jul 2011 01:41:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223703 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 01:41:23 -0000 Author: marcel Date: Fri Jul 1 01:41:22 2011 New Revision: 223703 URL: http://svn.freebsd.org/changeset/base/223703 Log: Add a stub for IA64TargetLowering::LowerCall() -- used to emit code for a call site. Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Thu Jun 30 20:58:38 2011 (r223702) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Fri Jul 1 01:41:22 2011 (r223703) @@ -52,6 +52,20 @@ IA64TargetLowering::IA64TargetLowering(I } SDValue +IA64TargetLowering::LowerCall(SDValue Chain, SDValue Callee, + CallingConv::ID CallConv, bool isVarArg, bool &isTailCall, + const SmallVectorImpl &Outs, + const SmallVectorImpl &OutVals, + const SmallVectorImpl &Ins, DebugLoc dl, SelectionDAG &DAG, + SmallVectorImpl &InVals) const +{ + + DEBUG(dbgs() << "XXX: IA64TargetLowering::" <<__func__ << "\n"); + + return Chain; +} + +SDValue IA64TargetLowering::LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg, const SmallVectorImpl &Ins, DebugLoc dl, SelectionDAG &DAG, Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h Thu Jun 30 20:58:38 2011 (r223702) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h Fri Jul 1 01:41:22 2011 (r223703) @@ -18,6 +18,13 @@ namespace llvm { public: explicit IA64TargetLowering(IA64TargetMachine &TM); + virtual SDValue LowerCall(SDValue Chain, SDValue Callee, + CallingConv::ID CallConv, bool isVarArg, bool &isTailCall, + const SmallVectorImpl &Outs, + const SmallVectorImpl &OutVals, + const SmallVectorImpl &Ins, DebugLoc dl, + SelectionDAG &DAG, SmallVectorImpl &InVals) const; + virtual SDValue LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg, const SmallVectorImpl &Ins, DebugLoc dl, From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 01:51:29 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11194106564A; Fri, 1 Jul 2011 01:51:29 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 017728FC12; Fri, 1 Jul 2011 01:51:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p611pSEv068086; Fri, 1 Jul 2011 01:51:28 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p611pSYu068084; Fri, 1 Jul 2011 01:51:28 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107010151.p611pSYu068084@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 1 Jul 2011 01:51:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223704 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 01:51:29 -0000 Author: marcel Date: Fri Jul 1 01:51:28 2011 New Revision: 223704 URL: http://svn.freebsd.org/changeset/base/223704 Log: ia64 uses the .global directive to declare a global symbol. Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp Fri Jul 1 01:41:22 2011 (r223703) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp Fri Jul 1 01:51:28 2011 (r223704) @@ -10,5 +10,6 @@ IA64MCAsmInfo::IA64MCAsmInfo(const Targe Data16bitsDirective = "\tdata2\t"; Data32bitsDirective = "\tdata4\t"; Data64bitsDirective = "\tdata8\t"; + GlobalDirective = "\t.global\t"; ZeroDirective = NULL; } From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 03:29:50 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1AC01106566C; Fri, 1 Jul 2011 03:29:50 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B3628FC0A; Fri, 1 Jul 2011 03:29:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p613Tn6n071272; Fri, 1 Jul 2011 03:29:49 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p613Tn8s071270; Fri, 1 Jul 2011 03:29:49 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107010329.p613Tn8s071270@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 1 Jul 2011 03:29:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223705 - projects/llvm-ia64/lib/clang/libllvmjit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 03:29:50 -0000 Author: marcel Date: Fri Jul 1 03:29:49 2011 New Revision: 223705 URL: http://svn.freebsd.org/changeset/base/223705 Log: We don't have libunwind (yet?), so use setjmp/longjmp to implement exceptions on ia64. Modified: projects/llvm-ia64/lib/clang/libllvmjit/Makefile Modified: projects/llvm-ia64/lib/clang/libllvmjit/Makefile ============================================================================== --- projects/llvm-ia64/lib/clang/libllvmjit/Makefile Fri Jul 1 01:51:28 2011 (r223704) +++ projects/llvm-ia64/lib/clang/libllvmjit/Makefile Fri Jul 1 03:29:49 2011 (r223705) @@ -11,4 +11,8 @@ SRCS= Intercept.cpp \ JITMemoryManager.cpp \ OProfileJITEventListener.cpp +.if ${MACHINE_ARCH} == "ia64" +CFLAGS+= -D__USING_SJLJ_EXCEPTIONS__ +.endif + .include "../clang.lib.mk" From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 08:47:38 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E7B71065670; Fri, 1 Jul 2011 08:47:38 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [46.28.110.116]) by mx1.freebsd.org (Postfix) with ESMTP id 25CB38FC21; Fri, 1 Jul 2011 08:47:37 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 421FC7F3936; Fri, 1 Jul 2011 10:42:24 +0200 (CEST) Date: Fri, 1 Jul 2011 10:42:24 +0200 From: Roman Divacky To: Marcel Moolenaar Message-ID: <20110701084224.GA43291@freebsd.org> References: <201107010329.p613Tn8s071270@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201107010329.p613Tn8s071270@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223705 - projects/llvm-ia64/lib/clang/libllvmjit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 08:47:38 -0000 I think you can completely leave out JIT for now :) Anyway, great to see some progress! What is the status now? Where are you blocked? On Fri, Jul 01, 2011 at 03:29:49AM +0000, Marcel Moolenaar wrote: > Author: marcel > Date: Fri Jul 1 03:29:49 2011 > New Revision: 223705 > URL: http://svn.freebsd.org/changeset/base/223705 > > Log: > We don't have libunwind (yet?), so use setjmp/longjmp to implement > exceptions on ia64. > > Modified: > projects/llvm-ia64/lib/clang/libllvmjit/Makefile > > Modified: projects/llvm-ia64/lib/clang/libllvmjit/Makefile > ============================================================================== > --- projects/llvm-ia64/lib/clang/libllvmjit/Makefile Fri Jul 1 01:51:28 2011 (r223704) > +++ projects/llvm-ia64/lib/clang/libllvmjit/Makefile Fri Jul 1 03:29:49 2011 (r223705) > @@ -11,4 +11,8 @@ SRCS= Intercept.cpp \ > JITMemoryManager.cpp \ > OProfileJITEventListener.cpp > > +.if ${MACHINE_ARCH} == "ia64" > +CFLAGS+= -D__USING_SJLJ_EXCEPTIONS__ > +.endif > + > .include "../clang.lib.mk" From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 16:37:39 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6050E1065670; Fri, 1 Jul 2011 16:37:39 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [70.36.220.4]) by mx1.freebsd.org (Postfix) with ESMTP id 110CF8FC08; Fri, 1 Jul 2011 16:37:38 +0000 (UTC) Received: from dhcp-192-168-2-22.wifi.xcllnt.net (atm.xcllnt.net [70.36.220.6]) (authenticated bits=0) by mail.xcllnt.net (8.14.5/8.14.5) with ESMTP id p61GbWK7040605 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 1 Jul 2011 09:37:38 -0700 (PDT) (envelope-from marcel@xcllnt.net) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Marcel Moolenaar In-Reply-To: <20110701084224.GA43291@freebsd.org> Date: Fri, 1 Jul 2011 09:37:41 -0700 Content-Transfer-Encoding: 7bit Message-Id: <00211D6B-F882-43C1-9D93-5ED2D72C5132@xcllnt.net> References: <201107010329.p613Tn8s071270@svn.freebsd.org> <20110701084224.GA43291@freebsd.org> To: Roman Divacky X-Mailer: Apple Mail (2.1084) Cc: svn-src-projects@freebsd.org, Marcel Moolenaar , src-committers@freebsd.org Subject: Re: svn commit: r223705 - projects/llvm-ia64/lib/clang/libllvmjit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 16:37:39 -0000 On Jul 1, 2011, at 1:42 AM, Roman Divacky wrote: > I think you can completely leave out JIT for now :) Yeah. I was just fixing the native ia64 build. I don't care about JIT right now, but I do care about native builds. > Anyway, great to see some progress! What is the status now? > Where are you blocked? The good thing is that I'm not blocked. I have the obviously important lowering methods stubbed (LowerFormalArguments, LowerCall and LowerReturn), which means that I can now compile functions and have clang complete normally. With the stubs, there's no code generation of course, but it means that I'm all set to start with the actual implementations and add instructions and formats to the .TD file. In other words: the real work can start and I plan to work on LowerReturn first while I work out the tblgen stuff. The following open items are on my mind: 1. On ia64, function prologues allocate a register frame that has enough (stacked) registers for local scratch registers and outgoing function arguments. This means that I need to know (after register allocation) how many (unique) scratch registers are in use and what the largest number of arguments that need to be passed in registers to children (the max being 8). Without this information the compiler is forced to allocate the maximum size (which is 96 stacked registers, of which 8 are outgoing). This obviously eats into the register stack and probably causes runtime failures on deep call chains. 2. [C++] vtable entries are not function pointers like on other architectures. They are function descriptors. I think Nathan said that PowerPC64 also have function descriptors. Anyway, Duraid Madina (the author of the original ia64 backend) said that support for this was missing from LLVM. I don't know if this has changed in the mean time or whether I need to go down into the bowels of LLVM and add support for this. -- Marcel Moolenaar marcel@xcllnt.net From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 16:51:53 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 456A4106566C; Fri, 1 Jul 2011 16:51:53 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [46.28.110.116]) by mx1.freebsd.org (Postfix) with ESMTP id 054D28FC08; Fri, 1 Jul 2011 16:51:52 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 4261B7F3A8B; Fri, 1 Jul 2011 18:51:51 +0200 (CEST) Date: Fri, 1 Jul 2011 18:51:51 +0200 From: Roman Divacky To: Marcel Moolenaar Message-ID: <20110701165151.GA6877@freebsd.org> References: <201107010329.p613Tn8s071270@svn.freebsd.org> <20110701084224.GA43291@freebsd.org> <00211D6B-F882-43C1-9D93-5ED2D72C5132@xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <00211D6B-F882-43C1-9D93-5ED2D72C5132@xcllnt.net> User-Agent: Mutt/1.4.2.3i Cc: svn-src-projects@freebsd.org, Marcel Moolenaar , src-committers@freebsd.org Subject: Re: svn commit: r223705 - projects/llvm-ia64/lib/clang/libllvmjit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 16:51:53 -0000 > The following open items are on my mind: > > 1. On ia64, function prologues allocate a register frame that has > enough (stacked) registers for local scratch registers and > outgoing function arguments. This means that I need to know > (after register allocation) how many (unique) scratch registers > are in use and what the largest number of arguments that need > to be passed in registers to children (the max being 8). Without > this information the compiler is forced to allocate the maximum > size (which is 96 stacked registers, of which 8 are outgoing). > This obviously eats into the register stack and probably causes > runtime failures on deep call chains. I recommend you to do this little experiment (on amd64 or so): pes ~$ cat test.c void foo(int i) { printf("foo %i\n", i); } int main(int agc, char **argv) { printf("hello world\n"); for (unsigned i = 0; i < 5; ++i) foo(i); } pes ~$ clang -emit-llvm -c test.c test.c:2:3: warning: implicitly declaring C library function 'printf' with type 'int (const char *, ...)' printf("foo %i\n", i); ^ test.c:2:3: note: please include the header or explicitly provide a declaration for 'printf' 1 warning generated. pes ~$ llc -debug test.o the llc -debug will show you a lot of interesting information on how llvm handles this code. Among others you'll find there: # Machine code for function foo: Frame Objects: fi#0: size=4, align=4, at location [SP+8] Function Live Ins: %EDI in %vreg0 I believe this is what you asked. > 2. [C++] vtable entries are not function pointers like on other > architectures. They are function descriptors. I think Nathan > said that PowerPC64 also have function descriptors. Anyway, > Duraid Madina (the author of the original ia64 backend) said > that support for this was missing from LLVM. I don't know if > this has changed in the mean time or whether I need to go > down into the bowels of LLVM and add support for this. I would forget about C++ for now. roman From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 17:16:51 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B121A106566B; Fri, 1 Jul 2011 17:16:51 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [70.36.220.4]) by mx1.freebsd.org (Postfix) with ESMTP id 5EDC38FC08; Fri, 1 Jul 2011 17:16:51 +0000 (UTC) Received: from dhcp-192-168-2-22.wifi.xcllnt.net (atm.xcllnt.net [70.36.220.6]) (authenticated bits=0) by mail.xcllnt.net (8.14.5/8.14.5) with ESMTP id p61HGjUf040765 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 1 Jul 2011 10:16:50 -0700 (PDT) (envelope-from marcel@xcllnt.net) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Marcel Moolenaar In-Reply-To: <20110701165151.GA6877@freebsd.org> Date: Fri, 1 Jul 2011 10:16:53 -0700 Content-Transfer-Encoding: 7bit Message-Id: References: <201107010329.p613Tn8s071270@svn.freebsd.org> <20110701084224.GA43291@freebsd.org> <00211D6B-F882-43C1-9D93-5ED2D72C5132@xcllnt.net> <20110701165151.GA6877@freebsd.org> To: Roman Divacky X-Mailer: Apple Mail (2.1084) Cc: svn-src-projects@freebsd.org, Marcel Moolenaar , src-committers@freebsd.org Subject: Re: svn commit: r223705 - projects/llvm-ia64/lib/clang/libllvmjit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 17:16:51 -0000 On Jul 1, 2011, at 9:51 AM, Roman Divacky wrote: >> The following open items are on my mind: >> >> 1. On ia64, function prologues allocate a register frame that has >> enough (stacked) registers for local scratch registers and >> outgoing function arguments. This means that I need to know >> (after register allocation) how many (unique) scratch registers >> are in use and what the largest number of arguments that need >> to be passed in registers to children (the max being 8). Without >> this information the compiler is forced to allocate the maximum >> size (which is 96 stacked registers, of which 8 are outgoing). >> This obviously eats into the register stack and probably causes >> runtime failures on deep call chains. > > I recommend you to do this little experiment (on amd64 or so): *snip* > # Machine code for function foo: > Frame Objects: > fi#0: size=4, align=4, at location [SP+8] > Function Live Ins: %EDI in %vreg0 > > I believe this is what you asked. *snip* I'm not sure we're in sync. The general registers on ia64 are split in 2: 1. r0-r31 static registers 2. r32-r127 stacked registers The purpose of the stacked registers is to optimize function calls by having the CPU manage a rotating register file and an engine that flushes "dirty" register to memory. All a function has to do is tell the CPU how many stacked registers it wants (max 96) and the CPU will handle all the pushing and popping on function call entry and exit so to speak. Before register allocation one can assume the max: 96 registers, of which 8 are for argument passing. This gives 88 preserved (non-scratch) registers. Emitting code where every function allocates the max is really bad, so after register allocation you want to adjust the alloc with the actual number of registers used by the function. Second or third order is analyzing the behaviour of the above. If the register allocator is really wasteful, the above yields register frames that are generally too big. More back pressure is needed to get more optimal code. Anyway: I don't know yet how to get the actual number of (stacked) registers used for locals and outgoing arguments, so that's an open item. It probably means adding a function pass that runs after register allocation to scan the function and then adjust the prologue code. FYI, -- Marcel Moolenaar marcel@xcllnt.net From owner-svn-src-projects@FreeBSD.ORG Fri Jul 1 19:23:25 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D32BA106566B; Fri, 1 Jul 2011 19:23:25 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C31DA8FC13; Fri, 1 Jul 2011 19:23:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p61JNPrf003618; Fri, 1 Jul 2011 19:23:25 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p61JNPFP003616; Fri, 1 Jul 2011 19:23:25 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201107011923.p61JNPFP003616@svn.freebsd.org> From: Mark Linimon Date: Fri, 1 Jul 2011 19:23:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223714 - projects/portbuild/qmanager X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 19:23:25 -0000 Author: linimon (doc,ports committer) Date: Fri Jul 1 19:23:25 2011 New Revision: 223714 URL: http://svn.freebsd.org/changeset/base/223714 Log: Add some error checking for corrupted INDEX lines. Modified: projects/portbuild/qmanager/packagebuild Modified: projects/portbuild/qmanager/packagebuild ============================================================================== --- projects/portbuild/qmanager/packagebuild Fri Jul 1 19:22:27 2011 (r223713) +++ projects/portbuild/qmanager/packagebuild Fri Jul 1 19:23:25 2011 (r223714) @@ -125,14 +125,18 @@ class Index(object): lines=[] print "[MASTER] Phase 1" for i in index: - (name, path, prefix, comment, descr, maintainer, categories, bdep, - rdep, www, edep, pdep, fdep) = i.rstrip().split("|") + try: + (name, path, prefix, comment, descr, maintainer, categories, bdep, + rdep, www, edep, pdep, fdep) = i.rstrip().split("|") - if targets is None or name in targets: - lines.append((name, bdep, rdep, edep, pdep, fdep)) + if targets is None or name in targets: + lines.append((name, bdep, rdep, edep, pdep, fdep)) - Port(name, path, "", "", "", "", - categories, "") + Port(name, path, "", "", "", "", + categories, "") + except Exception, e: + print "packagebuild.parse: bad line in INDEX: " + print i index = None del index From owner-svn-src-projects@FreeBSD.ORG Sat Jul 2 23:39:21 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B9CE106566B; Sat, 2 Jul 2011 23:39:21 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 23CB38FC20; Sat, 2 Jul 2011 23:39:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p62NdLko060248; Sat, 2 Jul 2011 23:39:21 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p62NdLHc060245; Sat, 2 Jul 2011 23:39:21 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107022339.p62NdLHc060245@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 2 Jul 2011 23:39:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223730 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jul 2011 23:39:21 -0000 Author: marcel Date: Sat Jul 2 23:39:20 2011 New Revision: 223730 URL: http://svn.freebsd.org/changeset/base/223730 Log: Move register definitions to IA64RegisterInfo.td as per convention. Finalize branch registers (add DWARF information) and branch register class (implied RA order for register list). Added: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td ============================================================================== --- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td Sat Jul 2 23:34:47 2011 (r223729) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.td Sat Jul 2 23:39:20 2011 (r223730) @@ -1,5 +1,7 @@ include "llvm/Target/Target.td" +include "IA64RegisterInfo.td" + // // Subtargets // @@ -22,149 +24,6 @@ def : IA64Impl<"montecito", [FeatureLong def : IA64Impl<"montvale", [FeatureLongBranch]>; // -// Registers -// -class IA64Register : Register { - let Namespace = "IA64"; -} - -// FP registers -def F0 : IA64Register<"f0">; -def F1 : IA64Register<"f1">; -def F2 : IA64Register<"f2">; -def F3 : IA64Register<"f3">; -def F4 : IA64Register<"f4">; -def F5 : IA64Register<"f5">; -def F8 : IA64Register<"f8">; -def F9 : IA64Register<"f9">; -def F10 : IA64Register<"f10">; -def F11 : IA64Register<"f11">; -def F12 : IA64Register<"f12">; -def F13 : IA64Register<"f13">; -def F14 : IA64Register<"f14">; -def F15 : IA64Register<"f15">; -def F16 : IA64Register<"f16">; -def F17 : IA64Register<"f17">; -def F18 : IA64Register<"f18">; -def F19 : IA64Register<"f19">; -def F20 : IA64Register<"f20">; -def F21 : IA64Register<"f21">; -def F22 : IA64Register<"f22">; -def F23 : IA64Register<"f23">; -def F24 : IA64Register<"f24">; -def F25 : IA64Register<"f25">; -def F26 : IA64Register<"f26">; -def F27 : IA64Register<"f27">; -def F28 : IA64Register<"f28">; -def F29 : IA64Register<"f29">; -def F30 : IA64Register<"f30">; -def F31 : IA64Register<"f31">; - -// Pregicate registers -def P0 : IA64Register<"p0">; -def P1 : IA64Register<"p1">; -def P2 : IA64Register<"p2">; -def P3 : IA64Register<"p3">; -def P4 : IA64Register<"p4">; -def P5 : IA64Register<"p5">; -def P16 : IA64Register<"p16">; -def P17 : IA64Register<"p17">; -def P18 : IA64Register<"p18">; -def P19 : IA64Register<"p19">; -def P20 : IA64Register<"p20">; -def P21 : IA64Register<"p21">; -def P22 : IA64Register<"p22">; -def P23 : IA64Register<"p23">; -def P24 : IA64Register<"p24">; -def P25 : IA64Register<"p25">; -def P26 : IA64Register<"p26">; -def P27 : IA64Register<"p27">; -def P28 : IA64Register<"p28">; -def P29 : IA64Register<"p29">; -def P30 : IA64Register<"p30">; -def P31 : IA64Register<"p31">; -def P32 : IA64Register<"p32">; -def P33 : IA64Register<"p33">; -def P34 : IA64Register<"p34">; -def P35 : IA64Register<"p35">; -def P36 : IA64Register<"p36">; -def P37 : IA64Register<"p37">; -def P38 : IA64Register<"p38">; -def P39 : IA64Register<"p39">; -def P40 : IA64Register<"p40">; -def P41 : IA64Register<"p41">; -def P42 : IA64Register<"p42">; -def P43 : IA64Register<"p43">; -def P44 : IA64Register<"p44">; -def P45 : IA64Register<"p45">; -def P46 : IA64Register<"p46">; -def P47 : IA64Register<"p47">; -def P48 : IA64Register<"p48">; -def P49 : IA64Register<"p49">; -def P50 : IA64Register<"p50">; -def P51 : IA64Register<"p51">; -def P52 : IA64Register<"p52">; -def P53 : IA64Register<"p53">; -def P54 : IA64Register<"p54">; -def P55 : IA64Register<"p55">; -def P56 : IA64Register<"p56">; -def P57 : IA64Register<"p57">; -def P58 : IA64Register<"p58">; -def P59 : IA64Register<"p59">; -def P60 : IA64Register<"p60">; -def P61 : IA64Register<"p61">; -def P62 : IA64Register<"p62">; -def P63 : IA64Register<"p63">; - -// General registers -def R0 : IA64Register<"r0">; -def R1 : IA64Register<"r1">; -def R4 : IA64Register<"r4">; -def R5 : IA64Register<"r5">; -def R6 : IA64Register<"r6">; -def R7 : IA64Register<"r7">; -def R8 : IA64Register<"r8">; -def R12 : IA64Register<"r12">; -def R13 : IA64Register<"r13">; -// XXX -def R32 : IA64Register<"r32">; -def R33 : IA64Register<"r33">; -def R34 : IA64Register<"r34">; -def R35 : IA64Register<"r35">; -def R36 : IA64Register<"r36">; -def R37 : IA64Register<"r37">; -def R38 : IA64Register<"r38">; -def R39 : IA64Register<"r39">; - -// Branch registers -def B1 : IA64Register<"b1">; -def B2 : IA64Register<"b2">; -def B3 : IA64Register<"b3">; -def B4 : IA64Register<"b4">; -def B5 : IA64Register<"b5">; - -// Register classes -// -class IA64RegisterClass types, int align, list regs> - : RegisterClass<"IA64", types, align, regs> { -} - -def Branch : IA64RegisterClass<[i64], 8, - [B1, B2, B3, B4, B5]>; -def FloatingPoint : IA64RegisterClass<[f128], 128, - [F0, F1, F2, F3, F4, F5, F8, F9, F10, F11, F12, F13, F14, F15, F16, - F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, - F30, F31]>; -def General : IA64RegisterClass<[i64], 64, - [R0, R1, R4, R5, R6, R7, R8, R12, R13]>; -def Predicate : IA64RegisterClass<[i1], 0, - [P0, P1, P2, P3, P4, P5, P16, P17, P18, P19, P20, P21, P22, P23, - P24, P25, P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36, - P37, P38, P39, P40, P41, P42, P43, P44, P45, P46, P47, P48, P49, - P50, P51, P52, P53, P54, P55, P56, P57, P58, P59, P60, P61, P62, - P63]>; - -// // Calling Convention // include "IA64CallingConv.td" Added: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td Sat Jul 2 23:39:20 2011 (r223730) @@ -0,0 +1,161 @@ + +class IA64Register : Register { + let Namespace = "IA64"; +} + +class IA64RegisterClass types, int align, list regs> : + RegisterClass<"IA64", types, align, regs> { +} + +// +// Application registers +// + +// +// Branch registers +// - b0 (aka rp) contains the return address on entry to a function. +// - b0, b6 & b7 are scratch (aka caller-saved). +// - b1-b5 are preserved (aka callee-saved). +// +def B0 : IA64Register<"rp">, DwarfRegNum<[320]>; +def B1 : IA64Register<"b1">, DwarfRegNum<[321]>; +def B2 : IA64Register<"b2">, DwarfRegNum<[322]>; +def B3 : IA64Register<"b3">, DwarfRegNum<[323]>; +def B4 : IA64Register<"b4">, DwarfRegNum<[324]>; +def B5 : IA64Register<"b5">, DwarfRegNum<[325]>; +def B6 : IA64Register<"b6">, DwarfRegNum<[326]>; +def B7 : IA64Register<"b7">, DwarfRegNum<[327]>; + +def Branch : IA64RegisterClass<[i64], 64, + [B6, B7, B0, B1, B2, B3, B4, B5]>; + +// +// Control registers +// + +// +// Floating point registers +// +def F0 : IA64Register<"f0">; +def F1 : IA64Register<"f1">; +def F2 : IA64Register<"f2">; +def F3 : IA64Register<"f3">; +def F4 : IA64Register<"f4">; +def F5 : IA64Register<"f5">; +def F8 : IA64Register<"f8">; +def F9 : IA64Register<"f9">; +def F10 : IA64Register<"f10">; +def F11 : IA64Register<"f11">; +def F12 : IA64Register<"f12">; +def F13 : IA64Register<"f13">; +def F14 : IA64Register<"f14">; +def F15 : IA64Register<"f15">; +def F16 : IA64Register<"f16">; +def F17 : IA64Register<"f17">; +def F18 : IA64Register<"f18">; +def F19 : IA64Register<"f19">; +def F20 : IA64Register<"f20">; +def F21 : IA64Register<"f21">; +def F22 : IA64Register<"f22">; +def F23 : IA64Register<"f23">; +def F24 : IA64Register<"f24">; +def F25 : IA64Register<"f25">; +def F26 : IA64Register<"f26">; +def F27 : IA64Register<"f27">; +def F28 : IA64Register<"f28">; +def F29 : IA64Register<"f29">; +def F30 : IA64Register<"f30">; +def F31 : IA64Register<"f31">; + +def FloatingPoint : IA64RegisterClass<[f128], 128, + [F0, F1, F2, F3, F4, F5, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, + F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31]>; + +// +// General registers +// +def R0 : IA64Register<"r0">; +def R1 : IA64Register<"r1">; +def R4 : IA64Register<"r4">; +def R5 : IA64Register<"r5">; +def R6 : IA64Register<"r6">; +def R7 : IA64Register<"r7">; +def R8 : IA64Register<"r8">; +def R12 : IA64Register<"r12">; +def R13 : IA64Register<"r13">; +// XXX +def R32 : IA64Register<"r32">; +def R33 : IA64Register<"r33">; +def R34 : IA64Register<"r34">; +def R35 : IA64Register<"r35">; +def R36 : IA64Register<"r36">; +def R37 : IA64Register<"r37">; +def R38 : IA64Register<"r38">; +def R39 : IA64Register<"r39">; + +def General : IA64RegisterClass<[i64], 64, + [R0, R1, R4, R5, R6, R7, R8, R12, R13]>; + +// +// Pregicate registers +// +def P0 : IA64Register<"p0">; +def P1 : IA64Register<"p1">; +def P2 : IA64Register<"p2">; +def P3 : IA64Register<"p3">; +def P4 : IA64Register<"p4">; +def P5 : IA64Register<"p5">; +def P16 : IA64Register<"p16">; +def P17 : IA64Register<"p17">; +def P18 : IA64Register<"p18">; +def P19 : IA64Register<"p19">; +def P20 : IA64Register<"p20">; +def P21 : IA64Register<"p21">; +def P22 : IA64Register<"p22">; +def P23 : IA64Register<"p23">; +def P24 : IA64Register<"p24">; +def P25 : IA64Register<"p25">; +def P26 : IA64Register<"p26">; +def P27 : IA64Register<"p27">; +def P28 : IA64Register<"p28">; +def P29 : IA64Register<"p29">; +def P30 : IA64Register<"p30">; +def P31 : IA64Register<"p31">; +def P32 : IA64Register<"p32">; +def P33 : IA64Register<"p33">; +def P34 : IA64Register<"p34">; +def P35 : IA64Register<"p35">; +def P36 : IA64Register<"p36">; +def P37 : IA64Register<"p37">; +def P38 : IA64Register<"p38">; +def P39 : IA64Register<"p39">; +def P40 : IA64Register<"p40">; +def P41 : IA64Register<"p41">; +def P42 : IA64Register<"p42">; +def P43 : IA64Register<"p43">; +def P44 : IA64Register<"p44">; +def P45 : IA64Register<"p45">; +def P46 : IA64Register<"p46">; +def P47 : IA64Register<"p47">; +def P48 : IA64Register<"p48">; +def P49 : IA64Register<"p49">; +def P50 : IA64Register<"p50">; +def P51 : IA64Register<"p51">; +def P52 : IA64Register<"p52">; +def P53 : IA64Register<"p53">; +def P54 : IA64Register<"p54">; +def P55 : IA64Register<"p55">; +def P56 : IA64Register<"p56">; +def P57 : IA64Register<"p57">; +def P58 : IA64Register<"p58">; +def P59 : IA64Register<"p59">; +def P60 : IA64Register<"p60">; +def P61 : IA64Register<"p61">; +def P62 : IA64Register<"p62">; +def P63 : IA64Register<"p63">; + +def Predicate : IA64RegisterClass<[i1], 0, + [P0, P1, P2, P3, P4, P5, P16, P17, P18, P19, P20, P21, P22, P23, P24, P25, + P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36, P37, P38, P39, P40, + P41, P42, P43, P44, P45, P46, P47, P48, P49, P50, P51, P52, P53, P54, P55, + P56, P57, P58, P59, P60, P61, P62, P63]>; From owner-svn-src-projects@FreeBSD.ORG Sat Jul 2 23:41:12 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22CF1106566B; Sat, 2 Jul 2011 23:41:12 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 137A28FC13; Sat, 2 Jul 2011 23:41:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p62NfBLu060343; Sat, 2 Jul 2011 23:41:11 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p62NfBdp060341; Sat, 2 Jul 2011 23:41:11 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107022341.p62NfBdp060341@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 2 Jul 2011 23:41:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223731 - projects/llvm-ia64/lib/clang X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jul 2011 23:41:12 -0000 Author: marcel Date: Sat Jul 2 23:41:11 2011 New Revision: 223731 URL: http://svn.freebsd.org/changeset/base/223731 Log: Add missing dependencies on ${arch}RegisterInfo.td. Modified: projects/llvm-ia64/lib/clang/clang.build.mk Modified: projects/llvm-ia64/lib/clang/clang.build.mk ============================================================================== --- projects/llvm-ia64/lib/clang/clang.build.mk Sat Jul 2 23:39:20 2011 (r223730) +++ projects/llvm-ia64/lib/clang/clang.build.mk Sat Jul 2 23:41:11 2011 (r223731) @@ -65,6 +65,15 @@ ${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM ${TBLGEN} ${hdr:T:C/,/ /g} \ ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td > ${.TARGET} . endfor + +. for hdr in \ + RegisterInfo.h \ + RegisterInfo \ + RegisterNames +${arch:T}Gen${hdr}.inc.h: \ + ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}RegisterInfo.td +. endfor + .endfor ARMGenDecoderTables.inc.h: ${LLVM_SRCS}/lib/Target/ARM/ARM.td