Date: Tue, 24 Apr 2018 14:55:23 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332938 - in user/markj/netdump: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/lib/libdtrace cddl/usr.sbin/dwatch cddl/usr.sbin/dwatch/libexec contrib/bsnmp... Message-ID: <201804241455.w3OEtNJw062690@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Tue Apr 24 14:55:22 2018 New Revision: 332938 URL: https://svnweb.freebsd.org/changeset/base/332938 Log: MFH at r332937. Added: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv - copied unchanged from r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp - copied unchanged from r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp user/markj/netdump/etc/rc.d/cfumass - copied unchanged from r332937, head/etc/rc.d/cfumass user/markj/netdump/sys/dev/flash/cqspi.c - copied unchanged from r332937, head/sys/dev/flash/cqspi.c user/markj/netdump/sys/dev/flash/cqspi.h - copied unchanged from r332937, head/sys/dev/flash/cqspi.h user/markj/netdump/sys/dev/flash/n25q.c - copied unchanged from r332937, head/sys/dev/flash/n25q.c user/markj/netdump/sys/dev/flash/qspi_if.m - copied unchanged from r332937, head/sys/dev/flash/qspi_if.m user/markj/netdump/sys/gnu/dts/arm/am572x-idk-common.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/am572x-idk-common.dtsi user/markj/netdump/sys/gnu/dts/arm/am574x-idk.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/am574x-idk.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-zaius.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-opp-zaius.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-quanta-q71l.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-quanta-q71l.dts user/markj/netdump/sys/gnu/dts/arm/at91-natte.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-natte.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-nattis-2-natte-2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-nattis-2-natte-2.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d2_ptc_ek.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-sama5d2_ptc_ek.dts user/markj/netdump/sys/gnu/dts/arm/gemini-dlink-dns-313.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/gemini-dlink-dns-313.dts user/markj/netdump/sys/gnu/dts/arm/imx28-ts4600.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx28-ts4600.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-cubox-i-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-cubox-i-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-ts7970.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-ts7970.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-cubox-i-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-cubox-i-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-ts7970.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-ts7970.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-var-dt6customboard.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-var-dt6customboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard2-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-hummingboard2-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard2.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-hummingboard2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-brcm.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-brcm.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-ti.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-ti.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-ts7970.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-ts7970.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-var-dart.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-var-dart.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-emmc-eval-v3.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-colibri-emmc-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-colibri-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-pico-pi.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-pico-pi.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-pico.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-pico.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-35xx-devkit.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-som-lv-35xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-baseboard.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-som-lv-baseboard.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-35xx-devkit.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-torpedo-35xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-baseboard.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-torpedo-baseboard.dtsi user/markj/netdump/sys/gnu/dts/arm/ls1021a-moxa-uc-8410a.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ls1021a-moxa-uc-8410a.dts user/markj/netdump/sys/gnu/dts/arm/openbmc-flash-layout.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/openbmc-flash-layout.dtsi user/markj/netdump/sys/gnu/dts/arm/owl-s500-sparky.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/owl-s500-sparky.dts user/markj/netdump/sys/gnu/dts/arm/ox810se-wd-mbwe.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ox810se-wd-mbwe.dts user/markj/netdump/sys/gnu/dts/arm/ox820-cloudengines-pogoplug-series-3.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ox820-cloudengines-pogoplug-series-3.dts user/markj/netdump/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm-dbhd-ca.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm-dbhd-ca.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h2-plus-orangepi-r1.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/sun8i-h2-plus-orangepi-r1.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-libretech-all-h3-cc.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/sun8i-h3-libretech-all-h3-cc.dts user/markj/netdump/sys/gnu/dts/include/dt-bindings/bus/ - copied from r332937, head/sys/gnu/dts/include/dt-bindings/bus/ user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/am3.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/am3.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/am4.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/am4.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/aspeed-clock.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/aspeed-clock.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/axg-clkc.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/axg-clkc.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dm814.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dm814.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dm816.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dm816.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dra7.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dra7.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/jz4770-cgu.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/jz4770-cgu.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/omap5.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/omap5.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/sprd,sc9860-clk.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/sprd,sc9860-clk.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/aspeed-gpio.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/gpio/aspeed-gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/meson-axg-gpio.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/gpio/meson-axg-gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/memory/tegra186-mc.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/memory/tegra186-mc.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/power/mt2712-power.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/power/mt2712-power.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/power/owl-s700-powergate.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/power/owl-s700-powergate.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/reset/amlogic,meson-axg-reset.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/reset/amlogic,meson-axg-reset.h user/markj/netdump/sys/i386/linux/linux_copyout.c - copied unchanged from r332937, head/sys/i386/linux/linux_copyout.c user/markj/netdump/sys/netinet/tcp_hpts.c - copied unchanged from r332937, head/sys/netinet/tcp_hpts.c user/markj/netdump/sys/netinet/tcp_hpts.h - copied unchanged from r332937, head/sys/netinet/tcp_hpts.h user/markj/netdump/sys/sys/kern_prefetch.h - copied unchanged from r332937, head/sys/sys/kern_prefetch.h user/markj/netdump/tests/sys/capsicum/ - copied from r332937, head/tests/sys/capsicum/ user/markj/netdump/tests/sys/kern/pdeathsig.c - copied unchanged from r332937, head/tests/sys/kern/pdeathsig.c user/markj/netdump/tests/sys/kern/pdeathsig_helper.c - copied unchanged from r332937, head/tests/sys/kern/pdeathsig_helper.c user/markj/netdump/tools/tools/sortbench/ - copied from r332937, head/tools/tools/sortbench/ Deleted: user/markj/netdump/sys/gnu/dts/arm/cloudengines-pogoplug-series-3.dts user/markj/netdump/sys/gnu/dts/arm/imx6qdl-microsom-ar8035.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-microsom.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-pico.dts user/markj/netdump/sys/gnu/dts/arm/wd-mbwe.dts user/markj/netdump/sys/i386/linux/linux_support.s user/markj/netdump/sys/modules/random/ user/markj/netdump/sys/powerpc/powerpc/fuswintr.c user/markj/netdump/sys/powerpc/powerpc/suswintr.c Modified: user/markj/netdump/ObsoleteFiles.inc user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 user/markj/netdump/cddl/lib/libdtrace/tcp.d user/markj/netdump/cddl/usr.sbin/dwatch/dwatch user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrCompiler.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrSystem.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86Schedule.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86ScheduleAtom.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp user/markj/netdump/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/markj/netdump/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp user/markj/netdump/contrib/llvm/tools/clang/lib/Basic/Targets/X86.h user/markj/netdump/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp user/markj/netdump/contrib/ofed/libibverbs/init.c user/markj/netdump/contrib/top/display.c user/markj/netdump/contrib/top/screen.c user/markj/netdump/contrib/top/screen.h user/markj/netdump/contrib/top/top.c user/markj/netdump/etc/defaults/rc.conf user/markj/netdump/etc/mtree/BSD.tests.dist user/markj/netdump/etc/rc.d/Makefile user/markj/netdump/etc/rc.d/ddb user/markj/netdump/lib/clang/freebsd_cc_version.h user/markj/netdump/lib/clang/include/lld/Common/Version.inc user/markj/netdump/lib/clang/libllvm/Makefile user/markj/netdump/lib/libc/locale/isdigit.3 user/markj/netdump/lib/libc/locale/isxdigit.3 user/markj/netdump/lib/libc/riscv/Makefile.inc user/markj/netdump/lib/libc/riscv/gen/_setjmp.S user/markj/netdump/lib/libc/riscv/gen/fabs.S user/markj/netdump/lib/libc/riscv/gen/flt_rounds.c user/markj/netdump/lib/libc/riscv/gen/setjmp.S user/markj/netdump/lib/libc/stdio/printf.3 user/markj/netdump/lib/libc/stdlib/qsort.3 user/markj/netdump/lib/libc/string/strcpy.3 user/markj/netdump/lib/libc/string/strlen.3 user/markj/netdump/lib/libc/sys/fsync.2 user/markj/netdump/lib/libc/sys/procctl.2 user/markj/netdump/lib/libifconfig/libifconfig_media.c user/markj/netdump/lib/libmd/mdXhl.c user/markj/netdump/lib/libufs/ufs_disk_close.3 user/markj/netdump/lib/msun/riscv/Makefile.inc user/markj/netdump/lib/msun/riscv/fenv.c user/markj/netdump/lib/msun/riscv/fenv.h user/markj/netdump/release/amd64/mkisoimages.sh user/markj/netdump/release/arm/BEAGLEBONE.conf user/markj/netdump/release/arm/GUMSTIX.conf user/markj/netdump/release/arm/PANDABOARD.conf user/markj/netdump/release/arm/RPI-B.conf user/markj/netdump/release/tools/ec2.conf user/markj/netdump/sbin/devd/devd.cc user/markj/netdump/sbin/etherswitchcfg/ifmedia.c user/markj/netdump/sbin/ifconfig/ifclone.c user/markj/netdump/sbin/ifconfig/ifconfig.c user/markj/netdump/sbin/ifconfig/ifconfig.h user/markj/netdump/sbin/ifconfig/ifgroup.c user/markj/netdump/sbin/ifconfig/iflagg.c user/markj/netdump/sbin/ifconfig/ifmedia.c user/markj/netdump/share/man/man4/cfumass.4 user/markj/netdump/share/man/man5/rc.conf.5 user/markj/netdump/share/man/man7/c99.7 user/markj/netdump/share/man/man9/Makefile user/markj/netdump/share/man/man9/OF_device_from_xref.9 user/markj/netdump/share/man/man9/cnv.9 user/markj/netdump/share/man/man9/copy.9 user/markj/netdump/share/man/man9/fetch.9 user/markj/netdump/share/man/man9/printf.9 user/markj/netdump/share/man/man9/store.9 user/markj/netdump/share/misc/committers-src.dot user/markj/netdump/share/mk/bsd.cpu.mk user/markj/netdump/share/mk/bsd.sys.mk user/markj/netdump/stand/efi/boot1/boot1.c user/markj/netdump/stand/efi/boot1/fat-amd64.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-arm.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-arm64.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-i386.tmpl.xz user/markj/netdump/stand/efi/loader/framebuffer.c user/markj/netdump/stand/i386/Makefile.inc user/markj/netdump/sys/amd64/amd64/support.S user/markj/netdump/sys/amd64/amd64/trap.c user/markj/netdump/sys/amd64/linux/linux_sysvec.c user/markj/netdump/sys/amd64/linux32/linux32_sysvec.c user/markj/netdump/sys/amd64/vmm/vmm_host.c user/markj/netdump/sys/arm/arm/copystr.S user/markj/netdump/sys/arm/arm/fusu.S user/markj/netdump/sys/arm/conf/SOCFPGA user/markj/netdump/sys/arm/include/atomic-v4.h user/markj/netdump/sys/arm/include/atomic-v6.h user/markj/netdump/sys/arm64/arm64/support.S user/markj/netdump/sys/arm64/arm64/trap.c user/markj/netdump/sys/cddl/dev/dtmalloc/dtmalloc.c user/markj/netdump/sys/cddl/dev/sdt/sdt.c user/markj/netdump/sys/compat/freebsd32/freebsd32_misc.c user/markj/netdump/sys/compat/linprocfs/linprocfs.c user/markj/netdump/sys/compat/linux/linux_errno.inc user/markj/netdump/sys/compat/linux/linux_futex.c user/markj/netdump/sys/compat/linux/linux_futex.h user/markj/netdump/sys/conf/files user/markj/netdump/sys/conf/files.i386 user/markj/netdump/sys/conf/files.powerpc user/markj/netdump/sys/conf/options user/markj/netdump/sys/ddb/db_command.c user/markj/netdump/sys/dev/acpica/acpi.c user/markj/netdump/sys/dev/acpica/acpi_resource.c user/markj/netdump/sys/dev/amdsbwd/amdsbwd.c user/markj/netdump/sys/dev/bce/if_bce.c user/markj/netdump/sys/dev/bktr/msp34xx.c user/markj/netdump/sys/dev/cxgbe/tom/t4_connect.c user/markj/netdump/sys/dev/cxgbe/tom/t4_tom.c user/markj/netdump/sys/dev/extres/regulator/regulator.c user/markj/netdump/sys/dev/flash/mx25lreg.h user/markj/netdump/sys/dev/ixgbe/if_ix.c user/markj/netdump/sys/dev/nvme/nvme_ns.c user/markj/netdump/sys/dev/ocs_fc/ocs_os.c user/markj/netdump/sys/dev/ocs_fc/ocs_os.h user/markj/netdump/sys/dev/puc/puc_pci.c user/markj/netdump/sys/dev/sound/pci/hda/hdaa_patches.c user/markj/netdump/sys/dev/sound/pci/hda/hdac.h user/markj/netdump/sys/dts/arm/socfpga_arria10_socdk_sdmmc.dts user/markj/netdump/sys/fs/nfsclient/nfs_clport.c user/markj/netdump/sys/fs/nfsserver/nfs_nfsdserv.c user/markj/netdump/sys/fs/procfs/procfs.c user/markj/netdump/sys/fs/procfs/procfs.h user/markj/netdump/sys/gnu/dts/arm/am335x-bone-common.dtsi user/markj/netdump/sys/gnu/dts/arm/am335x-boneblue.dts user/markj/netdump/sys/gnu/dts/arm/am335x-evm.dts user/markj/netdump/sys/gnu/dts/arm/am335x-evmsk.dts user/markj/netdump/sys/gnu/dts/arm/am335x-pepper.dts user/markj/netdump/sys/gnu/dts/arm/am33xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/am33xx.dtsi user/markj/netdump/sys/gnu/dts/arm/am3517.dtsi user/markj/netdump/sys/gnu/dts/arm/am4372.dtsi user/markj/netdump/sys/gnu/dts/arm/am437x-gp-evm.dts user/markj/netdump/sys/gnu/dts/arm/am437x-idk-evm.dts user/markj/netdump/sys/gnu/dts/arm/am437x-sk-evm.dts user/markj/netdump/sys/gnu/dts/arm/am43x-epos-evm.dts user/markj/netdump/sys/gnu/dts/arm/am43xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/am571x-idk.dts user/markj/netdump/sys/gnu/dts/arm/am572x-idk.dts user/markj/netdump/sys/gnu/dts/arm/am57xx-beagle-x15-common.dtsi user/markj/netdump/sys/gnu/dts/arm/animeo_ip.dts user/markj/netdump/sys/gnu/dts/arm/arm-realview-eb-mp.dtsi user/markj/netdump/sys/gnu/dts/arm/armada-38x.dtsi user/markj/netdump/sys/gnu/dts/arm/aspeed-ast2500-evb.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-palmetto.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-romulus.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-g4.dtsi user/markj/netdump/sys/gnu/dts/arm/aspeed-g5.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-ariag25.dts user/markj/netdump/sys/gnu/dts/arm/at91-ariettag25.dts user/markj/netdump/sys/gnu/dts/arm/at91-cosino.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-foxg20.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizbox.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizbox2.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizboxmini.dts user/markj/netdump/sys/gnu/dts/arm/at91-linea.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-qil_a9260.dts user/markj/netdump/sys/gnu/dts/arm/at91-sam9_l9260.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d27_som1_ek.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d2_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d3_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4_ma5d4.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4ek.dts user/markj/netdump/sys/gnu/dts/arm/at91-vinco.dts user/markj/netdump/sys/gnu/dts/arm/at91rm9200.dtsi user/markj/netdump/sys/gnu/dts/arm/at91rm9200ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9260.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9260ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9261.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9261ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9263.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9263ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9g20ek_common.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9g25ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9g45.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9m10g45ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9n12.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9n12ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9rl.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9rlek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9x5.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9x5cm.dtsi user/markj/netdump/sys/gnu/dts/arm/axp81x.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm11351.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm21664.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-a-plus.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-a.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b-plus.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b-rev2.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2836-rpi-2-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2836.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2837-rpi-3-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2837.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm283x.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm958625hr.dts user/markj/netdump/sys/gnu/dts/arm/dm814x-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/dm814x.dtsi user/markj/netdump/sys/gnu/dts/arm/dm816x-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/dm816x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra62x-j5eco-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7-evm-common.dtsi user/markj/netdump/sys/gnu/dts/arm/dra7-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72-evm-common.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72-evm-tps65917.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra74x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra76-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/efm32gg-dk3750.dts user/markj/netdump/sys/gnu/dts/arm/ethernut5.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-artik5-eval.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-artik5.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos3250-monk.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos3250-rinato.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4-cpu-thermal.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4210-origen.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4210-smdkv310.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-trats.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-universal_c210.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-itop-elite.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-itop-scp-core.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidu3.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidx.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidx2.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-origen.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-ppmu-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-prime.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-smdk4412.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-trats2.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-arndale.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-smdk5250.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow-rev5.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-spring.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5260-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5260-xyref5260.dts user/markj/netdump/sys/gnu/dts/arm/exynos5260.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5410-odroidxu.dts user/markj/netdump/sys/gnu/dts/arm/exynos5410-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5410-smdk5410.dts user/markj/netdump/sys/gnu/dts/arm/exynos5410.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-arndale-octa.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-cpus.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-peach-pit.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-smdk5420.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-tmu-sensor-conf.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-trip-points.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-cpus.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroid-core.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidhc1.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-audio.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-lite.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu4.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-sd5v1.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-ssdk5440.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-tmu-sensor-conf.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5440-trip-points.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5440.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos54xx-odroidxu-leds.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos54xx.dtsi user/markj/netdump/sys/gnu/dts/arm/ge863-pro3.dtsi user/markj/netdump/sys/gnu/dts/arm/gemini-dlink-dir-685.dts user/markj/netdump/sys/gnu/dts/arm/gemini-nas4220b.dts user/markj/netdump/sys/gnu/dts/arm/gemini-rut1xx.dts user/markj/netdump/sys/gnu/dts/arm/gemini-wbd111.dts user/markj/netdump/sys/gnu/dts/arm/gemini-wbd222.dts user/markj/netdump/sys/gnu/dts/arm/gemini.dtsi user/markj/netdump/sys/gnu/dts/arm/imx25.dtsi user/markj/netdump/sys/gnu/dts/arm/imx27-pdk.dts user/markj/netdump/sys/gnu/dts/arm/imx27-phytec-phycore-rdk.dts user/markj/netdump/sys/gnu/dts/arm/imx27-phytec-phycore-som.dtsi user/markj/netdump/sys/gnu/dts/arm/imx28.dtsi user/markj/netdump/sys/gnu/dts/arm/imx35.dtsi user/markj/netdump/sys/gnu/dts/arm/imx51-babbage.dts user/markj/netdump/sys/gnu/dts/arm/imx51-eukrea-mbimxsd51-baseboard.dts user/markj/netdump/sys/gnu/dts/arm/imx51-ts4800.dts user/markj/netdump/sys/gnu/dts/arm/imx51-zii-rdu1.dts user/markj/netdump/sys/gnu/dts/arm/imx51.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53-cx9020.dts user/markj/netdump/sys/gnu/dts/arm/imx53-m53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53-tx53-x03x.dts user/markj/netdump/sys/gnu/dts/arm/imx53-tx53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6dl-aristainetos_4.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-aristainetos_7.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-colibri-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-icore-rqs.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-pinfunc.h user/markj/netdump/sys/gnu/dts/arm/imx6dl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-eval.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-ixora-v1.1.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-ixora.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b450v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b650v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b850v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-bx50v3.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-display5.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-h100.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-pinfunc.h user/markj/netdump/sys/gnu/dts/arm/imx6qdl-apalis.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-apf6dev.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-aristainetos.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-aristainetos2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-cubox-i.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-nitrogen6_max.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-nitrogen6x.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sabreauto.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-udoo.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-wandboard-revd1.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-zii-rdu2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sl-evk.dts user/markj/netdump/sys/gnu/dts/arm/imx6sl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sx-sdb.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sx.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6ul-14x14-evk.dts user/markj/netdump/sys/gnu/dts/arm/imx6ul.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7-colibri-eval-v3.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-sdb.dts user/markj/netdump/sys/gnu/dts/arm/imx7d.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7s.dtsi user/markj/netdump/sys/gnu/dts/arm/iwg20d-q7-common.dtsi user/markj/netdump/sys/gnu/dts/arm/iwg20d-q7-dbcm-ca.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2g-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2g-ice.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2g.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone.dtsi user/markj/netdump/sys/gnu/dts/arm/kirkwood-linksys-viper.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-37xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-37xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-som.dtsi user/markj/netdump/sys/gnu/dts/arm/lpc3250-ea3250.dts user/markj/netdump/sys/gnu/dts/arm/lpc3250-phy3250.dts user/markj/netdump/sys/gnu/dts/arm/lpc4337-ciaa.dts user/markj/netdump/sys/gnu/dts/arm/lpc4350-hitex-eval.dts user/markj/netdump/sys/gnu/dts/arm/lpc4357-ea4357-devkit.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a-qds.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a-twr.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a.dtsi user/markj/netdump/sys/gnu/dts/arm/meson8.dtsi user/markj/netdump/sys/gnu/dts/arm/meson8b.dtsi user/markj/netdump/sys/gnu/dts/arm/mpa1600.dts user/markj/netdump/sys/gnu/dts/arm/mt2701.dtsi user/markj/netdump/sys/gnu/dts/arm/mt7623.dtsi user/markj/netdump/sys/gnu/dts/arm/mt7623n-bananapi-bpi-r2.dts user/markj/netdump/sys/gnu/dts/arm/mt7623n-rfb-nand.dts user/markj/netdump/sys/gnu/dts/arm/omap2420-n8x0-common.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-cm-t3x.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-evm-37xx.dts user/markj/netdump/sys/gnu/dts/arm/omap3-gta04.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-igep.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-lilly-a83x.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-n9.dts user/markj/netdump/sys/gnu/dts/arm/omap3-n900.dts user/markj/netdump/sys/gnu/dts/arm/omap3-n950-n9.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-n950.dts user/markj/netdump/sys/gnu/dts/arm/omap3-pandora-common.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3430-sdp.dts user/markj/netdump/sys/gnu/dts/arm/omap34xx.dtsi user/markj/netdump/sys/gnu/dts/arm/omap36xx.dtsi user/markj/netdump/sys/gnu/dts/arm/omap4-droid4-xt894.dts user/markj/netdump/sys/gnu/dts/arm/omap4.dtsi user/markj/netdump/sys/gnu/dts/arm/omap44xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/omap5-uevm.dts user/markj/netdump/sys/gnu/dts/arm/omap5.dtsi user/markj/netdump/sys/gnu/dts/arm/omap54xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/pm9g45.dts user/markj/netdump/sys/gnu/dts/arm/qcom-msm8974-fairphone-fp2.dts user/markj/netdump/sys/gnu/dts/arm/r7s72100-genmai.dts user/markj/netdump/sys/gnu/dts/arm/r8a73a4.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts user/markj/netdump/sys/gnu/dts/arm/r8a7740.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7743.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm.dts user/markj/netdump/sys/gnu/dts/arm/r8a7745.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7778.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7779.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7790-lager.dts user/markj/netdump/sys/gnu/dts/arm/r8a7790.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7791-koelsch.dts user/markj/netdump/sys/gnu/dts/arm/r8a7791.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7792.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7793.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7794-alt.dts user/markj/netdump/sys/gnu/dts/arm/r8a7794.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3036.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3066a-rayeager.dts user/markj/netdump/sys/gnu/dts/arm/rk322x.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3288-phycore-som.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3288.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c2416-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c2416-smdk2416.dts user/markj/netdump/sys/gnu/dts/arm/s3c2416.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c24xx.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c6400.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c6410-mini6410.dts user/markj/netdump/sys/gnu/dts/arm/s3c6410-smdk6410.dts user/markj/netdump/sys/gnu/dts/arm/s3c6410.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c64xx-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c64xx.dtsi user/markj/netdump/sys/gnu/dts/arm/s5pv210-aquila.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-goni.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s5pv210-smdkc110.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-smdkv210.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-torbreck.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d2.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3_tcb1.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xcm.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xcm_cmp.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xmb.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xmb_cmp.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d4.dtsi user/markj/netdump/sys/gnu/dts/arm/sh73a0.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga_arria10_socdk.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga_cyclone5_vining_fpga.dts user/markj/netdump/sys/gnu/dts/arm/spear1310-evb.dts user/markj/netdump/sys/gnu/dts/arm/spear1340.dtsi user/markj/netdump/sys/gnu/dts/arm/spear13xx.dtsi user/markj/netdump/sys/gnu/dts/arm/spear600.dtsi user/markj/netdump/sys/gnu/dts/arm/ste-nomadik-stn8815.dtsi user/markj/netdump/sys/gnu/dts/arm/stih407.dtsi user/markj/netdump/sys/gnu/dts/arm/stih410.dtsi user/markj/netdump/sys/gnu/dts/arm/sun5i-a13-olinuxino.dts user/markj/netdump/sys/gnu/dts/arm/sun6i-a31s-sinovoip-bpi-m2.dts user/markj/netdump/sys/gnu/dts/arm/sun7i-a20-pcduino3-nano.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-bananapi-m3.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-cubietruck-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-tbs-a711.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t.dtsi user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-bananapi-m2-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-m1-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-m1.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-neo.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-orangepi-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3.dtsi user/markj/netdump/sys/gnu/dts/arm/sunxi-h3-h5.dtsi user/markj/netdump/sys/gnu/dts/arm/tegra20.dtsi user/markj/netdump/sys/gnu/dts/arm/tny_a9260_common.dtsi user/markj/netdump/sys/gnu/dts/arm/tny_a9263.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-ld4-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-ld4.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-ld6b-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-pro4-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-pro4.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-pro5.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-pxs2.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-sld8-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-sld8.dtsi user/markj/netdump/sys/gnu/dts/arm/usb_a9260_common.dtsi user/markj/netdump/sys/gnu/dts/arm/usb_a9263.dts user/markj/netdump/sys/gnu/dts/arm/vf-colibri-eval-v3.dtsi user/markj/netdump/sys/gnu/dts/arm/vf500.dtsi user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev-rev-b.dts user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev-rev-c.dts user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev.dtsi user/markj/netdump/sys/gnu/dts/arm/vfxxx.dtsi user/markj/netdump/sys/gnu/dts/arm/zx296702.dtsi user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/hi3660-clock.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq8074.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/input/linux-event-codes.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/pinctrl/am43xx.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/pinctrl/stm32-pinfunc.h user/markj/netdump/sys/i386/i386/copyout.c user/markj/netdump/sys/i386/i386/pmap.c user/markj/netdump/sys/i386/i386/support.s user/markj/netdump/sys/i386/i386/trap.c user/markj/netdump/sys/i386/include/asmacros.h user/markj/netdump/sys/i386/include/md_var.h user/markj/netdump/sys/i386/linux/linux_sysvec.c user/markj/netdump/sys/kern/kern_descrip.c user/markj/netdump/sys/kern/kern_exec.c user/markj/netdump/sys/kern/kern_exit.c user/markj/netdump/sys/kern/kern_jail.c user/markj/netdump/sys/kern/kern_lockf.c user/markj/netdump/sys/kern/kern_lockstat.c user/markj/netdump/sys/kern/kern_loginclass.c user/markj/netdump/sys/kern/kern_malloc.c user/markj/netdump/sys/kern/kern_procctl.c user/markj/netdump/sys/kern/kern_prot.c user/markj/netdump/sys/kern/kern_racct.c user/markj/netdump/sys/kern/kern_rctl.c user/markj/netdump/sys/kern/kern_shutdown.c user/markj/netdump/sys/kern/kern_thread.c user/markj/netdump/sys/kern/subr_prof.c user/markj/netdump/sys/kern/uipc_debug.c user/markj/netdump/sys/kern/uipc_socket.c user/markj/netdump/sys/kern/vfs_aio.c user/markj/netdump/sys/kern/vfs_bio.c user/markj/netdump/sys/mips/include/cpufunc.h user/markj/netdump/sys/mips/mips/pm_machdep.c user/markj/netdump/sys/mips/mips/support.S user/markj/netdump/sys/mips/mips/trap.c user/markj/netdump/sys/modules/blake2/Makefile user/markj/netdump/sys/modules/crypto/Makefile user/markj/netdump/sys/modules/linux/Makefile user/markj/netdump/sys/modules/puc/Makefile user/markj/netdump/sys/net/bpf.c user/markj/netdump/sys/net/if_media.c user/markj/netdump/sys/net/if_media.h user/markj/netdump/sys/net/iflib.c user/markj/netdump/sys/netinet/in_pcb.c user/markj/netdump/sys/netinet/in_pcb.h user/markj/netdump/sys/netinet/ip_output.c user/markj/netdump/sys/netinet/tcp_stacks/fastpath.c user/markj/netdump/sys/netinet/tcp_subr.c user/markj/netdump/sys/netinet/tcp_syncache.c user/markj/netdump/sys/netinet/tcp_usrreq.c user/markj/netdump/sys/netinet/tcp_var.h user/markj/netdump/sys/netinet/udp_usrreq.c user/markj/netdump/sys/netinet6/icmp6.c user/markj/netdump/sys/netinet6/in6_pcb.c user/markj/netdump/sys/netinet6/in6_src.c user/markj/netdump/sys/netinet6/ip6_output.c user/markj/netdump/sys/netinet6/udp6_usrreq.c user/markj/netdump/sys/opencrypto/cryptosoft.c user/markj/netdump/sys/powerpc/aim/aim_machdep.c user/markj/netdump/sys/powerpc/aim/mmu_oea64.c user/markj/netdump/sys/powerpc/include/cpu.h user/markj/netdump/sys/powerpc/include/pcb.h user/markj/netdump/sys/powerpc/include/spr.h user/markj/netdump/sys/powerpc/powermac/cuda.c user/markj/netdump/sys/powerpc/powerpc/cpu.c user/markj/netdump/sys/powerpc/powerpc/elf32_machdep.c user/markj/netdump/sys/powerpc/powerpc/elf64_machdep.c user/markj/netdump/sys/powerpc/powerpc/exec_machdep.c user/markj/netdump/sys/powerpc/powerpc/genassym.c user/markj/netdump/sys/powerpc/powerpc/swtch64.S user/markj/netdump/sys/powerpc/powerpc/trap.c user/markj/netdump/sys/riscv/riscv/support.S user/markj/netdump/sys/riscv/riscv/trap.c user/markj/netdump/sys/sparc64/sparc64/support.S user/markj/netdump/sys/sparc64/sparc64/trap.c user/markj/netdump/sys/sys/filedesc.h user/markj/netdump/sys/sys/imgact.h user/markj/netdump/sys/sys/kdb.h user/markj/netdump/sys/sys/lockstat.h user/markj/netdump/sys/sys/mbuf.h user/markj/netdump/sys/sys/proc.h user/markj/netdump/sys/sys/procctl.h user/markj/netdump/sys/sys/resourcevar.h user/markj/netdump/sys/sys/socket.h user/markj/netdump/sys/sys/socketvar.h user/markj/netdump/sys/vm/vm_page.c user/markj/netdump/sys/vm/vm_page.h user/markj/netdump/sys/vm/vm_pageout.c user/markj/netdump/sys/vm/vm_pagequeue.h user/markj/netdump/sys/x86/acpica/acpi_wakeup.c user/markj/netdump/sys/x86/x86/cpu_machdep.c user/markj/netdump/sys/x86/x86/msi.c user/markj/netdump/tests/sys/Makefile user/markj/netdump/tests/sys/aio/Makefile user/markj/netdump/tests/sys/aio/lio_test.c user/markj/netdump/tests/sys/kern/Makefile user/markj/netdump/tests/sys/kern/ptrace_test.c user/markj/netdump/tools/diag/prtblknos/Makefile user/markj/netdump/tools/diag/prtblknos/main.c user/markj/netdump/tools/diag/prtblknos/prtblknos.c user/markj/netdump/tools/tools/README user/markj/netdump/usr.bin/calendar/calendars/calendar.freebsd user/markj/netdump/usr.bin/chpass/util.c user/markj/netdump/usr.bin/grep/file.c user/markj/netdump/usr.bin/grep/util.c user/markj/netdump/usr.bin/quota/quota.c user/markj/netdump/usr.sbin/camdd/camdd.c user/markj/netdump/usr.sbin/iostat/iostat.c user/markj/netdump/usr.sbin/makefs/Makefile user/markj/netdump/usr.sbin/makefs/cd9660/Makefile.inc user/markj/netdump/usr.sbin/makefs/ffs/Makefile.inc user/markj/netdump/usr.sbin/pwd_mkdb/pwd_mkdb.8 user/markj/netdump/usr.sbin/pwd_mkdb/pwd_mkdb.c user/markj/netdump/usr.sbin/syslogd/syslogd.c user/markj/netdump/usr.sbin/usbconfig/usbconfig.8 user/markj/netdump/usr.sbin/usbconfig/usbconfig.c Directory Properties: user/markj/netdump/ (props changed) user/markj/netdump/cddl/ (props changed) user/markj/netdump/cddl/contrib/opensolaris/ (props changed) user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/ (props changed) user/markj/netdump/contrib/llvm/ (props changed) user/markj/netdump/contrib/llvm/tools/clang/ (props changed) user/markj/netdump/contrib/llvm/tools/lldb/ (props changed) user/markj/netdump/contrib/top/ (props changed) user/markj/netdump/sys/gnu/dts/arm/ (props changed) user/markj/netdump/sys/gnu/dts/include/ (props changed) Modified: user/markj/netdump/ObsoleteFiles.inc ============================================================================== --- user/markj/netdump/ObsoleteFiles.inc Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/ObsoleteFiles.inc Tue Apr 24 14:55:22 2018 (r332938) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20180417: remove fuswintr and suswintr +OLD_FILES+=usr/share/man/man9/fuswintr.9.gz +OLD_FILES+=usr/share/man/man9/suswintr.9.gz # 20180413: remove Arcnet support OLD_FILES+=usr/include/net/if_arc.h OLD_FILES+=usr/share/man/man4/cm.4.gz Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Apr 24 14:55:22 2018 (r332938) @@ -116,6 +116,9 @@ .Oo Fl S Ar property Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot | Ns Ar bookmark Ns ... .Nm +.Cm remap +.Ar filesystem Ns | Ns Ar volume +.Nm .Cm set .Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... @@ -2266,6 +2269,17 @@ if the .Fl S option was not specified. .El +.It Xo +.Nm +.Cm remap +.Ar filesystem Ns | Ns Ar volume +.Xc +.Pp +Remap the indirect blocks in the given fileystem or volume so that they no +longer reference blocks on previously removed vdevs and we can eventually +shrink the size of the indirect mapping objects for the previously removed +vdevs. Note that remapping all blocks might not be possible and that +references from snapshots will still exist and cannot be remapped. .It Xo .Nm .Cm upgrade Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Apr 24 14:55:22 2018 (r332938) @@ -448,6 +448,40 @@ when the "zpool checkpoint" command is used to checkpo The feature will only return back to being .Sy enabled when the pool is rewound or the checkpoint has been discarded. +.It Sy device_removal +.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:device_removal" +.It GUID Ta com.delphix:device_removal +.It READ\-ONLY COMPATIBLE Ta no +.It DEPENDENCIES Ta none +.El +.Pp +This feature enables the "zpool remove" subcommand to remove top-level +vdevs, evacuating them to reduce the total size of the pool. +.Pp +This feature becomes +.Sy active +when the "zpool remove" command is used +on a top-level vdev, and will never return to being +.Sy enabled . +.It Sy obsolete_counts +.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:obsolete_counts" +.It GUID Ta com.delphix:obsolete_counts +.It READ\-ONLY COMPATIBLE Ta yes +.It DEPENDENCIES Ta device_removal +.El +.Pp +This feature is an enhancement of device_removal, which will over time +reduce the memory used to track removed devices. When indirect blocks +are freed or remapped, we note that their part of the indirect mapping +is "obsolete", i.e. no longer needed. See also the "zfs remap" +subcommand in +.Xr zfs 8 . + +This feature becomes +.Sy active +when the "zpool remove" command is +used on a top-level vdev, and will never return to being +.Sy enabled . .It Sy large_blocks .Bl -column "READ\-ONLY COMPATIBLE" "org.open-zfs:large_block" .It GUID Ta org.open-zfs:large_block Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Apr 24 14:55:22 2018 (r332938) @@ -21,7 +21,7 @@ .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved. .\" Copyright (c) 2011, Justin T. Gibbs <gibbs@FreeBSD.org> .\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org> -.\" Copyright (c) 2013 by Delphix. All Rights Reserved. +.\" Copyright (c) 2012, 2017 by Delphix. All Rights Reserved. .\" Copyright 2017 Nexenta Systems, Inc. .\" Copyright (c) 2017 Datto Inc. .\" @@ -151,8 +151,13 @@ .Ar pool .Nm .Cm remove +.Op Fl np .Ar pool device ... .Nm +.Cm remove +.Fl s +.Ar pool +.Nm .Cm reopen .Ar pool .Nm @@ -510,8 +515,8 @@ Multiple log devices can also be specified, and they c section for an example of mirroring multiple log devices. .Pp Log devices can be added, replaced, attached, detached, imported and exported -as part of the larger pool. Mirrored log devices can be removed by specifying -the top-level mirror for the log. +as part of the larger pool. +Mirrored devices can be removed by specifying the top-level mirror vdev. .Ss Cache devices Devices can be added to a storage pool as "cache devices." These devices provide an additional layer of caching between main memory and disk. For @@ -1604,19 +1609,55 @@ devices in this pool are online and healthy before per .It Xo .Nm .Cm remove +.Op Fl np .Ar pool device ... .Xc .Pp -Removes the specified device from the pool. This command currently only -supports removing hot spares, cache, and log devices. A mirrored log device can -be removed by specifying the top-level mirror for the log. Non-log devices that -are part of a mirrored configuration can be removed using the +Removes the specified device from the pool. +This command currently only supports removing hot spares, cache, log +devices and mirrored top-level vdevs (mirror of leaf devices); but not raidz. +.sp +Removing a top-level vdev reduces the total amount of space in the storage pool. +The specified device will be evacuated by copying all allocated space from it to +the other devices in the pool. +In this case, the +.Nm zpool Cm remove +command initiates the removal and returns, while the evacuation continues in +the background. +The removal progress can be monitored with +.Nm zpool Cm status. +This feature must be enabled to be used, see +.Xr zpool-features 5 +.Pp +A mirrored top-level device (log or data) can be removed by specifying the +top-level mirror for the same. +Non-log devices or data devices that are part of a mirrored configuration can +be removed using the .Qq Nm Cm detach -command. Non-redundant and -.No raidz -devices cannot be removed from a pool. +command. +.Bl -tag -width Ds +.It Fl n +Do not actually perform the removal ("no-op"). +Instead, print the estimated amount of memory that will be used by the +mapping table after the removal completes. +This is nonzero only for top-level vdevs. +.El +.Bl -tag -width Ds +.It Fl p +Used in conjunction with the +.Fl n +flag, displays numbers as parsable (exact) values. +.El .It Xo .Nm +.Cm remove +.Fl s +.Ar pool +.Xc +.Pp +Stops and cancels an in-progress removal of a top-level vdev. +.It Xo +.Nm .Cm reopen .Ar pool .Xc @@ -2098,11 +2139,13 @@ data 23.9G 14.6G 9.30G 48% - 61% .Ed .It Xo .Sy Example 16 -Removing a Mirrored Log Device +Removing a Mirrored top-level (Log or Data) Device .Xc .Pp -The following command removes the mirrored log device -.Em mirror-2 . +The following commands remove the mirrored log device +.Sy mirror-2 +and mirrored top-level data device +.Sy mirror-1 . .Pp Given this configuration: .Bd -literal -offset 2n @@ -2130,6 +2173,13 @@ The command to remove the mirrored log is: .Bd -literal -offset 2n .Li # Ic zpool remove tank mirror-2 +.Ed +.Pp +The command to remove the mirrored data +.Em mirror-1 +is: +.Bd -literal -offset 2n +.Li # Ic zpool remove tank mirror-1 .Ed .It Xo .Sy Example 17 Modified: user/markj/netdump/cddl/lib/libdtrace/tcp.d ============================================================================== --- user/markj/netdump/cddl/lib/libdtrace/tcp.d Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/lib/libdtrace/tcp.d Tue Apr 24 14:55:22 2018 (r332938) @@ -192,12 +192,12 @@ translator tcpsinfo_t < struct tcpcb *p > { tcps_rport = p == NULL ? 0 : ntohs(p->t_inpcb->inp_inc.inc_ie.ie_fport); tcps_laddr = p == NULL ? 0 : p->t_inpcb->inp_vflag == INP_IPV4 ? - inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.ie46_local.ia46_addr4.s_addr) : - inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.ie6_local); + inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.id46_addr.ia46_addr4.s_addr) : + inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.id6_addr); tcps_raddr = p == NULL ? 0 : p->t_inpcb->inp_vflag == INP_IPV4 ? - inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.ie46_foreign.ia46_addr4.s_addr) : - inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.ie6_foreign); + inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.id46_addr.ia46_addr4.s_addr) : + inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.id6_addr); tcps_state = p == NULL ? -1 : p->t_state; tcps_iss = p == NULL ? 0 : p->iss; tcps_irs = p == NULL ? 0 : p->irs; Modified: user/markj/netdump/cddl/usr.sbin/dwatch/dwatch ============================================================================== --- user/markj/netdump/cddl/usr.sbin/dwatch/dwatch Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/usr.sbin/dwatch/dwatch Tue Apr 24 14:55:22 2018 (r332938) @@ -47,7 +47,7 @@ DTRACE_PRAGMA=" ############################################################ GLOBALS -VERSION='$Version: 1.0 $' # -V +VERSION='$Version: 1.1 $' # -V pgm="${0##*/}" # Program basename @@ -67,6 +67,7 @@ CUSTOM_DETAILS= # -E code CUSTOM_TEST= # -t test DEBUG= # -d DESTRUCTIVE_ACTIONS= # -w +DEVELOPER= # -dev EXECNAME= # -k name EXECREGEX= # -z regex EXIT_AFTER_COMPILE= # -e @@ -835,6 +836,11 @@ if [ "$PROBE_ARG" ]; then fi # +# Developer switch +# +[ "$DEBUG" -a "$EXIT_AFTER_COMPILE" -a "$VERBOSE" ] && DEVELOPER=1 DEBUG= + +# # Set default event details if `-E code' was not given # [ "$CUSTOM_DETAILS" ] || EVENT_DETAILS=$( pproc_dump 0 ) @@ -966,6 +972,61 @@ PSARGS_ACTION=$( cat <&9 ) exec 3>&1 console_stdout=3 + # + # Developer debugging aide + # + if [ "$DEVELOPER" ]; then + # + # Run, capture the error line, and focus it + # + # Example error text to capture line number from: + # dtrace: failed to compile script /dev/stdin: line 669: ... + # + errline= + stdin_buf=$( cat ) + stderr_buf=$( echo "$stdin_buf" | + dtrace_cmd -t -es /dev/stdin "$@" 2>&1 > /dev/null ) + status=$? + if [ "$stderr_buf" ]; then + errline=$( echo "$stderr_buf" | awk ' + BEGIN { + ti = "\033[31m" + te = "\033[39m" + } + { line = $0 } + sub(/.*: line /, "") && sub(/:.*/, "") { + print # to errline + sub("line " $0, ti "&" te, line) + } + { print line > "/dev/stderr" } + ' 2>&3 ) + fi + if [ "$errline" ]; then + echo "$stdin_buf" | awk -v line="${errline%%[^0-9]*}" ' + BEGIN { + start = line < 10 ? 1 : line - 10 + end = line + 10 + slen = length(sprintf("%u", start)) + elen = length(sprintf("%u", end)) + N = elen > slen ? elen : slen + for (i = start; i <= end; i++) { + ti[i] = "\033[2m" + te[i] = "\033[22m" + } + ti[line] = "\033[31m" + te[line] = "\033[39m" + fmt = "%s%*u %s%s\n" + } + NR < start { next } + NR == start, NR == end { + printf(fmt, ti[NR], N, NR, $0, te[NR]) + } + NR > end { exit } + ' # END-QUOTE + fi + exit $status + fi + if [ $COUNT -eq 0 -a ! "$EXECREGEX$FILTER$GROUP$OUTPUT_CMD$PID$USER" ] then case "$OUTPUT" in @@ -1285,6 +1346,7 @@ $( pproc_dump -v 3 )} } EOF +# NOTREACHED ################################################################################ # END Modified: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile ============================================================================== --- user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile Tue Apr 24 14:55:22 2018 (r332938) @@ -11,6 +11,7 @@ FILES= chmod \ proc \ rw \ sched \ + sendrecv \ tcp \ udp \ vop_create \ @@ -54,6 +55,12 @@ LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatc LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-surrender LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-tick LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-wakeup +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recv +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recvfrom +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recvmsg +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-established LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refused Copied: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv (from r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv Tue Apr 24 14:55:22 2018 (r332938, copy of r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv) @@ -0,0 +1,215 @@ +# -*- tab-width: 4 -*- ;; Emacs +# vi: set filetype=sh tabstop=8 shiftwidth=8 noexpandtab :: Vi/ViM +############################################################ IDENT(1) +# +# $Title: dwatch(8) module for send(2)/recv(2) $ +# $Copyright: 2014-2018 Devin Teske. All rights reserved. $ +# $FreeBSD$ +# +############################################################ DESCRIPTION +# +# Print details from send(2)/recv(2) +# +############################################################ PROBE + +case "$PROFILE" in +sendrecv) + : ${PROBE:=$( echo \ + syscall::recvfrom:return, \ + syscall::recvmsg:return, \ + syscall::sendmsg:entry, \ + syscall::sendto:entry )} ;; +send) + : ${PROBE:=$( echo \ + syscall::sendmsg:entry, \ + syscall::sendto:entry )} ;; +recv) + : ${PROBE:=$( echo \ + syscall::recvfrom:return, \ + syscall::recvmsg:return )} ;; +*) + : ${PROBE:=syscall::$PROFILE} +esac + +############################################################ EVENT ACTION + +#[ "$CUSTOM_TEST" ] || EVENT_TEST="this->from != NULL" + +############################################################ ACTIONS + +exec 9<<EOF +typedef struct sainfo { + sa_family_t sa_family; + uint16_t port; + string addr; + string family; +} sainfo_t; + +/* + * Address families from <sys/socket.h> + */ +#pragma D binding "1.13" address_family_string +inline string address_family_string[sa_family_t af] = + af == AF_UNSPEC ? "AF_UNSPEC" : + af == AF_LOCAL ? "AF_UNIX" : + af == AF_UNIX ? "AF_UNIX" : + af == AF_INET ? "AF_INET" : + af == AF_IMPLINK ? "AF_IMPLINK" : + af == AF_PUP ? "AF_PUP" : + af == AF_CHAOS ? "AF_CHAOS" : + af == AF_NETBIOS ? "AF_NETBIOS" : + af == AF_ISO ? "AF_ISO" : + af == AF_OSI ? "AF_ISO" : + af == AF_ECMA ? "AF_ECMA" : + af == AF_DATAKIT ? "AF_DATAKIT" : + af == AF_CCITT ? "AF_CCITT" : + af == AF_SNA ? "AF_SNA" : + af == AF_DECnet ? "AF_DECnet" : + af == AF_DLI ? "AF_DLI" : + af == AF_LAT ? "AF_LAT" : + af == AF_HYLINK ? "AF_HYLINK" : + af == AF_APPLETALK ? "AF_APPLETALK" : + af == AF_ROUTE ? "AF_ROUTE" : + af == AF_LINK ? "AF_LINK" : + af == pseudo_AF_XTP ? "pseudo_AF_XTP" : + af == AF_COIP ? "AF_COIP" : + af == AF_CNT ? "AF_CNT" : + af == pseudo_AF_RTIP ? "pseudo_AF_RTIP" : + af == AF_IPX ? "AF_IPX" : + af == AF_SIP ? "AF_SIP" : + af == pseudo_AF_PIP ? "pseudo_AF_PIP" : + af == AF_ISDN ? "AF_ISDN" : + af == AF_E164 ? "AF_ISDN" : + af == pseudo_AF_KEY ? "pseudo_AF_KEY" : + af == AF_INET6 ? "AF_INET6" : + af == AF_NATM ? "AF_NATM" : + af == AF_ATM ? "AF_ATM" : + af == pseudo_AF_HDRCMPLT ? "pseudo_AF_HDRCMPLT" : + af == AF_NETGRAPH ? "AF_NETGRAPH" : + af == AF_SLOW ? "AF_SLOW" : + af == AF_SCLUSTER ? "AF_SCLUSTER" : + af == AF_ARP ? "AF_ARP" : + af == AF_BLUETOOTH ? "AF_BLUETOOTH" : + af == AF_IEEE80211 ? "AF_IEEE80211" : + af == AF_INET_SDP ? "AF_INET_SDP" : + af == AF_INET6_SDP ? "AF_INET6_SDP" : + af == AF_MAX ? "AF_MAX" : + strjoin("AF_UNKNOWN(", strjoin(lltostr(af), ")")); + +#pragma D binding "1.13" sa_data_size +inline int sa_data_size = 14; + +#pragma D binding "1.13" sa_data_addr +inline string sa_data_addr[sa_family_t af, char data[sa_data_size]] = + af == AF_INET ? strjoin( + strjoin(strjoin(lltostr(data[2] & 0xFF), "."), + strjoin(lltostr(data[3] & 0xFF), ".") + ), + strjoin(strjoin(lltostr(data[4] & 0xFF), "."), + lltostr(data[5] & 0xFF)) + ) : + ""; + +#pragma D binding "1.13" sa_data_port +inline uint16_t sa_data_port[sa_family_t af, char data[sa_data_size]] = + af == AF_INET ? (data[0] << 8) + data[1] : + 0; + +#pragma D binding "1.13" translator +translator sainfo_t < struct sockaddr *SA > { + sa_family = SA->sa_family; + family = address_family_string[SA->sa_family]; + addr = sa_data_addr[SA->sa_family, SA->sa_data]; + port = sa_data_port[SA->sa_family, SA->sa_data]; +}; + +this sainfo_t sainfo; +this ssize_t nbytes; +this string details; +this string flow; +this struct msghdr * msghdr; +this struct sockaddr * sa; + +inline string probeflow[string func] = + func == "recvfrom" ? "<-" : + func == "recvmsg" ? "<-" : + func == "recvmmsg" ? "<-" : + "->"; + +inline string af_details[sa_family_t af, string addr, uint16_t port] = + af == AF_INET ? strjoin(addr, strjoin(":", lltostr(port))) : + ""; + +$PROBE /* probe ID $ID */ +{${TRACE:+ + printf("<$ID>");} + this->details = ""; + this->flow = probeflow[probefunc]; +} + +syscall::recvfrom:entry /* probe ID $(( $ID + 1 )) */ +{${TRACE:+ + printf("<$(( $ID + 1 ))>");} + this->sa = args[4] == NULL ? + (struct sockaddr *)alloca(sizeof(struct sockaddr)) : + (struct sockaddr *)copyin(arg4, sizeof(struct sockaddr)); + this->sainfo = xlate <sainfo_t> ((struct sockaddr *)this->sa); +} + +syscall::recvfrom:return /* probe ID $(( $ID + 2 )) */ +{${TRACE:+ + printf("<$(( $ID + 2 ))>");} + this->nbytes = arg0; + this->details = strjoin("from ", strjoin( + strjoin(this->sainfo.family, " "), + af_details[this->sainfo.sa_family, + this->sainfo.addr, this->sainfo.port])); +} + +syscall::recvmsg:return /* probe ID $(( $ID + 3 )) */ +{${TRACE:+ + printf("<$(( $ID + 3 ))>");} + this->nbytes = arg0; +} + +syscall::sendmsg:entry /* probe ID $(( $ID + 5 )) */ +{${TRACE:+ + printf("<$(( $ID + 5 ))>");} + this->nbytes = arg2; +} + +syscall::sendto:entry /* probe ID $(( $ID + 4 )) */ +{${TRACE:+ + printf("<$(( $ID + 4 ))>");} + this->nbytes = arg2; + this->sa = arg4 == NULL ? + (struct sockaddr *)alloca(sizeof(struct sockaddr)) : + (struct sockaddr *)copyin(arg4, sizeof(struct sockaddr)); + this->sainfo = xlate <sainfo_t> ((struct sockaddr *)this->sa); + this->details = strjoin("to ", strjoin( + strjoin(this->sainfo.family, " "), + af_details[this->sainfo.sa_family, + this->sainfo.addr, this->sainfo.port])); +} +EOF +ACTIONS=$( cat <&9 ) +ID=$(( $ID + 5 )) + +############################################################ EVENT DETAILS + +exec 9<<EOF + /* + * Print socket details + */ + printf("%s %d byte%s%s%s", + this->flow, + this->nbytes, + this->nbytes != 1 ? "s" : "", + this->details != "" ? " " : "", + this->details); +EOF +EVENT_DETAILS=$( cat <&9 ) + +################################################################################ +# END +################################################################################ Modified: user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 ============================================================================== --- user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 Tue Apr 24 14:55:22 2018 (r332938) @@ -102,35 +102,35 @@ .Nm index_compare , .Nm index_compare_off , .Nm index_append , -.Nm index_append_off, -.Nm snmpd_usmstats, -.Nm bsnmpd_get_usm_stats, -.Nm bsnmpd_reset_usm_stats, -.Nm usm_first_user, -.Nm usm_next_user, -.Nm usm_find_user, -.Nm usm_new_user, -.Nm usm_delete_user, -.Nm usm_flush_users, -.Nm usm_user -.Nm snmpd_target_stat -.Nm bsnmpd_get_target_stats -.Nm target_first_address -.Nm target_next_address -.Nm target_new_address -.Nm target_activate_address -.Nm target_delete_address -.Nm target_first_param -.Nm target_next_param -.Nm target_new_param -.Nm target_delete_param -.Nm target_first_notify -.Nm target_next_notify -.Nm target_new_notify -.Nm target_delete_notify -.Nm target_flush_all -.Nm target_address -.Nm target_param +.Nm index_append_off , +.Nm snmpd_usmstats , +.Nm bsnmpd_get_usm_stats , +.Nm bsnmpd_reset_usm_stats , +.Nm usm_first_user , +.Nm usm_next_user , +.Nm usm_find_user , +.Nm usm_new_user , +.Nm usm_delete_user , +.Nm usm_flush_users , +.Nm usm_user , +.Nm snmpd_target_stat , +.Nm bsnmpd_get_target_stats , +.Nm target_first_address , +.Nm target_next_address , +.Nm target_new_address , +.Nm target_activate_address , +.Nm target_delete_address , +.Nm target_first_param , +.Nm target_next_param , +.Nm target_new_param , +.Nm target_delete_param , +.Nm target_first_notify , +.Nm target_next_notify , +.Nm target_new_notify , +.Nm target_delete_notify , +.Nm target_flush_all , +.Nm target_address , +.Nm target_param , .Nm target_notify .Nd "SNMP daemon loadable module interface" .Sh LIBRARY Modified: user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h ============================================================================== --- user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h Tue Apr 24 14:55:22 2018 (r332938) @@ -449,6 +449,13 @@ class MachineBasicBlock (public) /// Replace successor OLD with NEW and update probability info. void replaceSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New); + /// Copy a successor (and any probability info) from original block to this + /// block's. Uses an iterator into the original blocks successors. + /// + /// This is useful when doing a partial clone of successors. Afterward, the + /// probabilities may need to be normalized. + void copySuccessor(MachineBasicBlock *Orig, succ_iterator I); + /// Transfers all the successors from MBB to this machine basic block (i.e., /// copies all the successors FromMBB and remove all the successors from /// FromMBB). Modified: user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp ============================================================================== --- user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp Tue Apr 24 14:55:22 2018 (r332938) @@ -646,6 +646,14 @@ void MachineBasicBlock::replaceSuccessor(MachineBasicB removeSuccessor(OldI); } +void MachineBasicBlock::copySuccessor(MachineBasicBlock *Orig, + succ_iterator I) { + if (Orig->Probs.empty()) + addSuccessor(*I, Orig->getSuccProbability(I)); + else + addSuccessorWithoutProb(*I); +} + void MachineBasicBlock::addPredecessor(MachineBasicBlock *Pred) { Predecessors.push_back(Pred); } Modified: user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp ============================================================================== --- user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp Tue Apr 24 14:55:22 2018 (r332938) @@ -265,13 +265,10 @@ MCDisassembler::DecodeStatus X86GenericDisassembler::g /// @param reg - The Reg to append. static void translateRegister(MCInst &mcInst, Reg reg) { #define ENTRY(x) X86::x, - uint8_t llvmRegnums[] = { - ALL_REGS - 0 - }; + static constexpr MCPhysReg llvmRegnums[] = {ALL_REGS}; #undef ENTRY - uint8_t llvmRegnum = llvmRegnums[reg]; + MCPhysReg llvmRegnum = llvmRegnums[reg]; mcInst.addOperand(MCOperand::createReg(llvmRegnum)); } Modified: user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h ============================================================================== --- user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h Tue Apr 24 14:55:22 2018 (r332938) @@ -66,6 +66,9 @@ FunctionPass *createX86OptimizeLEAs(); /// Return a pass that transforms setcc + movzx pairs into xor + setcc. FunctionPass *createX86FixupSetCC(); +/// Return a pass that lowers EFLAGS copy pseudo instructions. +FunctionPass *createX86FlagsCopyLoweringPass(); + /// Return a pass that expands WinAlloca pseudo-instructions. FunctionPass *createX86WinAllocaExpander(); Copied: user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp (from r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp Tue Apr 24 14:55:22 2018 (r332938, copy of r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp) @@ -0,0 +1,796 @@ +//====- X86FlagsCopyLowering.cpp - Lowers COPY nodes of EFLAGS ------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// \file +/// +/// Lowers COPY nodes of EFLAGS by directly extracting and preserving individual +/// flag bits. +/// +/// We have to do this by carefully analyzing and rewriting the usage of the +/// copied EFLAGS register because there is no general way to rematerialize the +/// entire EFLAGS register safely and efficiently. Using `popf` both forces +/// dynamic stack adjustment and can create correctness issues due to IF, TF, +/// and other non-status flags being overwritten. Using sequences involving +/// SAHF don't work on all x86 processors and are often quite slow compared to +/// directly testing a single status preserved in its own GPR. +/// +//===----------------------------------------------------------------------===// + +#include "X86.h" +#include "X86InstrBuilder.h" +#include "X86InstrInfo.h" +#include "X86Subtarget.h" +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/ScopeExit.h" +#include "llvm/ADT/SmallPtrSet.h" +#include "llvm/ADT/SmallSet.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/SparseBitVector.h" +#include "llvm/ADT/Statistic.h" +#include "llvm/CodeGen/MachineBasicBlock.h" +#include "llvm/CodeGen/MachineConstantPool.h" +#include "llvm/CodeGen/MachineDominators.h" +#include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/CodeGen/MachineInstr.h" +#include "llvm/CodeGen/MachineInstrBuilder.h" +#include "llvm/CodeGen/MachineModuleInfo.h" +#include "llvm/CodeGen/MachineOperand.h" +#include "llvm/CodeGen/MachineRegisterInfo.h" +#include "llvm/CodeGen/MachineSSAUpdater.h" +#include "llvm/CodeGen/TargetInstrInfo.h" +#include "llvm/CodeGen/TargetRegisterInfo.h" +#include "llvm/CodeGen/TargetSchedule.h" +#include "llvm/CodeGen/TargetSubtargetInfo.h" +#include "llvm/IR/DebugLoc.h" +#include "llvm/MC/MCSchedule.h" +#include "llvm/Pass.h" +#include "llvm/Support/CommandLine.h" +#include "llvm/Support/Debug.h" +#include "llvm/Support/raw_ostream.h" +#include <algorithm> +#include <cassert> +#include <iterator> +#include <utility> + +using namespace llvm; + +#define PASS_KEY "x86-flags-copy-lowering" +#define DEBUG_TYPE PASS_KEY + +STATISTIC(NumCopiesEliminated, "Number of copies of EFLAGS eliminated"); +STATISTIC(NumSetCCsInserted, "Number of setCC instructions inserted"); +STATISTIC(NumTestsInserted, "Number of test instructions inserted"); +STATISTIC(NumAddsInserted, "Number of adds instructions inserted"); + +namespace llvm { + +void initializeX86FlagsCopyLoweringPassPass(PassRegistry &); + +} // end namespace llvm + +namespace { + +// Convenient array type for storing registers associated with each condition. +using CondRegArray = std::array<unsigned, X86::LAST_VALID_COND + 1>; + +class X86FlagsCopyLoweringPass : public MachineFunctionPass { +public: + X86FlagsCopyLoweringPass() : MachineFunctionPass(ID) { + initializeX86FlagsCopyLoweringPassPass(*PassRegistry::getPassRegistry()); + } + + StringRef getPassName() const override { return "X86 EFLAGS copy lowering"; } + bool runOnMachineFunction(MachineFunction &MF) override; + void getAnalysisUsage(AnalysisUsage &AU) const override; + + /// Pass identification, replacement for typeid. + static char ID; + +private: + MachineRegisterInfo *MRI; + const X86InstrInfo *TII; + const TargetRegisterInfo *TRI; + const TargetRegisterClass *PromoteRC; + MachineDominatorTree *MDT; + + CondRegArray collectCondsInRegs(MachineBasicBlock &MBB, + MachineInstr &CopyDefI); + + unsigned promoteCondToReg(MachineBasicBlock &MBB, + MachineBasicBlock::iterator TestPos, + DebugLoc TestLoc, X86::CondCode Cond); + std::pair<unsigned, bool> + getCondOrInverseInReg(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + X86::CondCode Cond, CondRegArray &CondRegs); + void insertTest(MachineBasicBlock &MBB, MachineBasicBlock::iterator Pos, + DebugLoc Loc, unsigned Reg); + + void rewriteArithmetic(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &MI, MachineOperand &FlagUse, + CondRegArray &CondRegs); + void rewriteCMov(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &CMovI, MachineOperand &FlagUse, + CondRegArray &CondRegs); + void rewriteCondJmp(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &JmpI, CondRegArray &CondRegs); + void rewriteCopy(MachineInstr &MI, MachineOperand &FlagUse, + MachineInstr &CopyDefI); + void rewriteSetCC(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &SetCCI, MachineOperand &FlagUse, + CondRegArray &CondRegs); +}; + +} // end anonymous namespace + +INITIALIZE_PASS_BEGIN(X86FlagsCopyLoweringPass, DEBUG_TYPE, + "X86 EFLAGS copy lowering", false, false) +INITIALIZE_PASS_END(X86FlagsCopyLoweringPass, DEBUG_TYPE, + "X86 EFLAGS copy lowering", false, false) + +FunctionPass *llvm::createX86FlagsCopyLoweringPass() { + return new X86FlagsCopyLoweringPass(); +} + +char X86FlagsCopyLoweringPass::ID = 0; + +void X86FlagsCopyLoweringPass::getAnalysisUsage(AnalysisUsage &AU) const { + AU.addRequired<MachineDominatorTree>(); + MachineFunctionPass::getAnalysisUsage(AU); +} + +namespace { +/// An enumeration of the arithmetic instruction mnemonics which have +/// interesting flag semantics. +/// +/// We can map instruction opcodes into these mnemonics to make it easy to +/// dispatch with specific functionality. +enum class FlagArithMnemonic { + ADC, + ADCX, + ADOX, + RCL, + RCR, + SBB, +}; +} // namespace + +static FlagArithMnemonic getMnemonicFromOpcode(unsigned Opcode) { + switch (Opcode) { + default: + report_fatal_error("No support for lowering a copy into EFLAGS when used " + "by this instruction!"); + +#define LLVM_EXPAND_INSTR_SIZES(MNEMONIC, SUFFIX) \ + case X86::MNEMONIC##8##SUFFIX: \ + case X86::MNEMONIC##16##SUFFIX: \ + case X86::MNEMONIC##32##SUFFIX: \ + case X86::MNEMONIC##64##SUFFIX: + +#define LLVM_EXPAND_ADC_SBB_INSTR(MNEMONIC) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rr) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rr_REV) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rm) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, mr) \ + case X86::MNEMONIC##8ri: \ + case X86::MNEMONIC##16ri8: \ + case X86::MNEMONIC##32ri8: \ + case X86::MNEMONIC##64ri8: \ + case X86::MNEMONIC##16ri: \ + case X86::MNEMONIC##32ri: \ + case X86::MNEMONIC##64ri32: \ + case X86::MNEMONIC##8mi: \ + case X86::MNEMONIC##16mi8: \ + case X86::MNEMONIC##32mi8: \ + case X86::MNEMONIC##64mi8: \ + case X86::MNEMONIC##16mi: \ + case X86::MNEMONIC##32mi: \ + case X86::MNEMONIC##64mi32: \ + case X86::MNEMONIC##8i8: \ + case X86::MNEMONIC##16i16: \ + case X86::MNEMONIC##32i32: \ + case X86::MNEMONIC##64i32: + + LLVM_EXPAND_ADC_SBB_INSTR(ADC) + return FlagArithMnemonic::ADC; + + LLVM_EXPAND_ADC_SBB_INSTR(SBB) + return FlagArithMnemonic::SBB; + +#undef LLVM_EXPAND_ADC_SBB_INSTR + + LLVM_EXPAND_INSTR_SIZES(RCL, rCL) + LLVM_EXPAND_INSTR_SIZES(RCL, r1) + LLVM_EXPAND_INSTR_SIZES(RCL, ri) + return FlagArithMnemonic::RCL; + + LLVM_EXPAND_INSTR_SIZES(RCR, rCL) + LLVM_EXPAND_INSTR_SIZES(RCR, r1) + LLVM_EXPAND_INSTR_SIZES(RCR, ri) + return FlagArithMnemonic::RCR; + +#undef LLVM_EXPAND_INSTR_SIZES + + case X86::ADCX32rr: + case X86::ADCX64rr: + case X86::ADCX32rm: + case X86::ADCX64rm: + return FlagArithMnemonic::ADCX; + + case X86::ADOX32rr: + case X86::ADOX64rr: + case X86::ADOX32rm: + case X86::ADOX64rm: + return FlagArithMnemonic::ADOX; + } +} + +static MachineBasicBlock &splitBlock(MachineBasicBlock &MBB, + MachineInstr &SplitI, + const X86InstrInfo &TII) { + MachineFunction &MF = *MBB.getParent(); + + assert(SplitI.getParent() == &MBB && + "Split instruction must be in the split block!"); + assert(SplitI.isBranch() && + "Only designed to split a tail of branch instructions!"); + assert(X86::getCondFromBranchOpc(SplitI.getOpcode()) != X86::COND_INVALID && + "Must split on an actual jCC instruction!"); + + // Dig out the previous instruction to the split point. + MachineInstr &PrevI = *std::prev(SplitI.getIterator()); + assert(PrevI.isBranch() && "Must split after a branch!"); + assert(X86::getCondFromBranchOpc(PrevI.getOpcode()) != X86::COND_INVALID && + "Must split after an actual jCC instruction!"); + assert(!std::prev(PrevI.getIterator())->isTerminator() && + "Must only have this one terminator prior to the split!"); + + // Grab the one successor edge that will stay in `MBB`. + MachineBasicBlock &UnsplitSucc = *PrevI.getOperand(0).getMBB(); + + // Analyze the original block to see if we are actually splitting an edge + // into two edges. This can happen when we have multiple conditional jumps to + // the same successor. + bool IsEdgeSplit = + std::any_of(SplitI.getIterator(), MBB.instr_end(), + [&](MachineInstr &MI) { + assert(MI.isTerminator() && + "Should only have spliced terminators!"); + return llvm::any_of( + MI.operands(), [&](MachineOperand &MOp) { + return MOp.isMBB() && MOp.getMBB() == &UnsplitSucc; + }); + }) || + MBB.getFallThrough() == &UnsplitSucc; + + MachineBasicBlock &NewMBB = *MF.CreateMachineBasicBlock(); + + // Insert the new block immediately after the current one. Any existing + // fallthrough will be sunk into this new block anyways. + MF.insert(std::next(MachineFunction::iterator(&MBB)), &NewMBB); + + // Splice the tail of instructions into the new block. + NewMBB.splice(NewMBB.end(), &MBB, SplitI.getIterator(), MBB.end()); + + // Copy the necessary succesors (and their probability info) into the new + // block. + for (auto SI = MBB.succ_begin(), SE = MBB.succ_end(); SI != SE; ++SI) + if (IsEdgeSplit || *SI != &UnsplitSucc) + NewMBB.copySuccessor(&MBB, SI); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804241455.w3OEtNJw062690>