Date: Thu, 5 Oct 2017 20:37:53 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r324337 - in projects/pnfs-planb-server/sys: amd64/amd64 amd64/cloudabi64 amd64/conf amd64/include amd64/linux amd64/linux32 amd64/sgx amd64/vmm/intel arm/allwinner arm/allwinner/clk ar... Message-ID: <201710052037.v95Kbrjf050570@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rmacklem Date: Thu Oct 5 20:37:51 2017 New Revision: 324337 URL: https://svnweb.freebsd.org/changeset/base/324337 Log: Merge a current head kernel with the Flexible File Layout client in it. Added: - copied unchanged from r324336, head/sys/amd64/amd64/efirt_machdep.c projects/pnfs-planb-server/sys/amd64/conf/GENERIC-MMCCAM - copied unchanged from r324336, head/sys/amd64/conf/GENERIC-MMCCAM projects/pnfs-planb-server/sys/amd64/include/sgx.h - copied unchanged from r324336, head/sys/amd64/include/sgx.h projects/pnfs-planb-server/sys/amd64/include/sgxreg.h - copied unchanged from r324336, head/sys/amd64/include/sgxreg.h projects/pnfs-planb-server/sys/amd64/sgx/ - copied from r324336, head/sys/amd64/sgx/ projects/pnfs-planb-server/sys/arm/arm/ptrace_machdep.c - copied unchanged from r324336, head/sys/arm/arm/ptrace_machdep.c projects/pnfs-planb-server/sys/arm/conf/GENERIC-NODEBUG - copied unchanged from r324336, head/sys/arm/conf/GENERIC-NODEBUG projects/pnfs-planb-server/sys/arm/conf/IMX6-MMCCAM - copied unchanged from r324336, head/sys/arm/conf/IMX6-MMCCAM projects/pnfs-planb-server/sys/arm/freescale/imx/imx6_ahci.c - copied unchanged from r324336, head/sys/arm/freescale/imx/imx6_ahci.c projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_rtc.c - copied unchanged from r324336, head/sys/arm/mv/armada38x/armada38x_rtc.c projects/pnfs-planb-server/sys/arm64/arm64/undefined.c - copied unchanged from r324336, head/sys/arm64/arm64/undefined.c projects/pnfs-planb-server/sys/arm64/conf/GENERIC-MMCCAM - copied unchanged from r324336, head/sys/arm64/conf/GENERIC-MMCCAM projects/pnfs-planb-server/sys/arm64/include/undefined.h - copied unchanged from r324336, head/sys/arm64/include/undefined.h projects/pnfs-planb-server/sys/boot/efi/boot1/fat-amd64.tmpl.xz - copied unchanged from r324336, head/sys/boot/efi/boot1/fat-amd64.tmpl.xz projects/pnfs-planb-server/sys/boot/efi/boot1/fat-arm.tmpl.xz - copied unchanged from r324336, head/sys/boot/efi/boot1/fat-arm.tmpl.xz projects/pnfs-planb-server/sys/boot/efi/boot1/fat-arm64.tmpl.xz - copied unchanged from r324336, head/sys/boot/efi/boot1/fat-arm64.tmpl.xz projects/pnfs-planb-server/sys/boot/efi/boot1/fat-i386.tmpl.xz - copied unchanged from r324336, head/sys/boot/efi/boot1/fat-i386.tmpl.xz projects/pnfs-planb-server/sys/boot/efi/include/efi_driver_utils.h - copied unchanged from r324336, head/sys/boot/efi/include/efi_driver_utils.h projects/pnfs-planb-server/sys/boot/efi/include/efi_drivers.h - copied unchanged from r324336, head/sys/boot/efi/include/efi_drivers.h projects/pnfs-planb-server/sys/boot/efi/include/efizfs.h - copied unchanged from r324336, head/sys/boot/efi/include/efizfs.h projects/pnfs-planb-server/sys/boot/efi/libefi/devicename.c - copied unchanged from r324336, head/sys/boot/efi/libefi/devicename.c projects/pnfs-planb-server/sys/boot/efi/libefi/efi_driver_utils.c - copied unchanged from r324336, head/sys/boot/efi/libefi/efi_driver_utils.c projects/pnfs-planb-server/sys/boot/efi/libefi/efizfs.c - copied unchanged from r324336, head/sys/boot/efi/libefi/efizfs.c projects/pnfs-planb-server/sys/boot/efi/loader/efi_main.c - copied unchanged from r324336, head/sys/boot/efi/loader/efi_main.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ - copied from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp.h - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_global.h - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_global.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_iter.h - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_iter.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_prop.h - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_prop.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_get.c - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_get.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_global.c - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_global.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_iter.c - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_iter.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_synctask.c - copied unchanged from r324336, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_synctask.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/msr.h - copied unchanged from r324336, head/sys/compat/linuxkpi/common/include/asm/msr.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/atomic.h - copied unchanged from r324336, head/sys/compat/linuxkpi/common/include/linux/atomic.h projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c - copied unchanged from r324336, head/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c projects/pnfs-planb-server/sys/contrib/dev/liquidio/ - copied from r324336, head/sys/contrib/dev/liquidio/ projects/pnfs-planb-server/sys/crypto/aesni/intel_sha1.c - copied unchanged from r324336, head/sys/crypto/aesni/intel_sha1.c projects/pnfs-planb-server/sys/crypto/aesni/intel_sha256.c - copied unchanged from r324336, head/sys/crypto/aesni/intel_sha256.c projects/pnfs-planb-server/sys/crypto/aesni/sha_sse.h - copied unchanged from r324336, head/sys/crypto/aesni/sha_sse.h projects/pnfs-planb-server/sys/dev/amdsmn/ - copied from r324336, head/sys/dev/amdsmn/ projects/pnfs-planb-server/sys/dev/bhnd/bhnd_eromvar.h - copied unchanged from r324336, head/sys/dev/bhnd/bhnd_eromvar.h projects/pnfs-planb-server/sys/dev/bhnd/bhnd_private.h - copied unchanged from r324336, head/sys/dev/bhnd/bhnd_private.h projects/pnfs-planb-server/sys/dev/cxgbe/cudbg/ - copied from r324336, head/sys/dev/cxgbe/cudbg/ projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw-1.16.59.0.bin.uu - copied unchanged from r324336, head/sys/dev/cxgbe/firmware/t4fw-1.16.59.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t5fw-1.16.59.0.bin.uu - copied unchanged from r324336, head/sys/dev/cxgbe/firmware/t5fw-1.16.59.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw-1.16.59.0.bin.uu - copied unchanged from r324336, head/sys/dev/cxgbe/firmware/t6fw-1.16.59.0.bin.uu - copied unchanged from r324336, head/sys/dev/efidev/efirt.c projects/pnfs-planb-server/sys/dev/iicbus/ds13rtc.c - copied unchanged from r324336, head/sys/dev/iicbus/ds13rtc.c projects/pnfs-planb-server/sys/dev/iicbus/isl12xx.c - copied unchanged from r324336, head/sys/dev/iicbus/isl12xx.c projects/pnfs-planb-server/sys/dev/iicbus/nxprtc.c - copied unchanged from r324336, head/sys/dev/iicbus/nxprtc.c projects/pnfs-planb-server/sys/dev/liquidio/ - copied from r324336, head/sys/dev/liquidio/ projects/pnfs-planb-server/sys/dev/mlx5/mlx5_ib/ - copied from r324336, head/sys/dev/mlx5/mlx5_ib/ projects/pnfs-planb-server/sys/dev/ntb/ntb_hw/ntb_hw_intel.c - copied unchanged from r324336, head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c projects/pnfs-planb-server/sys/dev/ntb/ntb_hw/ntb_hw_intel.h - copied unchanged from r324336, head/sys/dev/ntb/ntb_hw/ntb_hw_intel.h projects/pnfs-planb-server/sys/dev/ntb/ntb_hw/ntb_hw_plx.c - copied unchanged from r324336, head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c projects/pnfs-planb-server/sys/dev/uart/uart_dev_mvebu.c - copied unchanged from r324336, head/sys/dev/uart/uart_dev_mvebu.c projects/pnfs-planb-server/sys/dev/usb/input/wmt.c - copied unchanged from r324336, head/sys/dev/usb/input/wmt.c projects/pnfs-planb-server/sys/modules/amdsmn/ - copied from r324336, head/sys/modules/amdsmn/ projects/pnfs-planb-server/sys/modules/i2c/ds1307/ - copied from r324336, head/sys/modules/i2c/ds1307/ projects/pnfs-planb-server/sys/modules/i2c/ds13rtc/ - copied from r324336, head/sys/modules/i2c/ds13rtc/ projects/pnfs-planb-server/sys/modules/i2c/ds3231/ - copied from r324336, head/sys/modules/i2c/ds3231/ projects/pnfs-planb-server/sys/modules/i2c/icee/ - copied from r324336, head/sys/modules/i2c/icee/ projects/pnfs-planb-server/sys/modules/i2c/isl12xx/ - copied from r324336, head/sys/modules/i2c/isl12xx/ projects/pnfs-planb-server/sys/modules/i2c/nxprtc/ - copied from r324336, head/sys/modules/i2c/nxprtc/ projects/pnfs-planb-server/sys/modules/i2c/s35390a/ - copied from r324336, head/sys/modules/i2c/s35390a/ projects/pnfs-planb-server/sys/modules/lio/ - copied from r324336, head/sys/modules/lio/ projects/pnfs-planb-server/sys/modules/mlx5ib/ - copied from r324336, head/sys/modules/mlx5ib/ projects/pnfs-planb-server/sys/modules/ntb/ntb_hw_intel/ - copied from r324336, head/sys/modules/ntb/ntb_hw_intel/ projects/pnfs-planb-server/sys/modules/ntb/ntb_hw_plx/ - copied from r324336, head/sys/modules/ntb/ntb_hw_plx/ projects/pnfs-planb-server/sys/modules/sgx/ - copied from r324336, head/sys/modules/sgx/ projects/pnfs-planb-server/sys/modules/sgx_linux/ - copied from r324336, head/sys/modules/sgx_linux/ projects/pnfs-planb-server/sys/modules/usb/wmt/ - copied from r324336, head/sys/modules/usb/wmt/ Directory Properties: projects/pnfs-planb-server/sys/amd64/amd64/efirt_machdep.c (props changed) projects/pnfs-planb-server/sys/dev/efidev/efirt.c (props changed) Deleted: projects/pnfs-planb-server/sys/amd64/amd64/efirt.c projects/pnfs-planb-server/sys/amd64/conf/MMCCAM projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.h projects/pnfs-planb-server/sys/arm/conf/VIRT projects/pnfs-planb-server/sys/arm/mv/armada38x/rtc.c projects/pnfs-planb-server/sys/boot/README projects/pnfs-planb-server/sys/boot/efi/boot1/fat-amd64.tmpl.bz2.uu projects/pnfs-planb-server/sys/boot/efi/boot1/fat-arm.tmpl.bz2.uu projects/pnfs-planb-server/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu projects/pnfs-planb-server/sys/boot/efi/boot1/fat-i386.tmpl.bz2.uu projects/pnfs-planb-server/sys/boot/efi/loader/devicename.c projects/pnfs-planb-server/sys/boot/fdt/dts/riscv/ projects/pnfs-planb-server/sys/cam/mmc/mmc_sdio.c projects/pnfs-planb-server/sys/cam/mmc/mmc_sdio.h projects/pnfs-planb-server/sys/dev/cxgb/ulp/ projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/iicbus/ds133x.c projects/pnfs-planb-server/sys/dev/iicbus/ds1374.c projects/pnfs-planb-server/sys/dev/iicbus/pcf8563.c projects/pnfs-planb-server/sys/dev/iicbus/pcf8563reg.h projects/pnfs-planb-server/sys/dev/ntb/ntb_hw/ntb_hw.c projects/pnfs-planb-server/sys/dev/ntb/ntb_hw/ntb_regs.h projects/pnfs-planb-server/sys/modules/cxgb/iw_cxgb/ projects/pnfs-planb-server/sys/modules/cxgb/tom/ projects/pnfs-planb-server/sys/modules/ntb/ntb_hw/ projects/pnfs-planb-server/sys/riscv/conf/LOWRISC projects/pnfs-planb-server/sys/riscv/conf/LOWRISC.hints projects/pnfs-planb-server/sys/riscv/conf/QEMU projects/pnfs-planb-server/sys/riscv/conf/ROCKET projects/pnfs-planb-server/sys/riscv/conf/SPIKE projects/pnfs-planb-server/sys/riscv/riscv/sbi.S projects/pnfs-planb-server/sys/sys/ksyms.h projects/pnfs-planb-server/sys/sys/sockstate.h Modified: projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S projects/pnfs-planb-server/sys/amd64/amd64/elf_machdep.c projects/pnfs-planb-server/sys/amd64/amd64/exception.S projects/pnfs-planb-server/sys/amd64/amd64/genassym.c projects/pnfs-planb-server/sys/amd64/amd64/initcpu.c projects/pnfs-planb-server/sys/amd64/amd64/machdep.c projects/pnfs-planb-server/sys/amd64/amd64/minidump_machdep.c projects/pnfs-planb-server/sys/amd64/amd64/pmap.c projects/pnfs-planb-server/sys/amd64/amd64/ptrace_machdep.c projects/pnfs-planb-server/sys/amd64/amd64/sys_machdep.c projects/pnfs-planb-server/sys/amd64/amd64/trap.c projects/pnfs-planb-server/sys/amd64/amd64/vm_machdep.c projects/pnfs-planb-server/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/pnfs-planb-server/sys/amd64/conf/GENERIC projects/pnfs-planb-server/sys/amd64/conf/NOTES projects/pnfs-planb-server/sys/amd64/include/asmacros.h projects/pnfs-planb-server/sys/amd64/include/cpufunc.h projects/pnfs-planb-server/sys/amd64/include/efi.h projects/pnfs-planb-server/sys/amd64/include/intr_machdep.h projects/pnfs-planb-server/sys/amd64/include/md_var.h projects/pnfs-planb-server/sys/amd64/include/param.h projects/pnfs-planb-server/sys/amd64/include/pcb.h projects/pnfs-planb-server/sys/amd64/include/proc.h projects/pnfs-planb-server/sys/amd64/linux/linux_sysvec.c projects/pnfs-planb-server/sys/amd64/linux32/linux32_sysvec.c projects/pnfs-planb-server/sys/amd64/vmm/intel/vmx_msr.c projects/pnfs-planb-server/sys/arm/allwinner/a10_ahci.c projects/pnfs-planb-server/sys/arm/allwinner/a10_ehci.c projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.c projects/pnfs-planb-server/sys/arm/allwinner/aw_ccu.c projects/pnfs-planb-server/sys/arm/allwinner/aw_usbphy.c projects/pnfs-planb-server/sys/arm/allwinner/axp209.c projects/pnfs-planb-server/sys/arm/allwinner/clk/aw_modclk.c projects/pnfs-planb-server/sys/arm/allwinner/clkng/aw_ccung.c projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_a31.c projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_a31.h projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_a64.c projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_a64.h projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.c projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.h projects/pnfs-planb-server/sys/arm/allwinner/if_awg.c projects/pnfs-planb-server/sys/arm/allwinner/if_awgreg.h projects/pnfs-planb-server/sys/arm/arm/elf_machdep.c projects/pnfs-planb-server/sys/arm/arm/generic_timer.c projects/pnfs-planb-server/sys/arm/arm/machdep.c projects/pnfs-planb-server/sys/arm/arm/minidump_machdep.c projects/pnfs-planb-server/sys/arm/arm/sc_machdep.c projects/pnfs-planb-server/sys/arm/arm/vfp.c projects/pnfs-planb-server/sys/arm/at91/at91_pmc.c projects/pnfs-planb-server/sys/arm/at91/at91_twi.c projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bscreg.h projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_rng.c projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2836_mp.c projects/pnfs-planb-server/sys/arm/conf/ARMADA38X projects/pnfs-planb-server/sys/arm/conf/BEAGLEBONE-MMCCAM projects/pnfs-planb-server/sys/arm/conf/GENERIC projects/pnfs-planb-server/sys/arm/conf/IMX6 projects/pnfs-planb-server/sys/arm/conf/NOTES projects/pnfs-planb-server/sys/arm/freescale/imx/files.imx6 projects/pnfs-planb-server/sys/arm/freescale/imx/imx6_ccm.c projects/pnfs-planb-server/sys/arm/freescale/imx/imx6_ccmreg.h projects/pnfs-planb-server/sys/arm/freescale/imx/imx_ccmvar.h projects/pnfs-planb-server/sys/arm/freescale/imx/imx_gpio.c projects/pnfs-planb-server/sys/arm/freescale/imx/imx_i2c.c projects/pnfs-planb-server/sys/arm/freescale/imx/imx_iomux.c projects/pnfs-planb-server/sys/arm/freescale/imx/imx_iomuxreg.h projects/pnfs-planb-server/sys/arm/freescale/imx/imx_iomuxvar.h projects/pnfs-planb-server/sys/arm/freescale/imx/std.imx6 projects/pnfs-planb-server/sys/arm/include/elf.h projects/pnfs-planb-server/sys/arm/include/md_var.h projects/pnfs-planb-server/sys/arm/include/pmap-v4.h projects/pnfs-planb-server/sys/arm/include/ptrace.h projects/pnfs-planb-server/sys/arm/include/vfp.h projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_pl310.c projects/pnfs-planb-server/sys/arm/mv/armada38x/files.armada38x projects/pnfs-planb-server/sys/arm/mv/mv_machdep.c projects/pnfs-planb-server/sys/arm/nvidia/tegra_ahci.c projects/pnfs-planb-server/sys/arm/ti/am335x/am335x_prcm.c projects/pnfs-planb-server/sys/arm/ti/ti_cpuid.c projects/pnfs-planb-server/sys/arm/ti/ti_cpuid.h projects/pnfs-planb-server/sys/arm/ti/ti_i2c.c projects/pnfs-planb-server/sys/arm/ti/ti_pruss.c projects/pnfs-planb-server/sys/arm/ti/ti_pruss.h projects/pnfs-planb-server/sys/arm/ti/ti_scm.c projects/pnfs-planb-server/sys/arm/ti/ti_sdhci.c projects/pnfs-planb-server/sys/arm/xscale/i8134x/std.i81342 projects/pnfs-planb-server/sys/arm64/arm64/debug_monitor.c projects/pnfs-planb-server/sys/arm64/arm64/genassym.c projects/pnfs-planb-server/sys/arm64/arm64/gic_v3.c projects/pnfs-planb-server/sys/arm64/arm64/gic_v3_fdt.c projects/pnfs-planb-server/sys/arm64/arm64/gic_v3_var.h projects/pnfs-planb-server/sys/arm64/arm64/gicv3_its.c projects/pnfs-planb-server/sys/arm64/arm64/identcpu.c projects/pnfs-planb-server/sys/arm64/arm64/machdep.c projects/pnfs-planb-server/sys/arm64/arm64/minidump_machdep.c projects/pnfs-planb-server/sys/arm64/arm64/mp_machdep.c projects/pnfs-planb-server/sys/arm64/arm64/pmap.c projects/pnfs-planb-server/sys/arm64/arm64/swtch.S projects/pnfs-planb-server/sys/arm64/arm64/trap.c projects/pnfs-planb-server/sys/arm64/arm64/vfp.c projects/pnfs-planb-server/sys/arm64/arm64/vm_machdep.c projects/pnfs-planb-server/sys/arm64/conf/GENERIC projects/pnfs-planb-server/sys/arm64/include/armreg.h projects/pnfs-planb-server/sys/arm64/include/cpu.h projects/pnfs-planb-server/sys/arm64/include/elf.h projects/pnfs-planb-server/sys/arm64/include/machdep.h projects/pnfs-planb-server/sys/arm64/include/param.h projects/pnfs-planb-server/sys/arm64/include/pcb.h projects/pnfs-planb-server/sys/arm64/include/proc.h projects/pnfs-planb-server/sys/boot/Makefile.inc projects/pnfs-planb-server/sys/boot/common/loader.8 projects/pnfs-planb-server/sys/boot/common/part.c projects/pnfs-planb-server/sys/boot/efi/boot1/Makefile projects/pnfs-planb-server/sys/boot/efi/boot1/Makefile.fat projects/pnfs-planb-server/sys/boot/efi/boot1/boot1.c projects/pnfs-planb-server/sys/boot/efi/boot1/boot_module.h projects/pnfs-planb-server/sys/boot/efi/boot1/generate-fat.sh projects/pnfs-planb-server/sys/boot/efi/boot1/ufs_module.c projects/pnfs-planb-server/sys/boot/efi/boot1/zfs_module.c projects/pnfs-planb-server/sys/boot/efi/include/efi.h projects/pnfs-planb-server/sys/boot/efi/include/efiapi.h projects/pnfs-planb-server/sys/boot/efi/include/efichar.h projects/pnfs-planb-server/sys/boot/efi/include/efidevp.h projects/pnfs-planb-server/sys/boot/efi/include/efilib.h projects/pnfs-planb-server/sys/boot/efi/include/efiprot.h projects/pnfs-planb-server/sys/boot/efi/libefi/Makefile projects/pnfs-planb-server/sys/boot/efi/libefi/devpath.c projects/pnfs-planb-server/sys/boot/efi/libefi/efichar.c projects/pnfs-planb-server/sys/boot/efi/libefi/efipart.c projects/pnfs-planb-server/sys/boot/efi/libefi/errno.c projects/pnfs-planb-server/sys/boot/efi/libefi/libefi.c projects/pnfs-planb-server/sys/boot/efi/libefi/time.c projects/pnfs-planb-server/sys/boot/efi/loader/Makefile projects/pnfs-planb-server/sys/boot/efi/loader/arch/amd64/Makefile.inc projects/pnfs-planb-server/sys/boot/efi/loader/arch/amd64/trap.c projects/pnfs-planb-server/sys/boot/efi/loader/arch/i386/Makefile.inc projects/pnfs-planb-server/sys/boot/efi/loader/bootinfo.c projects/pnfs-planb-server/sys/boot/efi/loader/conf.c projects/pnfs-planb-server/sys/boot/efi/loader/loader_efi.h projects/pnfs-planb-server/sys/boot/efi/loader/main.c projects/pnfs-planb-server/sys/boot/fdt/dts/arm/armada-385-db-ap.dts projects/pnfs-planb-server/sys/boot/fdt/dts/arm/armada-388-gp.dts projects/pnfs-planb-server/sys/boot/fdt/dts/arm/armada-38x-solidrun-microsom.dtsi projects/pnfs-planb-server/sys/boot/fdt/dts/arm/armada-38x.dtsi projects/pnfs-planb-server/sys/boot/fdt/dts/arm/bcm2835.dtsi projects/pnfs-planb-server/sys/boot/fdt/dts/arm/bcm2836.dtsi projects/pnfs-planb-server/sys/boot/fdt/dts/arm/nanopi-neo.dts projects/pnfs-planb-server/sys/boot/fdt/dts/arm/rpi2.dts projects/pnfs-planb-server/sys/boot/fdt/dts/arm/zedboard.dts projects/pnfs-planb-server/sys/boot/fdt/dts/arm/zybo.dts projects/pnfs-planb-server/sys/boot/forth/loader.conf projects/pnfs-planb-server/sys/boot/geli/Makefile projects/pnfs-planb-server/sys/boot/geli/geliboot.c projects/pnfs-planb-server/sys/boot/geli/geliboot.h projects/pnfs-planb-server/sys/boot/geli/geliboot_crypto.c projects/pnfs-planb-server/sys/boot/geli/geliboot_internal.h projects/pnfs-planb-server/sys/boot/geli/pwgets.c projects/pnfs-planb-server/sys/boot/i386/boot2/Makefile projects/pnfs-planb-server/sys/boot/i386/libi386/Makefile projects/pnfs-planb-server/sys/boot/i386/libi386/biosdisk.c projects/pnfs-planb-server/sys/boot/i386/libi386/biosmem.c projects/pnfs-planb-server/sys/boot/i386/libi386/spinconsole.c projects/pnfs-planb-server/sys/boot/zfs/zfsimpl.c projects/pnfs-planb-server/sys/cam/ata/ata_da.c projects/pnfs-planb-server/sys/cam/cam_ccb.h projects/pnfs-planb-server/sys/cam/cam_iosched.c projects/pnfs-planb-server/sys/cam/cam_iosched.h projects/pnfs-planb-server/sys/cam/cam_xpt.c projects/pnfs-planb-server/sys/cam/ctl/ctl.c projects/pnfs-planb-server/sys/cam/ctl/ctl_backend_block.c projects/pnfs-planb-server/sys/cam/ctl/ctl_backend_ramdisk.c projects/pnfs-planb-server/sys/cam/ctl/ctl_frontend_iscsi.c projects/pnfs-planb-server/sys/cam/ctl/ctl_io.h projects/pnfs-planb-server/sys/cam/ctl/scsi_ctl.c projects/pnfs-planb-server/sys/cam/mmc/mmc.h projects/pnfs-planb-server/sys/cam/mmc/mmc_da.c projects/pnfs-planb-server/sys/cam/mmc/mmc_xpt.c projects/pnfs-planb-server/sys/cam/nvme/nvme_all.c projects/pnfs-planb-server/sys/cam/nvme/nvme_all.h projects/pnfs-planb-server/sys/cam/nvme/nvme_da.c projects/pnfs-planb-server/sys/cam/nvme/nvme_xpt.c projects/pnfs-planb-server/sys/cam/scsi/scsi_all.c projects/pnfs-planb-server/sys/cam/scsi/scsi_da.c projects/pnfs-planb-server/sys/cam/scsi/scsi_pass.c projects/pnfs-planb-server/sys/cddl/boot/zfs/zfsimpl.h projects/pnfs-planb-server/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c projects/pnfs-planb-server/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/atomic.h projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/kcondvar.h projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/mntent.h projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/sunddi.h projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/time.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/Makefile.files projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/abd.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_destroy.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/pnfs-planb-server/sys/cddl/dev/dtmalloc/dtmalloc.c projects/pnfs-planb-server/sys/cddl/dev/dtrace/mips/dtrace_asm.S projects/pnfs-planb-server/sys/cddl/dev/dtrace/mips/dtrace_subr.c projects/pnfs-planb-server/sys/cddl/dev/fbt/fbt.c projects/pnfs-planb-server/sys/cddl/dev/fbt/mips/fbt_isa.c projects/pnfs-planb-server/sys/cddl/dev/profile/profile.c projects/pnfs-planb-server/sys/cddl/dev/prototype.c projects/pnfs-planb-server/sys/cddl/dev/sdt/sdt.c projects/pnfs-planb-server/sys/cddl/dev/systrace/systrace.c projects/pnfs-planb-server/sys/compat/cloudabi/cloudabi_fd.c projects/pnfs-planb-server/sys/compat/cloudabi/cloudabi_file.c projects/pnfs-planb-server/sys/compat/cloudabi/cloudabi_sock.c projects/pnfs-planb-server/sys/compat/cloudabi32/cloudabi32_proto.h projects/pnfs-planb-server/sys/compat/cloudabi32/cloudabi32_syscall.h projects/pnfs-planb-server/sys/compat/cloudabi32/cloudabi32_syscalls.c projects/pnfs-planb-server/sys/compat/cloudabi32/cloudabi32_sysent.c projects/pnfs-planb-server/sys/compat/cloudabi32/cloudabi32_systrace_args.c projects/pnfs-planb-server/sys/compat/cloudabi64/cloudabi64_proto.h projects/pnfs-planb-server/sys/compat/cloudabi64/cloudabi64_syscall.h projects/pnfs-planb-server/sys/compat/cloudabi64/cloudabi64_syscalls.c projects/pnfs-planb-server/sys/compat/cloudabi64/cloudabi64_sysent.c projects/pnfs-planb-server/sys/compat/cloudabi64/cloudabi64_systrace_args.c projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32.h projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_ioctl.c projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_ioctl.h projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_misc.c projects/pnfs-planb-server/sys/compat/linsysfs/linsysfs.c projects/pnfs-planb-server/sys/compat/linux/linux_stats.c projects/pnfs-planb-server/sys/compat/linux/linux_util.c projects/pnfs-planb-server/sys/compat/linux/linux_vdso.c projects/pnfs-planb-server/sys/compat/linux/linux_vdso.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/atomic-long.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/atomic.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/atomic64.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/bitops.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/cdev.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/clocksource.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/completion.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/device.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/file.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/fs.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/hrtimer.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/inetdevice.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/jiffies.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kdev_t.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kobject.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/list.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/lockdep.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/mm.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/module.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/page.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/pci.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/poll.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/random.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/sched.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/sysfs.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/timer.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/wait.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/workqueue.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_compat.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_hrtimer.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_page.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_pci.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_rcu.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_schedule.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_tasklet.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_work.c projects/pnfs-planb-server/sys/conf/Makefile.riscv projects/pnfs-planb-server/sys/conf/NOTES projects/pnfs-planb-server/sys/conf/files projects/pnfs-planb-server/sys/conf/files.amd64 projects/pnfs-planb-server/sys/conf/files.arm projects/pnfs-planb-server/sys/conf/files.arm64 projects/pnfs-planb-server/sys/conf/files.i386 projects/pnfs-planb-server/sys/conf/files.riscv projects/pnfs-planb-server/sys/conf/kern.mk projects/pnfs-planb-server/sys/conf/kern.post.mk projects/pnfs-planb-server/sys/conf/kern.pre.mk projects/pnfs-planb-server/sys/conf/kmod.mk projects/pnfs-planb-server/sys/conf/ldscript.amd64 projects/pnfs-planb-server/sys/conf/newvers.sh projects/pnfs-planb-server/sys/conf/options projects/pnfs-planb-server/sys/conf/options.arm64 projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_types_common.h projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_vdso_armv6.S projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_vdso_i686.S projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S projects/pnfs-planb-server/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S projects/pnfs-planb-server/sys/contrib/cloudabi/syscalls32.master projects/pnfs-planb-server/sys/contrib/cloudabi/syscalls64.master projects/pnfs-planb-server/sys/contrib/dev/acpica/changes.txt projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtbinfo.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asldebug.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslerror.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslhelp.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslmain.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslmessages.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslmessages.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslresource.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslrules.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asltree.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtcompile.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtfield.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtparser.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/prparser.y projects/pnfs-planb-server/sys/contrib/dev/acpica/components/debugger/dbconvert.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/events/evgpe.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exconcat.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exconvrt.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exmisc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exresop.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/hardware/hwtimer.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/tables/tbxface.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acexcep.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/achware.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acinterp.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acpixf.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actbl1.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actbl2.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acutils.h projects/pnfs-planb-server/sys/contrib/ena-com/ena_plat.h projects/pnfs-planb-server/sys/contrib/ipfilter/netinet/ip_nat.c projects/pnfs-planb-server/sys/contrib/ipfilter/netinet/ip_state.c projects/pnfs-planb-server/sys/contrib/libnv/nvlist.c projects/pnfs-planb-server/sys/contrib/libnv/nvpair.c projects/pnfs-planb-server/sys/contrib/octeon-sdk/cvmx-l2c.c projects/pnfs-planb-server/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c projects/pnfs-planb-server/sys/crypto/aesni/aesni.c projects/pnfs-planb-server/sys/crypto/aesni/aesni.h projects/pnfs-planb-server/sys/crypto/aesni/aesni_ghash.c projects/pnfs-planb-server/sys/crypto/aesni/aesni_wrap.c projects/pnfs-planb-server/sys/crypto/via/padlock_hash.c projects/pnfs-planb-server/sys/ddb/db_textdump.c projects/pnfs-planb-server/sys/dev/aac/aac.c projects/pnfs-planb-server/sys/dev/acpica/acpi_cpu.c projects/pnfs-planb-server/sys/dev/ahci/ahci.c projects/pnfs-planb-server/sys/dev/ahci/ahci.h projects/pnfs-planb-server/sys/dev/ahci/ahci_generic.c projects/pnfs-planb-server/sys/dev/ahci/ahci_mv_fdt.c projects/pnfs-planb-server/sys/dev/ahci/ahci_pci.c projects/pnfs-planb-server/sys/dev/amdtemp/amdtemp.c projects/pnfs-planb-server/sys/dev/amr/amr.c projects/pnfs-planb-server/sys/dev/ata/ata-pci.h projects/pnfs-planb-server/sys/dev/ata/chipsets/ata-intel.c projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma.c projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_erom.c projects/pnfs-planb-server/sys/dev/bhnd/bhnd.c projects/pnfs-planb-server/sys/dev/bhnd/bhnd.h projects/pnfs-planb-server/sys/dev/bhnd/bhnd_bus_if.m projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom.c projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom.h projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom_if.m projects/pnfs-planb-server/sys/dev/bhnd/bhnd_subr.c projects/pnfs-planb-server/sys/dev/bhnd/bhnd_types.h projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhnd_bhndb.c projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb.c projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_pci.c projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_pcivar.h projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_private.h projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_subr.c projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndbvar.h projects/pnfs-planb-server/sys/dev/bhnd/bhndreg.h projects/pnfs-planb-server/sys/dev/bhnd/bhndvar.h projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc.c projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl.c projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pci_hostb.c projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu.c projects/pnfs-planb-server/sys/dev/bhnd/cores/usb/bhnd_usb.c projects/pnfs-planb-server/sys/dev/bhnd/nvram/bhnd_sprom.c projects/pnfs-planb-server/sys/dev/bhnd/siba/siba.c projects/pnfs-planb-server/sys/dev/bhnd/siba/siba_bhndb.c projects/pnfs-planb-server/sys/dev/bhnd/siba/siba_erom.c projects/pnfs-planb-server/sys/dev/bnxt/bnxt.h projects/pnfs-planb-server/sys/dev/bnxt/bnxt_hwrm.c projects/pnfs-planb-server/sys/dev/bnxt/bnxt_hwrm.h projects/pnfs-planb-server/sys/dev/bnxt/bnxt_sysctl.c projects/pnfs-planb-server/sys/dev/bnxt/bnxt_sysctl.h projects/pnfs-planb-server/sys/dev/bnxt/hsi_struct_def.h projects/pnfs-planb-server/sys/dev/bnxt/if_bnxt.c projects/pnfs-planb-server/sys/dev/cxgbe/adapter.h projects/pnfs-planb-server/sys/dev/cxgbe/common/common.h projects/pnfs-planb-server/sys/dev/cxgbe/common/t4_hw.c projects/pnfs-planb-server/sys/dev/cxgbe/common/t4_hw.h projects/pnfs-planb-server/sys/dev/cxgbe/crypto/t4_crypto.c projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw_interface.h projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw_cfg.txt projects/pnfs-planb-server/sys/dev/cxgbe/iw_cxgbe/cm.c projects/pnfs-planb-server/sys/dev/cxgbe/iw_cxgbe/qp.c projects/pnfs-planb-server/sys/dev/cxgbe/offload.h projects/pnfs-planb-server/sys/dev/cxgbe/t4_ioctl.h projects/pnfs-planb-server/sys/dev/cxgbe/t4_main.c projects/pnfs-planb-server/sys/dev/cxgbe/t4_sched.c projects/pnfs-planb-server/sys/dev/cxgbe/t4_sge.c projects/pnfs-planb-server/sys/dev/cxgbe/tom/t4_connect.c projects/pnfs-planb-server/sys/dev/cxgbe/tom/t4_ddp.c projects/pnfs-planb-server/sys/dev/cxgbe/tom/t4_listen.c projects/pnfs-planb-server/sys/dev/cxgbe/tom/t4_tom.c projects/pnfs-planb-server/sys/dev/cxgbe/tom/t4_tom.h projects/pnfs-planb-server/sys/dev/cyapa/cyapa.c projects/pnfs-planb-server/sys/dev/drm/drmP.h projects/pnfs-planb-server/sys/dev/drm2/i915/i915_drv.c projects/pnfs-planb-server/sys/dev/drm2/i915/i915_gem.c projects/pnfs-planb-server/sys/dev/drm2/i915/i915_gem_gtt.c projects/pnfs-planb-server/sys/dev/drm2/radeon/radeon_drv.c projects/pnfs-planb-server/sys/dev/e1000/if_em.c projects/pnfs-planb-server/sys/dev/e1000/if_em.h projects/pnfs-planb-server/sys/dev/efidev/efidev.c projects/pnfs-planb-server/sys/dev/extres/hwreset/hwreset.h projects/pnfs-planb-server/sys/dev/fdt/fdt_common.c projects/pnfs-planb-server/sys/dev/glxiic/glxiic.c projects/pnfs-planb-server/sys/dev/gpio/gpio_if.m projects/pnfs-planb-server/sys/dev/gpio/gpioc.c projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_amd.c projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_amd.h projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_core.c projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_intel.c projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_piv.c projects/pnfs-planb-server/sys/dev/hwpmc/pmc_events.h projects/pnfs-planb-server/sys/dev/hyperv/include/hyperv.h projects/pnfs-planb-server/sys/dev/hyperv/netvsc/hn_nvs.c projects/pnfs-planb-server/sys/dev/hyperv/netvsc/hn_nvs.h projects/pnfs-planb-server/sys/dev/hyperv/netvsc/hn_rndis.c projects/pnfs-planb-server/sys/dev/hyperv/netvsc/hn_rndis.h projects/pnfs-planb-server/sys/dev/hyperv/netvsc/if_hn.c projects/pnfs-planb-server/sys/dev/hyperv/netvsc/if_hnreg.h projects/pnfs-planb-server/sys/dev/hyperv/netvsc/if_hnvar.h projects/pnfs-planb-server/sys/dev/hyperv/netvsc/ndis.h projects/pnfs-planb-server/sys/dev/hyperv/pcib/vmbus_pcib.c projects/pnfs-planb-server/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/pnfs-planb-server/sys/dev/hyperv/storvsc/hv_vstorage.h projects/pnfs-planb-server/sys/dev/hyperv/utilities/hv_kvp.c projects/pnfs-planb-server/sys/dev/hyperv/utilities/vmbus_timesync.c projects/pnfs-planb-server/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c projects/pnfs-planb-server/sys/dev/hyperv/vmbus/hyperv.c projects/pnfs-planb-server/sys/dev/hyperv/vmbus/vmbus.c projects/pnfs-planb-server/sys/dev/hyperv/vmbus/vmbus_et.c projects/pnfs-planb-server/sys/dev/ichwd/ichwd.c projects/pnfs-planb-server/sys/dev/ichwd/ichwd.h projects/pnfs-planb-server/sys/dev/iicbus/ds1307.c projects/pnfs-planb-server/sys/dev/iicbus/ds1307reg.h projects/pnfs-planb-server/sys/dev/iicbus/ds3231.c projects/pnfs-planb-server/sys/dev/iicbus/ds3231reg.h projects/pnfs-planb-server/sys/dev/iicbus/icee.c projects/pnfs-planb-server/sys/dev/iicbus/iicbus_if.m projects/pnfs-planb-server/sys/dev/iicbus/s35390a.c projects/pnfs-planb-server/sys/dev/intpm/intpm.c projects/pnfs-planb-server/sys/dev/ioat/ioat.c projects/pnfs-planb-server/sys/dev/isp/isp_freebsd.c projects/pnfs-planb-server/sys/dev/ixgbe/if_ix.c projects/pnfs-planb-server/sys/dev/ixgbe/if_ixv.c projects/pnfs-planb-server/sys/dev/ixl/ixl_txrx.c projects/pnfs-planb-server/sys/dev/jedec_ts/jedec_ts.c projects/pnfs-planb-server/sys/dev/ksyms/ksyms.c projects/pnfs-planb-server/sys/dev/md/md.c projects/pnfs-planb-server/sys/dev/mfi/mfi.c projects/pnfs-planb-server/sys/dev/mlx4/device.h projects/pnfs-planb-server/sys/dev/mlx4/mlx4_core/mlx4_main.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_core/mlx4_port.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/en.h projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_port.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_ib/mlx4_ib_mad.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c projects/pnfs-planb-server/sys/dev/mlx4/stats.h projects/pnfs-planb-server/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/pnfs-planb-server/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/pnfs-planb-server/sys/dev/mlx5/mlx5_en/en.h projects/pnfs-planb-server/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/pnfs-planb-server/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c projects/pnfs-planb-server/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/pnfs-planb-server/sys/dev/mly/mly.c projects/pnfs-planb-server/sys/dev/mmc/bridge.h projects/pnfs-planb-server/sys/dev/mmc/host/dwmmc.c projects/pnfs-planb-server/sys/dev/mmc/mmc.c projects/pnfs-planb-server/sys/dev/mmc/mmc_subr.c projects/pnfs-planb-server/sys/dev/mmc/mmc_subr.h projects/pnfs-planb-server/sys/dev/mmc/mmcbus_if.m projects/pnfs-planb-server/sys/dev/mmc/mmcreg.h projects/pnfs-planb-server/sys/dev/mmc/mmcsd.c projects/pnfs-planb-server/sys/dev/mmc/mmcvar.h projects/pnfs-planb-server/sys/dev/mpr/mpr.c projects/pnfs-planb-server/sys/dev/mpr/mpr_config.c projects/pnfs-planb-server/sys/dev/mpr/mpr_mapping.c projects/pnfs-planb-server/sys/dev/mpr/mpr_pci.c projects/pnfs-planb-server/sys/dev/mpr/mpr_sas.c projects/pnfs-planb-server/sys/dev/mpr/mpr_sas.h projects/pnfs-planb-server/sys/dev/mpr/mpr_sas_lsi.c projects/pnfs-planb-server/sys/dev/mpr/mpr_table.c projects/pnfs-planb-server/sys/dev/mpr/mpr_table.h projects/pnfs-planb-server/sys/dev/mpr/mpr_user.c projects/pnfs-planb-server/sys/dev/mpr/mprvar.h projects/pnfs-planb-server/sys/dev/mps/mps.c projects/pnfs-planb-server/sys/dev/mps/mps_config.c projects/pnfs-planb-server/sys/dev/mps/mps_mapping.c projects/pnfs-planb-server/sys/dev/mps/mps_pci.c projects/pnfs-planb-server/sys/dev/mps/mps_sas.c projects/pnfs-planb-server/sys/dev/mps/mps_sas.h projects/pnfs-planb-server/sys/dev/mps/mps_sas_lsi.c projects/pnfs-planb-server/sys/dev/mps/mps_table.c projects/pnfs-planb-server/sys/dev/mps/mps_table.h projects/pnfs-planb-server/sys/dev/mps/mps_user.c projects/pnfs-planb-server/sys/dev/mps/mpsvar.h projects/pnfs-planb-server/sys/dev/neta/if_mvneta.c projects/pnfs-planb-server/sys/dev/neta/if_mvneta_fdt.c projects/pnfs-planb-server/sys/dev/neta/if_mvnetavar.h projects/pnfs-planb-server/sys/dev/ntb/ntb.c projects/pnfs-planb-server/sys/dev/ntb/ntb.h projects/pnfs-planb-server/sys/dev/ntb/ntb_transport.c projects/pnfs-planb-server/sys/dev/nvd/nvd.c projects/pnfs-planb-server/sys/dev/nvme/nvme.c projects/pnfs-planb-server/sys/dev/nvme/nvme.h projects/pnfs-planb-server/sys/dev/nvme/nvme_ctrlr.c projects/pnfs-planb-server/sys/dev/nvme/nvme_ctrlr_cmd.c projects/pnfs-planb-server/sys/dev/nvme/nvme_ns.c projects/pnfs-planb-server/sys/dev/nvme/nvme_private.h projects/pnfs-planb-server/sys/dev/nvme/nvme_qpair.c projects/pnfs-planb-server/sys/dev/nvme/nvme_sim.c projects/pnfs-planb-server/sys/dev/nvme/nvme_sysctl.c projects/pnfs-planb-server/sys/dev/ofw/ofw_bus_subr.c projects/pnfs-planb-server/sys/dev/ofw/ofw_bus_subr.h projects/pnfs-planb-server/sys/dev/ofw/ofw_fdt.c projects/pnfs-planb-server/sys/dev/pccard/pccardvar.h projects/pnfs-planb-server/sys/dev/pci/pci.c projects/pnfs-planb-server/sys/dev/pci/pci_host_generic.h projects/pnfs-planb-server/sys/dev/ppc/ppc.c projects/pnfs-planb-server/sys/dev/ppc/ppc_pci.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_def.h projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_os.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_ver.h projects/pnfs-planb-server/sys/dev/qlxgbe/README.txt projects/pnfs-planb-server/sys/dev/qlxgbe/ql_boot.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_def.h projects/pnfs-planb-server/sys/dev/qlxgbe/ql_fw.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_glbl.h projects/pnfs-planb-server/sys/dev/qlxgbe/ql_hw.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_hw.h projects/pnfs-planb-server/sys/dev/qlxgbe/ql_inline.h projects/pnfs-planb-server/sys/dev/qlxgbe/ql_ioctl.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_isr.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_minidump.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_os.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_os.h projects/pnfs-planb-server/sys/dev/qlxgbe/ql_reset.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_ver.h projects/pnfs-planb-server/sys/dev/rtwn/if_rtwn_ridx.h projects/pnfs-planb-server/sys/dev/rtwn/if_rtwn_rx.c projects/pnfs-planb-server/sys/dev/rtwn/if_rtwnreg.h projects/pnfs-planb-server/sys/dev/rtwn/rtl8188e/r88e.h projects/pnfs-planb-server/sys/dev/rtwn/rtl8188e/r88e_chan.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8188e/r88e_rx.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c.h projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_chan.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_fw.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_priv.h projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_rx.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_tx.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_var.h projects/pnfs-planb-server/sys/dev/rtwn/rtl8192e/r92e_chan.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8812a/r12a_chan.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8812a/r12a_rx.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8812a/r12a_tx.c projects/pnfs-planb-server/sys/dev/rtwn/usb/rtwn_usb_attach.c projects/pnfs-planb-server/sys/dev/rtwn/usb/rtwn_usb_ep.c projects/pnfs-planb-server/sys/dev/rtwn/usb/rtwn_usb_rx.c projects/pnfs-planb-server/sys/dev/rtwn/usb/rtwn_usb_var.h projects/pnfs-planb-server/sys/dev/safe/safe.c projects/pnfs-planb-server/sys/dev/sdhci/fsl_sdhci.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci.h projects/pnfs-planb-server/sys/dev/sdhci/sdhci_pci.c projects/pnfs-planb-server/sys/dev/smbus/smb.c projects/pnfs-planb-server/sys/dev/smbus/smbconf.h projects/pnfs-planb-server/sys/dev/smc/if_smc.c projects/pnfs-planb-server/sys/dev/sound/pci/hda/hdac.c projects/pnfs-planb-server/sys/dev/sound/pci/hda/hdac.h projects/pnfs-planb-server/sys/dev/sym/sym_hipd.c projects/pnfs-planb-server/sys/dev/syscons/scterm-teken.c projects/pnfs-planb-server/sys/dev/syscons/scvgarndr.c projects/pnfs-planb-server/sys/dev/syscons/syscons.c projects/pnfs-planb-server/sys/dev/syscons/syscons.h projects/pnfs-planb-server/sys/dev/ti/if_ti.c projects/pnfs-planb-server/sys/dev/usb/controller/ehci_mv.c projects/pnfs-planb-server/sys/dev/usb/controller/xhci_mv.c projects/pnfs-planb-server/sys/dev/usb/controller/xhci_pci.c projects/pnfs-planb-server/sys/dev/usb/net/if_smsc.c projects/pnfs-planb-server/sys/dev/usb/net/if_ure.c projects/pnfs-planb-server/sys/dev/usb/quirk/usb_quirk.c projects/pnfs-planb-server/sys/dev/usb/quirk/usb_quirk.h projects/pnfs-planb-server/sys/dev/usb/usb_hid.c projects/pnfs-planb-server/sys/dev/usb/usb_hub.c projects/pnfs-planb-server/sys/dev/usb/usbdevs projects/pnfs-planb-server/sys/dev/usb/usbhid.h projects/pnfs-planb-server/sys/dev/usb/wlan/if_rsu.c projects/pnfs-planb-server/sys/dev/usb/wlan/if_uath.c projects/pnfs-planb-server/sys/dev/usb/wlan/if_zyd.c projects/pnfs-planb-server/sys/dev/vt/vt_core.c projects/pnfs-planb-server/sys/dev/vxge/vxgehal/vxgehal-mrpcim.c projects/pnfs-planb-server/sys/dev/xen/timer/timer.c projects/pnfs-planb-server/sys/fs/cd9660/cd9660_vnops.c projects/pnfs-planb-server/sys/fs/cuse/cuse.c projects/pnfs-planb-server/sys/fs/cuse/cuse_defs.h projects/pnfs-planb-server/sys/fs/devfs/devfs_vnops.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_alloc.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_extern.h projects/pnfs-planb-server/sys/fs/ext2fs/ext2_inode.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_inode_cnv.c projects/pnfs-planb-server/sys/fs/fdescfs/fdesc.h projects/pnfs-planb-server/sys/fs/fdescfs/fdesc_vfsops.c projects/pnfs-planb-server/sys/fs/fdescfs/fdesc_vnops.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_fat.c projects/pnfs-planb-server/sys/fs/nfs/nfs.h projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c projects/pnfs-planb-server/sys/fs/nfs/nfs_var.h projects/pnfs-planb-server/sys/fs/nfs/nfscl.h projects/pnfs-planb-server/sys/fs/nfs/nfsclstate.h projects/pnfs-planb-server/sys/fs/nfs/nfsport.h projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clbio.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clcomsubs.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clkdtrace.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clnode.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clport.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clrpcops.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clstate.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clsubs.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clvnops.c projects/pnfs-planb-server/sys/fs/nfsclient/nfsnode.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_fha_new.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnfs-planb-server/sys/fs/pseudofs/pseudofs.h projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_fifoops.c projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_subr.c projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_vnops.c projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_vnops.h projects/pnfs-planb-server/sys/fs/udf/udf_vnops.c projects/pnfs-planb-server/sys/geom/eli/g_eli.c projects/pnfs-planb-server/sys/geom/eli/g_eli.h projects/pnfs-planb-server/sys/geom/eli/g_eli_ctl.c projects/pnfs-planb-server/sys/geom/eli/g_eli_integrity.c projects/pnfs-planb-server/sys/geom/geom.h projects/pnfs-planb-server/sys/geom/geom_bsd.c projects/pnfs-planb-server/sys/geom/geom_dev.c projects/pnfs-planb-server/sys/geom/geom_disk.c projects/pnfs-planb-server/sys/geom/geom_disk.h projects/pnfs-planb-server/sys/geom/geom_dump.c projects/pnfs-planb-server/sys/geom/geom_fox.c projects/pnfs-planb-server/sys/geom/geom_mbr.c projects/pnfs-planb-server/sys/geom/geom_subr.c projects/pnfs-planb-server/sys/geom/geom_sunlabel.c projects/pnfs-planb-server/sys/geom/geom_vol_ffs.c projects/pnfs-planb-server/sys/geom/journal/g_journal.c projects/pnfs-planb-server/sys/geom/journal/g_journal.h projects/pnfs-planb-server/sys/geom/mirror/g_mirror.c projects/pnfs-planb-server/sys/geom/mirror/g_mirror.h projects/pnfs-planb-server/sys/geom/mountver/g_mountver.c projects/pnfs-planb-server/sys/geom/mountver/g_mountver.h projects/pnfs-planb-server/sys/geom/part/g_part.c projects/pnfs-planb-server/sys/geom/part/g_part_gpt.c projects/pnfs-planb-server/sys/i386/conf/GENERIC projects/pnfs-planb-server/sys/i386/conf/NOTES projects/pnfs-planb-server/sys/i386/i386/apic_vector.s projects/pnfs-planb-server/sys/i386/i386/exception.s projects/pnfs-planb-server/sys/i386/i386/genassym.c projects/pnfs-planb-server/sys/i386/i386/machdep.c projects/pnfs-planb-server/sys/i386/i386/minidump_machdep.c projects/pnfs-planb-server/sys/i386/i386/pmap.c projects/pnfs-planb-server/sys/i386/i386/sys_machdep.c projects/pnfs-planb-server/sys/i386/i386/trap.c projects/pnfs-planb-server/sys/i386/include/asmacros.h projects/pnfs-planb-server/sys/i386/include/cpufunc.h projects/pnfs-planb-server/sys/i386/include/intr_machdep.h projects/pnfs-planb-server/sys/i386/include/md_var.h projects/pnfs-planb-server/sys/i386/include/param.h projects/pnfs-planb-server/sys/i386/linux/linux_sysvec.c projects/pnfs-planb-server/sys/isa/rtc.h projects/pnfs-planb-server/sys/isa/syscons_isa.c projects/pnfs-planb-server/sys/kern/imgact_elf.c projects/pnfs-planb-server/sys/kern/kern_cpuset.c projects/pnfs-planb-server/sys/kern/kern_dtrace.c projects/pnfs-planb-server/sys/kern/kern_dump.c projects/pnfs-planb-server/sys/kern/kern_fork.c projects/pnfs-planb-server/sys/kern/kern_ktr.c projects/pnfs-planb-server/sys/kern/kern_linker.c projects/pnfs-planb-server/sys/kern/kern_lockstat.c projects/pnfs-planb-server/sys/kern/kern_mutex.c projects/pnfs-planb-server/sys/kern/kern_proc.c projects/pnfs-planb-server/sys/kern/kern_rwlock.c projects/pnfs-planb-server/sys/kern/kern_sendfile.c projects/pnfs-planb-server/sys/kern/kern_shutdown.c projects/pnfs-planb-server/sys/kern/kern_sx.c projects/pnfs-planb-server/sys/kern/kern_sysctl.c projects/pnfs-planb-server/sys/kern/posix4_mib.c projects/pnfs-planb-server/sys/kern/subr_autoconf.c projects/pnfs-planb-server/sys/kern/subr_blist.c projects/pnfs-planb-server/sys/kern/subr_bus_dma.c projects/pnfs-planb-server/sys/kern/subr_devmap.c projects/pnfs-planb-server/sys/kern/subr_gtaskqueue.c projects/pnfs-planb-server/sys/kern/subr_intr.c projects/pnfs-planb-server/sys/kern/subr_rtc.c projects/pnfs-planb-server/sys/kern/subr_sbuf.c projects/pnfs-planb-server/sys/kern/subr_smp.c projects/pnfs-planb-server/sys/kern/subr_taskqueue.c projects/pnfs-planb-server/sys/kern/subr_turnstile.c projects/pnfs-planb-server/sys/kern/subr_vmem.c projects/pnfs-planb-server/sys/kern/subr_witness.c projects/pnfs-planb-server/sys/kern/sys_process.c projects/pnfs-planb-server/sys/kern/sys_socket.c projects/pnfs-planb-server/sys/kern/uipc_shm.c projects/pnfs-planb-server/sys/kern/uipc_sockbuf.c projects/pnfs-planb-server/sys/kern/uipc_socket.c projects/pnfs-planb-server/sys/kern/uipc_usrreq.c projects/pnfs-planb-server/sys/kern/vfs_aio.c projects/pnfs-planb-server/sys/kern/vfs_bio.c projects/pnfs-planb-server/sys/kern/vfs_cache.c projects/pnfs-planb-server/sys/kern/vfs_default.c projects/pnfs-planb-server/sys/kern/vfs_export.c projects/pnfs-planb-server/sys/kern/vfs_mount.c projects/pnfs-planb-server/sys/kern/vfs_mountroot.c projects/pnfs-planb-server/sys/kern/vfs_subr.c projects/pnfs-planb-server/sys/kern/vfs_syscalls.c projects/pnfs-planb-server/sys/libkern/crc32.c projects/pnfs-planb-server/sys/libkern/x86/crc32_sse42.c projects/pnfs-planb-server/sys/mips/atheros/if_arge.c projects/pnfs-planb-server/sys/mips/broadcom/bcm_machdep.c projects/pnfs-planb-server/sys/mips/broadcom/bcm_machdep.h projects/pnfs-planb-server/sys/mips/broadcom/bcm_nvram_cfe.c projects/pnfs-planb-server/sys/mips/broadcom/bhnd_nexus.c projects/pnfs-planb-server/sys/mips/cavium/octeon_ebt3000_cf.c projects/pnfs-planb-server/sys/mips/conf/ERL projects/pnfs-planb-server/sys/mips/conf/XLP.hints projects/pnfs-planb-server/sys/mips/conf/XLR projects/pnfs-planb-server/sys/mips/conf/XLR64 projects/pnfs-planb-server/sys/mips/conf/XLRN32 projects/pnfs-planb-server/sys/mips/conf/std.XLP projects/pnfs-planb-server/sys/mips/include/_limits.h projects/pnfs-planb-server/sys/mips/include/cpufunc.h projects/pnfs-planb-server/sys/mips/include/cpuregs.h projects/pnfs-planb-server/sys/mips/include/elf.h projects/pnfs-planb-server/sys/mips/mips/elf_machdep.c projects/pnfs-planb-server/sys/mips/mips/exception.S projects/pnfs-planb-server/sys/mips/mips/freebsd32_machdep.c projects/pnfs-planb-server/sys/mips/mips/minidump_machdep.c projects/pnfs-planb-server/sys/mips/mips/pm_machdep.c projects/pnfs-planb-server/sys/mips/mips/sc_machdep.c projects/pnfs-planb-server/sys/mips/rmi/rootfs_list.txt projects/pnfs-planb-server/sys/mips/rmi/xlr_i2c.c projects/pnfs-planb-server/sys/mips/rmi/xls_ehci.c projects/pnfs-planb-server/sys/modules/Makefile projects/pnfs-planb-server/sys/modules/aesni/Makefile projects/pnfs-planb-server/sys/modules/armv8crypto/Makefile projects/pnfs-planb-server/sys/modules/bhnd/bhndb_pci/Makefile projects/pnfs-planb-server/sys/modules/cxgb/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/if_cxgbe/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t4_firmware/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t5_firmware/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t6_firmware/Makefile projects/pnfs-planb-server/sys/modules/dtb/allwinner/Makefile projects/pnfs-planb-server/sys/modules/dtb/rpi/Makefile projects/pnfs-planb-server/sys/modules/dtrace/Makefile projects/pnfs-planb-server/sys/modules/dtrace/dtraceall/Makefile projects/pnfs-planb-server/sys/modules/dtrace/dtraceall/dtraceall.c projects/pnfs-planb-server/sys/modules/efirt/Makefile projects/pnfs-planb-server/sys/modules/i2c/Makefile projects/pnfs-planb-server/sys/modules/ntb/Makefile projects/pnfs-planb-server/sys/modules/nvme/Makefile projects/pnfs-planb-server/sys/modules/qlnx/qlnxe/Makefile projects/pnfs-planb-server/sys/modules/qlxgbe/Makefile projects/pnfs-planb-server/sys/modules/uart/Makefile projects/pnfs-planb-server/sys/modules/usb/Makefile projects/pnfs-planb-server/sys/modules/zfs/Makefile projects/pnfs-planb-server/sys/net/bpf.c projects/pnfs-planb-server/sys/net/bpf_zerocopy.c projects/pnfs-planb-server/sys/net/ieee8023ad_lacp.c projects/pnfs-planb-server/sys/net/if.c projects/pnfs-planb-server/sys/net/if.h projects/pnfs-planb-server/sys/net/if_bridge.c projects/pnfs-planb-server/sys/net/if_enc.c projects/pnfs-planb-server/sys/net/if_enc.h projects/pnfs-planb-server/sys/net/if_var.h projects/pnfs-planb-server/sys/net/if_vlan.c projects/pnfs-planb-server/sys/net/iflib.c projects/pnfs-planb-server/sys/net/iflib.h projects/pnfs-planb-server/sys/net/mp_ring.c projects/pnfs-planb-server/sys/net/route.h projects/pnfs-planb-server/sys/net80211/ieee80211_ioctl.c projects/pnfs-planb-server/sys/net80211/ieee80211_mesh.c projects/pnfs-planb-server/sys/net80211/ieee80211_output.c projects/pnfs-planb-server/sys/netgraph/ng_iface.c projects/pnfs-planb-server/sys/netinet/if_ether.c projects/pnfs-planb-server/sys/netinet/in.h projects/pnfs-planb-server/sys/netinet/in_pcb.c projects/pnfs-planb-server/sys/netinet/in_pcb.h projects/pnfs-planb-server/sys/netinet/ip_icmp.c projects/pnfs-planb-server/sys/netinet/sctp.h projects/pnfs-planb-server/sys/netinet/sctp_asconf.c projects/pnfs-planb-server/sys/netinet/sctp_asconf.h projects/pnfs-planb-server/sys/netinet/sctp_constants.h projects/pnfs-planb-server/sys/netinet/sctp_indata.c projects/pnfs-planb-server/sys/netinet/sctp_input.c projects/pnfs-planb-server/sys/netinet/sctp_os_bsd.h projects/pnfs-planb-server/sys/netinet/sctp_output.c projects/pnfs-planb-server/sys/netinet/sctp_output.h projects/pnfs-planb-server/sys/netinet/sctp_pcb.c projects/pnfs-planb-server/sys/netinet/sctp_pcb.h projects/pnfs-planb-server/sys/netinet/sctp_sysctl.c projects/pnfs-planb-server/sys/netinet/sctp_uio.h projects/pnfs-planb-server/sys/netinet/sctp_usrreq.c projects/pnfs-planb-server/sys/netinet/sctputil.c projects/pnfs-planb-server/sys/netinet/tcp_input.c projects/pnfs-planb-server/sys/netinet/tcp_stacks/fastpath.c projects/pnfs-planb-server/sys/netinet/tcp_syncache.c projects/pnfs-planb-server/sys/netinet/tcp_timer.c projects/pnfs-planb-server/sys/netinet/tcp_timewait.c projects/pnfs-planb-server/sys/netinet/tcp_usrreq.c projects/pnfs-planb-server/sys/netinet/tcp_var.h projects/pnfs-planb-server/sys/netinet6/sctp6_usrreq.c projects/pnfs-planb-server/sys/netinet6/send.c projects/pnfs-planb-server/sys/netipsec/ipsec.c projects/pnfs-planb-server/sys/netipsec/ipsec.h projects/pnfs-planb-server/sys/netipsec/ipsec6.h projects/pnfs-planb-server/sys/netipsec/ipsec_input.c projects/pnfs-planb-server/sys/netipsec/ipsec_output.c projects/pnfs-planb-server/sys/netipsec/key.c projects/pnfs-planb-server/sys/netipsec/udpencap.c projects/pnfs-planb-server/sys/netipsec/xform_ah.c projects/pnfs-planb-server/sys/netpfil/ipfw/ip_fw2.c projects/pnfs-planb-server/sys/netpfil/ipfw/ip_fw_dynamic.c projects/pnfs-planb-server/sys/netpfil/ipfw/ip_fw_table.c projects/pnfs-planb-server/sys/netpfil/ipfw/nat64/nat64lsn_control.c projects/pnfs-planb-server/sys/netpfil/ipfw/nat64/nat64stl_control.c projects/pnfs-planb-server/sys/netpfil/ipfw/nptv6/nptv6.c projects/pnfs-planb-server/sys/netpfil/pf/pf_lb.c projects/pnfs-planb-server/sys/netsmb/smb_subr.c projects/pnfs-planb-server/sys/nfs/nfs_fha.c projects/pnfs-planb-server/sys/nfs/nfs_fha.h projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/addr.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/cm.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/cma.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/ucm.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/ucma.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/user_mad.c projects/pnfs-planb-server/sys/ofed/drivers/infiniband/core/uverbs_main.c projects/pnfs-planb-server/sys/opencrypto/crypto.c projects/pnfs-planb-server/sys/opencrypto/cryptodev.c projects/pnfs-planb-server/sys/opencrypto/cryptodev.h projects/pnfs-planb-server/sys/opencrypto/xform_md5.c projects/pnfs-planb-server/sys/opencrypto/xform_null.c projects/pnfs-planb-server/sys/opencrypto/xform_rmd160.c projects/pnfs-planb-server/sys/opencrypto/xform_sha1.c projects/pnfs-planb-server/sys/opencrypto/xform_sha2.c projects/pnfs-planb-server/sys/powerpc/aim/mmu_oea.c projects/pnfs-planb-server/sys/powerpc/aim/mmu_oea64.c projects/pnfs-planb-server/sys/powerpc/conf/GENERIC projects/pnfs-planb-server/sys/powerpc/include/elf.h projects/pnfs-planb-server/sys/powerpc/include/intr_machdep.h projects/pnfs-planb-server/sys/powerpc/include/spr.h projects/pnfs-planb-server/sys/powerpc/mpc85xx/mpc85xx.c projects/pnfs-planb-server/sys/powerpc/powerpc/cpu.c projects/pnfs-planb-server/sys/powerpc/powerpc/machdep.c projects/pnfs-planb-server/sys/powerpc/powerpc/sc_machdep.c projects/pnfs-planb-server/sys/powerpc/powerpc/stack_machdep.c projects/pnfs-planb-server/sys/riscv/conf/GENERIC projects/pnfs-planb-server/sys/riscv/include/elf.h projects/pnfs-planb-server/sys/riscv/include/machdep.h projects/pnfs-planb-server/sys/riscv/include/riscvreg.h projects/pnfs-planb-server/sys/riscv/include/sbi.h projects/pnfs-planb-server/sys/riscv/riscv/cpufunc_asm.S projects/pnfs-planb-server/sys/riscv/riscv/exception.S projects/pnfs-planb-server/sys/riscv/riscv/intr_machdep.c projects/pnfs-planb-server/sys/riscv/riscv/locore.S projects/pnfs-planb-server/sys/riscv/riscv/machdep.c projects/pnfs-planb-server/sys/riscv/riscv/nexus.c projects/pnfs-planb-server/sys/riscv/riscv/pmap.c projects/pnfs-planb-server/sys/riscv/riscv/riscv_console.c projects/pnfs-planb-server/sys/riscv/riscv/swtch.S projects/pnfs-planb-server/sys/riscv/riscv/timer.c projects/pnfs-planb-server/sys/riscv/riscv/trap.c projects/pnfs-planb-server/sys/riscv/riscv/vm_machdep.c projects/pnfs-planb-server/sys/security/audit/audit.c projects/pnfs-planb-server/sys/sparc64/conf/GENERIC projects/pnfs-planb-server/sys/sparc64/include/elf.h projects/pnfs-planb-server/sys/sparc64/sparc64/dump_machdep.c projects/pnfs-planb-server/sys/sparc64/sparc64/pmap.c projects/pnfs-planb-server/sys/sys/_task.h projects/pnfs-planb-server/sys/sys/_termios.h projects/pnfs-planb-server/sys/sys/blist.h projects/pnfs-planb-server/sys/sys/buf.h projects/pnfs-planb-server/sys/sys/cdefs.h projects/pnfs-planb-server/sys/sys/clock.h projects/pnfs-planb-server/sys/sys/conf.h projects/pnfs-planb-server/sys/sys/consio.h projects/pnfs-planb-server/sys/sys/copyright.h projects/pnfs-planb-server/sys/sys/disk.h projects/pnfs-planb-server/sys/sys/efi.h projects/pnfs-planb-server/sys/sys/elf_common.h projects/pnfs-planb-server/sys/sys/gpio.h projects/pnfs-planb-server/sys/sys/gtaskqueue.h projects/pnfs-planb-server/sys/sys/kernel.h projects/pnfs-planb-server/sys/sys/kerneldump.h projects/pnfs-planb-server/sys/sys/lock.h projects/pnfs-planb-server/sys/sys/mbuf.h projects/pnfs-planb-server/sys/sys/mdioctl.h projects/pnfs-planb-server/sys/sys/module.h projects/pnfs-planb-server/sys/sys/mutex.h projects/pnfs-planb-server/sys/sys/param.h projects/pnfs-planb-server/sys/sys/sbuf.h projects/pnfs-planb-server/sys/sys/smp.h projects/pnfs-planb-server/sys/sys/sockbuf.h projects/pnfs-planb-server/sys/sys/socketvar.h projects/pnfs-planb-server/sys/sys/sockio.h projects/pnfs-planb-server/sys/sys/sysctl.h projects/pnfs-planb-server/sys/sys/sysent.h projects/pnfs-planb-server/sys/sys/systm.h projects/pnfs-planb-server/sys/sys/taskqueue.h projects/pnfs-planb-server/sys/sys/types.h projects/pnfs-planb-server/sys/sys/unpcb.h projects/pnfs-planb-server/sys/sys/vmmeter.h projects/pnfs-planb-server/sys/sys/vnode.h projects/pnfs-planb-server/sys/teken/sequences projects/pnfs-planb-server/sys/teken/teken.h projects/pnfs-planb-server/sys/teken/teken_subr_compat.h projects/pnfs-planb-server/sys/ufs/ffs/ffs_alloc.c projects/pnfs-planb-server/sys/ufs/ffs/ffs_inode.c projects/pnfs-planb-server/sys/ufs/ffs/ffs_snapshot.c projects/pnfs-planb-server/sys/ufs/ffs/ffs_softdep.c projects/pnfs-planb-server/sys/ufs/ffs/ffs_vfsops.c projects/pnfs-planb-server/sys/ufs/ffs/ffs_vnops.c projects/pnfs-planb-server/sys/ufs/ffs/fs.h projects/pnfs-planb-server/sys/ufs/ufs/dinode.h projects/pnfs-planb-server/sys/ufs/ufs/ufs_vnops.c projects/pnfs-planb-server/sys/vm/swap_pager.c projects/pnfs-planb-server/sys/vm/swap_pager.h projects/pnfs-planb-server/sys/vm/uma.h projects/pnfs-planb-server/sys/vm/uma_core.c projects/pnfs-planb-server/sys/vm/uma_int.h projects/pnfs-planb-server/sys/vm/vm_fault.c projects/pnfs-planb-server/sys/vm/vm_glue.c projects/pnfs-planb-server/sys/vm/vm_kern.c projects/pnfs-planb-server/sys/vm/vm_meter.c projects/pnfs-planb-server/sys/vm/vm_object.c projects/pnfs-planb-server/sys/vm/vm_object.h projects/pnfs-planb-server/sys/vm/vm_page.c projects/pnfs-planb-server/sys/vm/vm_page.h projects/pnfs-planb-server/sys/vm/vm_pageout.c projects/pnfs-planb-server/sys/vm/vm_pager.c projects/pnfs-planb-server/sys/vm/vm_phys.c projects/pnfs-planb-server/sys/vm/vm_phys.h projects/pnfs-planb-server/sys/x86/acpica/madt.c projects/pnfs-planb-server/sys/x86/acpica/srat.c projects/pnfs-planb-server/sys/x86/cpufreq/hwpstate.c projects/pnfs-planb-server/sys/x86/include/apicreg.h projects/pnfs-planb-server/sys/x86/include/apicvar.h projects/pnfs-planb-server/sys/x86/include/elf.h projects/pnfs-planb-server/sys/x86/include/specialreg.h projects/pnfs-planb-server/sys/x86/include/x86_smp.h projects/pnfs-planb-server/sys/x86/include/x86_var.h projects/pnfs-planb-server/sys/x86/iommu/intel_drv.c projects/pnfs-planb-server/sys/x86/isa/atrtc.c projects/pnfs-planb-server/sys/x86/pci/qpi.c projects/pnfs-planb-server/sys/x86/x86/identcpu.c projects/pnfs-planb-server/sys/x86/x86/intr_machdep.c projects/pnfs-planb-server/sys/x86/x86/io_apic.c projects/pnfs-planb-server/sys/x86/x86/local_apic.c projects/pnfs-planb-server/sys/x86/x86/mca.c projects/pnfs-planb-server/sys/x86/x86/mp_x86.c projects/pnfs-planb-server/sys/x86/x86/mptable.c projects/pnfs-planb-server/sys/x86/x86/stack_machdep.c projects/pnfs-planb-server/sys/x86/xen/pvcpu_enum.c Directory Properties: projects/pnfs-planb-server/sys/ (props changed) projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/ (props changed) projects/pnfs-planb-server/sys/contrib/dev/acpica/ (props changed) projects/pnfs-planb-server/sys/contrib/ena-com/ (props changed) projects/pnfs-planb-server/sys/contrib/ipfilter/ (props changed) projects/pnfs-planb-server/sys/contrib/octeon-sdk/ (props changed) Modified: projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S Thu Oct 5 20:37:51 2017 (r324337) @@ -87,7 +87,6 @@ END(cpu_throw) ENTRY(cpu_switch) /* Switch to new thread. First, save context. */ movq TD_PCB(%rdi),%r8 - orl $PCB_FULL_IRET,PCB_FLAGS(%r8) movq (%rsp),%rax /* Hardware registers */ movq %r15,PCB_R15(%r8) @@ -99,6 +98,30 @@ ENTRY(cpu_switch) movq %rbx,PCB_RBX(%r8) movq %rax,PCB_RIP(%r8) + testl $PCB_FULL_IRET,PCB_FLAGS(%r8) + jnz 2f + orl $PCB_FULL_IRET,PCB_FLAGS(%r8) + testl $TDP_KTHREAD,TD_PFLAGS(%rdi) + jnz 2f + testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) + jz 2f + movl %fs,%eax + cmpl $KUF32SEL,%eax + jne 1f + rdfsbase %rax + movq %rax,PCB_FSBASE(%r8) +1: movl %gs,%eax + cmpl $KUG32SEL,%eax + jne 2f + movq %rdx,%r12 + movl $MSR_KGSBASE,%ecx /* Read user gs base */ + rdmsr + shlq $32,%rdx + orq %rdx,%rax + movq %rax,PCB_GSBASE(%r8) + movq %r12,%rdx + +2: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ done_store_dr: @@ -149,7 +172,7 @@ sw1: * to load up the rest of the next context. */ - /* Skip loading user fsbase/gsbase for kthreads */ + /* Skip loading LDT and user fsbase/gsbase for kthreads */ testl $TDP_KTHREAD,TD_PFLAGS(%r12) jnz do_kthread Copied: projects/pnfs-planb-server/sys/amd64/amd64/efirt_machdep.c (from r324336, head/sys/amd64/amd64/efirt_machdep.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pnfs-planb-server/sys/amd64/amd64/efirt_machdep.c Thu Oct 5 20:37:51 2017 (r324337, copy of r324336, head/sys/amd64/amd64/efirt_machdep.c) @@ -0,0 +1,313 @@ +/*- + * Copyright (c) 2004 Marcel Moolenaar + * Copyright (c) 2001 Doug Rabson + * Copyright (c) 2016 The FreeBSD Foundation + * All rights reserved. + * + * Portions of this software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/param.h> +#include <sys/efi.h> +#include <sys/kernel.h> +#include <sys/linker.h> +#include <sys/lock.h> +#include <sys/module.h> +#include <sys/mutex.h> +#include <sys/clock.h> +#include <sys/proc.h> +#include <sys/rwlock.h> +#include <sys/sched.h> +#include <sys/sysctl.h> +#include <sys/systm.h> +#include <sys/vmmeter.h> +#include <isa/rtc.h> +#include <machine/fpu.h> +#include <machine/efi.h> +#include <machine/metadata.h> +#include <machine/md_var.h> +#include <machine/smp.h> +#include <machine/vmparam.h> +#include <vm/vm.h> +#include <vm/pmap.h> +#include <vm/vm_map.h> +#include <vm/vm_object.h> +#include <vm/vm_page.h> +#include <vm/vm_pager.h> + +static pml4_entry_t *efi_pml4; +static vm_object_t obj_1t1_pt; +static vm_page_t efi_pml4_page; + +void +efi_destroy_1t1_map(void) +{ + vm_page_t m; + + if (obj_1t1_pt != NULL) { + VM_OBJECT_RLOCK(obj_1t1_pt); + TAILQ_FOREACH(m, &obj_1t1_pt->memq, listq) + m->wire_count = 0; + atomic_subtract_int(&vm_cnt.v_wire_count, + obj_1t1_pt->resident_page_count); + VM_OBJECT_RUNLOCK(obj_1t1_pt); + vm_object_deallocate(obj_1t1_pt); + } + + obj_1t1_pt = NULL; + efi_pml4 = NULL; + efi_pml4_page = NULL; +} + +static vm_page_t +efi_1t1_page(vm_pindex_t idx) +{ + + return (vm_page_grab(obj_1t1_pt, idx, VM_ALLOC_NOBUSY | + VM_ALLOC_WIRED | VM_ALLOC_ZERO)); +} + +static pt_entry_t * +efi_1t1_pte(vm_offset_t va) +{ + pml4_entry_t *pml4e; + pdp_entry_t *pdpe; + pd_entry_t *pde; + pt_entry_t *pte; + vm_page_t m; + vm_pindex_t pml4_idx, pdp_idx, pd_idx; + vm_paddr_t mphys; + + pml4_idx = pmap_pml4e_index(va); + pml4e = &efi_pml4[pml4_idx]; + if (*pml4e == 0) { + m = efi_1t1_page(1 + pml4_idx); + mphys = VM_PAGE_TO_PHYS(m); + *pml4e = mphys | X86_PG_RW | X86_PG_V; + } else { + mphys = *pml4e & ~PAGE_MASK; + } + + pdpe = (pdp_entry_t *)PHYS_TO_DMAP(mphys); + pdp_idx = pmap_pdpe_index(va); + pdpe += pdp_idx; + if (*pdpe == 0) { + m = efi_1t1_page(1 + NPML4EPG + (pml4_idx + 1) * (pdp_idx + 1)); + mphys = VM_PAGE_TO_PHYS(m); + *pdpe = mphys | X86_PG_RW | X86_PG_V; + } else { + mphys = *pdpe & ~PAGE_MASK; + } + + pde = (pd_entry_t *)PHYS_TO_DMAP(mphys); + pd_idx = pmap_pde_index(va); + pde += pd_idx; + if (*pde == 0) { + m = efi_1t1_page(1 + NPML4EPG + NPML4EPG * NPDPEPG + + (pml4_idx + 1) * (pdp_idx + 1) * (pd_idx + 1)); + mphys = VM_PAGE_TO_PHYS(m); + *pde = mphys | X86_PG_RW | X86_PG_V; + } else { + mphys = *pde & ~PAGE_MASK; + } + + pte = (pt_entry_t *)PHYS_TO_DMAP(mphys); + pte += pmap_pte_index(va); + KASSERT(*pte == 0, ("va %#jx *pt %#jx", va, *pte)); + + return (pte); +} + +bool +efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz) +{ + struct efi_md *p; + pt_entry_t *pte; + vm_offset_t va; + uint64_t idx; + int bits, i, mode; + + obj_1t1_pt = vm_pager_allocate(OBJT_PHYS, NULL, ptoa(1 + + NPML4EPG + NPML4EPG * NPDPEPG + NPML4EPG * NPDPEPG * NPDEPG), + VM_PROT_ALL, 0, NULL); + VM_OBJECT_WLOCK(obj_1t1_pt); + efi_pml4_page = efi_1t1_page(0); + VM_OBJECT_WUNLOCK(obj_1t1_pt); + efi_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_pml4_page)); + pmap_pinit_pml4(efi_pml4_page); + + for (i = 0, p = map; i < ndesc; i++, p = efi_next_descriptor(p, + descsz)) { + if ((p->md_attr & EFI_MD_ATTR_RT) == 0) + continue; + if (p->md_virt != NULL) { + if (bootverbose) + printf("EFI Runtime entry %d is mapped\n", i); + goto fail; + } + if ((p->md_phys & EFI_PAGE_MASK) != 0) { + if (bootverbose) + printf("EFI Runtime entry %d is not aligned\n", + i); + goto fail; + } + if (p->md_phys + p->md_pages * EFI_PAGE_SIZE < p->md_phys || + p->md_phys + p->md_pages * EFI_PAGE_SIZE >= + VM_MAXUSER_ADDRESS) { + printf("EFI Runtime entry %d is not in mappable for RT:" + "base %#016jx %#jx pages\n", + i, (uintmax_t)p->md_phys, + (uintmax_t)p->md_pages); + goto fail; + } + if ((p->md_attr & EFI_MD_ATTR_WB) != 0) + mode = VM_MEMATTR_WRITE_BACK; + else if ((p->md_attr & EFI_MD_ATTR_WT) != 0) + mode = VM_MEMATTR_WRITE_THROUGH; + else if ((p->md_attr & EFI_MD_ATTR_WC) != 0) + mode = VM_MEMATTR_WRITE_COMBINING; + else if ((p->md_attr & EFI_MD_ATTR_WP) != 0) + mode = VM_MEMATTR_WRITE_PROTECTED; + else if ((p->md_attr & EFI_MD_ATTR_UC) != 0) + mode = VM_MEMATTR_UNCACHEABLE; + else { + if (bootverbose) + printf("EFI Runtime entry %d mapping " + "attributes unsupported\n", i); + mode = VM_MEMATTR_UNCACHEABLE; + } + bits = pmap_cache_bits(kernel_pmap, mode, FALSE) | X86_PG_RW | + X86_PG_V; + VM_OBJECT_WLOCK(obj_1t1_pt); + for (va = p->md_phys, idx = 0; idx < p->md_pages; idx++, + va += PAGE_SIZE) { + pte = efi_1t1_pte(va); + pte_store(pte, va | bits); + } + VM_OBJECT_WUNLOCK(obj_1t1_pt); + } + + return (true); + +fail: + efi_destroy_1t1_map(); + return (false); +} + +/* + * Create an environment for the EFI runtime code call. The most + * important part is creating the required 1:1 physical->virtual + * mappings for the runtime segments. To do that, we manually create + * page table which unmap userspace but gives correct kernel mapping. + * The 1:1 mappings for runtime segments usually occupy low 4G of the + * physical address map. + * + * The 1:1 mappings were chosen over the SetVirtualAddressMap() EFI RT + * service, because there are some BIOSes which fail to correctly + * relocate itself on the call, requiring both 1:1 and virtual + * mapping. As result, we must provide 1:1 mapping anyway, so no + * reason to bother with the virtual map, and no need to add a + * complexity into loader. + * + * The fpu_kern_enter() call allows firmware to use FPU, as mandated + * by the specification. In particular, CR0.TS bit is cleared. Also + * it enters critical section, giving us neccessary protection against + * context switch. + * + * There is no need to disable interrupts around the change of %cr3, + * the kernel mappings are correct, while we only grabbed the + * userspace portion of VA. Interrupts handlers must not access + * userspace. Having interrupts enabled fixes the issue with + * firmware/SMM long operation, which would negatively affect IPIs, + * esp. TLB shootdown requests. + */ +int +efi_arch_enter(void) +{ + pmap_t curpmap; + + curpmap = PCPU_GET(curpmap); + PMAP_LOCK_ASSERT(curpmap, MA_OWNED); + + /* + * IPI TLB shootdown handler invltlb_pcid_handler() reloads + * %cr3 from the curpmap->pm_cr3, which would disable runtime + * segments mappings. Block the handler's action by setting + * curpmap to impossible value. See also comment in + * pmap.c:pmap_activate_sw(). + */ + if (pmap_pcid_enabled && !invpcid_works) + PCPU_SET(curpmap, NULL); + + load_cr3(VM_PAGE_TO_PHYS(efi_pml4_page) | (pmap_pcid_enabled ? + curpmap->pm_pcids[PCPU_GET(cpuid)].pm_pcid : 0)); + /* + * If PCID is enabled, the clear CR3_PCID_SAVE bit in the loaded %cr3 + * causes TLB invalidation. + */ + if (!pmap_pcid_enabled) + invltlb(); + return (0); +} + +void +efi_arch_leave(void) +{ + pmap_t curpmap; + + curpmap = &curproc->p_vmspace->vm_pmap; + if (pmap_pcid_enabled && !invpcid_works) + PCPU_SET(curpmap, curpmap); + load_cr3(curpmap->pm_cr3 | (pmap_pcid_enabled ? + curpmap->pm_pcids[PCPU_GET(cpuid)].pm_pcid : 0)); + if (!pmap_pcid_enabled) + invltlb(); +} + +/* XXX debug stuff */ +static int +efi_time_sysctl_handler(SYSCTL_HANDLER_ARGS) +{ + struct efi_tm tm; + int error, val; + + val = 0; + error = sysctl_handle_int(oidp, &val, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + error = efi_get_time(&tm); + if (error == 0) { + uprintf("EFI reports: Year %d Month %d Day %d Hour %d Min %d " + "Sec %d\n", tm.tm_year, tm.tm_mon, tm.tm_mday, tm.tm_hour, + tm.tm_min, tm.tm_sec); + } + return (error); +} + +SYSCTL_PROC(_debug, OID_AUTO, efi_time, CTLTYPE_INT | CTLFLAG_RW, NULL, 0, + efi_time_sysctl_handler, "I", ""); Modified: projects/pnfs-planb-server/sys/amd64/amd64/elf_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/elf_machdep.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/elf_machdep.c Thu Oct 5 20:37:51 2017 (r324337) @@ -84,6 +84,25 @@ struct sysentvec elf64_freebsd_sysvec = { }; INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); +void +amd64_lower_shared_page(struct sysentvec *sv) +{ + if (hw_lower_amd64_sharedpage != 0) { + sv->sv_maxuser -= PAGE_SIZE; + sv->sv_shared_page_base -= PAGE_SIZE; + sv->sv_usrstack -= PAGE_SIZE; + sv->sv_psstrings -= PAGE_SIZE; + } +} + +/* + * Do this fixup before INIT_SYSENTVEC (SI_ORDER_ANY) because the latter + * uses the value of sv_shared_page_base. + */ +SYSINIT(elf64_sysvec_fixup, SI_SUB_EXEC, SI_ORDER_FIRST, + (sysinit_cfunc_t) amd64_lower_shared_page, + &elf64_freebsd_sysvec); + static Elf64_Brandinfo freebsd_brand_info = { .brand = ELFOSABI_FREEBSD, .machine = EM_X86_64, Modified: projects/pnfs-planb-server/sys/amd64/amd64/exception.S ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/exception.S Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/exception.S Thu Oct 5 20:37:51 2017 (r324337) @@ -187,12 +187,13 @@ alltraps_testi: jz alltraps_pushregs_no_rdi sti alltraps_pushregs_no_rdi: - movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) + movq %rax,TF_RAX(%rsp) +alltraps_pushregs_no_rax: + movq %rsi,TF_RSI(%rsp) movq %rcx,TF_RCX(%rsp) movq %r8,TF_R8(%rsp) movq %r9,TF_R9(%rsp) - movq %rax,TF_RAX(%rsp) movq %rbx,TF_RBX(%rsp) movq %rbp,TF_RBP(%rsp) movq %r10,TF_R10(%rsp) @@ -326,31 +327,53 @@ IDTVEC(prot) prot_addrf: movq $0,TF_ADDR(%rsp) movq %rdi,TF_RDI(%rsp) /* free up a GP register */ + movq %rax,TF_RAX(%rsp) + movq %rdx,TF_RDX(%rsp) + movw %fs,TF_FS(%rsp) + movw %gs,TF_GS(%rsp) leaq doreti_iret(%rip),%rdi cmpq %rdi,TF_RIP(%rsp) - je 1f /* kernel but with user gsbase!! */ + je 5f /* kernel but with user gsbase!! */ testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ - jz 2f /* already running with kernel GS.base */ -1: swapgs -2: movq PCPU(CURPCB),%rdi - orl $PCB_FULL_IRET,PCB_FLAGS(%rdi) /* always full iret from GPF */ - movw %fs,TF_FS(%rsp) - movw %gs,TF_GS(%rsp) + jz 6f /* already running with kernel GS.base */ + testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) + jz 2f + cmpw $KUF32SEL,TF_FS(%rsp) + jne 1f + rdfsbase %rax +1: cmpw $KUG32SEL,TF_GS(%rsp) + jne 2f + rdgsbase %rdx +2: swapgs + movq PCPU(CURPCB),%rdi + testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) + jz 4f + cmpw $KUF32SEL,TF_FS(%rsp) + jne 3f + movq %rax,PCB_FSBASE(%rdi) +3: cmpw $KUG32SEL,TF_GS(%rsp) + jne 4f + movq %rdx,PCB_GSBASE(%rdi) +4: orl $PCB_FULL_IRET,PCB_FLAGS(%rdi) /* always full iret from GPF */ movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) testl $PSL_I,TF_RFLAGS(%rsp) - jz alltraps_pushregs_no_rdi + jz alltraps_pushregs_no_rax sti - jmp alltraps_pushregs_no_rdi + jmp alltraps_pushregs_no_rax +5: swapgs +6: movq PCPU(CURPCB),%rdi + jmp 4b + /* * Fast syscall entry point. We enter here with just our new %cs/%ss set, * and the new privilige level. We are still running on the old user stack * pointer. We have to juggle a few things around to find our stack etc. * swapgs gives us access to our PCPU space only. * - * We do not support invoking this from a custom %cs or %ss (e.g. using - * entries from an LDT). + * We do not support invoking this from a custom segment registers, + * esp. %cs, %ss, %fs, %gs, e.g. using entries from an LDT. */ IDTVEC(fast_syscall) swapgs @@ -503,6 +526,23 @@ IDTVEC(nmi) nmi_fromuserspace: incl %ebx swapgs + testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) + jz 2f + movq PCPU(CURPCB),%rdi + testq %rdi,%rdi + jz 2f + cmpw $KUF32SEL,TF_FS(%rsp) + jne 1f + rdfsbase %rax + movq %rax,PCB_FSBASE(%rdi) +1: cmpw $KUG32SEL,TF_GS(%rsp) + jne 2f + movl $MSR_KGSBASE,%ecx + rdmsr + shlq $32,%rdx + orq %rdx,%rax + movq %rax,PCB_GSBASE(%rdi) +2: /* Note: this label is also used by ddb and gdb: */ nmi_calltrap: FAKE_MCOUNT(TF_RIP(%rsp)) @@ -705,6 +745,7 @@ doreti_exit: jz ld_regs testl $PCB_FULL_IRET,PCB_FLAGS(%r8) jz ld_regs + andl $~PCB_FULL_IRET,PCB_FLAGS(%r8) testl $TF_HASSEGS,TF_FLAGS(%rsp) je set_segs Modified: projects/pnfs-planb-server/sys/amd64/amd64/genassym.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/genassym.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/genassym.c Thu Oct 5 20:37:51 2017 (r324337) @@ -108,12 +108,10 @@ ASSYM(PML4SHIFT, PML4SHIFT); ASSYM(val_KPDPI, KPDPI); ASSYM(val_KPML4I, KPML4I); ASSYM(val_PML4PML4I, PML4PML4I); -ASSYM(USRSTACK, USRSTACK); ASSYM(VM_MAXUSER_ADDRESS, VM_MAXUSER_ADDRESS); ASSYM(KERNBASE, KERNBASE); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); -ASSYM(MCLBYTES, MCLBYTES); ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); Modified: projects/pnfs-planb-server/sys/amd64/amd64/initcpu.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/initcpu.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/initcpu.c Thu Oct 5 20:37:51 2017 (r324337) @@ -48,6 +48,11 @@ __FBSDID("$FreeBSD$"); static int hw_instruction_sse; SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD, &hw_instruction_sse, 0, "SIMD/MMX2 instructions available in CPU"); +static int lower_sharedpage_init; +int hw_lower_amd64_sharedpage; +SYSCTL_INT(_hw, OID_AUTO, lower_amd64_sharedpage, CTLFLAG_RDTUN, + &hw_lower_amd64_sharedpage, 0, + "Lower sharedpage to work around Ryzen issue with executing code near the top of user memory"); /* * -1: automatic (default) * 0: keep enable CLFLUSH @@ -120,6 +125,28 @@ init_amd(void) msr = rdmsr(0xc0011020); msr |= (uint64_t)1 << 15; wrmsr(0xc0011020, msr); + } + } + + /* + * Work around a problem on Ryzen that is triggered by executing + * code near the top of user memory, in our case the signal + * trampoline code in the shared page on amd64. + * + * This function is executed once for the BSP before tunables take + * effect so the value determined here can be overridden by the + * tunable. This function is then executed again for each AP and + * also on resume. Set a flag the first time so that value set by + * the tunable is not overwritten. + * + * The stepping and/or microcode versions should be checked after + * this issue is fixed by AMD so that we don't use this mode if not + * needed. + */ + if (lower_sharedpage_init == 0) { + lower_sharedpage_init = 1; + if (CPUID_TO_FAMILY(cpu_id) == 0x17) { + hw_lower_amd64_sharedpage = 1; } } } Modified: projects/pnfs-planb-server/sys/amd64/amd64/machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Thu Oct 5 20:37:51 2017 (r324337) @@ -372,6 +372,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask sf.sf_uc.uc_mcontext.mc_len = sizeof(sf.sf_uc.uc_mcontext); /* magic */ get_fpcontext(td, &sf.sf_uc.uc_mcontext, xfpusave, xfpusave_len); fpstate_drop(td); + update_pcb_bases(pcb); sf.sf_uc.uc_mcontext.mc_fsbase = pcb->pcb_fsbase; sf.sf_uc.uc_mcontext.mc_gsbase = pcb->pcb_gsbase; bzero(sf.sf_uc.uc_mcontext.mc_spare, @@ -442,7 +443,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask regs->tf_fs = _ufssel; regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; - set_pcb_flags(pcb, PCB_FULL_IRET); PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -548,6 +548,7 @@ sys_sigreturn(td, uap) return (ret); } bcopy(&ucp->uc_mcontext.mc_rdi, regs, sizeof(*regs)); + update_pcb_bases(pcb); pcb->pcb_fsbase = ucp->uc_mcontext.mc_fsbase; pcb->pcb_gsbase = ucp->uc_mcontext.mc_gsbase; @@ -559,7 +560,6 @@ sys_sigreturn(td, uap) #endif kern_sigprocmask(td, SIG_SETMASK, &ucp->uc_sigmask, NULL, 0); - set_pcb_flags(pcb, PCB_FULL_IRET); return (EJUSTRETURN); } @@ -587,11 +587,11 @@ exec_setregs(struct thread *td, struct image_params *i else mtx_unlock(&dt_lock); + update_pcb_bases(pcb); pcb->pcb_fsbase = 0; pcb->pcb_gsbase = 0; clear_pcb_flags(pcb, PCB_32BIT); pcb->pcb_initial_fpucw = __INITIAL_FPUCW__; - set_pcb_flags(pcb, PCB_FULL_IRET); bzero((char *)regs, sizeof(struct trapframe)); regs->tf_rip = imgp->entry_addr; @@ -1537,6 +1537,9 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) kmdp = init_ops.parse_preload_data(modulep); + identify_cpu(); + identify_hypervisor(); + /* Init basic tunables, hz etc */ init_param1(); @@ -1641,7 +1644,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) != NULL) vty_set_preferred(VTY_VT); - identify_cpu(); /* Final stage of CPU initialization */ + finishidentcpu(); /* Final stage of CPU initialization */ initializecpu(); /* Initialize CPU registers */ initializecpucache(); @@ -2132,6 +2135,7 @@ get_mcontext(struct thread *td, mcontext_t *mcp, int f mcp->mc_flags = tp->tf_flags; mcp->mc_len = sizeof(*mcp); get_fpcontext(td, mcp, NULL, 0); + update_pcb_bases(pcb); mcp->mc_fsbase = pcb->pcb_fsbase; mcp->mc_gsbase = pcb->pcb_gsbase; mcp->mc_xfpustate = 0; @@ -2202,11 +2206,11 @@ set_mcontext(struct thread *td, mcontext_t *mcp) tp->tf_fs = mcp->mc_fs; tp->tf_gs = mcp->mc_gs; } + set_pcb_flags(pcb, PCB_FULL_IRET); if (mcp->mc_flags & _MC_HASBASES) { pcb->pcb_fsbase = mcp->mc_fsbase; pcb->pcb_gsbase = mcp->mc_gsbase; } - set_pcb_flags(pcb, PCB_FULL_IRET); return (0); } @@ -2475,6 +2479,71 @@ user_dbreg_trap(void) * None of the breakpoints are in user space. */ return 0; +} + +/* + * The pcb_flags is only modified by current thread, or by other threads + * when current thread is stopped. However, current thread may change it + * from the interrupt context in cpu_switch(), or in the trap handler. + * When we read-modify-write pcb_flags from C sources, compiler may generate + * code that is not atomic regarding the interrupt handler. If a trap or + * interrupt happens and any flag is modified from the handler, it can be + * clobbered with the cached value later. Therefore, we implement setting + * and clearing flags with single-instruction functions, which do not race + * with possible modification of the flags from the trap or interrupt context, + * because traps and interrupts are executed only on instruction boundary. + */ +void +set_pcb_flags_raw(struct pcb *pcb, const u_int flags) +{ + + __asm __volatile("orl %1,%0" + : "=m" (pcb->pcb_flags) : "ir" (flags), "m" (pcb->pcb_flags) + : "cc", "memory"); + +} + +/* + * The support for RDFSBASE, WRFSBASE and similar instructions for %gs + * base requires that kernel saves MSR_FSBASE and MSR_{K,}GSBASE into + * pcb if user space modified the bases. We must save on the context + * switch or if the return to usermode happens through the doreti. + * + * Tracking of both events is performed by the pcb flag PCB_FULL_IRET, + * which have a consequence that the base MSRs must be saved each time + * the PCB_FULL_IRET flag is set. We disable interrupts to sync with + * context switches. + */ +void +set_pcb_flags(struct pcb *pcb, const u_int flags) +{ + register_t r; + + if (curpcb == pcb && + (flags & PCB_FULL_IRET) != 0 && + (pcb->pcb_flags & PCB_FULL_IRET) == 0 && + (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0) { + r = intr_disable(); + if ((pcb->pcb_flags & PCB_FULL_IRET) == 0) { + if (rfs() == _ufssel) + pcb->pcb_fsbase = rdfsbase(); + if (rgs() == _ugssel) + pcb->pcb_gsbase = rdmsr(MSR_KGSBASE); + } + set_pcb_flags_raw(pcb, flags); + intr_restore(r); + } else { + set_pcb_flags_raw(pcb, flags); + } +} + +void +clear_pcb_flags(struct pcb *pcb, const u_int flags) +{ + + __asm __volatile("andl %1,%0" + : "=m" (pcb->pcb_flags) : "ir" (~flags), "m" (pcb->pcb_flags) + : "cc", "memory"); } #ifdef KDB Modified: projects/pnfs-planb-server/sys/amd64/amd64/minidump_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/minidump_machdep.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/minidump_machdep.c Thu Oct 5 20:37:51 2017 (r324337) @@ -52,12 +52,6 @@ __FBSDID("$FreeBSD$"); CTASSERT(sizeof(struct kerneldumpheader) == 512); -/* - * Don't touch the first SIZEOF_METADATA bytes on the dump device. This - * is to protect us from metadata and to protect metadata from us. - */ -#define SIZEOF_METADATA (64*1024) - uint64_t *vm_page_dump; int vm_page_dump_size; @@ -320,22 +314,8 @@ minidumpsys(struct dumperinfo *di) } dumpsize += PAGE_SIZE; - /* Determine dump offset on device. */ - if (di->mediasize < SIZEOF_METADATA + dumpsize + di->blocksize * 2 + - kerneldumpcrypto_dumpkeysize(di->kdc)) { - error = E2BIG; - goto fail; - } - dumplo = di->mediaoffset + di->mediasize - dumpsize; - dumplo -= di->blocksize * 2; - dumplo -= kerneldumpcrypto_dumpkeysize(di->kdc); progress = dumpsize; - /* Initialize kernel dump crypto. */ - error = kerneldumpcrypto_init(di->kdc); - if (error) - goto fail; - /* Initialize mdhdr */ bzero(&mdhdr, sizeof(mdhdr)); strcpy(mdhdr.magic, MINIDUMP_MAGIC); @@ -347,24 +327,16 @@ minidumpsys(struct dumperinfo *di) mdhdr.dmapbase = DMAP_MIN_ADDRESS; mdhdr.dmapend = DMAP_MAX_ADDRESS; - mkdumpheader(&kdh, KERNELDUMPMAGIC, KERNELDUMP_AMD64_VERSION, dumpsize, - kerneldumpcrypto_dumpkeysize(di->kdc), di->blocksize); + dump_init_header(di, &kdh, KERNELDUMPMAGIC, KERNELDUMP_AMD64_VERSION, + dumpsize); printf("Dumping %llu out of %ju MB:", (long long)dumpsize >> 20, ptoa((uintmax_t)physmem) / 1048576); - /* Dump leader */ - error = dump_write_header(di, &kdh, 0, dumplo); - if (error) + error = dump_start(di, &kdh, &dumplo); + if (error != 0) goto fail; - dumplo += di->blocksize; - /* Dump key */ - error = dump_write_key(di, 0, dumplo); - if (error) - goto fail; - dumplo += kerneldumpcrypto_dumpkeysize(di->kdc); - /* Dump my header */ bzero(&fakepd, sizeof(fakepd)); bcopy(&mdhdr, &fakepd, sizeof(mdhdr)); @@ -447,14 +419,10 @@ minidumpsys(struct dumperinfo *di) if (error) goto fail; - /* Dump trailer */ - error = dump_write_header(di, &kdh, 0, dumplo); - if (error) + error = dump_finish(di, &kdh, dumplo); + if (error != 0) goto fail; - dumplo += di->blocksize; - /* Signal completion, signoff and exit stage left. */ - dump_write(di, NULL, 0, 0, 0); printf("\nDump complete\n"); return (0); Modified: projects/pnfs-planb-server/sys/amd64/amd64/pmap.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/pmap.c Thu Oct 5 20:10:40 2017 (r324336) +++ projects/pnfs-planb-server/sys/amd64/amd64/pmap.c Thu Oct 5 20:37:51 2017 (r324337) @@ -428,8 +428,15 @@ static struct lock_object invl_gen_ts = { .lo_name = "invlts", }; +static bool +pmap_not_in_di(void) +{ + + return (curthread->td_md.md_invl_gen.gen == 0); +} + #define PMAP_ASSERT_NOT_IN_DI() \ - KASSERT(curthread->td_md.md_invl_gen.gen == 0, ("DI already started")) + KASSERT(pmap_not_in_di(), ("DI already started")) /* * Start a new Delayed Invalidation (DI) block of code, executed by @@ -528,14 +535,12 @@ pmap_delayed_invl_genp(vm_page_t m) static void pmap_delayed_invl_wait(vm_page_t m) { - struct thread *td; struct turnstile *ts; u_long *m_gen; #ifdef PV_STATS bool accounted = false; #endif - td = curthread; m_gen = pmap_delayed_invl_genp(m); while (*m_gen > pmap_invl_gen) { #ifdef PV_STATS @@ -2209,12 +2214,14 @@ static __inline void pmap_free_zero_pages(struct spglist *free) { vm_page_t m; + int count; - while ((m = SLIST_FIRST(free)) != NULL) { + for (count = 0; (m = SLIST_FIRST(free)) != NULL; count++) { SLIST_REMOVE_HEAD(free, plinks.s.ss); /* Preserve the page's PG_ZERO setting. */ vm_page_free_toq(m); } + atomic_subtract_int(&vm_cnt.v_wire_count, count); } /* @@ -2320,13 +2327,6 @@ _pmap_unwire_ptp(pmap_t pmap, vm_offset_t va, vm_page_ pmap_unwire_ptp(pmap, va, pdppg, free); } - /* - * This is a release store so that the ordinary store unmapping - * the page table page is globally performed before TLB shoot- - * down is begun. - */ - atomic_subtract_rel_int(&vm_cnt.v_wire_count, 1); - /* * Put page on a list so that it is released after * *ALL* TLB shootdown is done @@ -2861,6 +2861,19 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG "Current number of spare pv entries"); #endif +static void +reclaim_pv_chunk_leave_pmap(pmap_t pmap, pmap_t locked_pmap, bool start_di) +{ + + if (pmap == NULL) + return; + pmap_invalidate_all(pmap); + if (pmap != locked_pmap) + PMAP_UNLOCK(pmap); + if (start_di) + pmap_delayed_invl_finished(); +} + /* * We are in a serious low memory condition. Resort to * drastic measures to free some pages so we can allocate @@ -2888,6 +2901,7 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l struct spglist free; uint64_t inuse; int bit, field, freed; + bool start_di; PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED); KASSERT(lockp != NULL, ("reclaim_pv_chunk: lockp is NULL")); @@ -2896,19 +2910,21 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l PG_G = PG_A = PG_M = PG_RW = 0; SLIST_INIT(&free); TAILQ_INIT(&new_tail); - pmap_delayed_invl_started(); + + /* + * A delayed invalidation block should already be active if + * pmap_advise() or pmap_remove() called this function by way + * of pmap_demote_pde_locked(). + */ + start_di = pmap_not_in_di(); + mtx_lock(&pv_chunks_mutex); while ((pc = TAILQ_FIRST(&pv_chunks)) != NULL && SLIST_EMPTY(&free)) { TAILQ_REMOVE(&pv_chunks, pc, pc_lru); mtx_unlock(&pv_chunks_mutex); if (pmap != pc->pc_pmap) { - if (pmap != NULL) { - pmap_invalidate_all(pmap); - if (pmap != locked_pmap) - PMAP_UNLOCK(pmap); - } - pmap_delayed_invl_finished(); - pmap_delayed_invl_started(); + reclaim_pv_chunk_leave_pmap(pmap, locked_pmap, + start_di); pmap = pc->pc_pmap; /* Avoid deadlock and lock recursion. */ if (pmap > locked_pmap) { @@ -2925,6 +2941,8 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l PG_A = pmap_accessed_bit(pmap); PG_M = pmap_modified_bit(pmap); PG_RW = pmap_rw_bit(pmap); + if (start_di) + pmap_delayed_invl_started(); } /* @@ -2999,18 +3017,12 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l } TAILQ_CONCAT(&pv_chunks, &new_tail, pc_lru); mtx_unlock(&pv_chunks_mutex); - if (pmap != NULL) { - pmap_invalidate_all(pmap); - if (pmap != locked_pmap) - PMAP_UNLOCK(pmap); - } - pmap_delayed_invl_finished(); + reclaim_pv_chunk_leave_pmap(pmap, locked_pmap, start_di); if (m_pc == NULL && !SLIST_EMPTY(&free)) { m_pc = SLIST_FIRST(&free); SLIST_REMOVE_HEAD(&free, plinks.s.ss); /* Recycle a freed page table page. */ m_pc->wire_count = 1; - atomic_add_int(&vm_cnt.v_wire_count, 1); } pmap_free_zero_pages(&free); return (m_pc); @@ -3678,7 +3690,6 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offse ("pmap_remove_pde: pte page wire count error")); mpte->wire_count = 0; pmap_add_delayed_free_list(mpte, free, FALSE); - atomic_subtract_int(&vm_cnt.v_wire_count, 1); } } return (pmap_unuse_pt(pmap, sva, *pmap_pdpe(pmap, sva), free)); @@ -4092,6 +4103,26 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t PG_RW = pmap_rw_bit(pmap); anychanged = FALSE; + /* + * Although this function delays and batches the invalidation + * of stale TLB entries, it does not need to call + * pmap_delayed_invl_started() and + * pmap_delayed_invl_finished(), because it does not + * ordinarily destroy mappings. Stale TLB entries from + * protection-only changes need only be invalidated before the + * pmap lock is released, because protection-only changes do + * not destroy PV entries. Even operations that iterate over + * a physical page's PV list of mappings, like + * pmap_remove_write(), acquire the pmap lock for each + * mapping. Consequently, for protection-only changes, the + * pmap lock suffices to synchronize both page table and TLB + * updates. + * + * This function only destroys a mapping if pmap_demote_pde() + * fails. In that case, stale TLB entries are immediately + * invalidated. + */ + PMAP_LOCK(pmap); for (; sva < eva; sva = va_next) { @@ -5476,6 +5507,15 @@ pmap_page_is_mapped(vm_page_t m) * no processor is currently accessing the user address space. In * particular, a page table entry's dirty bit won't change state once * this function starts. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710052037.v95Kbrjf050570>