Date: Thu, 12 Jun 2014 22:57:57 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r267431 - in projects/nfsv4.1-server/sys: . amd64/amd64 amd64/conf amd64/include amd64/linux32 amd64/vmm amd64/vmm/intel amd64/vmm/io arm/allwinner arm/arm arm/at91 arm/broadcom/bcm2835... Message-ID: <201406122257.s5CMvvQ3011301@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rmacklem Date: Thu Jun 12 22:57:55 2014 New Revision: 267431 URL: http://svnweb.freebsd.org/changeset/base/267431 Log: Merge in an up to date kernel from head. Added: projects/nfsv4.1-server/sys/arm/arm/platform.c - copied unchanged from r267430, head/sys/arm/arm/platform.c projects/nfsv4.1-server/sys/arm/arm/platform_if.m - copied unchanged from r267430, head/sys/arm/arm/platform_if.m projects/nfsv4.1-server/sys/arm/conf/ARNDALE-OCTA - copied unchanged from r267430, head/sys/arm/conf/ARNDALE-OCTA projects/nfsv4.1-server/sys/arm/conf/CHROMEBOOK-SNOW - copied unchanged from r267430, head/sys/arm/conf/CHROMEBOOK-SNOW projects/nfsv4.1-server/sys/arm/conf/CHROMEBOOK-SPRING - copied unchanged from r267430, head/sys/arm/conf/CHROMEBOOK-SPRING projects/nfsv4.1-server/sys/arm/conf/EXYNOS5.common - copied unchanged from r267430, head/sys/arm/conf/EXYNOS5.common projects/nfsv4.1-server/sys/arm/conf/EXYNOS5250 - copied unchanged from r267430, head/sys/arm/conf/EXYNOS5250 projects/nfsv4.1-server/sys/arm/conf/EXYNOS5420 - copied unchanged from r267430, head/sys/arm/conf/EXYNOS5420 projects/nfsv4.1-server/sys/arm/conf/RADXA-LITE - copied unchanged from r267430, head/sys/arm/conf/RADXA-LITE projects/nfsv4.1-server/sys/arm/conf/RK3188 - copied unchanged from r267430, head/sys/arm/conf/RK3188 projects/nfsv4.1-server/sys/arm/freescale/vybrid/vf_spi.c - copied unchanged from r267430, head/sys/arm/freescale/vybrid/vf_spi.c projects/nfsv4.1-server/sys/arm/include/platform.h - copied unchanged from r267430, head/sys/arm/include/platform.h projects/nfsv4.1-server/sys/arm/include/platformvar.h - copied unchanged from r267430, head/sys/arm/include/platformvar.h projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos_uart.c - copied unchanged from r267430, head/sys/arm/samsung/exynos/exynos_uart.c projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos_uart.h - copied unchanged from r267430, head/sys/arm/samsung/exynos/exynos_uart.h projects/nfsv4.1-server/sys/arm/samsung/exynos/std.exynos5250 - copied unchanged from r267430, head/sys/arm/samsung/exynos/std.exynos5250 projects/nfsv4.1-server/sys/arm/samsung/exynos/std.exynos5420 - copied unchanged from r267430, head/sys/arm/samsung/exynos/std.exynos5420 projects/nfsv4.1-server/sys/boot/fdt/dts/Makefile - copied unchanged from r267430, head/sys/boot/fdt/dts/Makefile projects/nfsv4.1-server/sys/boot/fdt/dts/Makefile.inc - copied unchanged from r267430, head/sys/boot/fdt/dts/Makefile.inc projects/nfsv4.1-server/sys/boot/fdt/dts/arm/Makefile - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/Makefile projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5.dtsi - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/exynos5.dtsi projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5250-chromebook-snow.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/exynos5250-chromebook-snow.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5250-chromebook-spring.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/exynos5250-chromebook-spring.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5420.dtsi - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/exynos5420.dtsi projects/nfsv4.1-server/sys/boot/fdt/dts/arm/rk3188-radxa-lite.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/arm/rk3188-radxa-lite.dts projects/nfsv4.1-server/sys/boot/fdt/dts/mips/Makefile - copied unchanged from r267430, head/sys/boot/fdt/dts/mips/Makefile projects/nfsv4.1-server/sys/boot/fdt/dts/powerpc/Makefile - copied unchanged from r267430, head/sys/boot/fdt/dts/powerpc/Makefile projects/nfsv4.1-server/sys/boot/fdt/dts/powerpc/p2041rdb.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/powerpc/p2041rdb.dts projects/nfsv4.1-server/sys/boot/fdt/dts/powerpc/p3041ds.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/powerpc/p3041ds.dts projects/nfsv4.1-server/sys/boot/fdt/dts/powerpc/p5020ds.dts - copied unchanged from r267430, head/sys/boot/fdt/dts/powerpc/p5020ds.dts projects/nfsv4.1-server/sys/boot/usb/storage/ - copied from r267430, head/sys/boot/usb/storage/ projects/nfsv4.1-server/sys/dev/cxgbe/t4_netmap.c - copied unchanged from r267430, head/sys/dev/cxgbe/t4_netmap.c projects/nfsv4.1-server/sys/dev/fdt/fdt_arm_platform.c - copied unchanged from r267430, head/sys/dev/fdt/fdt_arm_platform.c projects/nfsv4.1-server/sys/dev/i40e/ - copied from r267430, head/sys/dev/i40e/ projects/nfsv4.1-server/sys/dev/iicbus/lm75.c - copied unchanged from r267430, head/sys/dev/iicbus/lm75.c projects/nfsv4.1-server/sys/dev/ismt/ - copied from r267430, head/sys/dev/ismt/ projects/nfsv4.1-server/sys/dev/usb/controller/saf1761_otg.c - copied unchanged from r267430, head/sys/dev/usb/controller/saf1761_otg.c projects/nfsv4.1-server/sys/dev/usb/controller/saf1761_otg.h - copied unchanged from r267430, head/sys/dev/usb/controller/saf1761_otg.h projects/nfsv4.1-server/sys/dev/usb/controller/saf1761_otg_boot.c - copied unchanged from r267430, head/sys/dev/usb/controller/saf1761_otg_boot.c projects/nfsv4.1-server/sys/dev/usb/controller/saf1761_otg_fdt.c - copied unchanged from r267430, head/sys/dev/usb/controller/saf1761_otg_fdt.c projects/nfsv4.1-server/sys/dev/usb/controller/saf1761_otg_reg.h - copied unchanged from r267430, head/sys/dev/usb/controller/saf1761_otg_reg.h projects/nfsv4.1-server/sys/dev/virtio/virtio_config.h - copied unchanged from r267430, head/sys/dev/virtio/virtio_config.h projects/nfsv4.1-server/sys/dev/virtio/virtio_ids.h - copied unchanged from r267430, head/sys/dev/virtio/virtio_ids.h projects/nfsv4.1-server/sys/fs/cuse/ - copied from r267430, head/sys/fs/cuse/ projects/nfsv4.1-server/sys/geom/part/g_part_bsd64.c - copied unchanged from r267430, head/sys/geom/part/g_part_bsd64.c projects/nfsv4.1-server/sys/modules/cuse/ - copied from r267430, head/sys/modules/cuse/ projects/nfsv4.1-server/sys/modules/geom/geom_part/geom_part_bsd64/ - copied from r267430, head/sys/modules/geom/geom_part/geom_part_bsd64/ projects/nfsv4.1-server/sys/modules/i2c/controllers/ismt/ - copied from r267430, head/sys/modules/i2c/controllers/ismt/ projects/nfsv4.1-server/sys/modules/i40e/ - copied from r267430, head/sys/modules/i40e/ projects/nfsv4.1-server/sys/modules/usb/saf1761otg/ - copied from r267430, head/sys/modules/usb/saf1761otg/ Deleted: projects/nfsv4.1-server/sys/arm/conf/EXYNOS5250.common projects/nfsv4.1-server/sys/arm/samsung/exynos/std.exynos5 projects/nfsv4.1-server/sys/arm/samsung/exynos/uart.c projects/nfsv4.1-server/sys/arm/samsung/exynos/uart.h projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5250-chromebook.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/p2041rdb.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/p3041ds.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/p5020ds.dts projects/nfsv4.1-server/sys/dev/usb/controller/dwc_otg_atmelarm.c projects/nfsv4.1-server/sys/dev/vt/hw/xboxfb/ Modified: projects/nfsv4.1-server/sys/Makefile projects/nfsv4.1-server/sys/amd64/amd64/db_disasm.c projects/nfsv4.1-server/sys/amd64/amd64/exception.S projects/nfsv4.1-server/sys/amd64/amd64/fpu.c projects/nfsv4.1-server/sys/amd64/amd64/identcpu.c projects/nfsv4.1-server/sys/amd64/amd64/machdep.c projects/nfsv4.1-server/sys/amd64/amd64/mp_machdep.c projects/nfsv4.1-server/sys/amd64/amd64/pmap.c projects/nfsv4.1-server/sys/amd64/amd64/sys_machdep.c projects/nfsv4.1-server/sys/amd64/amd64/trap.c projects/nfsv4.1-server/sys/amd64/conf/GENERIC projects/nfsv4.1-server/sys/amd64/conf/NOTES projects/nfsv4.1-server/sys/amd64/include/param.h projects/nfsv4.1-server/sys/amd64/include/vmm.h (contents, props changed) projects/nfsv4.1-server/sys/amd64/include/vmm_dev.h (contents, props changed) projects/nfsv4.1-server/sys/amd64/include/vmm_instruction_emul.h (contents, props changed) projects/nfsv4.1-server/sys/amd64/linux32/linux32_sysvec.c projects/nfsv4.1-server/sys/amd64/vmm/intel/vmcs.c projects/nfsv4.1-server/sys/amd64/vmm/intel/vmcs.h projects/nfsv4.1-server/sys/amd64/vmm/intel/vmx.c projects/nfsv4.1-server/sys/amd64/vmm/intel/vmx.h projects/nfsv4.1-server/sys/amd64/vmm/intel/vmx_support.S projects/nfsv4.1-server/sys/amd64/vmm/io/vatpic.c projects/nfsv4.1-server/sys/amd64/vmm/io/vatpic.h projects/nfsv4.1-server/sys/amd64/vmm/io/vlapic.c projects/nfsv4.1-server/sys/amd64/vmm/io/vlapic.h projects/nfsv4.1-server/sys/amd64/vmm/vmm.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_dev.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_host.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_instruction_emul.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_ioport.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_ioport.h projects/nfsv4.1-server/sys/amd64/vmm/vmm_ktr.h projects/nfsv4.1-server/sys/amd64/vmm/vmm_stat.c projects/nfsv4.1-server/sys/amd64/vmm/vmm_stat.h projects/nfsv4.1-server/sys/amd64/vmm/x86.c projects/nfsv4.1-server/sys/arm/allwinner/a10_machdep.c projects/nfsv4.1-server/sys/arm/arm/bus_space_generic.c projects/nfsv4.1-server/sys/arm/arm/cpufunc.c projects/nfsv4.1-server/sys/arm/arm/cpufunc_asm_pj4b.S projects/nfsv4.1-server/sys/arm/arm/gic.c projects/nfsv4.1-server/sys/arm/arm/intr.c projects/nfsv4.1-server/sys/arm/arm/locore.S projects/nfsv4.1-server/sys/arm/arm/machdep.c projects/nfsv4.1-server/sys/arm/arm/pl310.c projects/nfsv4.1-server/sys/arm/arm/pmap-v6.c projects/nfsv4.1-server/sys/arm/arm/pmap.c projects/nfsv4.1-server/sys/arm/at91/at91_machdep.c projects/nfsv4.1-server/sys/arm/at91/board_tsc4370.c projects/nfsv4.1-server/sys/arm/at91/if_macb.c projects/nfsv4.1-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/nfsv4.1-server/sys/arm/broadcom/bcm2835/bcm2835_fbd.c projects/nfsv4.1-server/sys/arm/broadcom/bcm2835/bcm2835_intr.c projects/nfsv4.1-server/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/nfsv4.1-server/sys/arm/broadcom/bcm2835/files.bcm2835 projects/nfsv4.1-server/sys/arm/cavium/cns11xx/econa_machdep.c projects/nfsv4.1-server/sys/arm/cavium/cns11xx/if_ece.c projects/nfsv4.1-server/sys/arm/conf/ARNDALE projects/nfsv4.1-server/sys/arm/conf/BEAGLEBONE projects/nfsv4.1-server/sys/arm/conf/CHROMEBOOK projects/nfsv4.1-server/sys/arm/conf/PANDABOARD projects/nfsv4.1-server/sys/arm/conf/RADXA projects/nfsv4.1-server/sys/arm/conf/RPI-B projects/nfsv4.1-server/sys/arm/conf/VYBRID projects/nfsv4.1-server/sys/arm/conf/ZEDBOARD projects/nfsv4.1-server/sys/arm/freescale/imx/imx51_machdep.c projects/nfsv4.1-server/sys/arm/freescale/imx/imx53_machdep.c projects/nfsv4.1-server/sys/arm/freescale/imx/imx6_machdep.c projects/nfsv4.1-server/sys/arm/freescale/imx/imx_sdhci.c projects/nfsv4.1-server/sys/arm/freescale/vybrid/files.vybrid projects/nfsv4.1-server/sys/arm/freescale/vybrid/vf_gpio.c projects/nfsv4.1-server/sys/arm/freescale/vybrid/vf_machdep.c projects/nfsv4.1-server/sys/arm/freescale/vybrid/vf_port.c projects/nfsv4.1-server/sys/arm/include/atomic.h projects/nfsv4.1-server/sys/arm/include/cpu.h projects/nfsv4.1-server/sys/arm/include/cpufunc.h projects/nfsv4.1-server/sys/arm/include/devmap.h projects/nfsv4.1-server/sys/arm/include/intr.h projects/nfsv4.1-server/sys/arm/include/machdep.h projects/nfsv4.1-server/sys/arm/include/ucontext.h projects/nfsv4.1-server/sys/arm/lpc/lpc_gpio.c projects/nfsv4.1-server/sys/arm/lpc/lpc_machdep.c projects/nfsv4.1-server/sys/arm/lpc/lpcvar.h projects/nfsv4.1-server/sys/arm/mv/armadaxp/armadaxp_mp.c projects/nfsv4.1-server/sys/arm/mv/armadaxp/mptramp.S projects/nfsv4.1-server/sys/arm/mv/gpio.c projects/nfsv4.1-server/sys/arm/mv/mv_localbus.c projects/nfsv4.1-server/sys/arm/mv/mv_machdep.c projects/nfsv4.1-server/sys/arm/mv/mv_pci.c projects/nfsv4.1-server/sys/arm/mv/mvvar.h projects/nfsv4.1-server/sys/arm/mv/orion/db88f5xxx.c projects/nfsv4.1-server/sys/arm/rockchip/files.rk30xx projects/nfsv4.1-server/sys/arm/rockchip/rk30xx_gpio.c projects/nfsv4.1-server/sys/arm/rockchip/rk30xx_machdep.c projects/nfsv4.1-server/sys/arm/s3c2xx0/s3c24x0_machdep.c projects/nfsv4.1-server/sys/arm/samsung/exynos/chrome_ec.c projects/nfsv4.1-server/sys/arm/samsung/exynos/chrome_kb.c projects/nfsv4.1-server/sys/arm/samsung/exynos/chrome_kb.h projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos5_ehci.c projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos5_i2c.c projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos5_machdep.c projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos5_mp.c projects/nfsv4.1-server/sys/arm/samsung/exynos/exynos5_pad.c projects/nfsv4.1-server/sys/arm/samsung/exynos/files.exynos5 projects/nfsv4.1-server/sys/arm/tegra/tegra2_machdep.c projects/nfsv4.1-server/sys/arm/ti/aintc.c projects/nfsv4.1-server/sys/arm/ti/am335x/am335x_lcd.c projects/nfsv4.1-server/sys/arm/ti/am335x/am335x_prcm.c projects/nfsv4.1-server/sys/arm/ti/am335x/am335x_pwm.c projects/nfsv4.1-server/sys/arm/ti/am335x/am335x_scm_padconf.c projects/nfsv4.1-server/sys/arm/ti/omap4/omap4_prcm_clks.c projects/nfsv4.1-server/sys/arm/ti/omap4/omap4_scm_padconf.c projects/nfsv4.1-server/sys/arm/ti/ti_adc.c projects/nfsv4.1-server/sys/arm/ti/ti_adcreg.h projects/nfsv4.1-server/sys/arm/ti/ti_adcvar.h projects/nfsv4.1-server/sys/arm/ti/ti_gpio.c projects/nfsv4.1-server/sys/arm/ti/ti_i2c.c projects/nfsv4.1-server/sys/arm/ti/ti_machdep.c projects/nfsv4.1-server/sys/arm/ti/ti_prcm.c projects/nfsv4.1-server/sys/arm/versatile/versatile_clcd.c projects/nfsv4.1-server/sys/arm/versatile/versatile_machdep.c projects/nfsv4.1-server/sys/arm/xilinx/zy7_machdep.c projects/nfsv4.1-server/sys/arm/xscale/i80321/ep80219_machdep.c projects/nfsv4.1-server/sys/arm/xscale/i80321/iq31244_machdep.c projects/nfsv4.1-server/sys/arm/xscale/i8134x/crb_machdep.c projects/nfsv4.1-server/sys/arm/xscale/ixp425/avila_machdep.c projects/nfsv4.1-server/sys/arm/xscale/pxa/pxa_machdep.c projects/nfsv4.1-server/sys/boot/fdt/dts/arm/beaglebone-black.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/beaglebone.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/digi-ccwmx53.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/efikamx.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5250-arndale.dts projects/nfsv4.1-server/sys/boot/fdt/dts/arm/exynos5250.dtsi projects/nfsv4.1-server/sys/boot/fdt/dts/mips/beripad-de4.dts projects/nfsv4.1-server/sys/boot/fdt/fdt_loader_cmd.c projects/nfsv4.1-server/sys/boot/forth/brand.4th projects/nfsv4.1-server/sys/boot/i386/boot2/Makefile projects/nfsv4.1-server/sys/boot/i386/btx/btx/Makefile projects/nfsv4.1-server/sys/boot/i386/btx/btxldr/Makefile projects/nfsv4.1-server/sys/boot/i386/btx/lib/Makefile projects/nfsv4.1-server/sys/boot/i386/gptboot/gptboot.8 projects/nfsv4.1-server/sys/boot/i386/loader/Makefile projects/nfsv4.1-server/sys/boot/mips/beri/boot2/Makefile projects/nfsv4.1-server/sys/boot/mips/beri/loader/Makefile projects/nfsv4.1-server/sys/boot/mips/beri/loader/loader.ldscript projects/nfsv4.1-server/sys/boot/mips/beri/loader/main.c projects/nfsv4.1-server/sys/boot/pc98/boot2/Makefile projects/nfsv4.1-server/sys/boot/pc98/btx/lib/Makefile projects/nfsv4.1-server/sys/boot/pc98/loader/Makefile projects/nfsv4.1-server/sys/boot/sparc64/boot1/Makefile projects/nfsv4.1-server/sys/boot/sparc64/loader/Makefile projects/nfsv4.1-server/sys/boot/usb/Makefile projects/nfsv4.1-server/sys/boot/usb/bsd_kernel.c projects/nfsv4.1-server/sys/boot/usb/bsd_kernel.h projects/nfsv4.1-server/sys/boot/usb/bsd_usbloader_test.c projects/nfsv4.1-server/sys/boot/usb/usb_busdma_loader.c projects/nfsv4.1-server/sys/cam/ata/ata_da.c projects/nfsv4.1-server/sys/cam/ctl/ctl_backend_block.c projects/nfsv4.1-server/sys/cam/scsi/scsi_da.c projects/nfsv4.1-server/sys/cam/scsi/scsi_sg.c projects/nfsv4.1-server/sys/cam/scsi/scsi_sg.h projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/nfsv4.1-server/sys/cddl/dev/dtrace/x86/dis_tables.c projects/nfsv4.1-server/sys/compat/freebsd32/freebsd32_ioctl.c projects/nfsv4.1-server/sys/compat/freebsd32/freebsd32_ioctl.h projects/nfsv4.1-server/sys/compat/linux/linux_futex.c projects/nfsv4.1-server/sys/compat/linux/linux_ioctl.c projects/nfsv4.1-server/sys/conf/Makefile.arm projects/nfsv4.1-server/sys/conf/NOTES projects/nfsv4.1-server/sys/conf/files projects/nfsv4.1-server/sys/conf/files.amd64 projects/nfsv4.1-server/sys/conf/files.arm projects/nfsv4.1-server/sys/conf/files.i386 projects/nfsv4.1-server/sys/conf/files.powerpc projects/nfsv4.1-server/sys/conf/kern.mk projects/nfsv4.1-server/sys/conf/kern.opts.mk projects/nfsv4.1-server/sys/conf/kern.pre.mk projects/nfsv4.1-server/sys/conf/kmod.mk projects/nfsv4.1-server/sys/conf/options projects/nfsv4.1-server/sys/conf/options.amd64 projects/nfsv4.1-server/sys/conf/options.arm projects/nfsv4.1-server/sys/conf/options.i386 projects/nfsv4.1-server/sys/contrib/ipfilter/netinet/ip_log.c projects/nfsv4.1-server/sys/contrib/x86emu/x86emu.c projects/nfsv4.1-server/sys/ddb/db_command.c projects/nfsv4.1-server/sys/dev/aac/aac.c projects/nfsv4.1-server/sys/dev/advansys/adwcam.c projects/nfsv4.1-server/sys/dev/ae/if_ae.c projects/nfsv4.1-server/sys/dev/age/if_age.c projects/nfsv4.1-server/sys/dev/aha/aha.c projects/nfsv4.1-server/sys/dev/ahb/ahb.c projects/nfsv4.1-server/sys/dev/aic7xxx/aic79xx.c projects/nfsv4.1-server/sys/dev/aic7xxx/aic7xxx.c projects/nfsv4.1-server/sys/dev/alc/if_alc.c projects/nfsv4.1-server/sys/dev/ale/if_ale.c projects/nfsv4.1-server/sys/dev/an/if_an.c projects/nfsv4.1-server/sys/dev/ata/ata-dma.c projects/nfsv4.1-server/sys/dev/bce/if_bce.c projects/nfsv4.1-server/sys/dev/bfe/if_bfe.c projects/nfsv4.1-server/sys/dev/bge/if_bge.c projects/nfsv4.1-server/sys/dev/buslogic/bt.c projects/nfsv4.1-server/sys/dev/bxe/bxe.c projects/nfsv4.1-server/sys/dev/bxe/bxe.h projects/nfsv4.1-server/sys/dev/bxe/bxe_debug.c projects/nfsv4.1-server/sys/dev/bxe/bxe_stats.c projects/nfsv4.1-server/sys/dev/cfe/cfe_console.c projects/nfsv4.1-server/sys/dev/cxgbe/adapter.h projects/nfsv4.1-server/sys/dev/cxgbe/common/common.h projects/nfsv4.1-server/sys/dev/cxgbe/common/t4_hw.c projects/nfsv4.1-server/sys/dev/cxgbe/t4_main.c projects/nfsv4.1-server/sys/dev/cxgbe/t4_sge.c projects/nfsv4.1-server/sys/dev/cxgbe/t4_tracer.c projects/nfsv4.1-server/sys/dev/cxgbe/tom/t4_listen.c projects/nfsv4.1-server/sys/dev/dc/dcphy.c projects/nfsv4.1-server/sys/dev/dc/if_dc.c projects/nfsv4.1-server/sys/dev/dc/pnphy.c projects/nfsv4.1-server/sys/dev/de/if_de.c projects/nfsv4.1-server/sys/dev/dpt/dpt_scsi.c projects/nfsv4.1-server/sys/dev/drm2/radeon/radeon_device.c projects/nfsv4.1-server/sys/dev/e1000/e1000_phy.c projects/nfsv4.1-server/sys/dev/e1000/if_em.c projects/nfsv4.1-server/sys/dev/e1000/if_em.h projects/nfsv4.1-server/sys/dev/e1000/if_igb.c projects/nfsv4.1-server/sys/dev/e1000/if_lem.c projects/nfsv4.1-server/sys/dev/e1000/if_lem.h projects/nfsv4.1-server/sys/dev/firewire/sbp.c projects/nfsv4.1-server/sys/dev/fxp/if_fxp.c projects/nfsv4.1-server/sys/dev/fxp/if_fxpvar.h projects/nfsv4.1-server/sys/dev/fxp/inphy.c projects/nfsv4.1-server/sys/dev/gpio/gpioiic.c projects/nfsv4.1-server/sys/dev/hifn/hifn7751.c projects/nfsv4.1-server/sys/dev/hpt27xx/hpt27xx_os_bsd.c projects/nfsv4.1-server/sys/dev/hpt27xx/hpt27xx_osm_bsd.c projects/nfsv4.1-server/sys/dev/hpt27xx/os_bsd.h projects/nfsv4.1-server/sys/dev/hptmv/entry.c projects/nfsv4.1-server/sys/dev/hptrr/hptrr_os_bsd.c projects/nfsv4.1-server/sys/dev/hptrr/hptrr_osm_bsd.c projects/nfsv4.1-server/sys/dev/hwpmc/hwpmc_core.c projects/nfsv4.1-server/sys/dev/hwpmc/hwpmc_core.h projects/nfsv4.1-server/sys/dev/hwpmc/hwpmc_intel.c projects/nfsv4.1-server/sys/dev/hwpmc/hwpmc_uncore.h projects/nfsv4.1-server/sys/dev/hwpmc/pmc_events.h projects/nfsv4.1-server/sys/dev/iicbus/iic.c projects/nfsv4.1-server/sys/dev/iwn/if_iwn.c projects/nfsv4.1-server/sys/dev/iwn/if_iwn_chip_cfg.h projects/nfsv4.1-server/sys/dev/iwn/if_iwn_devid.h projects/nfsv4.1-server/sys/dev/iwn/if_iwnvar.h projects/nfsv4.1-server/sys/dev/ixgb/if_ixgb.c projects/nfsv4.1-server/sys/dev/ixgbe/ixgbe.c projects/nfsv4.1-server/sys/dev/ixgbe/ixv.c projects/nfsv4.1-server/sys/dev/jme/if_jme.c projects/nfsv4.1-server/sys/dev/malo/if_malo.c projects/nfsv4.1-server/sys/dev/malo/if_malohal.c projects/nfsv4.1-server/sys/dev/mfi/mfi.c projects/nfsv4.1-server/sys/dev/mfi/mfi_cam.c projects/nfsv4.1-server/sys/dev/mfi/mfi_disk.c projects/nfsv4.1-server/sys/dev/mfi/mfi_syspd.c projects/nfsv4.1-server/sys/dev/mfi/mfivar.h projects/nfsv4.1-server/sys/dev/mii/brgphy.c projects/nfsv4.1-server/sys/dev/mii/e1000phy.c projects/nfsv4.1-server/sys/dev/mii/ip1000phy.c projects/nfsv4.1-server/sys/dev/mii/jmphy.c projects/nfsv4.1-server/sys/dev/mii/mii.c projects/nfsv4.1-server/sys/dev/mii/miivar.h projects/nfsv4.1-server/sys/dev/mii/nsphy.c projects/nfsv4.1-server/sys/dev/mii/rgephy.c projects/nfsv4.1-server/sys/dev/mii/truephy.c projects/nfsv4.1-server/sys/dev/mpr/mpr_sas.c projects/nfsv4.1-server/sys/dev/mps/mps_sas.c projects/nfsv4.1-server/sys/dev/msk/if_msk.c projects/nfsv4.1-server/sys/dev/mwl/if_mwl.c projects/nfsv4.1-server/sys/dev/mwl/mwlhal.c projects/nfsv4.1-server/sys/dev/my/if_my.c projects/nfsv4.1-server/sys/dev/netmap/netmap.c projects/nfsv4.1-server/sys/dev/netmap/netmap_freebsd.c projects/nfsv4.1-server/sys/dev/netmap/netmap_generic.c projects/nfsv4.1-server/sys/dev/netmap/netmap_kern.h projects/nfsv4.1-server/sys/dev/netmap/netmap_mbq.c projects/nfsv4.1-server/sys/dev/netmap/netmap_mbq.h projects/nfsv4.1-server/sys/dev/netmap/netmap_mem2.c projects/nfsv4.1-server/sys/dev/netmap/netmap_pipe.c projects/nfsv4.1-server/sys/dev/netmap/netmap_vale.c projects/nfsv4.1-server/sys/dev/nfe/if_nfe.c projects/nfsv4.1-server/sys/dev/nge/if_nge.c projects/nfsv4.1-server/sys/dev/nvme/nvme_ctrlr_cmd.c projects/nfsv4.1-server/sys/dev/ofw/ofwbus.c projects/nfsv4.1-server/sys/dev/pci/pci.c projects/nfsv4.1-server/sys/dev/pci/pcireg.h projects/nfsv4.1-server/sys/dev/qlxgb/qla_os.c projects/nfsv4.1-server/sys/dev/qlxgbe/ql_os.c projects/nfsv4.1-server/sys/dev/qlxge/qls_os.c projects/nfsv4.1-server/sys/dev/re/if_re.c projects/nfsv4.1-server/sys/dev/safe/safe.c projects/nfsv4.1-server/sys/dev/sf/if_sf.c projects/nfsv4.1-server/sys/dev/sge/if_sge.c projects/nfsv4.1-server/sys/dev/siba/siba_core.c projects/nfsv4.1-server/sys/dev/sis/if_sis.c projects/nfsv4.1-server/sys/dev/sk/if_sk.c projects/nfsv4.1-server/sys/dev/sound/pci/emu10k1.c projects/nfsv4.1-server/sys/dev/sound/usb/uaudio.c projects/nfsv4.1-server/sys/dev/ste/if_ste.c projects/nfsv4.1-server/sys/dev/stge/if_stge.c projects/nfsv4.1-server/sys/dev/sym/sym_hipd.c projects/nfsv4.1-server/sys/dev/trm/trm.c projects/nfsv4.1-server/sys/dev/tx/if_tx.c projects/nfsv4.1-server/sys/dev/uart/uart_bus_pci.c projects/nfsv4.1-server/sys/dev/uart/uart_dev_ns8250.c projects/nfsv4.1-server/sys/dev/ubsec/ubsec.c projects/nfsv4.1-server/sys/dev/usb/controller/at91dci.c projects/nfsv4.1-server/sys/dev/usb/controller/atmegadci.c projects/nfsv4.1-server/sys/dev/usb/controller/avr32dci.c projects/nfsv4.1-server/sys/dev/usb/controller/dwc_otg.c projects/nfsv4.1-server/sys/dev/usb/controller/dwc_otg.h projects/nfsv4.1-server/sys/dev/usb/controller/dwc_otg_fdt.c projects/nfsv4.1-server/sys/dev/usb/controller/musb_otg.c projects/nfsv4.1-server/sys/dev/usb/controller/musb_otg.h projects/nfsv4.1-server/sys/dev/usb/controller/usb_controller.c projects/nfsv4.1-server/sys/dev/usb/controller/uss820dci.c projects/nfsv4.1-server/sys/dev/usb/controller/xhci.c projects/nfsv4.1-server/sys/dev/usb/net/if_axge.c projects/nfsv4.1-server/sys/dev/usb/net/if_axgereg.h projects/nfsv4.1-server/sys/dev/usb/usb_bus.h projects/nfsv4.1-server/sys/dev/usb/usb_busdma.h projects/nfsv4.1-server/sys/dev/usb/usb_core.h projects/nfsv4.1-server/sys/dev/usb/usb_dev.c projects/nfsv4.1-server/sys/dev/usb/usb_device.c projects/nfsv4.1-server/sys/dev/usb/usb_device.h projects/nfsv4.1-server/sys/dev/usb/usb_freebsd.h projects/nfsv4.1-server/sys/dev/usb/usb_freebsd_loader.h projects/nfsv4.1-server/sys/dev/usb/usb_generic.c projects/nfsv4.1-server/sys/dev/usb/usb_hub.c projects/nfsv4.1-server/sys/dev/usb/usb_hub.h projects/nfsv4.1-server/sys/dev/usb/usb_msctest.c projects/nfsv4.1-server/sys/dev/usb/usb_msctest.h projects/nfsv4.1-server/sys/dev/usb/usbdevs projects/nfsv4.1-server/sys/dev/usb/usbdi.h projects/nfsv4.1-server/sys/dev/usb/wlan/if_rsu.c projects/nfsv4.1-server/sys/dev/usb/wlan/if_rsureg.h projects/nfsv4.1-server/sys/dev/usb/wlan/if_run.c projects/nfsv4.1-server/sys/dev/usb/wlan/if_urtwn.c projects/nfsv4.1-server/sys/dev/vge/if_vge.c projects/nfsv4.1-server/sys/dev/virtio/block/virtio_blk.c projects/nfsv4.1-server/sys/dev/virtio/network/if_vtnet.c projects/nfsv4.1-server/sys/dev/virtio/pci/virtio_pci.c projects/nfsv4.1-server/sys/dev/virtio/virtio.c projects/nfsv4.1-server/sys/dev/virtio/virtio.h projects/nfsv4.1-server/sys/dev/virtio/virtqueue.c projects/nfsv4.1-server/sys/dev/vmware/vmxnet3/if_vmx.c projects/nfsv4.1-server/sys/dev/vr/if_vr.c projects/nfsv4.1-server/sys/dev/vt/font/vt_font_default.c projects/nfsv4.1-server/sys/dev/vt/hw/ofwfb/ofwfb.c projects/nfsv4.1-server/sys/dev/vt/hw/vga/vga.c projects/nfsv4.1-server/sys/dev/vt/vt.h projects/nfsv4.1-server/sys/dev/vt/vt_buf.c projects/nfsv4.1-server/sys/dev/vt/vt_core.c projects/nfsv4.1-server/sys/dev/vte/if_vte.c projects/nfsv4.1-server/sys/fs/nfsserver/nfs_nfsdserv.c projects/nfsv4.1-server/sys/fs/tmpfs/tmpfs_subr.c projects/nfsv4.1-server/sys/geom/eli/g_eli.c projects/nfsv4.1-server/sys/geom/geom_disk.c projects/nfsv4.1-server/sys/geom/geom_event.c projects/nfsv4.1-server/sys/geom/geom_subr.c projects/nfsv4.1-server/sys/geom/part/g_part.c projects/nfsv4.1-server/sys/geom/part/g_part.h projects/nfsv4.1-server/sys/geom/part/g_part_apm.c projects/nfsv4.1-server/sys/geom/part/g_part_bsd.c projects/nfsv4.1-server/sys/geom/part/g_part_gpt.c projects/nfsv4.1-server/sys/geom/part/g_part_pc98.c projects/nfsv4.1-server/sys/i386/conf/GENERIC projects/nfsv4.1-server/sys/i386/conf/NOTES projects/nfsv4.1-server/sys/i386/conf/PAE projects/nfsv4.1-server/sys/i386/conf/XEN projects/nfsv4.1-server/sys/i386/i386/pmap.c projects/nfsv4.1-server/sys/i386/i386/trap.c projects/nfsv4.1-server/sys/i386/linux/linux_sysvec.c projects/nfsv4.1-server/sys/ia64/conf/GENERIC projects/nfsv4.1-server/sys/kern/imgact_elf.c projects/nfsv4.1-server/sys/kern/kern_cpu.c projects/nfsv4.1-server/sys/kern/kern_dtrace.c projects/nfsv4.1-server/sys/kern/kern_exec.c projects/nfsv4.1-server/sys/kern/kern_ktrace.c projects/nfsv4.1-server/sys/kern/kern_loginclass.c projects/nfsv4.1-server/sys/kern/kern_poll.c projects/nfsv4.1-server/sys/kern/kern_timeout.c projects/nfsv4.1-server/sys/kern/sched_ule.c projects/nfsv4.1-server/sys/kern/subr_rman.c projects/nfsv4.1-server/sys/kern/subr_taskqueue.c projects/nfsv4.1-server/sys/kern/uipc_mbuf.c projects/nfsv4.1-server/sys/kern/uipc_syscalls.c projects/nfsv4.1-server/sys/kern/vfs_bio.c projects/nfsv4.1-server/sys/kern/vfs_mountroot.c projects/nfsv4.1-server/sys/kern/vfs_subr.c projects/nfsv4.1-server/sys/libkern/iconv.c projects/nfsv4.1-server/sys/libkern/iconv_ucs.c projects/nfsv4.1-server/sys/mips/atheros/ar71xx_gpio.c projects/nfsv4.1-server/sys/mips/atheros/if_arge.c projects/nfsv4.1-server/sys/mips/conf/AP93.hints projects/nfsv4.1-server/sys/mips/conf/AR933X_BASE projects/nfsv4.1-server/sys/mips/conf/BERI_DE4_BASE projects/nfsv4.1-server/sys/mips/idt/if_kr.c projects/nfsv4.1-server/sys/mips/mips/trap.c projects/nfsv4.1-server/sys/modules/Makefile projects/nfsv4.1-server/sys/modules/agp/Makefile projects/nfsv4.1-server/sys/modules/aic7xxx/ahd/Makefile projects/nfsv4.1-server/sys/modules/bios/smapi/Makefile projects/nfsv4.1-server/sys/modules/cxgbe/if_cxgbe/Makefile projects/nfsv4.1-server/sys/modules/geom/Makefile projects/nfsv4.1-server/sys/modules/geom/geom_part/Makefile projects/nfsv4.1-server/sys/modules/i2c/controllers/Makefile projects/nfsv4.1-server/sys/modules/sound/driver/maestro/Makefile projects/nfsv4.1-server/sys/modules/sound/driver/uaudio/Makefile projects/nfsv4.1-server/sys/modules/ufs/Makefile projects/nfsv4.1-server/sys/modules/usb/Makefile projects/nfsv4.1-server/sys/modules/usb/dwc_otg/Makefile projects/nfsv4.1-server/sys/net/bpf.c projects/nfsv4.1-server/sys/net/ieee_oui.h projects/nfsv4.1-server/sys/net/if.c projects/nfsv4.1-server/sys/net/if_media.h projects/nfsv4.1-server/sys/net/if_var.h projects/nfsv4.1-server/sys/net/ifq.h projects/nfsv4.1-server/sys/net/netmap.h projects/nfsv4.1-server/sys/net/netmap_user.h projects/nfsv4.1-server/sys/net/route.c projects/nfsv4.1-server/sys/net/rtsock.c projects/nfsv4.1-server/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c projects/nfsv4.1-server/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/nfsv4.1-server/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c projects/nfsv4.1-server/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/nfsv4.1-server/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c projects/nfsv4.1-server/sys/netgraph/ng_mppc.c projects/nfsv4.1-server/sys/netgraph/ng_pipe.c projects/nfsv4.1-server/sys/netgraph/ng_socket.c projects/nfsv4.1-server/sys/netinet/in.h projects/nfsv4.1-server/sys/netinet/in_pcb.c projects/nfsv4.1-server/sys/netinet/in_pcb.h projects/nfsv4.1-server/sys/netinet/in_rss.c projects/nfsv4.1-server/sys/netinet/in_rss.h projects/nfsv4.1-server/sys/netinet/ip_dummynet.h projects/nfsv4.1-server/sys/netinet/ip_fw.h projects/nfsv4.1-server/sys/netinet/ip_input.c projects/nfsv4.1-server/sys/netinet/ip_options.c projects/nfsv4.1-server/sys/netinet/ip_output.c projects/nfsv4.1-server/sys/netinet/sctp_output.c projects/nfsv4.1-server/sys/netinet/tcp_input.c projects/nfsv4.1-server/sys/netinet/tcp_syncache.c projects/nfsv4.1-server/sys/netinet/tcp_timer.c projects/nfsv4.1-server/sys/netinet/tcp_timewait.c projects/nfsv4.1-server/sys/netinet/tcp_var.h projects/nfsv4.1-server/sys/netinet/udp_usrreq.c projects/nfsv4.1-server/sys/netinet/udp_var.h projects/nfsv4.1-server/sys/netinet6/ip6_forward.c projects/nfsv4.1-server/sys/netinet6/ip6_ipsec.c projects/nfsv4.1-server/sys/netinet6/ip6_ipsec.h projects/nfsv4.1-server/sys/netinet6/ip6_output.c projects/nfsv4.1-server/sys/netinet6/ip6_var.h projects/nfsv4.1-server/sys/netinet6/nd6.c projects/nfsv4.1-server/sys/netinet6/nd6_nbr.c projects/nfsv4.1-server/sys/netipsec/ipsec6.h projects/nfsv4.1-server/sys/netipsec/ipsec_input.c projects/nfsv4.1-server/sys/netipsec/ipsec_output.c projects/nfsv4.1-server/sys/netipsec/key.c projects/nfsv4.1-server/sys/netipsec/xform_ipip.c projects/nfsv4.1-server/sys/netpfil/ipfw/ip_dn_io.c projects/nfsv4.1-server/sys/netpfil/ipfw/ip_dummynet.c projects/nfsv4.1-server/sys/netpfil/ipfw/ip_fw_nat.c projects/nfsv4.1-server/sys/netpfil/ipfw/ip_fw_table.c projects/nfsv4.1-server/sys/netpfil/pf/pf.c projects/nfsv4.1-server/sys/netpfil/pf/pf_norm.c projects/nfsv4.1-server/sys/nfs/nfs_fha.c projects/nfsv4.1-server/sys/ofed/include/linux/bitops.h projects/nfsv4.1-server/sys/pci/if_rl.c projects/nfsv4.1-server/sys/powerpc/aim/trap.c projects/nfsv4.1-server/sys/powerpc/aim/trap_subr32.S projects/nfsv4.1-server/sys/powerpc/aim/trap_subr64.S projects/nfsv4.1-server/sys/powerpc/conf/GENERIC projects/nfsv4.1-server/sys/powerpc/conf/GENERIC64 projects/nfsv4.1-server/sys/powerpc/powerpc/intr_machdep.c projects/nfsv4.1-server/sys/powerpc/powerpc/mp_machdep.c projects/nfsv4.1-server/sys/powerpc/powerpc/platform.c projects/nfsv4.1-server/sys/powerpc/powerpc/sigcode32.S projects/nfsv4.1-server/sys/powerpc/powerpc/sigcode64.S projects/nfsv4.1-server/sys/powerpc/ps3/ps3_syscons.c projects/nfsv4.1-server/sys/powerpc/ps3/ps3bus.c projects/nfsv4.1-server/sys/powerpc/ps3/ps3pic.c projects/nfsv4.1-server/sys/rpc/svc.c projects/nfsv4.1-server/sys/rpc/svc.h projects/nfsv4.1-server/sys/rpc/svc_generic.c projects/nfsv4.1-server/sys/sparc64/conf/GENERIC projects/nfsv4.1-server/sys/sys/bus.h projects/nfsv4.1-server/sys/sys/disklabel.h projects/nfsv4.1-server/sys/sys/dtrace_bsd.h projects/nfsv4.1-server/sys/sys/gpt.h projects/nfsv4.1-server/sys/sys/imgact_elf.h projects/nfsv4.1-server/sys/sys/param.h projects/nfsv4.1-server/sys/sys/pmc.h projects/nfsv4.1-server/sys/sys/proc.h projects/nfsv4.1-server/sys/sys/stat.h projects/nfsv4.1-server/sys/sys/taskqueue.h projects/nfsv4.1-server/sys/tools/fdt/make_dtb.sh projects/nfsv4.1-server/sys/ufs/ffs/ffs_rawread.c projects/nfsv4.1-server/sys/ufs/ffs/ffs_vfsops.c projects/nfsv4.1-server/sys/vm/uma_core.c projects/nfsv4.1-server/sys/vm/vm_fault.c projects/nfsv4.1-server/sys/vm/vm_kern.c projects/nfsv4.1-server/sys/vm/vm_map.c projects/nfsv4.1-server/sys/vm/vm_mmap.c projects/nfsv4.1-server/sys/vm/vm_page.c projects/nfsv4.1-server/sys/vm/vm_page.h projects/nfsv4.1-server/sys/vm/vm_reserv.c projects/nfsv4.1-server/sys/x86/include/specialreg.h projects/nfsv4.1-server/sys/x86/x86/busdma_bounce.c Directory Properties: projects/nfsv4.1-server/sys/ (props changed) projects/nfsv4.1-server/sys/amd64/vmm/ (props changed) projects/nfsv4.1-server/sys/boot/ (props changed) projects/nfsv4.1-server/sys/cddl/contrib/opensolaris/ (props changed) projects/nfsv4.1-server/sys/conf/ (props changed) projects/nfsv4.1-server/sys/contrib/ipfilter/ (props changed) projects/nfsv4.1-server/sys/contrib/x86emu/ (props changed) Modified: projects/nfsv4.1-server/sys/Makefile ============================================================================== --- projects/nfsv4.1-server/sys/Makefile Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/Makefile Thu Jun 12 22:57:55 2014 (r267431) @@ -1,12 +1,5 @@ # $FreeBSD$ -.include <src.opts.mk> - -# The boot loader -.if ${MK_BOOT} != "no" -SUBDIR= boot -.endif - # Directories to include in cscope name file and TAGS. CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \ geom gnu isa kern libkern modules net net80211 \ @@ -27,12 +20,6 @@ CSCOPE_ARCHDIR += x86 .endif .endif -# Loadable kernel modules - -.if defined(MODULES_WITH_WORLD) -SUBDIR+=modules -.endif - HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` # You need the devel/cscope port for this. @@ -47,6 +34,25 @@ ${.CURDIR}/cscope.files: .PHONY cscope-clean: rm -f cscope.files cscope.out cscope.in.out cscope.po.out +# +# Installs SCM hooks to update the cscope database every time the source tree +# is updated. +# cscope understands incremental updates, so it's considerably faster when only +# a few files have changed. +# +HG_DIR=${.CURDIR}/../.hg +HG_HOOK=if [ \$$HG_ERROR -eq 0 ]; then cd sys && make -m ../share/mk cscope; fi +cscope-hook: + @if [ -d ${HG_DIR} ]; then \ + if [ "`grep hooks ${HG_DIR}/hgrc`" = "" ]; then \ + echo "[hooks]" >> ${HG_DIR}/hgrc; \ + echo "update = ${HG_HOOK}" >> ${HG_DIR}/hgrc; \ + echo "Hook installed in ${HG_DIR}/hgrc"; \ + else \ + echo "Mercurial update hook already exists."; \ + fi; \ + fi + # You need the devel/global and one of editor/emacs* ports for that. TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscope.files rm -f ${.CURDIR}/TAGS @@ -63,4 +69,20 @@ glimpse: glimpse-clean: cd ${.CURDIR}; rm -f .glimpse_* +.if !(make(cscope) || make(cscope-clean) || make(cscope-hook) || make(TAGS) || \ + make(glimpse) || make(glimpse-clean)) +.include <src.opts.mk> + +# The boot loader +.if ${MK_BOOT} != "no" +SUBDIR= boot +.endif + +# Loadable kernel modules + +.if defined(MODULES_WITH_WORLD) +SUBDIR+=modules +.endif + .include <bsd.subdir.mk> +.endif Modified: projects/nfsv4.1-server/sys/amd64/amd64/db_disasm.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/db_disasm.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/db_disasm.c Thu Jun 12 22:57:55 2014 (r267431) @@ -71,6 +71,7 @@ __FBSDID("$FreeBSD$"); #define R 5 /* register, in 'reg' field */ #define Rw 6 /* word register, in 'reg' field */ #define Rq 39 /* quad register, in 'reg' field */ +#define Rv 40 /* register in 'r/m' field */ #define Ri 7 /* register in instruction */ #define S 8 /* segment reg, in 'reg' field */ #define Si 9 /* segment reg, in instruction */ @@ -628,6 +629,17 @@ static const struct inst db_Grp5[] = { { "", TRUE, NONE, 0, 0 } }; +static const struct inst db_Grp9b[] = { + { "", TRUE, NONE, 0, 0 }, + { "", TRUE, NONE, 0, 0 }, + { "", TRUE, NONE, 0, 0 }, + { "", TRUE, NONE, 0, 0 }, + { "", TRUE, NONE, 0, 0 }, + { "", TRUE, NONE, 0, 0 }, + { "rdrand",TRUE, LONG, op1(Rv), 0 }, + { "rdseed",TRUE, LONG, op1(Rv), 0 } +}; + static const struct inst db_inst_table[256] = { /*00*/ { "add", TRUE, BYTE, op2(R, E), 0 }, /*01*/ { "add", TRUE, LONG, op2(R, E), 0 }, @@ -1300,7 +1312,13 @@ db_disasm(loc, altfmt) i_size = ip->i_size; i_mode = ip->i_mode; - if (ip->i_extra == db_Grp1 || ip->i_extra == db_Grp2 || + if (ip->i_extra == db_Grp9 && f_mod(rex, regmodrm) == 3) { + ip = &db_Grp9b[f_reg(rex, regmodrm)]; + i_name = ip->i_name; + i_size = ip->i_size; + i_mode = ip->i_mode; + } + else if (ip->i_extra == db_Grp1 || ip->i_extra == db_Grp2 || ip->i_extra == db_Grp6 || ip->i_extra == db_Grp7 || ip->i_extra == db_Grp8 || ip->i_extra == db_Grp9 || ip->i_extra == db_Grp15) { @@ -1373,6 +1391,46 @@ db_disasm(loc, altfmt) i_size = NONE; i_mode = 0; break; + case 0xd8: + i_name = "vmrun"; + i_size = NONE; + i_mode = 0; + break; + case 0xd9: + i_name = "vmmcall"; + i_size = NONE; + i_mode = 0; + break; + case 0xda: + i_name = "vmload"; + i_size = NONE; + i_mode = 0; + break; + case 0xdb: + i_name = "vmsave"; + i_size = NONE; + i_mode = 0; + break; + case 0xdc: + i_name = "stgi"; + i_size = NONE; + i_mode = 0; + break; + case 0xdd: + i_name = "clgi"; + i_size = NONE; + i_mode = 0; + break; + case 0xde: + i_name = "skinit"; + i_size = NONE; + i_mode = 0; + break; + case 0xdf: + i_name = "invlpga"; + i_size = NONE; + i_mode = 0; + break; case 0xf8: i_name = "swapgs"; i_size = NONE; @@ -1511,6 +1569,10 @@ db_disasm(loc, altfmt) db_printf("%s", db_reg[rex != 0 ? 1 : 0][(rex & REX_R) ? QUAD : LONG][f_rm(rex, inst)]); break; + case Rv: + db_printf("%s", db_reg[rex != 0 ? 1 : 0][(size == LONG && (rex & REX_W)) ? QUAD : size][f_rm(rex, regmodrm)]); + break; + case S: db_printf("%s", db_seg_reg[f_reg(rex, regmodrm)]); break; Modified: projects/nfsv4.1-server/sys/amd64/amd64/exception.S ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/exception.S Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/exception.S Thu Jun 12 22:57:55 2014 (r267431) @@ -721,21 +721,38 @@ ld_fsbase: pushfq cli movl $MSR_GSBASE,%ecx + /* Save current kernel %gs base into %r12d:%r13d */ rdmsr + movl %eax,%r12d + movl %edx,%r13d .globl ld_gs ld_gs: movw %si,%gs + /* Save user %gs base into %r14d:%r15d */ + rdmsr + movl %eax,%r14d + movl %edx,%r15d + /* Restore kernel %gs base */ + movl %r12d,%eax + movl %r13d,%edx wrmsr popfq + /* + * Restore user %gs base, either from PCB if used for TLS, or + * from the previously saved msr read. + */ + movl $MSR_KGSBASE,%ecx cmpw $KUG32SEL,%si jne 1f - movl $MSR_KGSBASE,%ecx movl PCB_GSBASE(%r8),%eax movl PCB_GSBASE+4(%r8),%edx + jmp ld_gsbase +1: + movl %r14d,%eax + movl %r15d,%edx .globl ld_gsbase ld_gsbase: - wrmsr -1: + wrmsr /* May trap if non-canonical, but only for TLS. */ .globl ld_es ld_es: movw TF_ES(%rsp),%es Modified: projects/nfsv4.1-server/sys/amd64/amd64/fpu.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/fpu.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/fpu.c Thu Jun 12 22:57:55 2014 (r267431) @@ -199,6 +199,10 @@ fpuinit_bsp1(void) TUNABLE_ULONG_FETCH("hw.xsave_mask", &xsave_mask_user); xsave_mask_user |= XFEATURE_ENABLED_X87 | XFEATURE_ENABLED_SSE; xsave_mask &= xsave_mask_user; + if ((xsave_mask & XFEATURE_AVX512) != XFEATURE_AVX512) + xsave_mask &= ~XFEATURE_AVX512; + if ((xsave_mask & XFEATURE_MPX) != XFEATURE_MPX) + xsave_mask &= ~XFEATURE_MPX; cpuid_count(0xd, 0x1, cp); if ((cp[0] & CPUID_EXTSTATE_XSAVEOPT) != 0) { Modified: projects/nfsv4.1-server/sys/amd64/amd64/identcpu.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/identcpu.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/identcpu.c Thu Jun 12 22:57:55 2014 (r267431) @@ -385,11 +385,11 @@ printcpuinfo(void) } if (cpu_stdext_feature != 0) { - printf("\n Standard Extended Features=0x%b", + printf("\n Structured Extended Features=0x%b", cpu_stdext_feature, "\020" /* RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE */ - "\001GSFSBASE" + "\001FSGSBASE" "\002TSCADJ" /* Bit Manipulation Instructions */ "\004BMI1" @@ -401,17 +401,27 @@ printcpuinfo(void) "\010SMEP" /* Bit Manipulation Instructions */ "\011BMI2" - "\012ENHMOVSB" + "\012ERMS" /* Invalidate Processor Context ID */ "\013INVPCID" /* Restricted Transactional Memory */ "\014RTM" + /* Intel Memory Protection Extensions */ + "\017MPX" + /* AVX512 Foundation */ + "\021AVX512F" /* Enhanced NRBG */ "\023RDSEED" /* ADCX + ADOX */ "\024ADX" /* Supervisor Mode Access Prevention */ "\025SMAP" + "\030CLFLUSHOPT" + "\032PROCTRACE" + "\033AVX512PF" + "\034AVX512ER" + "\035AVX512CD" + "\036SHA" ); } Modified: projects/nfsv4.1-server/sys/amd64/amd64/machdep.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/machdep.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/machdep.c Thu Jun 12 22:57:55 2014 (r267431) @@ -1147,7 +1147,7 @@ struct soft_segment_descriptor gdt_segs[ .ssd_gran = 1 }, /* GPROC0_SEL 9 Proc 0 Tss Descriptor */ { .ssd_base = 0x0, - .ssd_limit = sizeof(struct amd64tss) + IOPAGES * PAGE_SIZE - 1, + .ssd_limit = sizeof(struct amd64tss) + IOPERM_BITMAP_SIZE - 1, .ssd_type = SDT_SYSTSS, .ssd_dpl = SEL_KPL, .ssd_p = 1, @@ -2003,8 +2003,7 @@ hammer_time(u_int64_t modulep, u_int64_t common_tss[0].tss_ist2 = (long) np; /* Set the IO permission bitmap (empty due to tss seg limit) */ - common_tss[0].tss_iobase = sizeof(struct amd64tss) + - IOPAGES * PAGE_SIZE; + common_tss[0].tss_iobase = sizeof(struct amd64tss) + IOPERM_BITMAP_SIZE; gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); ltr(gsel_tss); Modified: projects/nfsv4.1-server/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/mp_machdep.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/mp_machdep.c Thu Jun 12 22:57:55 2014 (r267431) @@ -637,7 +637,7 @@ init_secondary(void) common_tss[cpu] = common_tss[0]; common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */ common_tss[cpu].tss_iobase = sizeof(struct amd64tss) + - IOPAGES * PAGE_SIZE; + IOPERM_BITMAP_SIZE; common_tss[cpu].tss_ist1 = (long)&doublefault_stack[PAGE_SIZE]; /* The NMI stack runs on IST2. */ Modified: projects/nfsv4.1-server/sys/amd64/amd64/pmap.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/pmap.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/pmap.c Thu Jun 12 22:57:55 2014 (r267431) @@ -4428,9 +4428,7 @@ pmap_enter_object(pmap_t pmap, vm_offset while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { va = start + ptoa(diff); if ((va & PDRMASK) == 0 && va + NBPDR <= end && - (VM_PAGE_TO_PHYS(m) & PDRMASK) == 0 && - pmap_ps_enabled(pmap) && - vm_reserv_level_iffullpop(m) == 0 && + m->psind == 1 && pmap_ps_enabled(pmap) && pmap_enter_pde(pmap, va, m, prot, &lock)) m = &m[NBPDR / PAGE_SIZE - 1]; else Modified: projects/nfsv4.1-server/sys/amd64/amd64/sys_machdep.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/sys_machdep.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/sys_machdep.c Thu Jun 12 22:57:55 2014 (r267431) @@ -338,7 +338,6 @@ amd64_set_ioperm(td, uap) char *iomap; struct amd64tss *tssp; struct system_segment_descriptor *tss_sd; - u_long *addr; struct pcb *pcb; if ((error = priv_check(td, PRIV_IO)) != 0) @@ -358,12 +357,8 @@ amd64_set_ioperm(td, uap) if (pcb->pcb_tssp == NULL) { tssp = (struct amd64tss *)kmem_malloc(kernel_arena, ctob(IOPAGES+1), M_WAITOK); - if (tssp == NULL) - return (ENOMEM); iomap = (char *)&tssp[1]; - addr = (u_long *)iomap; - for (i = 0; i < (ctob(IOPAGES) + 1) / sizeof(u_long); i++) - *addr++ = ~0; + memset(iomap, 0xff, IOPERM_BITMAP_SIZE); critical_enter(); /* Takes care of tss_rsp0. */ memcpy(tssp, &common_tss[PCPU_GET(cpuid)], @@ -465,12 +460,7 @@ user_ldt_alloc(struct proc *p, int force new_ldt = malloc(sizeof(struct proc_ldt), M_SUBPROC, M_WAITOK); new_ldt->ldt_base = (caddr_t)kmem_malloc(kernel_arena, max_ldt_segment * sizeof(struct user_segment_descriptor), - M_WAITOK); - if (new_ldt->ldt_base == NULL) { - FREE(new_ldt, M_SUBPROC); - mtx_lock(&dt_lock); - return (NULL); - } + M_WAITOK | M_ZERO); new_ldt->ldt_refcnt = 1; sldt.ssd_base = (uint64_t)new_ldt->ldt_base; sldt.ssd_limit = max_ldt_segment * Modified: projects/nfsv4.1-server/sys/amd64/amd64/trap.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/amd64/trap.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/amd64/trap.c Thu Jun 12 22:57:55 2014 (r267431) @@ -95,28 +95,6 @@ PMC_SOFT_DEFINE( , , page_fault, write); #ifdef KDTRACE_HOOKS #include <sys/dtrace_bsd.h> - -/* - * This is a hook which is initialised by the dtrace module - * to handle traps which might occur during DTrace probe - * execution. - */ -dtrace_trap_func_t dtrace_trap_func; - -dtrace_doubletrap_func_t dtrace_doubletrap_func; - -/* - * This is a hook which is initialised by the systrace module - * when it is loaded. This keeps the DTrace syscall provider - * implementation opaque. - */ -systrace_probe_func_t systrace_probe_func; - -/* - * These hooks are necessary for the pid and usdt providers. - */ -dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr; -dtrace_return_probe_ptr_t dtrace_return_probe_ptr; #endif extern void trap(struct trapframe *frame); Modified: projects/nfsv4.1-server/sys/amd64/conf/GENERIC ============================================================================== --- projects/nfsv4.1-server/sys/amd64/conf/GENERIC Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/conf/GENERIC Thu Jun 12 22:57:55 2014 (r267431) @@ -21,7 +21,7 @@ cpu HAMMER ident GENERIC -makeoptions DEBUG=-g +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler Modified: projects/nfsv4.1-server/sys/amd64/conf/NOTES ============================================================================== --- projects/nfsv4.1-server/sys/amd64/conf/NOTES Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/conf/NOTES Thu Jun 12 22:57:55 2014 (r267431) @@ -646,6 +646,3 @@ options VM_KMEM_SIZE_SCALE # Enable NDIS binary driver support options NDISAPI device ndis - -# Module to enable execution of application via emulators like QEMU -options IMAGACT_BINMISC Modified: projects/nfsv4.1-server/sys/amd64/include/param.h ============================================================================== --- projects/nfsv4.1-server/sys/amd64/include/param.h Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/include/param.h Thu Jun 12 22:57:55 2014 (r267431) @@ -120,6 +120,12 @@ #define MAXPAGESIZES 3 /* maximum number of supported page sizes */ #define IOPAGES 2 /* pages of i/o permission bitmap */ +/* + * I/O permission bitmap has a bit for each I/O port plus an additional + * byte at the end with all bits set. See section "I/O Permission Bit Map" + * in the Intel SDM for more details. + */ +#define IOPERM_BITMAP_SIZE (IOPAGES * PAGE_SIZE + 1) #ifndef KSTACK_PAGES #define KSTACK_PAGES 4 /* pages of kstack (with pcb) */ Modified: projects/nfsv4.1-server/sys/amd64/include/vmm.h ============================================================================== --- projects/nfsv4.1-server/sys/amd64/include/vmm.h Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/include/vmm.h Thu Jun 12 22:57:55 2014 (r267431) @@ -37,6 +37,53 @@ enum vm_suspend_how { VM_SUSPEND_LAST }; +/* + * Identifiers for architecturally defined registers. + */ +enum vm_reg_name { + VM_REG_GUEST_RAX, + VM_REG_GUEST_RBX, + VM_REG_GUEST_RCX, + VM_REG_GUEST_RDX, + VM_REG_GUEST_RSI, + VM_REG_GUEST_RDI, + VM_REG_GUEST_RBP, + VM_REG_GUEST_R8, + VM_REG_GUEST_R9, + VM_REG_GUEST_R10, + VM_REG_GUEST_R11, + VM_REG_GUEST_R12, + VM_REG_GUEST_R13, + VM_REG_GUEST_R14, + VM_REG_GUEST_R15, + VM_REG_GUEST_CR0, + VM_REG_GUEST_CR3, + VM_REG_GUEST_CR4, + VM_REG_GUEST_DR7, + VM_REG_GUEST_RSP, + VM_REG_GUEST_RIP, + VM_REG_GUEST_RFLAGS, + VM_REG_GUEST_ES, + VM_REG_GUEST_CS, + VM_REG_GUEST_SS, + VM_REG_GUEST_DS, + VM_REG_GUEST_FS, + VM_REG_GUEST_GS, + VM_REG_GUEST_LDTR, + VM_REG_GUEST_TR, + VM_REG_GUEST_IDTR, + VM_REG_GUEST_GDTR, + VM_REG_GUEST_EFER, + VM_REG_GUEST_CR2, + VM_REG_LAST +}; + +enum x2apic_state { + X2APIC_DISABLED, + X2APIC_ENABLED, + X2APIC_STATE_LAST +}; + #ifdef _KERNEL #define VM_MAX_NAMELEN 32 @@ -54,8 +101,6 @@ struct vmspace; struct vm_object; struct pmap; -enum x2apic_state; - typedef int (*vmm_init_func_t)(int ipinum); typedef int (*vmm_cleanup_func_t)(void); typedef void (*vmm_resume_func_t)(void); @@ -104,6 +149,7 @@ extern struct vmm_ops vmm_ops_amd; int vm_create(const char *name, struct vm **retvm); void vm_destroy(struct vm *vm); +int vm_reinit(struct vm *vm); const char *vm_name(struct vm *vm); int vm_malloc(struct vm *vm, vm_paddr_t gpa, size_t len); int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); @@ -139,10 +185,13 @@ int vm_set_capability(struct vm *vm, int int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state); int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state); int vm_apicid2vcpuid(struct vm *vm, int apicid); -void vm_activate_cpu(struct vm *vm, int vcpu); +int vm_activate_cpu(struct vm *vm, int vcpu); cpuset_t vm_active_cpus(struct vm *vm); +cpuset_t vm_suspended_cpus(struct vm *vm); struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid); void vm_exit_suspended(struct vm *vm, int vcpuid, uint64_t rip); +void vm_exit_rendezvous(struct vm *vm, int vcpuid, uint64_t rip); +void vm_exit_astpending(struct vm *vm, int vcpuid, uint64_t rip); /* * Rendezvous all vcpus specified in 'dest' and execute 'func(arg)'. @@ -236,54 +285,15 @@ int vm_exception_pending(struct vm *vm, void vm_inject_gp(struct vm *vm, int vcpuid); /* general protection fault */ void vm_inject_ud(struct vm *vm, int vcpuid); /* undefined instruction fault */ +void vm_inject_pf(struct vm *vm, int vcpuid, int error_code, uint64_t cr2); -#endif /* KERNEL */ +enum vm_reg_name vm_segment_name(int seg_encoding); -#include <machine/vmm_instruction_emul.h> +#endif /* KERNEL */ #define VM_MAXCPU 16 /* maximum virtual cpus */ /* - * Identifiers for architecturally defined registers. - */ -enum vm_reg_name { - VM_REG_GUEST_RAX, - VM_REG_GUEST_RBX, - VM_REG_GUEST_RCX, - VM_REG_GUEST_RDX, - VM_REG_GUEST_RSI, - VM_REG_GUEST_RDI, - VM_REG_GUEST_RBP, - VM_REG_GUEST_R8, - VM_REG_GUEST_R9, - VM_REG_GUEST_R10, - VM_REG_GUEST_R11, - VM_REG_GUEST_R12, - VM_REG_GUEST_R13, - VM_REG_GUEST_R14, - VM_REG_GUEST_R15, - VM_REG_GUEST_CR0, - VM_REG_GUEST_CR3, - VM_REG_GUEST_CR4, - VM_REG_GUEST_DR7, - VM_REG_GUEST_RSP, - VM_REG_GUEST_RIP, - VM_REG_GUEST_RFLAGS, - VM_REG_GUEST_ES, - VM_REG_GUEST_CS, - VM_REG_GUEST_SS, - VM_REG_GUEST_DS, - VM_REG_GUEST_FS, - VM_REG_GUEST_GS, - VM_REG_GUEST_LDTR, - VM_REG_GUEST_TR, - VM_REG_GUEST_IDTR, - VM_REG_GUEST_GDTR, - VM_REG_GUEST_EFER, - VM_REG_LAST -}; - -/* * Identifiers for optional vmm capabilities */ enum vm_cap_type { @@ -295,12 +305,11 @@ enum vm_cap_type { VM_CAP_MAX }; -enum x2apic_state { - X2APIC_DISABLED, - X2APIC_ENABLED, - X2APIC_STATE_LAST +enum vm_intr_trigger { + EDGE_TRIGGER, + LEVEL_TRIGGER }; - + /* * The 'access' field has the format specified in Table 21-2 of the Intel * Architecture Manual vol 3b. @@ -313,6 +322,76 @@ struct seg_desc { uint32_t limit; uint32_t access; }; +#define SEG_DESC_TYPE(desc) ((desc)->access & 0x001f) +#define SEG_DESC_PRESENT(desc) ((desc)->access & 0x0080) +#define SEG_DESC_DEF32(desc) ((desc)->access & 0x4000) +#define SEG_DESC_GRANULARITY(desc) ((desc)->access & 0x8000) +#define SEG_DESC_UNUSABLE(desc) ((desc)->access & 0x10000) + +enum vm_cpu_mode { + CPU_MODE_COMPATIBILITY, /* IA-32E mode (CS.L = 0) */ + CPU_MODE_64BIT, /* IA-32E mode (CS.L = 1) */ +}; + +enum vm_paging_mode { + PAGING_MODE_FLAT, + PAGING_MODE_32, + PAGING_MODE_PAE, + PAGING_MODE_64, +}; + +struct vm_guest_paging { + uint64_t cr3; + int cpl; + enum vm_cpu_mode cpu_mode; + enum vm_paging_mode paging_mode; +}; + +/* + * The data structures 'vie' and 'vie_op' are meant to be opaque to the + * consumers of instruction decoding. The only reason why their contents + * need to be exposed is because they are part of the 'vm_exit' structure. + */ +struct vie_op { + uint8_t op_byte; /* actual opcode byte */ + uint8_t op_type; /* type of operation (e.g. MOV) */ + uint16_t op_flags; +}; + +#define VIE_INST_SIZE 15 +struct vie { + uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */ + uint8_t num_valid; /* size of the instruction */ + uint8_t num_processed; + + uint8_t rex_w:1, /* REX prefix */ + rex_r:1, + rex_x:1, + rex_b:1, + rex_present:1; + + uint8_t mod:2, /* ModRM byte */ + reg:4, + rm:4; + + uint8_t ss:2, /* SIB byte */ + index:4, + base:4; + + uint8_t disp_bytes; + uint8_t imm_bytes; + + uint8_t scale; + int base_register; /* VM_REG_GUEST_xyz */ + int index_register; /* VM_REG_GUEST_xyz */ + + int64_t displacement; /* optional addr displacement */ + int64_t immediate; /* optional immediate operand */ + + uint8_t decoded; /* set to 1 if successfully decoded */ + + struct vie_op op; /* opcode description */ +}; enum vm_exitcode { VM_EXITCODE_INOUT, @@ -330,22 +409,38 @@ enum vm_exitcode { VM_EXITCODE_RENDEZVOUS, VM_EXITCODE_IOAPIC_EOI, VM_EXITCODE_SUSPENDED, + VM_EXITCODE_INOUT_STR, VM_EXITCODE_MAX }; +struct vm_inout { + uint16_t bytes:3; /* 1 or 2 or 4 */ + uint16_t in:1; + uint16_t string:1; + uint16_t rep:1; + uint16_t port; + uint32_t eax; /* valid for out */ +}; + +struct vm_inout_str { + struct vm_inout inout; /* must be the first element */ + struct vm_guest_paging paging; + uint64_t rflags; + uint64_t cr0; + uint64_t index; + uint64_t count; /* rep=1 (%rcx), rep=0 (1) */ + int addrsize; + enum vm_reg_name seg_name; + struct seg_desc seg_desc; +}; + struct vm_exit { enum vm_exitcode exitcode; int inst_length; /* 0 means unknown */ uint64_t rip; union { - struct { - uint16_t bytes:3; /* 1 or 2 or 4 */ - uint16_t in:1; /* out is 0, in is 1 */ - uint16_t string:1; - uint16_t rep:1; - uint16_t port; - uint32_t eax; /* valid for out */ - } inout; + struct vm_inout inout; + struct vm_inout_str inout_str; struct { uint64_t gpa; int fault_type; @@ -353,9 +448,7 @@ struct vm_exit { struct { uint64_t gpa; uint64_t gla; - uint64_t cr3; - enum vie_cpu_mode cpu_mode; - enum vie_paging_mode paging_mode; + struct vm_guest_paging paging; struct vie vie; } inst_emul; /* Modified: projects/nfsv4.1-server/sys/amd64/include/vmm_dev.h ============================================================================== --- projects/nfsv4.1-server/sys/amd64/include/vmm_dev.h Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/include/vmm_dev.h Thu Jun 12 22:57:55 2014 (r267431) @@ -84,6 +84,11 @@ struct vm_isa_irq { int ioapic_irq; }; +struct vm_isa_irq_trigger { + int atpic_irq; + enum vm_intr_trigger trigger; +}; + struct vm_capability { int cpuid; enum vm_cap_type captype; @@ -163,6 +168,27 @@ struct vm_suspend { enum vm_suspend_how how; }; +struct vm_gla2gpa { + int vcpuid; /* inputs */ + int prot; /* PROT_READ or PROT_WRITE */ + uint64_t gla; + struct vm_guest_paging paging; + int fault; /* outputs */ + uint64_t gpa; +}; + +struct vm_activate_cpu { + int vcpuid; +}; + +struct vm_cpuset { + int which; + int cpusetsize; + cpuset_t *cpus; +}; +#define VM_ACTIVE_CPUS 0 +#define VM_SUSPENDED_CPUS 1 + enum { /* general routines */ IOCNUM_ABIVERS = 0, @@ -170,11 +196,13 @@ enum { IOCNUM_SET_CAPABILITY = 2, IOCNUM_GET_CAPABILITY = 3, IOCNUM_SUSPEND = 4, + IOCNUM_REINIT = 5, /* memory apis */ IOCNUM_MAP_MEMORY = 10, IOCNUM_GET_MEMORY_SEG = 11, IOCNUM_GET_GPA_PMAP = 12, + IOCNUM_GLA2GPA = 13, /* register/state accessors */ IOCNUM_SET_REGISTER = 20, @@ -213,12 +241,19 @@ enum { IOCNUM_ISA_ASSERT_IRQ = 80, IOCNUM_ISA_DEASSERT_IRQ = 81, IOCNUM_ISA_PULSE_IRQ = 82, + IOCNUM_ISA_SET_IRQ_TRIGGER = 83, + + /* vm_cpuset */ + IOCNUM_ACTIVATE_CPU = 90, + IOCNUM_GET_CPUSET = 91, }; #define VM_RUN \ _IOWR('v', IOCNUM_RUN, struct vm_run) #define VM_SUSPEND \ _IOW('v', IOCNUM_SUSPEND, struct vm_suspend) +#define VM_REINIT \ + _IO('v', IOCNUM_REINIT) #define VM_MAP_MEMORY \ _IOWR('v', IOCNUM_MAP_MEMORY, struct vm_memory_segment) #define VM_GET_MEMORY_SEG \ @@ -253,6 +288,8 @@ enum { _IOW('v', IOCNUM_ISA_DEASSERT_IRQ, struct vm_isa_irq) #define VM_ISA_PULSE_IRQ \ _IOW('v', IOCNUM_ISA_PULSE_IRQ, struct vm_isa_irq) +#define VM_ISA_SET_IRQ_TRIGGER \ + _IOW('v', IOCNUM_ISA_SET_IRQ_TRIGGER, struct vm_isa_irq_trigger) #define VM_SET_CAPABILITY \ _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) #define VM_GET_CAPABILITY \ @@ -281,4 +318,10 @@ enum { _IOR('v', IOCNUM_GET_HPET_CAPABILITIES, struct vm_hpet_cap) #define VM_GET_GPA_PMAP \ _IOWR('v', IOCNUM_GET_GPA_PMAP, struct vm_gpa_pte) +#define VM_GLA2GPA \ + _IOWR('v', IOCNUM_GLA2GPA, struct vm_gla2gpa) +#define VM_ACTIVATE_CPU \ + _IOW('v', IOCNUM_ACTIVATE_CPU, struct vm_activate_cpu) +#define VM_GET_CPUS \ + _IOW('v', IOCNUM_GET_CPUSET, struct vm_cpuset) #endif Modified: projects/nfsv4.1-server/sys/amd64/include/vmm_instruction_emul.h ============================================================================== --- projects/nfsv4.1-server/sys/amd64/include/vmm_instruction_emul.h Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/include/vmm_instruction_emul.h Thu Jun 12 22:57:55 2014 (r267431) @@ -29,63 +29,7 @@ #ifndef _VMM_INSTRUCTION_EMUL_H_ #define _VMM_INSTRUCTION_EMUL_H_ -enum vie_cpu_mode { - CPU_MODE_COMPATIBILITY, /* IA-32E mode (CS.L = 0) */ - CPU_MODE_64BIT, /* IA-32E mode (CS.L = 1) */ -}; - -enum vie_paging_mode { - PAGING_MODE_FLAT, - PAGING_MODE_32, - PAGING_MODE_PAE, - PAGING_MODE_64, -}; - -/* - * The data structures 'vie' and 'vie_op' are meant to be opaque to the - * consumers of instruction decoding. The only reason why their contents - * need to be exposed is because they are part of the 'vm_exit' structure. - */ -struct vie_op { - uint8_t op_byte; /* actual opcode byte */ - uint8_t op_type; /* type of operation (e.g. MOV) */ - uint16_t op_flags; -}; - -#define VIE_INST_SIZE 15 -struct vie { - uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */ - uint8_t num_valid; /* size of the instruction */ - uint8_t num_processed; - - uint8_t rex_w:1, /* REX prefix */ - rex_r:1, - rex_x:1, - rex_b:1, - rex_present:1; - - uint8_t mod:2, /* ModRM byte */ - reg:4, - rm:4; - - uint8_t ss:2, /* SIB byte */ - index:4, - base:4; - - uint8_t disp_bytes; - uint8_t imm_bytes; - - uint8_t scale; - int base_register; /* VM_REG_GUEST_xyz */ - int index_register; /* VM_REG_GUEST_xyz */ - - int64_t displacement; /* optional addr displacement */ - int64_t immediate; /* optional immediate operand */ - - uint8_t decoded; /* set to 1 if successfully decoded */ - - struct vie_op op; /* opcode description */ -}; +#include <sys/mman.h> /* * Callback functions to read and write memory regions. @@ -111,6 +55,24 @@ int vmm_emulate_instruction(void *vm, in mem_region_read_t mrr, mem_region_write_t mrw, void *mrarg); +int vie_update_register(void *vm, int vcpuid, enum vm_reg_name reg, + uint64_t val, int size); + +/* + * Returns 1 if an alignment check exception should be injected and 0 otherwise. + */ +int vie_alignment_check(int cpl, int operand_size, uint64_t cr0, + uint64_t rflags, uint64_t gla); + +/* Returns 1 if the 'gla' is not canonical and 0 otherwise. */ +int vie_canonical_check(enum vm_cpu_mode cpu_mode, uint64_t gla); + +uint64_t vie_size2mask(int size); + +int vie_calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_reg_name seg, + struct seg_desc *desc, uint64_t off, int length, int addrsize, int prot, + uint64_t *gla); + #ifdef _KERNEL /* * APIs to fetch and decode the instruction from nested page fault handler. @@ -118,8 +80,18 @@ int vmm_emulate_instruction(void *vm, in * 'vie' must be initialized before calling 'vmm_fetch_instruction()' */ int vmm_fetch_instruction(struct vm *vm, int cpuid, - uint64_t rip, int inst_length, uint64_t cr3, - enum vie_paging_mode paging_mode, struct vie *vie); + struct vm_guest_paging *guest_paging, + uint64_t rip, int inst_length, struct vie *vie); + +/* + * Translate the guest linear address 'gla' to a guest physical address. + * + * Returns 0 on success and '*gpa' contains the result of the translation. + * Returns 1 if an exception was injected into the guest. + * Returns -1 otherwise. + */ +int vmm_gla2gpa(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, + uint64_t gla, int prot, uint64_t *gpa); void vie_init(struct vie *vie); @@ -136,7 +108,7 @@ void vie_init(struct vie *vie); */ #define VIE_INVALID_GLA (1UL << 63) /* a non-canonical address */ int vmm_decode_instruction(struct vm *vm, int cpuid, uint64_t gla, - enum vie_cpu_mode cpu_mode, struct vie *vie); + enum vm_cpu_mode cpu_mode, struct vie *vie); #endif /* _KERNEL */ #endif /* _VMM_INSTRUCTION_EMUL_H_ */ Modified: projects/nfsv4.1-server/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/linux32/linux32_sysvec.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/linux32/linux32_sysvec.c Thu Jun 12 22:57:55 2014 (r267431) @@ -1083,7 +1083,7 @@ static Elf32_Brandinfo linux_brand = { .sysvec = &elf_linux_sysvec, .interp_newpath = NULL, .brand_note = &linux32_brandnote, - .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | BI_CAN_EXEC_INTERP }; static Elf32_Brandinfo linux_glibc2brand = { @@ -1095,7 +1095,7 @@ static Elf32_Brandinfo linux_glibc2brand .sysvec = &elf_linux_sysvec, .interp_newpath = NULL, .brand_note = &linux32_brandnote, - .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | BI_CAN_EXEC_INTERP }; Elf32_Brandinfo *linux_brandlist[] = { Modified: projects/nfsv4.1-server/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- projects/nfsv4.1-server/sys/amd64/vmm/intel/vmcs.c Thu Jun 12 22:42:31 2014 (r267430) +++ projects/nfsv4.1-server/sys/amd64/vmm/intel/vmcs.c Thu Jun 12 22:57:55 2014 (r267431) @@ -231,7 +231,7 @@ vmcs_setreg(struct vmcs *vmcs, int runni } int -vmcs_setdesc(struct vmcs *vmcs, int seg, struct seg_desc *desc) +vmcs_setdesc(struct vmcs *vmcs, int running, int seg, struct seg_desc *desc) { int error; uint32_t base, limit, access; @@ -240,7 +240,8 @@ vmcs_setdesc(struct vmcs *vmcs, int seg, if (error != 0) panic("vmcs_setdesc: invalid segment register %d", seg); - VMPTRLD(vmcs); + if (!running) + VMPTRLD(vmcs); if ((error = vmwrite(base, desc->base)) != 0) goto done; @@ -252,12 +253,13 @@ vmcs_setdesc(struct vmcs *vmcs, int seg, goto done; } done: - VMCLEAR(vmcs); + if (!running) + VMCLEAR(vmcs); return (error); } int -vmcs_getdesc(struct vmcs *vmcs, int seg, struct seg_desc *desc) +vmcs_getdesc(struct vmcs *vmcs, int running, int seg, struct seg_desc *desc) { int error; uint32_t base, limit, access; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406122257.s5CMvvQ3011301>