svn commit: r352051 - in projects/nfsv42/sys: amd64/amd64 amd64/conf amd64/include amd64/linux amd64/linux32 amd64/vmm amd64/vmm/amd amd64/vmm/intel amd64/vmm/io arm/allwinner arm/allwinner/a20 arm...
Rick Macklem
rmacklem at FreeBSD.org
Mon Sep 9 00:46:26 UTC 2019
Author: rmacklem
Date: Mon Sep 9 00:46:22 2019
New Revision: 352051
URL: https://svnweb.freebsd.org/changeset/base/352051
Log:
Merge in an up to date head kernel.
Added:
projects/nfsv42/sys/amd64/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/amd64/include/pcpu_aux.h
projects/nfsv42/sys/amd64/linux/linux_locore.asm
- copied unchanged from r352050, head/sys/amd64/linux/linux_locore.asm
projects/nfsv42/sys/amd64/linux32/linux32_locore.asm
- copied unchanged from r352050, head/sys/amd64/linux32/linux32_locore.asm
projects/nfsv42/sys/arm/allwinner/clkng/aw_clk_m.c
- copied unchanged from r352050, head/sys/arm/allwinner/clkng/aw_clk_m.c
projects/nfsv42/sys/arm/allwinner/clkng/aw_clk_m.h
- copied unchanged from r352050, head/sys/arm/allwinner/clkng/aw_clk_m.h
projects/nfsv42/sys/arm/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/arm/include/pcpu_aux.h
projects/nfsv42/sys/arm64/conf/Makefile
- copied unchanged from r352050, head/sys/arm64/conf/Makefile
projects/nfsv42/sys/arm64/conf/NOTES
- copied unchanged from r352050, head/sys/arm64/conf/NOTES
projects/nfsv42/sys/arm64/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/arm64/include/pcpu_aux.h
projects/nfsv42/sys/arm64/linux/linux_locore.asm
- copied unchanged from r352050, head/sys/arm64/linux/linux_locore.asm
projects/nfsv42/sys/conf/files.x86
- copied unchanged from r352050, head/sys/conf/files.x86
projects/nfsv42/sys/contrib/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c
- copied unchanged from r352050, head/sys/contrib/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress_literals.c
- copied unchanged from r352050, head/sys/contrib/zstd/lib/compress/zstd_compress_literals.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress_literals.h
- copied unchanged from r352050, head/sys/contrib/zstd/lib/compress/zstd_compress_literals.h
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress_sequences.c
- copied unchanged from r352050, head/sys/contrib/zstd/lib/compress/zstd_compress_sequences.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress_sequences.h
- copied unchanged from r352050, head/sys/contrib/zstd/lib/compress/zstd_compress_sequences.h
projects/nfsv42/sys/contrib/zstd/tests/bigdict.c
- copied unchanged from r352050, head/sys/contrib/zstd/tests/bigdict.c
projects/nfsv42/sys/contrib/zstd/tests/fuzz/simple_compress.c
- copied unchanged from r352050, head/sys/contrib/zstd/tests/fuzz/simple_compress.c
projects/nfsv42/sys/contrib/zstd/tests/fuzz/zstd_frame_info.c
- copied unchanged from r352050, head/sys/contrib/zstd/tests/fuzz/zstd_frame_info.c
projects/nfsv42/sys/dev/altera/dwc/
- copied from r352050, head/sys/dev/altera/dwc/
projects/nfsv42/sys/dev/gpio/dwgpio/
- copied from r352050, head/sys/dev/gpio/dwgpio/
projects/nfsv42/sys/dev/iicbus/ads111x.c
- copied unchanged from r352050, head/sys/dev/iicbus/ads111x.c
projects/nfsv42/sys/dev/ntb/test/
- copied from r352050, head/sys/dev/ntb/test/
projects/nfsv42/sys/dev/nvme/nvme_ahci.c
- copied unchanged from r352050, head/sys/dev/nvme/nvme_ahci.c
projects/nfsv42/sys/dev/nvme/nvme_pci.c
- copied unchanged from r352050, head/sys/dev/nvme/nvme_pci.c
projects/nfsv42/sys/dev/usb/net/if_cdceem.c
- copied unchanged from r352050, head/sys/dev/usb/net/if_cdceem.c
projects/nfsv42/sys/dev/usb/template/usb_template_cdceem.c
- copied unchanged from r352050, head/sys/dev/usb/template/usb_template_cdceem.c
projects/nfsv42/sys/dev/zlib/
- copied from r352050, head/sys/dev/zlib/
projects/nfsv42/sys/dts/arm/overlays/sun8i-h3-ths.dtso
- copied unchanged from r352050, head/sys/dts/arm/overlays/sun8i-h3-ths.dtso
projects/nfsv42/sys/geom/geom_dbg.h
- copied unchanged from r352050, head/sys/geom/geom_dbg.h
projects/nfsv42/sys/geom/uzip/g_uzip_zstd.c
- copied unchanged from r352050, head/sys/geom/uzip/g_uzip_zstd.c
projects/nfsv42/sys/geom/uzip/g_uzip_zstd.h
- copied unchanged from r352050, head/sys/geom/uzip/g_uzip_zstd.h
projects/nfsv42/sys/i386/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/i386/include/pcpu_aux.h
projects/nfsv42/sys/i386/linux/linux_locore.asm
- copied unchanged from r352050, head/sys/i386/linux/linux_locore.asm
projects/nfsv42/sys/kern/uipc_ktls.c
- copied unchanged from r352050, head/sys/kern/uipc_ktls.c
projects/nfsv42/sys/libkern/strchrnul.c
- copied unchanged from r352050, head/sys/libkern/strchrnul.c
projects/nfsv42/sys/mips/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/mips/include/pcpu_aux.h
projects/nfsv42/sys/modules/i2c/ads111x/
- copied from r352050, head/sys/modules/i2c/ads111x/
projects/nfsv42/sys/modules/ktls_ocf/
- copied from r352050, head/sys/modules/ktls_ocf/
projects/nfsv42/sys/modules/ntb/ntb_tool/
- copied from r352050, head/sys/modules/ntb/ntb_tool/
projects/nfsv42/sys/modules/usb/cdceem/
- copied from r352050, head/sys/modules/usb/cdceem/
projects/nfsv42/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c
- copied unchanged from r352050, head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c
projects/nfsv42/sys/netinet/tcp_ratelimit.c
- copied unchanged from r352050, head/sys/netinet/tcp_ratelimit.c
projects/nfsv42/sys/netinet/tcp_ratelimit.h
- copied unchanged from r352050, head/sys/netinet/tcp_ratelimit.h
projects/nfsv42/sys/ofed/include/rdma/rdma_sdp.h
- copied unchanged from r352050, head/sys/ofed/include/rdma/rdma_sdp.h
projects/nfsv42/sys/opencrypto/ktls_ocf.c
- copied unchanged from r352050, head/sys/opencrypto/ktls_ocf.c
projects/nfsv42/sys/powerpc/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/powerpc/include/pcpu_aux.h
projects/nfsv42/sys/riscv/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/riscv/include/pcpu_aux.h
projects/nfsv42/sys/sparc64/include/pcpu_aux.h
- copied unchanged from r352050, head/sys/sparc64/include/pcpu_aux.h
projects/nfsv42/sys/sys/ktls.h
- copied unchanged from r352050, head/sys/sys/ktls.h
projects/nfsv42/sys/sys/qmath.h
- copied unchanged from r352050, head/sys/sys/qmath.h
projects/nfsv42/sys/x86/conf/
- copied from r352050, head/sys/x86/conf/
Deleted:
projects/nfsv42/sys/amd64/linux/linux_locore.s
projects/nfsv42/sys/amd64/linux32/linux32_locore.s
projects/nfsv42/sys/arm/altera/socfpga/socfpga_gpio.c
projects/nfsv42/sys/arm/arm/elf_trampoline.c
projects/nfsv42/sys/arm/arm/inckern.S
projects/nfsv42/sys/arm64/linux/linux_locore.s
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/adler32.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/crc32.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/deflate.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/deflate.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inffast.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inffast.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inffixed.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inflate.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inflate.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inftrees.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/inftrees.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/trees.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zconf.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zlib.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zutil.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zutil.h
projects/nfsv42/sys/contrib/zstd/tests/fuzz/default.options
projects/nfsv42/sys/dev/netmap/netmap_pt.c
projects/nfsv42/sys/fs/fuse/fuse_param.h
projects/nfsv42/sys/geom/geom_bsd.c
projects/nfsv42/sys/geom/geom_fox.c
projects/nfsv42/sys/geom/geom_mbr.c
projects/nfsv42/sys/geom/geom_mbr_enc.c
projects/nfsv42/sys/geom/geom_sunlabel.c
projects/nfsv42/sys/geom/geom_sunlabel_enc.c
projects/nfsv42/sys/geom/geom_vol_ffs.c
projects/nfsv42/sys/i386/linux/linux_locore.s
projects/nfsv42/sys/kern/imgact_gzip.c
projects/nfsv42/sys/kern/subr_inflate.c
projects/nfsv42/sys/libkern/zlib.c
projects/nfsv42/sys/modules/geom/geom_bsd/
projects/nfsv42/sys/modules/geom/geom_fox/
projects/nfsv42/sys/modules/geom/geom_mbr/
projects/nfsv42/sys/modules/geom/geom_sunlabel/
projects/nfsv42/sys/modules/geom/geom_vol_ffs/
projects/nfsv42/sys/sys/_kstack_cache.h
projects/nfsv42/sys/sys/dir.h
projects/nfsv42/sys/sys/inflate.h
projects/nfsv42/sys/sys/sun_disklabel.h
projects/nfsv42/sys/sys/zlib.h
projects/nfsv42/sys/sys/zutil.h
Modified:
projects/nfsv42/sys/amd64/amd64/cpu_switch.S
projects/nfsv42/sys/amd64/amd64/elf_machdep.c
projects/nfsv42/sys/amd64/amd64/exception.S
projects/nfsv42/sys/amd64/amd64/machdep.c
projects/nfsv42/sys/amd64/amd64/mp_machdep.c
projects/nfsv42/sys/amd64/amd64/pmap.c
projects/nfsv42/sys/amd64/amd64/vm_machdep.c
projects/nfsv42/sys/amd64/conf/Makefile
projects/nfsv42/sys/amd64/conf/NOTES
projects/nfsv42/sys/amd64/include/asmacros.h
projects/nfsv42/sys/amd64/include/counter.h
projects/nfsv42/sys/amd64/include/gdb_machdep.h
projects/nfsv42/sys/amd64/include/md_var.h
projects/nfsv42/sys/amd64/include/pcpu.h
projects/nfsv42/sys/amd64/include/pmap.h
projects/nfsv42/sys/amd64/include/vmm.h
projects/nfsv42/sys/amd64/include/vmparam.h
projects/nfsv42/sys/amd64/linux/linux_ptrace.c
projects/nfsv42/sys/amd64/linux/linux_sysvec.c
projects/nfsv42/sys/amd64/vmm/amd/svm.c
projects/nfsv42/sys/amd64/vmm/intel/vmx.c
projects/nfsv42/sys/amd64/vmm/intel/vmx_msr.c
projects/nfsv42/sys/amd64/vmm/io/ppt.c
projects/nfsv42/sys/amd64/vmm/io/ppt.h
projects/nfsv42/sys/amd64/vmm/io/vlapic.c
projects/nfsv42/sys/amd64/vmm/io/vlapic.h
projects/nfsv42/sys/amd64/vmm/io/vlapic_priv.h
projects/nfsv42/sys/amd64/vmm/vmm.c
projects/nfsv42/sys/amd64/vmm/vmm_host.h
projects/nfsv42/sys/amd64/vmm/vmm_lapic.c
projects/nfsv42/sys/amd64/vmm/vmm_lapic.h
projects/nfsv42/sys/amd64/vmm/vmm_util.c
projects/nfsv42/sys/amd64/vmm/vmm_util.h
projects/nfsv42/sys/arm/allwinner/a10_sramc.c
projects/nfsv42/sys/arm/allwinner/a20/a20_cpu_cfg.c
projects/nfsv42/sys/arm/allwinner/aw_gmacclk.c
projects/nfsv42/sys/arm/allwinner/aw_reset.c
projects/nfsv42/sys/arm/allwinner/aw_rsb.c
projects/nfsv42/sys/arm/allwinner/aw_rtc.c
projects/nfsv42/sys/arm/allwinner/aw_sid.c
projects/nfsv42/sys/arm/allwinner/aw_syscon.c
projects/nfsv42/sys/arm/allwinner/clkng/aw_ccung.c
projects/nfsv42/sys/arm/allwinner/clkng/aw_ccung.h
projects/nfsv42/sys/arm/allwinner/clkng/aw_clk.h
projects/nfsv42/sys/arm/allwinner/clkng/aw_clk_frac.c
projects/nfsv42/sys/arm/allwinner/clkng/aw_clk_frac.h
projects/nfsv42/sys/arm/allwinner/clkng/ccu_a10.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_a13.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_a31.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_a64.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_a83t.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_de2.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_h3.c
projects/nfsv42/sys/arm/allwinner/clkng/ccu_sun8i_r.c
projects/nfsv42/sys/arm/allwinner/files.allwinner
projects/nfsv42/sys/arm/altera/socfpga/files.socfpga
projects/nfsv42/sys/arm/arm/busdma_machdep-v4.c
projects/nfsv42/sys/arm/arm/busdma_machdep-v6.c
projects/nfsv42/sys/arm/arm/mem.c
projects/nfsv42/sys/arm/arm/minidump_machdep.c
projects/nfsv42/sys/arm/arm/mp_machdep.c
projects/nfsv42/sys/arm/arm/physmem.c
projects/nfsv42/sys/arm/broadcom/bcm2835/bcm2835_fbd.c
projects/nfsv42/sys/arm/broadcom/bcm2835/bcm2835_mbox.c
projects/nfsv42/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h
projects/nfsv42/sys/arm/conf/ALPINE
projects/nfsv42/sys/arm/conf/ARMADA38X
projects/nfsv42/sys/arm/conf/ARMADAXP
projects/nfsv42/sys/arm/conf/DB-78XXX
projects/nfsv42/sys/arm/conf/DB-88F5XXX
projects/nfsv42/sys/arm/conf/DB-88F6XXX
projects/nfsv42/sys/arm/conf/GENERIC
projects/nfsv42/sys/arm/conf/NOTES
projects/nfsv42/sys/arm/conf/NOTES.armv5
projects/nfsv42/sys/arm/conf/RT1310
projects/nfsv42/sys/arm/conf/SHEEVAPLUG
projects/nfsv42/sys/arm/conf/SOCFPGA
projects/nfsv42/sys/arm/conf/TEGRA124
projects/nfsv42/sys/arm/conf/TS7800
projects/nfsv42/sys/arm/conf/VYBRID
projects/nfsv42/sys/arm/include/counter.h
projects/nfsv42/sys/arm/include/pmap.h
projects/nfsv42/sys/arm/mv/a37x0_gpio.c
projects/nfsv42/sys/arm/mv/discovery/std.db78xxx
projects/nfsv42/sys/arm/mv/orion/std.db88f5xxx
projects/nfsv42/sys/arm/mv/orion/std.ts7800
projects/nfsv42/sys/arm/ralink/std.ralink
projects/nfsv42/sys/arm/samsung/exynos/exynos5_combiner.c
projects/nfsv42/sys/arm/samsung/exynos/exynos5_pad.c
projects/nfsv42/sys/arm/ti/am335x/am335x_pmic.c
projects/nfsv42/sys/arm/ti/am335x/files.am335x
projects/nfsv42/sys/arm/ti/am335x/tda19988.c
projects/nfsv42/sys/arm/ti/cpsw/if_cpsw.c
projects/nfsv42/sys/arm/ti/ti_hwmods.c
projects/nfsv42/sys/arm/ti/ti_sdhci.c
projects/nfsv42/sys/arm64/arm64/freebsd32_machdep.c
projects/nfsv42/sys/arm64/arm64/identcpu.c
projects/nfsv42/sys/arm64/arm64/mp_machdep.c
projects/nfsv42/sys/arm64/arm64/pmap.c
projects/nfsv42/sys/arm64/conf/GENERIC
projects/nfsv42/sys/arm64/include/counter.h
projects/nfsv42/sys/arm64/include/cpu.h
projects/nfsv42/sys/arm64/include/pmap.h
projects/nfsv42/sys/arm64/include/pte.h
projects/nfsv42/sys/arm64/rockchip/if_dwc_rk.c
projects/nfsv42/sys/arm64/rockchip/rk_gpio.c
projects/nfsv42/sys/arm64/rockchip/rk_grf.c
projects/nfsv42/sys/arm64/rockchip/rk_i2c.c
projects/nfsv42/sys/arm64/rockchip/rk_pinctrl.c
projects/nfsv42/sys/cam/ata/ata_xpt.c
projects/nfsv42/sys/cam/ctl/ctl.c
projects/nfsv42/sys/cam/ctl/ctl_backend_ramdisk.c
projects/nfsv42/sys/cam/mmc/mmc_xpt.c
projects/nfsv42/sys/cam/nvme/nvme_xpt.c
projects/nfsv42/sys/cam/scsi/scsi_all.c
projects/nfsv42/sys/cam/scsi/scsi_all.h
projects/nfsv42/sys/cam/scsi/scsi_cd.c
projects/nfsv42/sys/cam/scsi/scsi_cd.h
projects/nfsv42/sys/cam/scsi/scsi_enc_ses.c
projects/nfsv42/sys/cam/scsi/scsi_xpt.c
projects/nfsv42/sys/cddl/boot/zfs/zfsimpl.h
projects/nfsv42/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c
projects/nfsv42/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/os/list.c
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/sys/list.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/sys/list_impl.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/sys/note.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h
projects/nfsv42/sys/cddl/contrib/opensolaris/uts/common/zmod/zmod.c
projects/nfsv42/sys/compat/cloudabi/cloudabi_fd.c
projects/nfsv42/sys/compat/freebsd32/freebsd32_capability.c
projects/nfsv42/sys/compat/freebsd32/freebsd32_misc.c
projects/nfsv42/sys/compat/freebsd32/freebsd32_proto.h
projects/nfsv42/sys/compat/freebsd32/freebsd32_syscall.h
projects/nfsv42/sys/compat/freebsd32/freebsd32_syscalls.c
projects/nfsv42/sys/compat/freebsd32/freebsd32_sysent.c
projects/nfsv42/sys/compat/freebsd32/freebsd32_systrace_args.c
projects/nfsv42/sys/compat/freebsd32/syscalls.master
projects/nfsv42/sys/compat/ia32/ia32_sysvec.c
projects/nfsv42/sys/compat/linprocfs/linprocfs.c
projects/nfsv42/sys/compat/linux/linux_mib.c
projects/nfsv42/sys/compat/linux/linux_mib.h
projects/nfsv42/sys/compat/linux/linux_misc.c
projects/nfsv42/sys/compat/linux/linux_uid16.c
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/device.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/gfp.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/interrupt.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/io.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/lockdep.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/pci.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/sysfs.h
projects/nfsv42/sys/compat/linuxkpi/common/include/linux/workqueue.h
projects/nfsv42/sys/compat/linuxkpi/common/src/linux_pci.c
projects/nfsv42/sys/conf/Makefile.arm
projects/nfsv42/sys/conf/NOTES
projects/nfsv42/sys/conf/files
projects/nfsv42/sys/conf/files.amd64
projects/nfsv42/sys/conf/files.arm
projects/nfsv42/sys/conf/files.arm64
projects/nfsv42/sys/conf/files.i386
projects/nfsv42/sys/conf/files.sparc64
projects/nfsv42/sys/conf/kern.mk
projects/nfsv42/sys/conf/kern.post.mk
projects/nfsv42/sys/conf/kern.pre.mk
projects/nfsv42/sys/conf/kmod.mk
projects/nfsv42/sys/conf/makeLINT.mk
projects/nfsv42/sys/conf/newvers.sh
projects/nfsv42/sys/conf/options
projects/nfsv42/sys/contrib/dev/acpica/components/executer/exconfig.c
projects/nfsv42/sys/contrib/dev/acpica/include/platform/acfreebsd.h
projects/nfsv42/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c
projects/nfsv42/sys/contrib/ipfilter/netinet/fil.c
projects/nfsv42/sys/contrib/ipfilter/netinet/ip_fil.h
projects/nfsv42/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
projects/nfsv42/sys/contrib/ipfilter/netinet/ip_nat.c
projects/nfsv42/sys/contrib/ipfilter/netinet/ip_state.c
projects/nfsv42/sys/contrib/ipfilter/netinet/mlfk_ipl.c
projects/nfsv42/sys/contrib/ncsw/Peripherals/FM/HC/hc.c
projects/nfsv42/sys/contrib/ncsw/Peripherals/FM/Pcd/fm_cc.c
projects/nfsv42/sys/contrib/ncsw/Peripherals/QM/qm_portal_fqr.c
projects/nfsv42/sys/contrib/ncsw/inc/Peripherals/dpaa_ext.h
projects/nfsv42/sys/contrib/ncsw/user/env/xx.c
projects/nfsv42/sys/contrib/zlib/deflate.c
projects/nfsv42/sys/contrib/zlib/infback.c
projects/nfsv42/sys/contrib/zlib/inflate.c
projects/nfsv42/sys/contrib/zlib/zconf.h
projects/nfsv42/sys/contrib/zlib/zlib.h
projects/nfsv42/sys/contrib/zlib/zutil.h
projects/nfsv42/sys/contrib/zstd/CHANGELOG
projects/nfsv42/sys/contrib/zstd/contrib/largeNbDicts/largeNbDicts.c
projects/nfsv42/sys/contrib/zstd/contrib/seekable_format/examples/.gitignore
projects/nfsv42/sys/contrib/zstd/contrib/seekable_format/examples/Makefile
projects/nfsv42/sys/contrib/zstd/contrib/seekable_format/zstdseek_decompress.c
projects/nfsv42/sys/contrib/zstd/doc/zstd_compression_format.md
projects/nfsv42/sys/contrib/zstd/doc/zstd_manual.html
projects/nfsv42/sys/contrib/zstd/examples/Makefile
projects/nfsv42/sys/contrib/zstd/lib/Makefile
projects/nfsv42/sys/contrib/zstd/lib/common/compiler.h
projects/nfsv42/sys/contrib/zstd/lib/common/zstd_internal.h
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_compress_internal.h
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_double_fast.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_fast.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_lazy.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_ldm.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstd_opt.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstdmt_compress.c
projects/nfsv42/sys/contrib/zstd/lib/compress/zstdmt_compress.h
projects/nfsv42/sys/contrib/zstd/lib/decompress/zstd_decompress.c
projects/nfsv42/sys/contrib/zstd/lib/decompress/zstd_decompress_block.c
projects/nfsv42/sys/contrib/zstd/lib/dictBuilder/cover.c
projects/nfsv42/sys/contrib/zstd/lib/dictBuilder/cover.h
projects/nfsv42/sys/contrib/zstd/lib/dictBuilder/fastcover.c
projects/nfsv42/sys/contrib/zstd/lib/dictBuilder/zdict.c
projects/nfsv42/sys/contrib/zstd/lib/dictBuilder/zdict.h
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_legacy.h
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v01.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v02.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v03.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v04.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v05.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v06.c
projects/nfsv42/sys/contrib/zstd/lib/legacy/zstd_v07.c
projects/nfsv42/sys/contrib/zstd/lib/zstd.h
projects/nfsv42/sys/contrib/zstd/programs/.gitignore
projects/nfsv42/sys/contrib/zstd/programs/README.md
projects/nfsv42/sys/contrib/zstd/programs/benchfn.c
projects/nfsv42/sys/contrib/zstd/programs/fileio.c
projects/nfsv42/sys/contrib/zstd/programs/fileio.h
projects/nfsv42/sys/contrib/zstd/programs/util.c
projects/nfsv42/sys/contrib/zstd/programs/zstd.1
projects/nfsv42/sys/contrib/zstd/programs/zstd.1.md
projects/nfsv42/sys/contrib/zstd/programs/zstdcli.c
projects/nfsv42/sys/contrib/zstd/programs/zstdgrep
projects/nfsv42/sys/contrib/zstd/programs/zstdgrep.1
projects/nfsv42/sys/contrib/zstd/programs/zstdless.1
projects/nfsv42/sys/contrib/zstd/tests/.gitignore
projects/nfsv42/sys/contrib/zstd/tests/Makefile
projects/nfsv42/sys/contrib/zstd/tests/decodecorpus.c
projects/nfsv42/sys/contrib/zstd/tests/fullbench.c
projects/nfsv42/sys/contrib/zstd/tests/fuzz/Makefile
projects/nfsv42/sys/contrib/zstd/tests/fuzz/dictionary_decompress.c
projects/nfsv42/sys/contrib/zstd/tests/fuzz/fuzz.py
projects/nfsv42/sys/contrib/zstd/tests/fuzz/simple_decompress.c
projects/nfsv42/sys/contrib/zstd/tests/fuzzer.c
projects/nfsv42/sys/contrib/zstd/tests/paramgrill.c
projects/nfsv42/sys/contrib/zstd/tests/playTests.sh
projects/nfsv42/sys/contrib/zstd/tests/poolTests.c
projects/nfsv42/sys/contrib/zstd/tests/regression/results.csv
projects/nfsv42/sys/contrib/zstd/tests/zstreamtest.c
projects/nfsv42/sys/contrib/zstd/zlibWrapper/.gitignore
projects/nfsv42/sys/crypto/armv8/armv8_crypto.c
projects/nfsv42/sys/crypto/blowfish/bf_skey.c
projects/nfsv42/sys/crypto/blowfish/blowfish.h
projects/nfsv42/sys/crypto/chacha20/chacha-sw.c
projects/nfsv42/sys/crypto/des/des.h
projects/nfsv42/sys/crypto/des/des_ecb.c
projects/nfsv42/sys/crypto/des/des_setkey.c
projects/nfsv42/sys/ddb/db_ps.c
projects/nfsv42/sys/ddb/db_thread.c
projects/nfsv42/sys/dev/acpi_support/acpi_wmi.c
projects/nfsv42/sys/dev/acpica/acpi.c
projects/nfsv42/sys/dev/acpica/acpi_pci_link.c
projects/nfsv42/sys/dev/acpica/acpi_pcib_acpi.c
projects/nfsv42/sys/dev/acpica/acpi_pxm.c
projects/nfsv42/sys/dev/acpica/acpi_resource.c
projects/nfsv42/sys/dev/acpica/acpivar.h
projects/nfsv42/sys/dev/ahci/ahci.c
projects/nfsv42/sys/dev/ahci/ahci.h
projects/nfsv42/sys/dev/ahci/ahci_pci.c
projects/nfsv42/sys/dev/amdsmn/amdsmn.c
projects/nfsv42/sys/dev/amdtemp/amdtemp.c
projects/nfsv42/sys/dev/bhnd/nvram/bhnd_nvram_data_tlv.c
projects/nfsv42/sys/dev/bhnd/nvram/bhnd_nvram_store.c
projects/nfsv42/sys/dev/bhnd/nvram/bhnd_nvram_value.c
projects/nfsv42/sys/dev/bhnd/nvram/bhnd_nvram_value_prf.c
projects/nfsv42/sys/dev/bxe/bxe.h
projects/nfsv42/sys/dev/cxgbe/adapter.h
projects/nfsv42/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
projects/nfsv42/sys/dev/cxgbe/iw_cxgbe/qp.c
projects/nfsv42/sys/dev/cxgbe/t4_main.c
projects/nfsv42/sys/dev/cxgbe/t4_sched.c
projects/nfsv42/sys/dev/cxgbe/t4_sge.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_connect.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_cpl_io.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_ddp.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_listen.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_tls.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_tom.c
projects/nfsv42/sys/dev/cxgbe/tom/t4_tom.h
projects/nfsv42/sys/dev/dpaa/if_dtsec_rm.c
projects/nfsv42/sys/dev/drm2/drmP.h
projects/nfsv42/sys/dev/extres/clk/clk.h
projects/nfsv42/sys/dev/extres/syscon/syscon.c
projects/nfsv42/sys/dev/extres/syscon/syscon_if.m
projects/nfsv42/sys/dev/fdc/fdc.c
projects/nfsv42/sys/dev/fdt/simple_mfd.c
projects/nfsv42/sys/dev/gpio/gpiopps.c
projects/nfsv42/sys/dev/ichsmb/ichsmb.c
projects/nfsv42/sys/dev/iicbus/twsi/twsi.c
projects/nfsv42/sys/dev/md/md.c
projects/nfsv42/sys/dev/mii/micphy.c
projects/nfsv42/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
projects/nfsv42/sys/dev/mmc/host/dwmmc.c
projects/nfsv42/sys/dev/mmc/host/dwmmc_altera.c
projects/nfsv42/sys/dev/mmc/host/dwmmc_var.h
projects/nfsv42/sys/dev/mxge/if_mxge.c
projects/nfsv42/sys/dev/netmap/netmap.c
projects/nfsv42/sys/dev/netmap/netmap_kern.h
projects/nfsv42/sys/dev/netmap/netmap_kloop.c
projects/nfsv42/sys/dev/netmap/netmap_mem2.c
projects/nfsv42/sys/dev/ntb/ntb_hw/ntb_hw_amd.c
projects/nfsv42/sys/dev/ntb/ntb_hw/ntb_hw_amd.h
projects/nfsv42/sys/dev/ntb/ntb_hw/ntb_hw_intel.c
projects/nfsv42/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
projects/nfsv42/sys/dev/ntb/ntb_transport.c
projects/nfsv42/sys/dev/nvd/nvd.c
projects/nfsv42/sys/dev/nvdimm/nvdimm.c
projects/nfsv42/sys/dev/nvme/nvme.c
projects/nfsv42/sys/dev/nvme/nvme.h
projects/nfsv42/sys/dev/nvme/nvme_ctrlr.c
projects/nfsv42/sys/dev/nvme/nvme_ns.c
projects/nfsv42/sys/dev/nvme/nvme_ns_cmd.c
projects/nfsv42/sys/dev/nvme/nvme_private.h
projects/nfsv42/sys/dev/nvme/nvme_qpair.c
projects/nfsv42/sys/dev/oce/oce_if.c
projects/nfsv42/sys/dev/ofw/ofw_subr.c
projects/nfsv42/sys/dev/ofw/ofwpci.c
projects/nfsv42/sys/dev/pci/pci_host_generic.c
projects/nfsv42/sys/dev/pci/pci_pci.c
projects/nfsv42/sys/dev/pci/vga_pci.c
projects/nfsv42/sys/dev/qlxgbe/ql_isr.c
projects/nfsv42/sys/dev/ral/rt2860.c
projects/nfsv42/sys/dev/ral/rt2860var.h
projects/nfsv42/sys/dev/random/darn.c
projects/nfsv42/sys/dev/random/fortuna.c
projects/nfsv42/sys/dev/random/ivy.c
projects/nfsv42/sys/dev/random/nehemiah.c
projects/nfsv42/sys/dev/random/random_harvestq.c
projects/nfsv42/sys/dev/random/randomdev.c
projects/nfsv42/sys/dev/rtwn/pci/rtwn_pci_attach.h
projects/nfsv42/sys/dev/rtwn/usb/rtwn_usb_attach.h
projects/nfsv42/sys/dev/sdhci/sdhci.c
projects/nfsv42/sys/dev/sfxge/common/ef10_impl.h
projects/nfsv42/sys/dev/sfxge/common/ef10_nvram.c
projects/nfsv42/sys/dev/sfxge/common/ef10_rx.c
projects/nfsv42/sys/dev/sfxge/common/efsys.h
projects/nfsv42/sys/dev/sfxge/common/efx.h
projects/nfsv42/sys/dev/sfxge/common/efx_mcdi.h
projects/nfsv42/sys/dev/sfxge/common/efx_tx.c
projects/nfsv42/sys/dev/sfxge/sfxge_port.c
projects/nfsv42/sys/dev/sfxge/sfxge_rx.c
projects/nfsv42/sys/dev/sound/midi/midi.c
projects/nfsv42/sys/dev/sound/midi/sequencer.c
projects/nfsv42/sys/dev/sound/pci/hda/hdaa_patches.c
projects/nfsv42/sys/dev/sound/pci/hda/hdac.h
projects/nfsv42/sys/dev/sound/pcm/channel.h
projects/nfsv42/sys/dev/superio/superio.c
projects/nfsv42/sys/dev/superio/superio.h
projects/nfsv42/sys/dev/usb/controller/xhci_pci.c
projects/nfsv42/sys/dev/usb/net/if_aue.c
projects/nfsv42/sys/dev/usb/net/if_axe.c
projects/nfsv42/sys/dev/usb/net/if_axge.c
projects/nfsv42/sys/dev/usb/net/if_mos.c
projects/nfsv42/sys/dev/usb/net/if_muge.c
projects/nfsv42/sys/dev/usb/net/if_rue.c
projects/nfsv42/sys/dev/usb/net/if_smsc.c
projects/nfsv42/sys/dev/usb/net/if_udav.c
projects/nfsv42/sys/dev/usb/net/if_ure.c
projects/nfsv42/sys/dev/usb/net/if_urndis.c
projects/nfsv42/sys/dev/usb/net/usb_ethernet.c
projects/nfsv42/sys/dev/usb/net/usb_ethernet.h
projects/nfsv42/sys/dev/usb/template/usb_template.c
projects/nfsv42/sys/dev/usb/template/usb_template.h
projects/nfsv42/sys/dev/usb/usb.h
projects/nfsv42/sys/dev/usb/usb_hid.c
projects/nfsv42/sys/dev/usb/usb_hub_acpi.c
projects/nfsv42/sys/dev/usb/usb_ioctl.h
projects/nfsv42/sys/dev/usb/usbdevs
projects/nfsv42/sys/dev/vmware/vmci/vmci.c
projects/nfsv42/sys/dev/vnic/nicvf_main.c
projects/nfsv42/sys/dev/vnic/thunder_bgx.c
projects/nfsv42/sys/dev/xdma/xdma_sg.c
projects/nfsv42/sys/dts/arm/overlays/sun8i-h3-sid.dtso
projects/nfsv42/sys/fs/cd9660/cd9660_node.c
projects/nfsv42/sys/fs/cd9660/cd9660_vfsops.c
projects/nfsv42/sys/fs/cd9660/cd9660_vnops.c
projects/nfsv42/sys/fs/devfs/devfs_vnops.c
projects/nfsv42/sys/fs/ext2fs/ext2_alloc.c
projects/nfsv42/sys/fs/ext2fs/ext2_balloc.c
projects/nfsv42/sys/fs/ext2fs/ext2_extattr.c
projects/nfsv42/sys/fs/ext2fs/ext2_extents.c
projects/nfsv42/sys/fs/ext2fs/ext2_inode.c
projects/nfsv42/sys/fs/ext2fs/ext2_vfsops.c
projects/nfsv42/sys/fs/ext2fs/ext2_vnops.c
projects/nfsv42/sys/fs/fuse/fuse.h
projects/nfsv42/sys/fs/fuse/fuse_device.c
projects/nfsv42/sys/fs/fuse/fuse_file.c
projects/nfsv42/sys/fs/fuse/fuse_file.h
projects/nfsv42/sys/fs/fuse/fuse_internal.c
projects/nfsv42/sys/fs/fuse/fuse_internal.h
projects/nfsv42/sys/fs/fuse/fuse_io.c
projects/nfsv42/sys/fs/fuse/fuse_io.h
projects/nfsv42/sys/fs/fuse/fuse_ipc.c
projects/nfsv42/sys/fs/fuse/fuse_ipc.h
projects/nfsv42/sys/fs/fuse/fuse_kernel.h
projects/nfsv42/sys/fs/fuse/fuse_main.c
projects/nfsv42/sys/fs/fuse/fuse_node.c
projects/nfsv42/sys/fs/fuse/fuse_node.h
projects/nfsv42/sys/fs/fuse/fuse_vfsops.c
projects/nfsv42/sys/fs/fuse/fuse_vnops.c
projects/nfsv42/sys/fs/msdosfs/denode.h
projects/nfsv42/sys/fs/msdosfs/fat.h
projects/nfsv42/sys/fs/msdosfs/msdosfs_denode.c
projects/nfsv42/sys/fs/msdosfs/msdosfs_fat.c
projects/nfsv42/sys/fs/msdosfs/msdosfs_lookup.c
projects/nfsv42/sys/fs/msdosfs/msdosfs_vfsops.c
projects/nfsv42/sys/fs/msdosfs/msdosfs_vnops.c
projects/nfsv42/sys/fs/msdosfs/msdosfsmount.h
projects/nfsv42/sys/fs/nfs/nfs_var.h
projects/nfsv42/sys/fs/nfsclient/nfs_clnode.c
projects/nfsv42/sys/fs/nfsclient/nfs_clvnops.c
projects/nfsv42/sys/fs/nfsserver/nfs_nfsdport.c
projects/nfsv42/sys/fs/nfsserver/nfs_nfsdstate.c
projects/nfsv42/sys/fs/nullfs/null_subr.c
projects/nfsv42/sys/fs/nullfs/null_vnops.c
projects/nfsv42/sys/fs/pseudofs/pseudofs_vnops.c
projects/nfsv42/sys/fs/smbfs/smbfs_node.c
projects/nfsv42/sys/fs/tmpfs/tmpfs_vfsops.c
projects/nfsv42/sys/fs/tmpfs/tmpfs_vnops.c
projects/nfsv42/sys/fs/udf/udf_vnops.c
projects/nfsv42/sys/fs/unionfs/union_subr.c
projects/nfsv42/sys/fs/unionfs/union_vnops.c
projects/nfsv42/sys/gdb/gdb_cons.c
projects/nfsv42/sys/gdb/gdb_int.h
projects/nfsv42/sys/gdb/gdb_main.c
projects/nfsv42/sys/gdb/gdb_packet.c
projects/nfsv42/sys/geom/cache/g_cache.c
projects/nfsv42/sys/geom/cache/g_cache.h
projects/nfsv42/sys/geom/concat/g_concat.c
projects/nfsv42/sys/geom/concat/g_concat.h
projects/nfsv42/sys/geom/eli/g_eli.c
projects/nfsv42/sys/geom/eli/g_eli.h
projects/nfsv42/sys/geom/eli/g_eli_ctl.c
projects/nfsv42/sys/geom/eli/g_eli_integrity.c
projects/nfsv42/sys/geom/eli/g_eli_privacy.c
projects/nfsv42/sys/geom/gate/g_gate.c
projects/nfsv42/sys/geom/gate/g_gate.h
projects/nfsv42/sys/geom/geom.h
projects/nfsv42/sys/geom/geom_io.c
projects/nfsv42/sys/geom/geom_subr.c
projects/nfsv42/sys/geom/geom_vfs.c
projects/nfsv42/sys/geom/journal/g_journal.c
projects/nfsv42/sys/geom/journal/g_journal.h
projects/nfsv42/sys/geom/journal/g_journal_ufs.c
projects/nfsv42/sys/geom/label/g_label.c
projects/nfsv42/sys/geom/label/g_label.h
projects/nfsv42/sys/geom/label/g_label_ext2fs.c
projects/nfsv42/sys/geom/label/g_label_iso9660.c
projects/nfsv42/sys/geom/label/g_label_msdosfs.c
projects/nfsv42/sys/geom/label/g_label_reiserfs.c
projects/nfsv42/sys/geom/label/g_label_ufs.c
projects/nfsv42/sys/geom/linux_lvm/g_linux_lvm.c
projects/nfsv42/sys/geom/linux_lvm/g_linux_lvm.h
projects/nfsv42/sys/geom/mirror/g_mirror.c
projects/nfsv42/sys/geom/mirror/g_mirror.h
projects/nfsv42/sys/geom/mirror/g_mirror_ctl.c
projects/nfsv42/sys/geom/mountver/g_mountver.c
projects/nfsv42/sys/geom/mountver/g_mountver.h
projects/nfsv42/sys/geom/nop/g_nop.c
projects/nfsv42/sys/geom/nop/g_nop.h
projects/nfsv42/sys/geom/part/g_part.c
projects/nfsv42/sys/geom/part/g_part_gpt.c
projects/nfsv42/sys/geom/raid/g_raid.c
projects/nfsv42/sys/geom/raid/g_raid.h
projects/nfsv42/sys/geom/raid/md_ddf.c
projects/nfsv42/sys/geom/raid/md_intel.c
projects/nfsv42/sys/geom/raid/md_jmicron.c
projects/nfsv42/sys/geom/raid/md_nvidia.c
projects/nfsv42/sys/geom/raid/md_promise.c
projects/nfsv42/sys/geom/raid/md_sii.c
projects/nfsv42/sys/geom/raid/tr_concat.c
projects/nfsv42/sys/geom/raid/tr_raid0.c
projects/nfsv42/sys/geom/raid/tr_raid1.c
projects/nfsv42/sys/geom/raid/tr_raid1e.c
projects/nfsv42/sys/geom/raid3/g_raid3.c
projects/nfsv42/sys/geom/raid3/g_raid3.h
projects/nfsv42/sys/geom/sched/g_sched.c
projects/nfsv42/sys/geom/sched/g_sched.h
projects/nfsv42/sys/geom/shsec/g_shsec.c
projects/nfsv42/sys/geom/shsec/g_shsec.h
projects/nfsv42/sys/geom/stripe/g_stripe.c
projects/nfsv42/sys/geom/stripe/g_stripe.h
projects/nfsv42/sys/geom/uzip/g_uzip.c
projects/nfsv42/sys/geom/uzip/g_uzip_cloop.h
projects/nfsv42/sys/geom/uzip/g_uzip_zlib.c
projects/nfsv42/sys/geom/vinum/geom_vinum.c
projects/nfsv42/sys/geom/vinum/geom_vinum.h
projects/nfsv42/sys/geom/vinum/geom_vinum_create.c
projects/nfsv42/sys/geom/vinum/geom_vinum_drive.c
projects/nfsv42/sys/geom/vinum/geom_vinum_events.c
projects/nfsv42/sys/geom/vinum/geom_vinum_init.c
projects/nfsv42/sys/geom/vinum/geom_vinum_move.c
projects/nfsv42/sys/geom/vinum/geom_vinum_plex.c
projects/nfsv42/sys/geom/vinum/geom_vinum_raid5.c
projects/nfsv42/sys/geom/vinum/geom_vinum_rename.c
projects/nfsv42/sys/geom/vinum/geom_vinum_rm.c
projects/nfsv42/sys/geom/vinum/geom_vinum_state.c
projects/nfsv42/sys/geom/vinum/geom_vinum_subr.c
projects/nfsv42/sys/geom/virstor/g_virstor.c
projects/nfsv42/sys/geom/virstor/g_virstor.h
projects/nfsv42/sys/gnu/dts/arm/am33xx-l4.dtsi
projects/nfsv42/sys/i386/conf/Makefile
projects/nfsv42/sys/i386/conf/NOTES
projects/nfsv42/sys/i386/i386/machdep.c
projects/nfsv42/sys/i386/i386/minidump_machdep_base.c
projects/nfsv42/sys/i386/i386/mp_machdep.c
projects/nfsv42/sys/i386/i386/pmap.c
projects/nfsv42/sys/i386/i386/pmap_base.c
projects/nfsv42/sys/i386/i386/vm_machdep.c
projects/nfsv42/sys/i386/include/atomic.h
projects/nfsv42/sys/i386/include/counter.h
projects/nfsv42/sys/i386/include/pcpu.h
projects/nfsv42/sys/i386/include/pmap.h
projects/nfsv42/sys/i386/include/pmap_base.h
projects/nfsv42/sys/i386/pci/pci_pir.c
projects/nfsv42/sys/kern/bus_if.m
projects/nfsv42/sys/kern/capabilities.conf
projects/nfsv42/sys/kern/imgact_elf.c
projects/nfsv42/sys/kern/init_main.c
projects/nfsv42/sys/kern/init_sysent.c
projects/nfsv42/sys/kern/kern_cpuset.c
projects/nfsv42/sys/kern/kern_ctf.c
projects/nfsv42/sys/kern/kern_dump.c
projects/nfsv42/sys/kern/kern_event.c
projects/nfsv42/sys/kern/kern_exec.c
projects/nfsv42/sys/kern/kern_exit.c
projects/nfsv42/sys/kern/kern_fork.c
projects/nfsv42/sys/kern/kern_lock.c
projects/nfsv42/sys/kern/kern_lockstat.c
projects/nfsv42/sys/kern/kern_mbuf.c
projects/nfsv42/sys/kern/kern_mutex.c
projects/nfsv42/sys/kern/kern_proc.c
projects/nfsv42/sys/kern/kern_procctl.c
projects/nfsv42/sys/kern/kern_prot.c
projects/nfsv42/sys/kern/kern_racct.c
projects/nfsv42/sys/kern/kern_sendfile.c
projects/nfsv42/sys/kern/kern_shutdown.c
projects/nfsv42/sys/kern/kern_sig.c
projects/nfsv42/sys/kern/kern_synch.c
projects/nfsv42/sys/kern/kern_sysctl.c
projects/nfsv42/sys/kern/kern_umtx.c
projects/nfsv42/sys/kern/link_elf.c
projects/nfsv42/sys/kern/link_elf_obj.c
projects/nfsv42/sys/kern/makesyscalls.sh
projects/nfsv42/sys/kern/sched_ule.c
projects/nfsv42/sys/kern/subr_bus.c
projects/nfsv42/sys/kern/subr_compressor.c
projects/nfsv42/sys/kern/subr_pcpu.c
projects/nfsv42/sys/kern/subr_sbuf.c
projects/nfsv42/sys/kern/subr_scanf.c
projects/nfsv42/sys/kern/subr_trap.c
projects/nfsv42/sys/kern/subr_vmem.c
projects/nfsv42/sys/kern/subr_witness.c
projects/nfsv42/sys/kern/sys_pipe.c
projects/nfsv42/sys/kern/sys_procdesc.c
projects/nfsv42/sys/kern/sys_process.c
projects/nfsv42/sys/kern/syscalls.c
projects/nfsv42/sys/kern/syscalls.master
projects/nfsv42/sys/kern/systrace_args.c
projects/nfsv42/sys/kern/uipc_mbuf.c
projects/nfsv42/sys/kern/uipc_mbuf2.c
projects/nfsv42/sys/kern/uipc_mqueue.c
projects/nfsv42/sys/kern/uipc_shm.c
projects/nfsv42/sys/kern/uipc_sockbuf.c
projects/nfsv42/sys/kern/uipc_socket.c
projects/nfsv42/sys/kern/uipc_syscalls.c
projects/nfsv42/sys/kern/vfs_bio.c
projects/nfsv42/sys/kern/vfs_cache.c
projects/nfsv42/sys/kern/vfs_cluster.c
projects/nfsv42/sys/kern/vfs_default.c
projects/nfsv42/sys/kern/vfs_hash.c
projects/nfsv42/sys/kern/vfs_mount.c
projects/nfsv42/sys/kern/vfs_subr.c
projects/nfsv42/sys/kern/vfs_syscalls.c
projects/nfsv42/sys/kern/vfs_vnops.c
projects/nfsv42/sys/kern/vnode_if.src
projects/nfsv42/sys/kgssapi/krb5/kcrypto_des.c
projects/nfsv42/sys/kgssapi/krb5/kcrypto_des3.c
projects/nfsv42/sys/mips/atheros/ar531x/ar5315_machdep.c
projects/nfsv42/sys/mips/atheros/ar71xx_machdep.c
projects/nfsv42/sys/mips/beri/beri_machdep.c
projects/nfsv42/sys/mips/broadcom/bcm_machdep.c
projects/nfsv42/sys/mips/broadcom/bhnd_nexus.c
projects/nfsv42/sys/mips/cavium/octeon_machdep.c
projects/nfsv42/sys/mips/include/pmap.h
projects/nfsv42/sys/mips/include/proc.h
projects/nfsv42/sys/mips/include/profile.h
projects/nfsv42/sys/mips/include/regnum.h
projects/nfsv42/sys/mips/ingenic/jz4780_machdep.c
projects/nfsv42/sys/mips/malta/malta_machdep.c
projects/nfsv42/sys/mips/mediatek/mtk_machdep.c
projects/nfsv42/sys/mips/mips/busdma_machdep.c
projects/nfsv42/sys/mips/mips/machdep.c
projects/nfsv42/sys/mips/mips/pmap.c
projects/nfsv42/sys/mips/nlm/xlp_machdep.c
projects/nfsv42/sys/modules/Makefile
projects/nfsv42/sys/modules/dtb/allwinner/Makefile
projects/nfsv42/sys/modules/dtb/mv/Makefile
projects/nfsv42/sys/modules/fusefs/Makefile
projects/nfsv42/sys/modules/geom/geom_uzip/Makefile
projects/nfsv42/sys/modules/i2c/Makefile
projects/nfsv42/sys/modules/linux/Makefile
projects/nfsv42/sys/modules/linux64/Makefile
projects/nfsv42/sys/modules/netgraph/bluetooth/ubt/Makefile
projects/nfsv42/sys/modules/ntb/Makefile
projects/nfsv42/sys/modules/nvme/Makefile
projects/nfsv42/sys/modules/usb/Makefile
projects/nfsv42/sys/modules/usb/template/Makefile
projects/nfsv42/sys/modules/zfs/Makefile
projects/nfsv42/sys/modules/zlib/Makefile
projects/nfsv42/sys/net/ieee8023ad_lacp.c
projects/nfsv42/sys/net/ieee8023ad_lacp.h
projects/nfsv42/sys/net/if.h
projects/nfsv42/sys/net/if_dead.c
projects/nfsv42/sys/net/if_lagg.c
projects/nfsv42/sys/net/if_spppsubr.c
projects/nfsv42/sys/net/if_tuntap.c
projects/nfsv42/sys/net/if_var.h
projects/nfsv42/sys/net/if_vlan.c
projects/nfsv42/sys/net/iflib.c
projects/nfsv42/sys/net/netmap.h
projects/nfsv42/sys/net/netmap_user.h
projects/nfsv42/sys/net/route.c
projects/nfsv42/sys/net/sff8472.h
projects/nfsv42/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
projects/nfsv42/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h
projects/nfsv42/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
projects/nfsv42/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
projects/nfsv42/sys/netgraph/ng_deflate.c
projects/nfsv42/sys/netinet/cc/cc_dctcp.c
projects/nfsv42/sys/netinet/in.h
projects/nfsv42/sys/netinet/in_pcb.c
projects/nfsv42/sys/netinet/in_pcb.h
projects/nfsv42/sys/netinet/ip_output.c
projects/nfsv42/sys/netinet/netdump/netdump_client.c
projects/nfsv42/sys/netinet/sctp_asconf.c
projects/nfsv42/sys/netinet/sctp_indata.c
projects/nfsv42/sys/netinet/sctp_indata.h
projects/nfsv42/sys/netinet/sctp_input.c
projects/nfsv42/sys/netinet/sctp_os_bsd.h
projects/nfsv42/sys/netinet/sctp_output.c
projects/nfsv42/sys/netinet/sctp_output.h
projects/nfsv42/sys/netinet/sctp_pcb.c
projects/nfsv42/sys/netinet/sctp_pcb.h
projects/nfsv42/sys/netinet/sctp_usrreq.c
projects/nfsv42/sys/netinet/sctputil.c
projects/nfsv42/sys/netinet/tcp.h
projects/nfsv42/sys/netinet/tcp_input.c
projects/nfsv42/sys/netinet/tcp_lro.c
projects/nfsv42/sys/netinet/tcp_lro.h
projects/nfsv42/sys/netinet/tcp_output.c
projects/nfsv42/sys/netinet/tcp_sack.c
projects/nfsv42/sys/netinet/tcp_stacks/rack.c
projects/nfsv42/sys/netinet/tcp_stacks/rack_bbr_common.c
projects/nfsv42/sys/netinet/tcp_subr.c
projects/nfsv42/sys/netinet/tcp_usrreq.c
projects/nfsv42/sys/netinet/tcp_var.h
projects/nfsv42/sys/netinet6/frag6.c
projects/nfsv42/sys/netinet6/icmp6.c
projects/nfsv42/sys/netinet6/in6_mcast.c
projects/nfsv42/sys/netinet6/in6_pcb.c
projects/nfsv42/sys/netinet6/in6_pcb.h
projects/nfsv42/sys/netinet6/in6_proto.c
projects/nfsv42/sys/netinet6/in6_src.c
projects/nfsv42/sys/netinet6/ip6_input.c
projects/nfsv42/sys/netinet6/ip6_output.c
projects/nfsv42/sys/netinet6/ip6_var.h
projects/nfsv42/sys/netinet6/mld6.c
projects/nfsv42/sys/netinet6/raw_ip6.c
projects/nfsv42/sys/netinet6/sctp6_usrreq.c
projects/nfsv42/sys/netipsec/ipsec.c
projects/nfsv42/sys/netipsec/key.c
projects/nfsv42/sys/netpfil/ipfw/ip_fw2.c
projects/nfsv42/sys/netpfil/ipfw/ip_fw_eaction.c
projects/nfsv42/sys/netpfil/ipfw/ip_fw_nat.c
projects/nfsv42/sys/netpfil/ipfw/ip_fw_private.h
projects/nfsv42/sys/netpfil/ipfw/ip_fw_sockopt.c
projects/nfsv42/sys/netpfil/pf/pf.c
projects/nfsv42/sys/netpfil/pf/pf_ioctl.c
projects/nfsv42/sys/netpfil/pf/pf_norm.c
projects/nfsv42/sys/netsmb/smb_crypt.c
projects/nfsv42/sys/ofed/drivers/infiniband/core/ib_cma.c
projects/nfsv42/sys/ofed/drivers/infiniband/ulp/sdp/sdp.h
projects/nfsv42/sys/ofed/drivers/infiniband/ulp/sdp/sdp_cma.c
projects/nfsv42/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
projects/nfsv42/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c
projects/nfsv42/sys/ofed/include/rdma/ib_mad.h
projects/nfsv42/sys/opencrypto/cast.c
projects/nfsv42/sys/opencrypto/cast.h
projects/nfsv42/sys/opencrypto/cryptodeflate.c
projects/nfsv42/sys/opencrypto/cryptodev.c
projects/nfsv42/sys/opencrypto/deflate.h
projects/nfsv42/sys/opencrypto/skipjack.c
projects/nfsv42/sys/opencrypto/skipjack.h
projects/nfsv42/sys/opencrypto/xform_aes_icm.c
projects/nfsv42/sys/opencrypto/xform_aes_xts.c
projects/nfsv42/sys/opencrypto/xform_blf.c
projects/nfsv42/sys/opencrypto/xform_cast5.c
projects/nfsv42/sys/opencrypto/xform_cml.c
projects/nfsv42/sys/opencrypto/xform_des1.c
projects/nfsv42/sys/opencrypto/xform_des3.c
projects/nfsv42/sys/opencrypto/xform_enc.h
projects/nfsv42/sys/opencrypto/xform_null.c
projects/nfsv42/sys/opencrypto/xform_rijndael.c
projects/nfsv42/sys/opencrypto/xform_skipjack.c
projects/nfsv42/sys/powerpc/aim/mmu_oea.c
projects/nfsv42/sys/powerpc/aim/mmu_oea64.c
projects/nfsv42/sys/powerpc/aim/moea64_native.c
projects/nfsv42/sys/powerpc/booke/pmap.c
projects/nfsv42/sys/powerpc/booke/trap_subr.S
projects/nfsv42/sys/powerpc/conf/MPC85XX
projects/nfsv42/sys/powerpc/conf/MPC85XXSPE
projects/nfsv42/sys/powerpc/conf/NOTES
projects/nfsv42/sys/powerpc/conf/QORIQ64
projects/nfsv42/sys/powerpc/conf/dpaa/DPAA
projects/nfsv42/sys/powerpc/include/counter.h
projects/nfsv42/sys/powerpc/include/param.h
projects/nfsv42/sys/powerpc/include/pmap.h
projects/nfsv42/sys/powerpc/include/proc.h
projects/nfsv42/sys/powerpc/include/vmparam.h
projects/nfsv42/sys/powerpc/ofw/ofwcall32.S
projects/nfsv42/sys/powerpc/powernv/opal.h
projects/nfsv42/sys/powerpc/powernv/opal_pci.c
projects/nfsv42/sys/powerpc/powerpc/busdma_machdep.c
projects/nfsv42/sys/powerpc/powerpc/machdep.c
projects/nfsv42/sys/powerpc/powerpc/mp_machdep.c
projects/nfsv42/sys/powerpc/powerpc/pmap_dispatch.c
projects/nfsv42/sys/powerpc/powerpc/swtch32.S
projects/nfsv42/sys/powerpc/powerpc/trap.c
projects/nfsv42/sys/riscv/include/counter.h
projects/nfsv42/sys/riscv/include/pmap.h
projects/nfsv42/sys/riscv/riscv/copyinout.S
projects/nfsv42/sys/riscv/riscv/intr_machdep.c
projects/nfsv42/sys/riscv/riscv/locore.S
projects/nfsv42/sys/riscv/riscv/machdep.c
projects/nfsv42/sys/riscv/riscv/mp_machdep.c
projects/nfsv42/sys/rpc/svc_vc.c
projects/nfsv42/sys/security/mac/mac_process.c
projects/nfsv42/sys/security/mac_veriexec_parser/mac_veriexec_parser.c
projects/nfsv42/sys/sparc64/conf/NOTES
projects/nfsv42/sys/sparc64/include/pmap.h
projects/nfsv42/sys/sparc64/sparc64/pmap.c
projects/nfsv42/sys/sys/ata.h
projects/nfsv42/sys/sys/buf.h
projects/nfsv42/sys/sys/bus.h
projects/nfsv42/sys/sys/diskmbr.h
projects/nfsv42/sys/sys/imgact.h
projects/nfsv42/sys/sys/imgact_elf.h
projects/nfsv42/sys/sys/libkern.h
projects/nfsv42/sys/sys/lockmgr.h
projects/nfsv42/sys/sys/lockstat.h
projects/nfsv42/sys/sys/mbuf.h
projects/nfsv42/sys/sys/mdioctl.h
projects/nfsv42/sys/sys/mount.h
projects/nfsv42/sys/sys/param.h
projects/nfsv42/sys/sys/pcpu.h
projects/nfsv42/sys/sys/proc.h
projects/nfsv42/sys/sys/procctl.h
projects/nfsv42/sys/sys/refcount.h
projects/nfsv42/sys/sys/sbuf.h
projects/nfsv42/sys/sys/seqc.h
projects/nfsv42/sys/sys/sockbuf.h
projects/nfsv42/sys/sys/syscall.h
projects/nfsv42/sys/sys/syscall.mk
projects/nfsv42/sys/sys/sysctl.h
projects/nfsv42/sys/sys/sysent.h
projects/nfsv42/sys/sys/sysproto.h
projects/nfsv42/sys/sys/vnode.h
projects/nfsv42/sys/teken/teken.c
projects/nfsv42/sys/ufs/ffs/ffs_alloc.c
projects/nfsv42/sys/ufs/ffs/ffs_balloc.c
projects/nfsv42/sys/ufs/ffs/ffs_extern.h
projects/nfsv42/sys/ufs/ffs/ffs_inode.c
projects/nfsv42/sys/ufs/ffs/ffs_snapshot.c
projects/nfsv42/sys/ufs/ffs/ffs_softdep.c
projects/nfsv42/sys/ufs/ffs/ffs_subr.c
projects/nfsv42/sys/ufs/ffs/ffs_vfsops.c
projects/nfsv42/sys/ufs/ffs/fs.h
projects/nfsv42/sys/ufs/ufs/ufs_extern.h
projects/nfsv42/sys/ufs/ufs/ufs_inode.c
projects/nfsv42/sys/ufs/ufs/ufs_quota.c
projects/nfsv42/sys/ufs/ufs/ufs_vnops.c
projects/nfsv42/sys/vm/swap_pager.c
projects/nfsv42/sys/vm/uma.h
projects/nfsv42/sys/vm/uma_core.c
projects/nfsv42/sys/vm/uma_int.h
projects/nfsv42/sys/vm/vm_fault.c
projects/nfsv42/sys/vm/vm_glue.c
projects/nfsv42/sys/vm/vm_kern.c
projects/nfsv42/sys/vm/vm_map.c
projects/nfsv42/sys/vm/vm_map.h
projects/nfsv42/sys/vm/vm_mmap.c
projects/nfsv42/sys/vm/vm_object.c
projects/nfsv42/sys/vm/vm_object.h
projects/nfsv42/sys/vm/vm_page.c
projects/nfsv42/sys/vm/vm_page.h
projects/nfsv42/sys/vm/vm_pageout.c
projects/nfsv42/sys/vm/vm_pageout.h
projects/nfsv42/sys/vm/vm_pagequeue.h
projects/nfsv42/sys/vm/vm_pager.h
projects/nfsv42/sys/vm/vm_param.h
projects/nfsv42/sys/vm/vm_phys.c
projects/nfsv42/sys/vm/vm_phys.h
projects/nfsv42/sys/vm/vm_reserv.c
projects/nfsv42/sys/vm/vm_reserv.h
projects/nfsv42/sys/vm/vm_swapout.c
projects/nfsv42/sys/vm/vnode_pager.c
projects/nfsv42/sys/vm/vnode_pager.h
projects/nfsv42/sys/x86/x86/io_apic.c
projects/nfsv42/sys/x86/x86/legacy.c
projects/nfsv42/sys/x86/x86/local_apic.c
projects/nfsv42/sys/x86/x86/nexus.c
Directory Properties:
projects/nfsv42/sys/ (props changed)
projects/nfsv42/sys/cddl/contrib/opensolaris/ (props changed)
projects/nfsv42/sys/contrib/dev/acpica/ (props changed)
projects/nfsv42/sys/contrib/ipfilter/ (props changed)
projects/nfsv42/sys/contrib/zlib/ (props changed)
projects/nfsv42/sys/contrib/zstd/ (props changed)
projects/nfsv42/sys/gnu/dts/arm/ (props changed)
Modified: projects/nfsv42/sys/amd64/amd64/cpu_switch.S
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/cpu_switch.S Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/cpu_switch.S Mon Sep 9 00:46:22 2019 (r352051)
@@ -45,18 +45,6 @@
.text
-#ifdef SMP
-#define LK lock ;
-#else
-#define LK
-#endif
-
-#if defined(SCHED_ULE) && defined(SMP)
-#define SETLK xchgq
-#else
-#define SETLK movq
-#endif
-
/*
* cpu_throw()
*
@@ -150,17 +138,15 @@ ctx_switch_xsave:
movq %rdx,%r15
movq %rsi,%rdi
callq pmap_activate_sw
- SETLK %r15,TD_LOCK(%r13) /* Release the old thread */
+ movq %r15,TD_LOCK(%r13) /* Release the old thread */
sw1:
movq TD_PCB(%r12),%r8
#if defined(SCHED_ULE) && defined(SMP)
- /* Wait for the new thread to become unblocked */
movq $blocked_lock, %rdx
-1:
movq TD_LOCK(%r12),%rcx
cmpq %rcx, %rdx
- pause
- je 1b
+ je sw1wait
+sw1cont:
#endif
/*
* At this point, we've switched address spaces and are ready
@@ -496,3 +482,14 @@ ENTRY(resumectx)
xorl %eax,%eax
ret
END(resumectx)
+
+/* Wait for the new thread to become unblocked */
+#if defined(SCHED_ULE) && defined(SMP)
+sw1wait:
+1:
+ pause
+ movq TD_LOCK(%r12),%rcx
+ cmpq %rcx, %rdx
+ je 1b
+ jmp sw1cont
+#endif
Modified: projects/nfsv42/sys/amd64/amd64/elf_machdep.c
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/elf_machdep.c Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/elf_machdep.c Mon Sep 9 00:46:22 2019 (r352051)
@@ -82,6 +82,7 @@ struct sysentvec elf64_freebsd_sysvec = {
.sv_schedtail = NULL,
.sv_thread_detach = NULL,
.sv_trap = NULL,
+ .sv_stackgap = elf64_stackgap,
};
INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec);
Modified: projects/nfsv42/sys/amd64/amd64/exception.S
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/exception.S Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/exception.S Mon Sep 9 00:46:22 2019 (r352051)
@@ -105,14 +105,32 @@ MCOUNT_LABEL(btrap)
/* Traps that we leave interrupts disabled for. */
.macro TRAP_NOEN l, trapno
- PTI_ENTRY \l,X\l
+ PTI_ENTRY \l,\l\()_pti_k,\l\()_pti_u
+\l\()_pti_k:
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ jmp alltraps_noen_k
+\l\()_pti_u:
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ jmp alltraps_noen_u
+
.globl X\l
.type X\l, at function
-X\l: subq $TF_RIP,%rsp
- movl $\trapno,TF_TRAPNO(%rsp)
- movq $0,TF_ADDR(%rsp)
- movq $0,TF_ERR(%rsp)
- jmp alltraps_noen
+X\l:
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ testb $SEL_RPL_MASK,TF_CS(%rsp)
+ jz alltraps_noen_k
+ swapgs
+ lfence
+ jmp alltraps_noen_u
.endm
TRAP_NOEN bpt, T_BPTFLT
@@ -122,15 +140,32 @@ X\l: subq $TF_RIP,%rsp
/* Regular traps; The cpu does not supply tf_err for these. */
.macro TRAP l, trapno
- PTI_ENTRY \l,X\l
+ PTI_ENTRY \l,\l\()_pti_k,\l\()_pti_u
+\l\()_pti_k:
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ jmp alltraps_k
+\l\()_pti_u:
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ jmp alltraps_u
+
.globl X\l
.type X\l, at function
X\l:
- subq $TF_RIP,%rsp
- movl $\trapno,TF_TRAPNO(%rsp)
- movq $0,TF_ADDR(%rsp)
- movq $0,TF_ERR(%rsp)
- jmp alltraps
+ subq $TF_RIP,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ movq $0,TF_ERR(%rsp)
+ testb $SEL_RPL_MASK,TF_CS(%rsp)
+ jz alltraps_k
+ swapgs
+ lfence
+ jmp alltraps_u
.endm
TRAP div, T_DIVIDE
@@ -145,42 +180,64 @@ X\l:
/* This group of traps have tf_err already pushed by the cpu. */
.macro TRAP_ERR l, trapno
- PTI_ENTRY \l,X\l,has_err=1
+ PTI_ENTRY \l,\l\()_pti_k,\l\()_pti_u,has_err=1
+\l\()_pti_k:
+ subq $TF_ERR,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ jmp alltraps_k
+\l\()_pti_u:
+ subq $TF_ERR,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ jmp alltraps_u
.globl X\l
.type X\l, at function
X\l:
- subq $TF_ERR,%rsp
- movl $\trapno,TF_TRAPNO(%rsp)
- movq $0,TF_ADDR(%rsp)
- jmp alltraps
+ subq $TF_ERR,%rsp
+ movl $\trapno,TF_TRAPNO(%rsp)
+ movq $0,TF_ADDR(%rsp)
+ testb $SEL_RPL_MASK,TF_CS(%rsp)
+ jz alltraps_k
+ swapgs
+ lfence
+ jmp alltraps_u
.endm
TRAP_ERR tss, T_TSSFLT
TRAP_ERR align, T_ALIGNFLT
/*
- * alltraps entry point. Use swapgs if this is the first time in the
- * kernel from userland. Reenable interrupts if they were enabled
- * before the trap. This approximates SDT_SYS386TGT on the i386 port.
+ * alltraps_u/k entry points.
+ * SWAPGS must be already performed by prologue,
+ * if this is the first time in the kernel from userland.
+ * Reenable interrupts if they were enabled before the trap.
+ * This approximates SDT_SYS386TGT on the i386 port.
*/
SUPERALIGN_TEXT
- .globl alltraps
- .type alltraps, at function
-alltraps:
+ .globl alltraps_u
+ .type alltraps_u, at function
+alltraps_u:
movq %rdi,TF_RDI(%rsp)
- testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
- jz 1f /* already running with kernel GS.base */
- swapgs
+ movq %rdx,TF_RDX(%rsp)
+ movq %rax,TF_RAX(%rsp)
+ movq %rcx,TF_RCX(%rsp)
movq PCPU(CURPCB),%rdi
andl $~PCB_FULL_IRET,PCB_FLAGS(%rdi)
-1: SAVE_SEGS
+ call handle_ibrs_entry
+ jmp alltraps_save_segs
+ SUPERALIGN_TEXT
+ .globl alltraps_k
+ .type alltraps_k, at function
+alltraps_k:
+ lfence
+ movq %rdi,TF_RDI(%rsp)
movq %rdx,TF_RDX(%rsp)
movq %rax,TF_RAX(%rsp)
movq %rcx,TF_RCX(%rsp)
- testb $SEL_RPL_MASK,TF_CS(%rsp)
- jz 2f
- call handle_ibrs_entry
-2: testl $PSL_I,TF_RFLAGS(%rsp)
+alltraps_save_segs:
+ SAVE_SEGS
+ testl $PSL_I,TF_RFLAGS(%rsp)
jz alltraps_pushregs_no_rax
sti
alltraps_pushregs_no_rax:
@@ -234,21 +291,27 @@ calltrap:
jmp doreti /* Handle any pending ASTs */
/*
- * alltraps_noen entry point. Unlike alltraps above, we want to
- * leave the interrupts disabled. This corresponds to
- * SDT_SYS386IGT on the i386 port.
+ * alltraps_noen_u/k entry points.
+ * Again, SWAPGS must be already performed by prologue, if needed.
+ * Unlike alltraps above, we want to leave the interrupts disabled.
+ * This corresponds to SDT_SYS386IGT on the i386 port.
*/
SUPERALIGN_TEXT
- .globl alltraps_noen
- .type alltraps_noen, at function
-alltraps_noen:
+ .globl alltraps_noen_u
+ .type alltraps_noen_u, at function
+alltraps_noen_u:
movq %rdi,TF_RDI(%rsp)
- testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
- jz 1f /* already running with kernel GS.base */
- swapgs
movq PCPU(CURPCB),%rdi
andl $~PCB_FULL_IRET,PCB_FLAGS(%rdi)
-1: SAVE_SEGS
+ jmp alltraps_noen_save_segs
+ SUPERALIGN_TEXT
+ .globl alltraps_noen_k
+ .type alltraps_noen_k, at function
+alltraps_noen_k:
+ lfence
+ movq %rdi,TF_RDI(%rsp)
+alltraps_noen_save_segs:
+ SAVE_SEGS
movq %rdx,TF_RDX(%rsp)
movq %rax,TF_RAX(%rsp)
movq %rcx,TF_RCX(%rsp)
@@ -285,7 +348,7 @@ IDTVEC(dblfault)
testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
jz 1f /* already running with kernel GS.base */
swapgs
-1:
+1: lfence
movq PCPU(KCR3),%rax
cmpq $~0,%rax
je 2f
@@ -297,34 +360,43 @@ IDTVEC(dblfault)
ALIGN_TEXT
IDTVEC(page_pti)
- testb $SEL_RPL_MASK,PTI_CS-2*8(%rsp)
- jz Xpage
+ testb $SEL_RPL_MASK,PTI_CS-PTI_ERR(%rsp)
+ jz page_k
swapgs
+ lfence
pushq %rax
movq %cr3,%rax
movq %rax,PCPU(SAVED_UCR3)
cmpq $~0,PCPU(UCR3)
jne 1f
popq %rax
- jmp 2f
+ jmp page_u
1: pushq %rdx
PTI_UUENTRY has_err=1
-2: subq $TF_ERR,%rsp
- movq %rdi,TF_RDI(%rsp)
- movq %rax,TF_RAX(%rsp)
- movq %rdx,TF_RDX(%rsp)
- movq %rcx,TF_RCX(%rsp)
jmp page_u
+ ALIGN_TEXT
IDTVEC(page)
+ testb $SEL_RPL_MASK,TF_CS-TF_ERR(%rsp) /* Did we come from kernel? */
+ jnz page_u_swapgs /* already running with kernel GS.base */
+page_k:
+ lfence
subq $TF_ERR,%rsp
movq %rdi,TF_RDI(%rsp) /* free up GP registers */
movq %rax,TF_RAX(%rsp)
movq %rdx,TF_RDX(%rsp)
movq %rcx,TF_RCX(%rsp)
- testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */
- jz page_cr2 /* already running with kernel GS.base */
+ jmp page_cr2
+ ALIGN_TEXT
+page_u_swapgs:
swapgs
-page_u: movq PCPU(CURPCB),%rdi
+ lfence
+page_u:
+ subq $TF_ERR,%rsp
+ movq %rdi,TF_RDI(%rsp)
+ movq %rax,TF_RAX(%rsp)
+ movq %rdx,TF_RDX(%rsp)
+ movq %rcx,TF_RCX(%rsp)
+ movq PCPU(CURPCB),%rdi
andl $~PCB_FULL_IRET,PCB_FLAGS(%rdi)
movq PCPU(SAVED_UCR3),%rax
movq %rax,PCB_SAVED_UCR3(%rdi)
@@ -355,6 +427,7 @@ page_cr2:
.macro PROTF_ENTRY name,trapno
\name\()_pti_doreti:
swapgs
+ lfence
cmpq $~0,PCPU(UCR3)
je 1f
pushq %rax
@@ -377,9 +450,9 @@ IDTVEC(\name\()_pti)
cmpq $doreti_iret,PTI_RIP-2*8(%rsp)
je \name\()_pti_doreti
testb $SEL_RPL_MASK,PTI_CS-2*8(%rsp) /* %rax, %rdx not yet pushed */
- jz X\name
+ jz X\name /* lfence is not needed until %gs: use */
PTI_UENTRY has_err=1
- swapgs
+ swapgs /* fence provided by PTI_UENTRY */
IDTVEC(\name)
subq $TF_ERR,%rsp
movl $\trapno,TF_TRAPNO(%rsp)
@@ -412,6 +485,7 @@ prot_addrf:
jne 2f
rdgsbase %rdx
2: swapgs
+ lfence
movq PCPU(CURPCB),%rdi
testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip)
jz 4f
@@ -431,7 +505,8 @@ prot_addrf:
jmp alltraps_pushregs_no_rax
5: swapgs
-6: movq PCPU(CURPCB),%rdi
+6: lfence
+ movq PCPU(CURPCB),%rdi
jmp 4b
/*
@@ -446,6 +521,7 @@ prot_addrf:
SUPERALIGN_TEXT
IDTVEC(fast_syscall_pti)
swapgs
+ lfence
movq %rax,PCPU(SCRATCH_RAX)
cmpq $~0,PCPU(UCR3)
je fast_syscall_common
@@ -455,6 +531,7 @@ IDTVEC(fast_syscall_pti)
SUPERALIGN_TEXT
IDTVEC(fast_syscall)
swapgs
+ lfence
movq %rax,PCPU(SCRATCH_RAX)
fast_syscall_common:
movq %rsp,PCPU(SCRATCH_RSP)
@@ -583,6 +660,7 @@ IDTVEC(dbg)
popfq
testb $SEL_RPL_MASK,TF_CS(%rsp)
jnz dbg_fromuserspace
+ lfence
/*
* We've interrupted the kernel. Preserve GS.base in %r12,
* %cr3 in %r13, and possibly lower half of MSR_IA32_SPEC_CTL in %r14d.
@@ -638,6 +716,7 @@ dbg_fromuserspace:
* in trap().
*/
swapgs
+ lfence
movq PCPU(KCR3),%rax
cmpq $~0,%rax
je 1f
@@ -723,6 +802,7 @@ IDTVEC(nmi)
* We've interrupted the kernel. Preserve GS.base in %r12,
* %cr3 in %r13, and possibly lower half of MSR_IA32_SPEC_CTL in %r14d.
*/
+ lfence
movl $MSR_GSBASE,%ecx
rdmsr
movq %rax,%r12
@@ -748,6 +828,7 @@ IDTVEC(nmi)
nmi_fromuserspace:
incl %ebx
swapgs
+ lfence
movq %cr3,%r13
movq PCPU(KCR3),%rax
cmpq $~0,%rax
Modified: projects/nfsv42/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/machdep.c Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/machdep.c Mon Sep 9 00:46:22 2019 (r352051)
@@ -210,27 +210,13 @@ int cold = 1;
long Maxmem = 0;
long realmem = 0;
-/*
- * The number of PHYSMAP entries must be one less than the number of
- * PHYSSEG entries because the PHYSMAP entry that spans the largest
- * physical address that is accessible by ISA DMA is split into two
- * PHYSSEG entries.
- */
-#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1))
-
-vm_paddr_t phys_avail[PHYSMAP_SIZE + 2];
-vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
-
-/* must be 2 less so 0 0 can signal end of chunks */
-#define PHYS_AVAIL_ARRAY_END (nitems(phys_avail) - 2)
-#define DUMP_AVAIL_ARRAY_END (nitems(dump_avail) - 2)
-
struct kva_md_info kmi;
static struct trapframe proc0_tf;
struct region_descriptor r_gdt, r_idt;
-struct pcpu __pcpu[MAXCPU];
+struct pcpu *__pcpu;
+struct pcpu temp_bsp_pcpu;
struct mtx icu_lock;
@@ -1036,7 +1022,7 @@ add_physmap_entry(uint64_t base, uint64_t length, vm_p
physmap_idx += 2;
*physmap_idxp = physmap_idx;
- if (physmap_idx == PHYSMAP_SIZE) {
+ if (physmap_idx == PHYS_AVAIL_ENTRIES) {
printf(
"Too many segments in the physical address map, giving up\n");
return (0);
@@ -1229,7 +1215,7 @@ static void
getmemsize(caddr_t kmdp, u_int64_t first)
{
int i, physmap_idx, pa_indx, da_indx;
- vm_paddr_t pa, physmap[PHYSMAP_SIZE];
+ vm_paddr_t pa, physmap[PHYS_AVAIL_ENTRIES];
u_long physmem_start, physmem_tunable, memtest;
pt_entry_t *pte;
quad_t dcons_addr, dcons_size;
@@ -1446,7 +1432,7 @@ skip_memtest:
phys_avail[pa_indx] += PAGE_SIZE;
} else {
pa_indx++;
- if (pa_indx == PHYS_AVAIL_ARRAY_END) {
+ if (pa_indx == PHYS_AVAIL_ENTRIES) {
printf(
"Too many holes in the physical address space, giving up\n");
pa_indx--;
@@ -1462,7 +1448,7 @@ do_dump_avail:
dump_avail[da_indx] += PAGE_SIZE;
} else {
da_indx++;
- if (da_indx == DUMP_AVAIL_ARRAY_END) {
+ if (da_indx == PHYS_AVAIL_ENTRIES) {
da_indx--;
goto do_next;
}
@@ -1558,13 +1544,68 @@ amd64_conf_fast_syscall(void)
wrmsr(MSR_SF_MASK, PSL_NT | PSL_T | PSL_I | PSL_C | PSL_D | PSL_AC);
}
+void
+amd64_bsp_pcpu_init1(struct pcpu *pc)
+{
+
+ PCPU_SET(prvspace, pc);
+ PCPU_SET(curthread, &thread0);
+ PCPU_SET(tssp, &common_tss[0]);
+ PCPU_SET(commontssp, &common_tss[0]);
+ PCPU_SET(tss, (struct system_segment_descriptor *)&gdt[GPROC0_SEL]);
+ PCPU_SET(ldt, (struct system_segment_descriptor *)&gdt[GUSERLDT_SEL]);
+ PCPU_SET(fs32p, &gdt[GUFS32_SEL]);
+ PCPU_SET(gs32p, &gdt[GUGS32_SEL]);
+}
+
+void
+amd64_bsp_pcpu_init2(uint64_t rsp0)
+{
+
+ PCPU_SET(rsp0, rsp0);
+ PCPU_SET(pti_rsp0, ((vm_offset_t)PCPU_PTR(pti_stack) +
+ PC_PTI_STACK_SZ * sizeof(uint64_t)) & ~0xful);
+ PCPU_SET(curpcb, thread0.td_pcb);
+}
+
+void
+amd64_bsp_ist_init(struct pcpu *pc)
+{
+ struct nmi_pcpu *np;
+
+ /* doublefault stack space, runs on ist1 */
+ common_tss[0].tss_ist1 = (long)&dblfault_stack[sizeof(dblfault_stack)];
+
+ /*
+ * NMI stack, runs on ist2. The pcpu pointer is stored just
+ * above the start of the ist2 stack.
+ */
+ np = ((struct nmi_pcpu *)&nmi0_stack[sizeof(nmi0_stack)]) - 1;
+ np->np_pcpu = (register_t)pc;
+ common_tss[0].tss_ist2 = (long)np;
+
+ /*
+ * MC# stack, runs on ist3. The pcpu pointer is stored just
+ * above the start of the ist3 stack.
+ */
+ np = ((struct nmi_pcpu *)&mce0_stack[sizeof(mce0_stack)]) - 1;
+ np->np_pcpu = (register_t)pc;
+ common_tss[0].tss_ist3 = (long)np;
+
+ /*
+ * DB# stack, runs on ist4.
+ */
+ np = ((struct nmi_pcpu *)&dbg0_stack[sizeof(dbg0_stack)]) - 1;
+ np->np_pcpu = (register_t)pc;
+ common_tss[0].tss_ist4 = (long)np;
+}
+
u_int64_t
hammer_time(u_int64_t modulep, u_int64_t physfree)
{
caddr_t kmdp;
int gsel_tss, x;
struct pcpu *pc;
- struct nmi_pcpu *np;
struct xstate_hdr *xhdr;
u_int64_t rsp0;
char *env;
@@ -1638,7 +1679,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
r_gdt.rd_limit = NGDT * sizeof(gdt[0]) - 1;
r_gdt.rd_base = (long) gdt;
lgdt(&r_gdt);
- pc = &__pcpu[0];
+ pc = &temp_bsp_pcpu;
wrmsr(MSR_FSBASE, 0); /* User value */
wrmsr(MSR_GSBASE, (u_int64_t)pc);
@@ -1647,15 +1688,8 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
pcpu_init(pc, 0, sizeof(struct pcpu));
dpcpu_init((void *)(physfree + KERNBASE), 0);
physfree += DPCPU_SIZE;
- PCPU_SET(prvspace, pc);
- PCPU_SET(curthread, &thread0);
+ amd64_bsp_pcpu_init1(pc);
/* Non-late cninit() and printf() can be moved up to here. */
- PCPU_SET(tssp, &common_tss[0]);
- PCPU_SET(commontssp, &common_tss[0]);
- PCPU_SET(tss, (struct system_segment_descriptor *)&gdt[GPROC0_SEL]);
- PCPU_SET(ldt, (struct system_segment_descriptor *)&gdt[GUSERLDT_SEL]);
- PCPU_SET(fs32p, &gdt[GUFS32_SEL]);
- PCPU_SET(gs32p, &gdt[GUGS32_SEL]);
/*
* Initialize mutexes.
@@ -1744,31 +1778,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
finishidentcpu(); /* Final stage of CPU initialization */
initializecpu(); /* Initialize CPU registers */
- /* doublefault stack space, runs on ist1 */
- common_tss[0].tss_ist1 = (long)&dblfault_stack[sizeof(dblfault_stack)];
-
- /*
- * NMI stack, runs on ist2. The pcpu pointer is stored just
- * above the start of the ist2 stack.
- */
- np = ((struct nmi_pcpu *) &nmi0_stack[sizeof(nmi0_stack)]) - 1;
- np->np_pcpu = (register_t) pc;
- common_tss[0].tss_ist2 = (long) np;
-
- /*
- * MC# stack, runs on ist3. The pcpu pointer is stored just
- * above the start of the ist3 stack.
- */
- np = ((struct nmi_pcpu *) &mce0_stack[sizeof(mce0_stack)]) - 1;
- np->np_pcpu = (register_t) pc;
- common_tss[0].tss_ist3 = (long) np;
-
- /*
- * DB# stack, runs on ist4.
- */
- np = ((struct nmi_pcpu *) &dbg0_stack[sizeof(dbg0_stack)]) - 1;
- np->np_pcpu = (register_t) pc;
- common_tss[0].tss_ist4 = (long) np;
+ amd64_bsp_ist_init(pc);
/* Set the IO permission bitmap (empty due to tss seg limit) */
common_tss[0].tss_iobase = sizeof(struct amd64tss) + IOPERM_BITMAP_SIZE;
@@ -1857,10 +1867,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
/* Ensure the stack is aligned to 16 bytes */
rsp0 &= ~0xFul;
common_tss[0].tss_rsp0 = rsp0;
- PCPU_SET(rsp0, rsp0);
- PCPU_SET(pti_rsp0, ((vm_offset_t)PCPU_PTR(pti_stack) +
- PC_PTI_STACK_SZ * sizeof(uint64_t)) & ~0xful);
- PCPU_SET(curpcb, thread0.td_pcb);
+ amd64_bsp_pcpu_init2(rsp0);
/* transfer to user mode */
Modified: projects/nfsv42/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/mp_machdep.c Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/mp_machdep.c Mon Sep 9 00:46:22 2019 (r352051)
@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/cpuset.h>
+#include <sys/domainset.h>
#ifdef GPROF
#include <sys/gmon.h>
#endif
@@ -59,6 +60,8 @@ __FBSDID("$FreeBSD$");
#include <vm/pmap.h>
#include <vm/vm_kern.h>
#include <vm/vm_extern.h>
+#include <vm/vm_page.h>
+#include <vm/vm_phys.h>
#include <x86/apicreg.h>
#include <machine/clock.h>
@@ -75,6 +78,9 @@ __FBSDID("$FreeBSD$");
#include <machine/cpu.h>
#include <x86/init.h>
+#include <contrib/dev/acpica/include/acpi.h>
+#include <dev/acpica/acpivar.h>
+
#define WARMBOOT_TARGET 0
#define WARMBOOT_OFF (KERNBASE + 0x0467)
#define WARMBOOT_SEG (KERNBASE + 0x0469)
@@ -88,8 +94,6 @@ __FBSDID("$FreeBSD$");
#define AP_BOOTPT_SZ (PAGE_SIZE * 3)
-extern struct pcpu __pcpu[];
-
/* Temporary variables for init_secondary() */
char *doublefault_stack;
char *mce_stack;
@@ -384,6 +388,27 @@ init_secondary(void)
* local functions and data
*/
+#ifdef NUMA
+static void
+mp_realloc_pcpu(int cpuid, int domain)
+{
+ vm_page_t m;
+ vm_offset_t oa, na;
+
+ oa = (vm_offset_t)&__pcpu[cpuid];
+ if (_vm_phys_domain(pmap_kextract(oa)) == domain)
+ return;
+ m = vm_page_alloc_domain(NULL, 0, domain,
+ VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ);
+ if (m == NULL)
+ return;
+ na = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ pagecopy((void *)oa, (void *)na);
+ pmap_qenter((vm_offset_t)&__pcpu[cpuid], &m, 1);
+ /* XXX old pcpu page leaked. */
+}
+#endif
+
/*
* start each AP in our list
*/
@@ -392,7 +417,7 @@ native_start_all_aps(void)
{
u_int64_t *pt4, *pt3, *pt2;
u_int32_t mpbioswarmvec;
- int apic_id, cpu, i;
+ int apic_id, cpu, domain, i;
u_char mpbiosreason;
mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN);
@@ -431,21 +456,39 @@ native_start_all_aps(void)
outb(CMOS_REG, BIOS_RESET);
outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */
+ /* Relocate pcpu areas to the correct domain. */
+#ifdef NUMA
+ if (vm_ndomains > 1)
+ for (cpu = 1; cpu < mp_ncpus; cpu++) {
+ apic_id = cpu_apic_ids[cpu];
+ domain = acpi_pxm_get_cpu_locality(apic_id);
+ mp_realloc_pcpu(cpu, domain);
+ }
+#endif
+
/* start each AP */
+ domain = 0;
for (cpu = 1; cpu < mp_ncpus; cpu++) {
apic_id = cpu_apic_ids[cpu];
-
+#ifdef NUMA
+ if (vm_ndomains > 1)
+ domain = acpi_pxm_get_cpu_locality(apic_id);
+#endif
/* allocate and set up an idle stack data page */
bootstacks[cpu] = (void *)kmem_malloc(kstack_pages * PAGE_SIZE,
M_WAITOK | M_ZERO);
doublefault_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK |
M_ZERO);
mce_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO);
- nmi_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO);
- dbg_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO);
- dpcpu = (void *)kmem_malloc(DPCPU_SIZE, M_WAITOK | M_ZERO);
+ nmi_stack = (char *)kmem_malloc_domainset(
+ DOMAINSET_PREF(domain), PAGE_SIZE, M_WAITOK | M_ZERO);
+ dbg_stack = (char *)kmem_malloc_domainset(
+ DOMAINSET_PREF(domain), PAGE_SIZE, M_WAITOK | M_ZERO);
+ dpcpu = (void *)kmem_malloc_domainset(DOMAINSET_PREF(domain),
+ DPCPU_SIZE, M_WAITOK | M_ZERO);
- bootSTK = (char *)bootstacks[cpu] + kstack_pages * PAGE_SIZE - 8;
+ bootSTK = (char *)bootstacks[cpu] +
+ kstack_pages * PAGE_SIZE - 8;
bootAP = cpu;
/* attempt to start the Application Processor */
@@ -465,7 +508,7 @@ native_start_all_aps(void)
outb(CMOS_DATA, mpbiosreason);
/* number of APs actually started */
- return mp_naps;
+ return (mp_naps);
}
Modified: projects/nfsv42/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/nfsv42/sys/amd64/amd64/pmap.c Sun Sep 8 22:52:47 2019 (r352050)
+++ projects/nfsv42/sys/amd64/amd64/pmap.c Mon Sep 9 00:46:22 2019 (r352051)
@@ -124,6 +124,7 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/rangeset.h>
#include <sys/rwlock.h>
+#include <sys/sbuf.h>
#include <sys/sx.h>
#include <sys/turnstile.h>
#include <sys/vmem.h>
@@ -421,8 +422,8 @@ static int pmap_flags = PMAP_PDE_SUPERPAGE; /* flags f
static vmem_t *large_vmem;
static u_int lm_ents;
-#define PMAP_LARGEMAP_MAX_ADDRESS() \
- (LARGEMAP_MIN_ADDRESS + NBPML4 * (u_long)lm_ents)
+#define PMAP_ADDRESS_IN_LARGEMAP(va) ((va) >= LARGEMAP_MIN_ADDRESS && \
+ (va) < LARGEMAP_MIN_ADDRESS + NBPML4 * (u_long)lm_ents)
int pmap_pcid_enabled = 1;
SYSCTL_INT(_vm_pmap, OID_AUTO, pcid_enabled, CTLFLAG_RDTUN | CTLFLAG_NOFETCH,
@@ -1097,6 +1098,13 @@ static caddr_t crashdumpmap;
#define PMAP_ENTER_NORECLAIM 0x1000000 /* Don't reclaim PV entries. */
#define PMAP_ENTER_NOREPLACE 0x2000000 /* Don't replace mappings. */
+/*
+ * Internal flags for pmap_mapdev_internal() and
+ * pmap_change_attr_locked().
+ */
+#define MAPDEV_FLUSHCACHE 0x0000001 /* Flush cache after mapping. */
+#define MAPDEV_SETATTR 0x0000002 /* Modify existing attrs. */
+
static void free_pv_chunk(struct pv_chunk *pc);
static void free_pv_entry(pmap_t pmap, pv_entry_t pv);
static pv_entry_t get_pv_entry(pmap_t pmap, struct rwlock **lockp);
@@ -1117,7 +1125,7 @@ static pv_entry_t pmap_pvh_remove(struct md_page *pvh,
vm_offset_t va);
static int pmap_change_attr_locked(vm_offset_t va, vm_size_t size, int mode,
- bool noflush);
+ int flags);
static boolean_t pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va);
static boolean_t pmap_demote_pde_locked(pmap_t pmap, pd_entry_t *pde,
vm_offset_t va, struct rwlock **lockp);
@@ -1582,8 +1590,8 @@ void
pmap_bootstrap(vm_paddr_t *firstaddr)
{
vm_offset_t va;
- pt_entry_t *pte;
- uint64_t cr4;
+ pt_entry_t *pte, *pcpu_pte;
+ uint64_t cr4, pcpu_phys;
u_long res;
int i;
@@ -1598,6 +1606,8 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
*/
create_pagetables(firstaddr);
+ pcpu_phys = allocpages(firstaddr, MAXCPU);
+
/*
* Add a physical memory segment (vm_phys_seg) corresponding to the
* preallocated kernel page table pages so that vm_page structures
@@ -1665,8 +1675,21 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
SYSMAP(caddr_t, CMAP1, crashdumpmap, MAXDUMPPGS)
CADDR1 = crashdumpmap;
+ SYSMAP(struct pcpu *, pcpu_pte, __pcpu, MAXCPU);
virtual_avail = va;
+ for (i = 0; i < MAXCPU; i++) {
+ pcpu_pte[i] = (pcpu_phys + ptoa(i)) | X86_PG_V | X86_PG_RW |
+ pg_g | pg_nx | X86_PG_M | X86_PG_A;
+ }
+ STAILQ_INIT(&cpuhead);
+ wrmsr(MSR_GSBASE, (uint64_t)&__pcpu[0]);
+ pcpu_init(&__pcpu[0], 0, sizeof(struct pcpu));
+ amd64_bsp_pcpu_init1(&__pcpu[0]);
+ amd64_bsp_ist_init(&__pcpu[0]);
+ __pcpu[0].pc_dynamic = temp_bsp_pcpu.pc_dynamic;
+ __pcpu[0].pc_acpi_id = temp_bsp_pcpu.pc_acpi_id;
+
/*
* Initialize the PAT MSR.
* pmap_init_pat() clears and sets CR4_PGE, which, as a
@@ -2071,6 +2094,41 @@ pmap_cache_mask(pmap_t pmap, boolean_t is_pde)
return (mask);
}
+static int
+pmap_pat_index(pmap_t pmap, pt_entry_t pte, bool is_pde)
+{
+ int pat_flag, pat_idx;
+
+ pat_idx = 0;
+ switch (pmap->pm_type) {
+ case PT_X86:
+ case PT_RVI:
+ /* The PAT bit is different for PTE's and PDE's. */
+ pat_flag = is_pde ? X86_PG_PDE_PAT : X86_PG_PTE_PAT;
+
+ if ((pte & pat_flag) != 0)
+ pat_idx |= 0x4;
+ if ((pte & PG_NC_PCD) != 0)
+ pat_idx |= 0x2;
+ if ((pte & PG_NC_PWT) != 0)
+ pat_idx |= 0x1;
+ break;
+ case PT_EPT:
+ if ((pte & EPT_PG_IGNORE_PAT) != 0)
+ panic("EPT PTE %#lx has no PAT memory type", pte);
+ pat_idx = (pte & EPT_PG_MEMORY_TYPE(0x7)) >> 3;
+ break;
+ }
+
+ /* See pmap_init_pat(). */
+ if (pat_idx == 4)
+ pat_idx = 0;
+ if (pat_idx == 7)
+ pat_idx = 3;
+
+ return (pat_idx);
+}
+
bool
pmap_ps_enabled(pmap_t pmap)
{
@@ -3050,8 +3108,7 @@ pmap_kextract(vm_offset_t va)
if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
pa = DMAP_TO_PHYS(va);
- } else if (LARGEMAP_MIN_ADDRESS <= va &&
- va < PMAP_LARGEMAP_MAX_ADDRESS()) {
+ } else if (PMAP_ADDRESS_IN_LARGEMAP(va)) {
pa = pmap_large_map_kextract(va);
} else {
pde = *vtopde(va);
@@ -3774,6 +3831,49 @@ SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLF
0, 0, kvm_free, "LU", "Amount of KVM free");
/*
+ * Allocate physical memory for the vm_page array and map it into KVA,
+ * attempting to back the vm_pages with domain-local memory.
+ */
+void
+pmap_page_array_startup(long pages)
+{
+ pdp_entry_t *pdpe;
+ pd_entry_t *pde, newpdir;
+ vm_offset_t va, start, end;
+ vm_paddr_t pa;
+ long pfn;
+ int domain, i;
+
+ vm_page_array_size = pages;
+
+ start = va = VM_MIN_KERNEL_ADDRESS;
+ end = va + pages * sizeof(struct vm_page);
+ while (va < end) {
+ pfn = first_page + (va - start) / sizeof(struct vm_page);
+ domain = _vm_phys_domain(ptoa(pfn));
+ pdpe = pmap_pdpe(kernel_pmap, va);
+ if ((*pdpe & X86_PG_V) == 0) {
+ pa = vm_phys_early_alloc(domain, PAGE_SIZE);
+ dump_add_page(pa);
+ pagezero((void *)PHYS_TO_DMAP(pa));
+ *pdpe = (pdp_entry_t)(pa | X86_PG_V | X86_PG_RW |
+ X86_PG_A | X86_PG_M);
+ }
+ pde = pmap_pdpe_to_pde(pdpe, va);
+ if ((*pde & X86_PG_V) != 0)
+ panic("Unexpected pde");
+ pa = vm_phys_early_alloc(domain, NBPDR);
+ for (i = 0; i < NPDEPG; i++)
+ dump_add_page(pa + i * PAGE_SIZE);
+ newpdir = (pd_entry_t)(pa | X86_PG_V | X86_PG_RW | X86_PG_A |
+ X86_PG_M | PG_PS | pg_g | pg_nx);
+ pde_store(pde, newpdir);
+ va += NBPDR;
+ }
+ vm_page_array = (vm_page_t)start;
+}
+
+/*
* grow the number of kernel page table entries, if needed
*/
void
@@ -7444,7 +7544,7 @@ pmap_advise(pmap_t pmap, vm_offset_t sva, vm_offset_t
pt_entry_t *pte, PG_A, PG_G, PG_M, PG_RW, PG_V;
vm_offset_t va, va_next;
vm_page_t m;
- boolean_t anychanged;
+ bool anychanged;
if (advice != MADV_DONTNEED && advice != MADV_FREE)
return;
@@ -7463,7 +7563,7 @@ pmap_advise(pmap_t pmap, vm_offset_t sva, vm_offset_t
PG_M = pmap_modified_bit(pmap);
PG_V = pmap_valid_bit(pmap);
PG_RW = pmap_rw_bit(pmap);
- anychanged = FALSE;
+ anychanged = false;
pmap_delayed_invl_start();
PMAP_LOCK(pmap);
for (; sva < eva; sva = va_next) {
@@ -7505,17 +7605,25 @@ pmap_advise(pmap_t pmap, vm_offset_t sva, vm_offset_t
/*
* Unless the page mappings are wired, remove the
* mapping to a single page so that a subsequent
- * access may repromote. Since the underlying page
- * table page is fully populated, this removal never
- * frees a page table page.
+ * access may repromote. Choosing the last page
+ * within the address range [sva, min(va_next, eva))
+ * generally results in more repromotions. Since the
+ * underlying page table page is fully populated, this
+ * removal never frees a page table page.
*/
if ((oldpde & PG_W) == 0) {
- pte = pmap_pde_to_pte(pde, sva);
+ va = eva;
+ if (va > va_next)
+ va = va_next;
+ va -= PAGE_SIZE;
+ KASSERT(va >= sva,
+ ("pmap_advise: no address gap"));
+ pte = pmap_pde_to_pte(pde, va);
KASSERT((*pte & PG_V) != 0,
("pmap_advise: invalid PTE"));
- pmap_remove_pte(pmap, pte, sva, *pde, NULL,
+ pmap_remove_pte(pmap, pte, va, *pde, NULL,
&lock);
- anychanged = TRUE;
+ anychanged = true;
}
if (lock != NULL)
rw_wunlock(lock);
@@ -7547,7 +7655,7 @@ pmap_advise(pmap_t pmap, vm_offset_t sva, vm_offset_t
if (va == va_next)
va = sva;
} else
- anychanged = TRUE;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list