From owner-svn-src-projects@FreeBSD.ORG Sun Oct 21 01:09:05 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A64AADAA; Sun, 21 Oct 2012 01:09:05 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 844668FC0A; Sun, 21 Oct 2012 01:09:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9L195Zp046979; Sun, 21 Oct 2012 01:09:05 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9L195WG046967; Sun, 21 Oct 2012 01:09:05 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201210210109.q9L195WG046967@svn.freebsd.org> From: Rick Macklem Date: Sun, 21 Oct 2012 01:09:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241792 - in projects/nfsv4.1-client/sys: amd64/acpica amd64/amd64 amd64/conf amd64/ia32 amd64/include amd64/include/pc amd64/linux32 amd64/pci arm/arm arm/at91 arm/broadcom arm/conf ar... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Oct 2012 01:09:05 -0000 Author: rmacklem Date: Sun Oct 21 01:09:02 2012 New Revision: 241792 URL: http://svn.freebsd.org/changeset/base/241792 Log: Merge in an up to date kernel from head. Added: projects/nfsv4.1-client/sys/amd64/include/vdso.h - copied unchanged from r241791, head/sys/amd64/include/vdso.h projects/nfsv4.1-client/sys/arm/arm/busdma_machdep-v6.c - copied unchanged from r241791, head/sys/arm/arm/busdma_machdep-v6.c projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_armv6.S - copied unchanged from r241791, head/sys/arm/arm/cpufunc_asm_armv6.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_armv7.S - copied unchanged from r241791, head/sys/arm/arm/cpufunc_asm_armv7.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_pj4b.S - copied unchanged from r241791, head/sys/arm/arm/cpufunc_asm_pj4b.S projects/nfsv4.1-client/sys/arm/arm/gic.c - copied unchanged from r241791, head/sys/arm/arm/gic.c projects/nfsv4.1-client/sys/arm/arm/mp_machdep.c - copied unchanged from r241791, head/sys/arm/arm/mp_machdep.c projects/nfsv4.1-client/sys/arm/arm/mpcore_timer.c - copied unchanged from r241791, head/sys/arm/arm/mpcore_timer.c projects/nfsv4.1-client/sys/arm/arm/pl310.c - copied unchanged from r241791, head/sys/arm/arm/pl310.c projects/nfsv4.1-client/sys/arm/arm/pmap-v6.c - copied unchanged from r241791, head/sys/arm/arm/pmap-v6.c projects/nfsv4.1-client/sys/arm/arm/sc_machdep.c - copied unchanged from r241791, head/sys/arm/arm/sc_machdep.c projects/nfsv4.1-client/sys/arm/arm/vfp.c - copied unchanged from r241791, head/sys/arm/arm/vfp.c projects/nfsv4.1-client/sys/arm/at91/at91_pio_sam9g45.h - copied unchanged from r241791, head/sys/arm/at91/at91_pio_sam9g45.h projects/nfsv4.1-client/sys/arm/at91/at91rm9200_devices.c - copied unchanged from r241791, head/sys/arm/at91/at91rm9200_devices.c projects/nfsv4.1-client/sys/arm/at91/at91rm9200var.h - copied unchanged from r241791, head/sys/arm/at91/at91rm9200var.h projects/nfsv4.1-client/sys/arm/at91/at91sam9g45.c - copied unchanged from r241791, head/sys/arm/at91/at91sam9g45.c projects/nfsv4.1-client/sys/arm/at91/at91sam9g45reg.h - copied unchanged from r241791, head/sys/arm/at91/at91sam9g45reg.h projects/nfsv4.1-client/sys/arm/at91/at91sam9x5.c - copied unchanged from r241791, head/sys/arm/at91/at91sam9x5.c projects/nfsv4.1-client/sys/arm/at91/at91sam9x5reg.h - copied unchanged from r241791, head/sys/arm/at91/at91sam9x5reg.h projects/nfsv4.1-client/sys/arm/at91/at91soc.c - copied unchanged from r241791, head/sys/arm/at91/at91soc.c projects/nfsv4.1-client/sys/arm/at91/at91soc.h - copied unchanged from r241791, head/sys/arm/at91/at91soc.h projects/nfsv4.1-client/sys/arm/at91/board_eb9200.c - copied unchanged from r241791, head/sys/arm/at91/board_eb9200.c projects/nfsv4.1-client/sys/arm/at91/board_ethernut5.c - copied unchanged from r241791, head/sys/arm/at91/board_ethernut5.c projects/nfsv4.1-client/sys/arm/at91/board_sam9260ek.c - copied unchanged from r241791, head/sys/arm/at91/board_sam9260ek.c projects/nfsv4.1-client/sys/arm/at91/board_sam9x25ek.c - copied unchanged from r241791, head/sys/arm/at91/board_sam9x25ek.c projects/nfsv4.1-client/sys/arm/at91/board_sn9g45.c - copied unchanged from r241791, head/sys/arm/at91/board_sn9g45.c projects/nfsv4.1-client/sys/arm/at91/std.at91sam9g45 - copied unchanged from r241791, head/sys/arm/at91/std.at91sam9g45 projects/nfsv4.1-client/sys/arm/at91/std.atmel - copied unchanged from r241791, head/sys/arm/at91/std.atmel projects/nfsv4.1-client/sys/arm/at91/std.eb9200 - copied unchanged from r241791, head/sys/arm/at91/std.eb9200 projects/nfsv4.1-client/sys/arm/at91/std.ethernut5 - copied unchanged from r241791, head/sys/arm/at91/std.ethernut5 projects/nfsv4.1-client/sys/arm/at91/std.sam9260ek - copied unchanged from r241791, head/sys/arm/at91/std.sam9260ek projects/nfsv4.1-client/sys/arm/at91/std.sam9x25ek - copied unchanged from r241791, head/sys/arm/at91/std.sam9x25ek projects/nfsv4.1-client/sys/arm/at91/std.sn9g45 - copied unchanged from r241791, head/sys/arm/at91/std.sn9g45 projects/nfsv4.1-client/sys/arm/at91/uart_cpu_at91usart.c - copied unchanged from r241791, head/sys/arm/at91/uart_cpu_at91usart.c projects/nfsv4.1-client/sys/arm/broadcom/ - copied from r241791, head/sys/arm/broadcom/ projects/nfsv4.1-client/sys/arm/conf/AC100 - copied unchanged from r241791, head/sys/arm/conf/AC100 projects/nfsv4.1-client/sys/arm/conf/ARMADAXP - copied unchanged from r241791, head/sys/arm/conf/ARMADAXP projects/nfsv4.1-client/sys/arm/conf/ATMEL - copied unchanged from r241791, head/sys/arm/conf/ATMEL projects/nfsv4.1-client/sys/arm/conf/BEAGLEBONE - copied unchanged from r241791, head/sys/arm/conf/BEAGLEBONE projects/nfsv4.1-client/sys/arm/conf/EA3250 - copied unchanged from r241791, head/sys/arm/conf/EA3250 projects/nfsv4.1-client/sys/arm/conf/EA3250.hints - copied unchanged from r241791, head/sys/arm/conf/EA3250.hints projects/nfsv4.1-client/sys/arm/conf/EB9200 - copied unchanged from r241791, head/sys/arm/conf/EB9200 projects/nfsv4.1-client/sys/arm/conf/EB9200.hints - copied unchanged from r241791, head/sys/arm/conf/EB9200.hints projects/nfsv4.1-client/sys/arm/conf/ETHERNUT5 - copied unchanged from r241791, head/sys/arm/conf/ETHERNUT5 projects/nfsv4.1-client/sys/arm/conf/ETHERNUT5.hints - copied unchanged from r241791, head/sys/arm/conf/ETHERNUT5.hints projects/nfsv4.1-client/sys/arm/conf/PANDABOARD - copied unchanged from r241791, head/sys/arm/conf/PANDABOARD projects/nfsv4.1-client/sys/arm/conf/PANDABOARD.hints - copied unchanged from r241791, head/sys/arm/conf/PANDABOARD.hints projects/nfsv4.1-client/sys/arm/conf/RPI-B - copied unchanged from r241791, head/sys/arm/conf/RPI-B projects/nfsv4.1-client/sys/arm/conf/SAM9260EK - copied unchanged from r241791, head/sys/arm/conf/SAM9260EK projects/nfsv4.1-client/sys/arm/conf/SAM9260EK.hints - copied unchanged from r241791, head/sys/arm/conf/SAM9260EK.hints projects/nfsv4.1-client/sys/arm/conf/SAM9X25EK - copied unchanged from r241791, head/sys/arm/conf/SAM9X25EK projects/nfsv4.1-client/sys/arm/conf/SAM9X25EK.hints - copied unchanged from r241791, head/sys/arm/conf/SAM9X25EK.hints projects/nfsv4.1-client/sys/arm/conf/SN9G45 - copied unchanged from r241791, head/sys/arm/conf/SN9G45 projects/nfsv4.1-client/sys/arm/conf/genboardid.awk - copied unchanged from r241791, head/sys/arm/conf/genboardid.awk projects/nfsv4.1-client/sys/arm/conf/mach-types - copied unchanged from r241791, head/sys/arm/conf/mach-types projects/nfsv4.1-client/sys/arm/include/atags.h - copied unchanged from r241791, head/sys/arm/include/atags.h projects/nfsv4.1-client/sys/arm/include/board.h - copied unchanged from r241791, head/sys/arm/include/board.h projects/nfsv4.1-client/sys/arm/include/pl310.h - copied unchanged from r241791, head/sys/arm/include/pl310.h projects/nfsv4.1-client/sys/arm/include/sc_machdep.h - copied unchanged from r241791, head/sys/arm/include/sc_machdep.h projects/nfsv4.1-client/sys/arm/include/vdso.h - copied unchanged from r241791, head/sys/arm/include/vdso.h projects/nfsv4.1-client/sys/arm/include/vfp.h - copied unchanged from r241791, head/sys/arm/include/vfp.h projects/nfsv4.1-client/sys/arm/lpc/ - copied from r241791, head/sys/arm/lpc/ projects/nfsv4.1-client/sys/arm/mv/armadaxp/ - copied from r241791, head/sys/arm/mv/armadaxp/ projects/nfsv4.1-client/sys/arm/mv/mpic.c - copied unchanged from r241791, head/sys/arm/mv/mpic.c projects/nfsv4.1-client/sys/arm/mv/mv_localbus.c - copied unchanged from r241791, head/sys/arm/mv/mv_localbus.c projects/nfsv4.1-client/sys/arm/mv/mv_ts.c - copied unchanged from r241791, head/sys/arm/mv/mv_ts.c projects/nfsv4.1-client/sys/arm/mv/std-pj4b.mv - copied unchanged from r241791, head/sys/arm/mv/std-pj4b.mv projects/nfsv4.1-client/sys/arm/tegra/ - copied from r241791, head/sys/arm/tegra/ projects/nfsv4.1-client/sys/arm/ti/ - copied from r241791, head/sys/arm/ti/ projects/nfsv4.1-client/sys/arm/xscale/std.xscale-be - copied unchanged from r241791, head/sys/arm/xscale/std.xscale-be projects/nfsv4.1-client/sys/boot/common/part.c - copied unchanged from r241791, head/sys/boot/common/part.c projects/nfsv4.1-client/sys/boot/common/part.h - copied unchanged from r241791, head/sys/boot/common/part.h projects/nfsv4.1-client/sys/boot/fdt/dts/bcm2835-rpi-b.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/bcm2835-rpi-b.dts projects/nfsv4.1-client/sys/boot/fdt/dts/beaglebone.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/beaglebone.dts projects/nfsv4.1-client/sys/boot/fdt/dts/bindings-localbus.txt - copied unchanged from r241791, head/sys/boot/fdt/dts/bindings-localbus.txt projects/nfsv4.1-client/sys/boot/fdt/dts/db78460.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/db78460.dts projects/nfsv4.1-client/sys/boot/fdt/dts/ea3250.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/ea3250.dts projects/nfsv4.1-client/sys/boot/fdt/dts/p2041rdb.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/p2041rdb.dts projects/nfsv4.1-client/sys/boot/fdt/dts/p2041si.dtsi - copied unchanged from r241791, head/sys/boot/fdt/dts/p2041si.dtsi projects/nfsv4.1-client/sys/boot/fdt/dts/p3041si.dtsi - copied unchanged from r241791, head/sys/boot/fdt/dts/p3041si.dtsi projects/nfsv4.1-client/sys/boot/fdt/dts/p5020ds.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/p5020ds.dts projects/nfsv4.1-client/sys/boot/fdt/dts/p5020si.dtsi - copied unchanged from r241791, head/sys/boot/fdt/dts/p5020si.dtsi projects/nfsv4.1-client/sys/boot/fdt/dts/pandaboard.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/pandaboard.dts projects/nfsv4.1-client/sys/boot/fdt/dts/tegra20-paz00.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/tegra20-paz00.dts projects/nfsv4.1-client/sys/boot/fdt/dts/tegra20.dtsi - copied unchanged from r241791, head/sys/boot/fdt/dts/tegra20.dtsi projects/nfsv4.1-client/sys/boot/fdt/dts/trimslice.dts - copied unchanged from r241791, head/sys/boot/fdt/dts/trimslice.dts projects/nfsv4.1-client/sys/boot/i386/btx/lib/btxcsu.S - copied unchanged from r241791, head/sys/boot/i386/btx/lib/btxcsu.S projects/nfsv4.1-client/sys/boot/i386/cdboot/cdboot.S - copied unchanged from r241791, head/sys/boot/i386/cdboot/cdboot.S projects/nfsv4.1-client/sys/boot/i386/common/bootargs.h - copied unchanged from r241791, head/sys/boot/i386/common/bootargs.h projects/nfsv4.1-client/sys/boot/pc98/btx/lib/btxcsu.S - copied unchanged from r241791, head/sys/boot/pc98/btx/lib/btxcsu.S projects/nfsv4.1-client/sys/boot/pc98/cdboot/cdboot.S - copied unchanged from r241791, head/sys/boot/pc98/cdboot/cdboot.S projects/nfsv4.1-client/sys/boot/sparc64/zfsboot/ - copied from r241791, head/sys/boot/sparc64/zfsboot/ projects/nfsv4.1-client/sys/boot/sparc64/zfsloader/ - copied from r241791, head/sys/boot/sparc64/zfsloader/ projects/nfsv4.1-client/sys/boot/zfs/devicename_stubs.c - copied unchanged from r241791, head/sys/boot/zfs/devicename_stubs.c projects/nfsv4.1-client/sys/boot/zfs/libzfs.h - copied unchanged from r241791, head/sys/boot/zfs/libzfs.h projects/nfsv4.1-client/sys/cam/scsi/scsi_enc.c - copied unchanged from r241791, head/sys/cam/scsi/scsi_enc.c projects/nfsv4.1-client/sys/cam/scsi/scsi_enc.h - copied unchanged from r241791, head/sys/cam/scsi/scsi_enc.h projects/nfsv4.1-client/sys/cam/scsi/scsi_enc_internal.h - copied unchanged from r241791, head/sys/cam/scsi/scsi_enc_internal.h projects/nfsv4.1-client/sys/cam/scsi/scsi_enc_safte.c - copied unchanged from r241791, head/sys/cam/scsi/scsi_enc_safte.c projects/nfsv4.1-client/sys/cam/scsi/scsi_enc_ses.c - copied unchanged from r241791, head/sys/cam/scsi/scsi_enc_ses.c projects/nfsv4.1-client/sys/cddl/compat/opensolaris/sys/assfail.h - copied unchanged from r241791, head/sys/cddl/compat/opensolaris/sys/assfail.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bptree.h - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bptree.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/trim_map.h - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/trim_map.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c - copied unchanged from r241791, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c projects/nfsv4.1-client/sys/compat/linux/check_error.d - copied unchanged from r241791, head/sys/compat/linux/check_error.d projects/nfsv4.1-client/sys/compat/linux/check_internal_locks.d - copied unchanged from r241791, head/sys/compat/linux/check_internal_locks.d projects/nfsv4.1-client/sys/compat/linux/linux_dtrace.h - copied unchanged from r241791, head/sys/compat/linux/linux_dtrace.h projects/nfsv4.1-client/sys/compat/linux/stats_timing.d - copied unchanged from r241791, head/sys/compat/linux/stats_timing.d projects/nfsv4.1-client/sys/compat/linux/trace_futexes.d - copied unchanged from r241791, head/sys/compat/linux/trace_futexes.d projects/nfsv4.1-client/sys/contrib/dev/acpica/common/ahpredef.c - copied unchanged from r241791, head/sys/contrib/dev/acpica/common/ahpredef.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbxfload.c - copied unchanged from r241791, head/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utexcep.c - copied unchanged from r241791, head/sys/contrib/dev/acpica/components/utilities/utexcep.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utxfinit.c - copied unchanged from r241791, head/sys/contrib/dev/acpica/components/utilities/utxfinit.c projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acbuffer.h - copied unchanged from r241791, head/sys/contrib/dev/acpica/include/acbuffer.h projects/nfsv4.1-client/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.3.fw.uu - copied unchanged from r241791, head/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.3.fw.uu projects/nfsv4.1-client/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu - copied unchanged from r241791, head/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu projects/nfsv4.1-client/sys/contrib/libfdt/fdt_empty_tree.c - copied unchanged from r241791, head/sys/contrib/libfdt/fdt_empty_tree.c projects/nfsv4.1-client/sys/dev/acpi_support/acpi_asus_wmi.c - copied unchanged from r241791, head/sys/dev/acpi_support/acpi_asus_wmi.c projects/nfsv4.1-client/sys/dev/agp/agp_i810.h - copied unchanged from r241791, head/sys/dev/agp/agp_i810.h projects/nfsv4.1-client/sys/dev/ahci/ahciem.c - copied unchanged from r241791, head/sys/dev/ahci/ahciem.c projects/nfsv4.1-client/sys/dev/altera/ - copied from r241791, head/sys/dev/altera/ projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c - copied unchanged from r241791, head/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.h - copied unchanged from r241791, head/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c - copied unchanged from r241791, head/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9003/ar9300_btcoex.h - copied unchanged from r241791, head/sys/dev/ath/ath_hal/ar9003/ar9300_btcoex.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h - copied unchanged from r241791, head/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h projects/nfsv4.1-client/sys/dev/ath/if_ath_beacon.c - copied unchanged from r241791, head/sys/dev/ath/if_ath_beacon.c projects/nfsv4.1-client/sys/dev/ath/if_ath_beacon.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_beacon.h projects/nfsv4.1-client/sys/dev/ath/if_ath_rx.c - copied unchanged from r241791, head/sys/dev/ath/if_ath_rx.c projects/nfsv4.1-client/sys/dev/ath/if_ath_rx.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_rx.h projects/nfsv4.1-client/sys/dev/ath/if_ath_rx_edma.c - copied unchanged from r241791, head/sys/dev/ath/if_ath_rx_edma.c projects/nfsv4.1-client/sys/dev/ath/if_ath_rx_edma.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_rx_edma.h projects/nfsv4.1-client/sys/dev/ath/if_ath_tdma.c - copied unchanged from r241791, head/sys/dev/ath/if_ath_tdma.c projects/nfsv4.1-client/sys/dev/ath/if_ath_tdma.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_tdma.h projects/nfsv4.1-client/sys/dev/ath/if_ath_tsf.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_tsf.h projects/nfsv4.1-client/sys/dev/ath/if_ath_tx_edma.c - copied unchanged from r241791, head/sys/dev/ath/if_ath_tx_edma.c projects/nfsv4.1-client/sys/dev/ath/if_ath_tx_edma.h - copied unchanged from r241791, head/sys/dev/ath/if_ath_tx_edma.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ib_intfc.h - copied unchanged from r241791, head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ib_intfc.h projects/nfsv4.1-client/sys/dev/cxgbe/firmware/t4fw-1.6.2.0.bin.uu - copied unchanged from r241791, head/sys/dev/cxgbe/firmware/t4fw-1.6.2.0.bin.uu projects/nfsv4.1-client/sys/dev/cxgbe/tom/ - copied from r241791, head/sys/dev/cxgbe/tom/ projects/nfsv4.1-client/sys/dev/drm2/ - copied from r241791, head/sys/dev/drm2/ projects/nfsv4.1-client/sys/dev/e1000/e1000_i210.c - copied unchanged from r241791, head/sys/dev/e1000/e1000_i210.c projects/nfsv4.1-client/sys/dev/e1000/e1000_i210.h - copied unchanged from r241791, head/sys/dev/e1000/e1000_i210.h projects/nfsv4.1-client/sys/dev/etherswitch/ - copied from r241791, head/sys/dev/etherswitch/ projects/nfsv4.1-client/sys/dev/fdt/fdt_slicer.c - copied unchanged from r241791, head/sys/dev/fdt/fdt_slicer.c projects/nfsv4.1-client/sys/dev/filemon/ - copied from r241791, head/sys/dev/filemon/ projects/nfsv4.1-client/sys/dev/gxemul/ - copied from r241791, head/sys/dev/gxemul/ projects/nfsv4.1-client/sys/dev/iicbus/ds1631.c - copied unchanged from r241791, head/sys/dev/iicbus/ds1631.c projects/nfsv4.1-client/sys/dev/iicbus/s35390a.c - copied unchanged from r241791, head/sys/dev/iicbus/s35390a.c projects/nfsv4.1-client/sys/dev/isf/ - copied from r241791, head/sys/dev/isf/ projects/nfsv4.1-client/sys/dev/mii/smscphy.c - copied unchanged from r241791, head/sys/dev/mii/smscphy.c projects/nfsv4.1-client/sys/dev/nand/ - copied from r241791, head/sys/dev/nand/ projects/nfsv4.1-client/sys/dev/nvd/ - copied from r241791, head/sys/dev/nvd/ projects/nfsv4.1-client/sys/dev/nvme/ - copied from r241791, head/sys/dev/nvme/ projects/nfsv4.1-client/sys/dev/ral/rt2860.c - copied unchanged from r241791, head/sys/dev/ral/rt2860.c projects/nfsv4.1-client/sys/dev/ral/rt2860reg.h - copied unchanged from r241791, head/sys/dev/ral/rt2860reg.h projects/nfsv4.1-client/sys/dev/ral/rt2860var.h - copied unchanged from r241791, head/sys/dev/ral/rt2860var.h projects/nfsv4.1-client/sys/dev/random/ivy.c - copied unchanged from r241791, head/sys/dev/random/ivy.c projects/nfsv4.1-client/sys/dev/sdhci/sdhci_if.m - copied unchanged from r241791, head/sys/dev/sdhci/sdhci_if.m projects/nfsv4.1-client/sys/dev/sdhci/sdhci_pci.c - copied unchanged from r241791, head/sys/dev/sdhci/sdhci_pci.c projects/nfsv4.1-client/sys/dev/sound/macio/onyx.c - copied unchanged from r241791, head/sys/dev/sound/macio/onyx.c projects/nfsv4.1-client/sys/dev/terasic/ - copied from r241791, head/sys/dev/terasic/ projects/nfsv4.1-client/sys/dev/uart/uart_dev_lpc.c - copied unchanged from r241791, head/sys/dev/uart/uart_dev_lpc.c projects/nfsv4.1-client/sys/dev/uart/uart_dev_pl011.c - copied unchanged from r241791, head/sys/dev/uart/uart_dev_pl011.c projects/nfsv4.1-client/sys/dev/usb/controller/dwc_otgreg.h - copied unchanged from r241791, head/sys/dev/usb/controller/dwc_otgreg.h projects/nfsv4.1-client/sys/dev/usb/controller/ehci_fsl.c - copied unchanged from r241791, head/sys/dev/usb/controller/ehci_fsl.c projects/nfsv4.1-client/sys/dev/usb/net/if_smsc.c - copied unchanged from r241791, head/sys/dev/usb/net/if_smsc.c projects/nfsv4.1-client/sys/dev/usb/net/if_smscreg.h - copied unchanged from r241791, head/sys/dev/usb/net/if_smscreg.h projects/nfsv4.1-client/sys/dev/virtio/scsi/ - copied from r241791, head/sys/dev/virtio/scsi/ projects/nfsv4.1-client/sys/fs/fuse/ - copied from r241791, head/sys/fs/fuse/ projects/nfsv4.1-client/sys/fs/nandfs/ - copied from r241791, head/sys/fs/nandfs/ projects/nfsv4.1-client/sys/geom/geom_flashmap.c - copied unchanged from r241791, head/sys/geom/geom_flashmap.c projects/nfsv4.1-client/sys/geom/raid/md_ddf.c - copied unchanged from r241791, head/sys/geom/raid/md_ddf.c projects/nfsv4.1-client/sys/geom/raid/md_ddf.h - copied unchanged from r241791, head/sys/geom/raid/md_ddf.h projects/nfsv4.1-client/sys/i386/include/vdso.h - copied unchanged from r241791, head/sys/i386/include/vdso.h projects/nfsv4.1-client/sys/ia64/ia64/physmem.c - copied unchanged from r241791, head/sys/ia64/ia64/physmem.c projects/nfsv4.1-client/sys/ia64/include/vdso.h - copied unchanged from r241791, head/sys/ia64/include/vdso.h projects/nfsv4.1-client/sys/kern/dtio_kdtrace.c - copied unchanged from r241791, head/sys/kern/dtio_kdtrace.c projects/nfsv4.1-client/sys/kern/kern_rangelock.c - copied unchanged from r241791, head/sys/kern/kern_rangelock.c projects/nfsv4.1-client/sys/kern/kern_sharedpage.c - copied unchanged from r241791, head/sys/kern/kern_sharedpage.c projects/nfsv4.1-client/sys/kern/subr_dummy_vdso_tc.c - copied unchanged from r241791, head/sys/kern/subr_dummy_vdso_tc.c projects/nfsv4.1-client/sys/libkern/jenkins_hash.c - copied unchanged from r241791, head/sys/libkern/jenkins_hash.c projects/nfsv4.1-client/sys/mips/beri/ - copied from r241791, head/sys/mips/beri/ projects/nfsv4.1-client/sys/mips/conf/AP91 - copied unchanged from r241791, head/sys/mips/conf/AP91 projects/nfsv4.1-client/sys/mips/conf/AP91.hints - copied unchanged from r241791, head/sys/mips/conf/AP91.hints projects/nfsv4.1-client/sys/mips/conf/AP93 - copied unchanged from r241791, head/sys/mips/conf/AP93 projects/nfsv4.1-client/sys/mips/conf/AP93.hints - copied unchanged from r241791, head/sys/mips/conf/AP93.hints projects/nfsv4.1-client/sys/mips/conf/AR724X_BASE - copied unchanged from r241791, head/sys/mips/conf/AR724X_BASE projects/nfsv4.1-client/sys/mips/conf/AR724X_BASE.hints - copied unchanged from r241791, head/sys/mips/conf/AR724X_BASE.hints projects/nfsv4.1-client/sys/mips/conf/BERI_DE4.hints - copied unchanged from r241791, head/sys/mips/conf/BERI_DE4.hints projects/nfsv4.1-client/sys/mips/conf/BERI_DE4_MDROOT - copied unchanged from r241791, head/sys/mips/conf/BERI_DE4_MDROOT projects/nfsv4.1-client/sys/mips/conf/BERI_DE4_SDROOT - copied unchanged from r241791, head/sys/mips/conf/BERI_DE4_SDROOT projects/nfsv4.1-client/sys/mips/conf/BERI_SIM.hints - copied unchanged from r241791, head/sys/mips/conf/BERI_SIM.hints projects/nfsv4.1-client/sys/mips/conf/BERI_SIM_MDROOT - copied unchanged from r241791, head/sys/mips/conf/BERI_SIM_MDROOT projects/nfsv4.1-client/sys/mips/conf/BERI_TEMPLATE - copied unchanged from r241791, head/sys/mips/conf/BERI_TEMPLATE projects/nfsv4.1-client/sys/mips/conf/BERI_TPAD.hints - copied unchanged from r241791, head/sys/mips/conf/BERI_TPAD.hints projects/nfsv4.1-client/sys/mips/conf/DIR-825 - copied unchanged from r241791, head/sys/mips/conf/DIR-825 projects/nfsv4.1-client/sys/mips/conf/DIR-825.hints - copied unchanged from r241791, head/sys/mips/conf/DIR-825.hints projects/nfsv4.1-client/sys/mips/conf/GXEMUL - copied unchanged from r241791, head/sys/mips/conf/GXEMUL projects/nfsv4.1-client/sys/mips/conf/GXEMUL.hints - copied unchanged from r241791, head/sys/mips/conf/GXEMUL.hints projects/nfsv4.1-client/sys/mips/gxemul/ - copied from r241791, head/sys/mips/gxemul/ projects/nfsv4.1-client/sys/mips/include/sc_machdep.h - copied unchanged from r241791, head/sys/mips/include/sc_machdep.h projects/nfsv4.1-client/sys/mips/include/vdso.h - copied unchanged from r241791, head/sys/mips/include/vdso.h projects/nfsv4.1-client/sys/mips/mips/sc_machdep.c - copied unchanged from r241791, head/sys/mips/mips/sc_machdep.c projects/nfsv4.1-client/sys/modules/acpi/acpi_asus_wmi/ - copied from r241791, head/sys/modules/acpi/acpi_asus_wmi/ projects/nfsv4.1-client/sys/modules/cpsw/ - copied from r241791, head/sys/modules/cpsw/ projects/nfsv4.1-client/sys/modules/ct/ - copied from r241791, head/sys/modules/ct/ projects/nfsv4.1-client/sys/modules/cxgbe/tom/ - copied from r241791, head/sys/modules/cxgbe/tom/ projects/nfsv4.1-client/sys/modules/drm2/ - copied from r241791, head/sys/modules/drm2/ projects/nfsv4.1-client/sys/modules/dtrace/dtio/ - copied from r241791, head/sys/modules/dtrace/dtio/ projects/nfsv4.1-client/sys/modules/filemon/ - copied from r241791, head/sys/modules/filemon/ projects/nfsv4.1-client/sys/modules/fuse/ - copied from r241791, head/sys/modules/fuse/ projects/nfsv4.1-client/sys/modules/nand/ - copied from r241791, head/sys/modules/nand/ projects/nfsv4.1-client/sys/modules/nandfs/ - copied from r241791, head/sys/modules/nandfs/ projects/nfsv4.1-client/sys/modules/nandsim/ - copied from r241791, head/sys/modules/nandsim/ projects/nfsv4.1-client/sys/modules/netmap/ - copied from r241791, head/sys/modules/netmap/ projects/nfsv4.1-client/sys/modules/nvd/ - copied from r241791, head/sys/modules/nvd/ projects/nfsv4.1-client/sys/modules/nvme/ - copied from r241791, head/sys/modules/nvme/ projects/nfsv4.1-client/sys/modules/sdhci_pci/ - copied from r241791, head/sys/modules/sdhci_pci/ projects/nfsv4.1-client/sys/modules/toecore/ - copied from r241791, head/sys/modules/toecore/ projects/nfsv4.1-client/sys/modules/usb/smsc/ - copied from r241791, head/sys/modules/usb/smsc/ projects/nfsv4.1-client/sys/modules/virtio/scsi/ - copied from r241791, head/sys/modules/virtio/scsi/ projects/nfsv4.1-client/sys/net/if_pflog.h - copied unchanged from r241791, head/sys/net/if_pflog.h projects/nfsv4.1-client/sys/net/if_pfsync.h - copied unchanged from r241791, head/sys/net/if_pfsync.h projects/nfsv4.1-client/sys/net/pf_mtag.h - copied unchanged from r241791, head/sys/net/pf_mtag.h projects/nfsv4.1-client/sys/net/pfvar.h - copied unchanged from r241791, head/sys/net/pfvar.h projects/nfsv4.1-client/sys/netinet/toecore.c - copied unchanged from r241791, head/sys/netinet/toecore.c projects/nfsv4.1-client/sys/netinet/toecore.h - copied unchanged from r241791, head/sys/netinet/toecore.h projects/nfsv4.1-client/sys/netpfil/ - copied from r241791, head/sys/netpfil/ projects/nfsv4.1-client/sys/pc98/include/vdso.h - copied unchanged from r241791, head/sys/pc98/include/vdso.h projects/nfsv4.1-client/sys/powerpc/booke/machdep_e500.c - copied unchanged from r241791, head/sys/powerpc/booke/machdep_e500.c projects/nfsv4.1-client/sys/powerpc/booke/machdep_ppc4xx.c - copied unchanged from r241791, head/sys/powerpc/booke/machdep_ppc4xx.c projects/nfsv4.1-client/sys/powerpc/include/machdep.h - copied unchanged from r241791, head/sys/powerpc/include/machdep.h projects/nfsv4.1-client/sys/powerpc/include/vdso.h - copied unchanged from r241791, head/sys/powerpc/include/vdso.h projects/nfsv4.1-client/sys/powerpc/mpc85xx/fsl_sdhc.c - copied unchanged from r241791, head/sys/powerpc/mpc85xx/fsl_sdhc.c projects/nfsv4.1-client/sys/powerpc/mpc85xx/fsl_sdhc.h - copied unchanged from r241791, head/sys/powerpc/mpc85xx/fsl_sdhc.h projects/nfsv4.1-client/sys/powerpc/powermac/nvbl.c - copied unchanged from r241791, head/sys/powerpc/powermac/nvbl.c projects/nfsv4.1-client/sys/powerpc/powerpc/openpic_fdt.c - copied unchanged from r241791, head/sys/powerpc/powerpc/openpic_fdt.c projects/nfsv4.1-client/sys/powerpc/wii/ - copied from r241791, head/sys/powerpc/wii/ projects/nfsv4.1-client/sys/sparc64/include/vdso.h - copied unchanged from r241791, head/sys/sparc64/include/vdso.h projects/nfsv4.1-client/sys/sys/rangelock.h - copied unchanged from r241791, head/sys/sys/rangelock.h projects/nfsv4.1-client/sys/sys/slicer.h - copied unchanged from r241791, head/sys/sys/slicer.h projects/nfsv4.1-client/sys/sys/vdso.h - copied unchanged from r241791, head/sys/sys/vdso.h projects/nfsv4.1-client/sys/x86/acpica/acpi_wakeup.c - copied unchanged from r241791, head/sys/x86/acpica/acpi_wakeup.c projects/nfsv4.1-client/sys/x86/include/vdso.h - copied unchanged from r241791, head/sys/x86/include/vdso.h Replaced: projects/nfsv4.1-client/sys/arm/conf/HL201.hints - copied unchanged from r241791, head/sys/arm/conf/HL201.hints Deleted: projects/nfsv4.1-client/sys/amd64/acpica/acpi_switch.S projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakeup.c projects/nfsv4.1-client/sys/arm/at91/at91_pio_rm9200.h projects/nfsv4.1-client/sys/arm/at91/files.at91sam9 projects/nfsv4.1-client/sys/arm/at91/hints.at91rm9200 projects/nfsv4.1-client/sys/arm/at91/hints.at91sam9261 projects/nfsv4.1-client/sys/arm/at91/uart_cpu_at91rm9200usart.c projects/nfsv4.1-client/sys/boot/i386/btx/lib/btxcsu.s projects/nfsv4.1-client/sys/boot/i386/cdboot/cdboot.s projects/nfsv4.1-client/sys/boot/pc98/btx/lib/btxcsu.s projects/nfsv4.1-client/sys/boot/pc98/cdboot/cdboot.s projects/nfsv4.1-client/sys/cam/scsi/scsi_low_pisa.c projects/nfsv4.1-client/sys/cam/scsi/scsi_low_pisa.h projects/nfsv4.1-client/sys/cam/scsi/scsi_ses.c projects/nfsv4.1-client/sys/compat/netbsd/physio_proc.h projects/nfsv4.1-client/sys/contrib/pf/ projects/nfsv4.1-client/sys/dev/cxgb/cxgb_offload.c projects/nfsv4.1-client/sys/dev/cxgb/t3cdev.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/toecore/ projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_ddp.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_defs.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tcp.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c projects/nfsv4.1-client/sys/dev/mlx/mlx_compat.h projects/nfsv4.1-client/sys/dev/netmap/head.diff projects/nfsv4.1-client/sys/dev/random/nehemiah.h projects/nfsv4.1-client/sys/i386/acpica/acpi_wakeup.c projects/nfsv4.1-client/sys/ia64/conf/SKI projects/nfsv4.1-client/sys/ia64/ia64/ssc.c projects/nfsv4.1-client/sys/ia64/ia64/sscdisk.c projects/nfsv4.1-client/sys/libkern/jenkins.h projects/nfsv4.1-client/sys/modules/cxgb/toecore/ projects/nfsv4.1-client/sys/netinet/ipfw/ projects/nfsv4.1-client/sys/netinet/toedev.h projects/nfsv4.1-client/sys/powerpc/mpc85xx/openpic_fdt.c projects/nfsv4.1-client/sys/sys/device_port.h projects/nfsv4.1-client/sys/vm/vm_contig.c Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_machdep.c projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S projects/nfsv4.1-client/sys/amd64/amd64/cpu_switch.S projects/nfsv4.1-client/sys/amd64/amd64/db_disasm.c projects/nfsv4.1-client/sys/amd64/amd64/elf_machdep.c projects/nfsv4.1-client/sys/amd64/amd64/fpu.c projects/nfsv4.1-client/sys/amd64/amd64/genassym.c projects/nfsv4.1-client/sys/amd64/amd64/identcpu.c projects/nfsv4.1-client/sys/amd64/amd64/initcpu.c projects/nfsv4.1-client/sys/amd64/amd64/machdep.c projects/nfsv4.1-client/sys/amd64/amd64/mem.c projects/nfsv4.1-client/sys/amd64/amd64/minidump_machdep.c projects/nfsv4.1-client/sys/amd64/amd64/mp_machdep.c projects/nfsv4.1-client/sys/amd64/amd64/pmap.c projects/nfsv4.1-client/sys/amd64/amd64/ptrace_machdep.c projects/nfsv4.1-client/sys/amd64/amd64/trap.c projects/nfsv4.1-client/sys/amd64/amd64/vm_machdep.c projects/nfsv4.1-client/sys/amd64/conf/GENERIC projects/nfsv4.1-client/sys/amd64/conf/NOTES projects/nfsv4.1-client/sys/amd64/conf/XENHVM projects/nfsv4.1-client/sys/amd64/ia32/ia32_sigtramp.S projects/nfsv4.1-client/sys/amd64/ia32/ia32_syscall.c projects/nfsv4.1-client/sys/amd64/include/atomic.h projects/nfsv4.1-client/sys/amd64/include/cpufunc.h projects/nfsv4.1-client/sys/amd64/include/elf.h projects/nfsv4.1-client/sys/amd64/include/fpu.h projects/nfsv4.1-client/sys/amd64/include/in_cksum.h projects/nfsv4.1-client/sys/amd64/include/md_var.h projects/nfsv4.1-client/sys/amd64/include/param.h projects/nfsv4.1-client/sys/amd64/include/pc/bios.h projects/nfsv4.1-client/sys/amd64/include/pcb.h projects/nfsv4.1-client/sys/amd64/include/pcpu.h projects/nfsv4.1-client/sys/amd64/include/pmap.h projects/nfsv4.1-client/sys/amd64/include/smp.h projects/nfsv4.1-client/sys/amd64/include/vmparam.h projects/nfsv4.1-client/sys/amd64/linux32/linux.h projects/nfsv4.1-client/sys/amd64/linux32/linux32_dummy.c projects/nfsv4.1-client/sys/amd64/linux32/linux32_proto.h projects/nfsv4.1-client/sys/amd64/linux32/linux32_syscall.h projects/nfsv4.1-client/sys/amd64/linux32/linux32_syscalls.c projects/nfsv4.1-client/sys/amd64/linux32/linux32_sysent.c projects/nfsv4.1-client/sys/amd64/linux32/linux32_systrace_args.c projects/nfsv4.1-client/sys/amd64/linux32/syscalls.master projects/nfsv4.1-client/sys/amd64/pci/pci_cfgreg.c projects/nfsv4.1-client/sys/arm/arm/bcopyinout.S projects/nfsv4.1-client/sys/arm/arm/bcopyinout_xscale.S projects/nfsv4.1-client/sys/arm/arm/bootconfig.c projects/nfsv4.1-client/sys/arm/arm/bus_space_asm_generic.S projects/nfsv4.1-client/sys/arm/arm/busdma_machdep.c projects/nfsv4.1-client/sys/arm/arm/copystr.S projects/nfsv4.1-client/sys/arm/arm/cpufunc.c projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_arm10.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_arm11.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_arm7tdmi.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_arm8.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_arm9.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_armv4.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_armv5.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_sa1.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_xscale.S projects/nfsv4.1-client/sys/arm/arm/cpufunc_asm_xscale_c3.S projects/nfsv4.1-client/sys/arm/arm/db_disasm.c projects/nfsv4.1-client/sys/arm/arm/db_interface.c projects/nfsv4.1-client/sys/arm/arm/db_trace.c projects/nfsv4.1-client/sys/arm/arm/disassem.c projects/nfsv4.1-client/sys/arm/arm/dump_machdep.c projects/nfsv4.1-client/sys/arm/arm/elf_trampoline.c projects/nfsv4.1-client/sys/arm/arm/exception.S projects/nfsv4.1-client/sys/arm/arm/fusu.S projects/nfsv4.1-client/sys/arm/arm/gdb_machdep.c projects/nfsv4.1-client/sys/arm/arm/genassym.c projects/nfsv4.1-client/sys/arm/arm/identcpu.c projects/nfsv4.1-client/sys/arm/arm/in_cksum.c projects/nfsv4.1-client/sys/arm/arm/intr.c projects/nfsv4.1-client/sys/arm/arm/irq_dispatch.S projects/nfsv4.1-client/sys/arm/arm/locore.S projects/nfsv4.1-client/sys/arm/arm/machdep.c projects/nfsv4.1-client/sys/arm/arm/mem.c projects/nfsv4.1-client/sys/arm/arm/nexus.c projects/nfsv4.1-client/sys/arm/arm/pmap.c projects/nfsv4.1-client/sys/arm/arm/support.S projects/nfsv4.1-client/sys/arm/arm/swtch.S projects/nfsv4.1-client/sys/arm/arm/sys_machdep.c projects/nfsv4.1-client/sys/arm/arm/trap.c projects/nfsv4.1-client/sys/arm/arm/undefined.c projects/nfsv4.1-client/sys/arm/arm/vectors.S projects/nfsv4.1-client/sys/arm/arm/vm_machdep.c projects/nfsv4.1-client/sys/arm/at91/at91.c projects/nfsv4.1-client/sys/arm/at91/at91_machdep.c projects/nfsv4.1-client/sys/arm/at91/at91_mci.c projects/nfsv4.1-client/sys/arm/at91/at91_pio.c projects/nfsv4.1-client/sys/arm/at91/at91_pioreg.h projects/nfsv4.1-client/sys/arm/at91/at91_pit.c projects/nfsv4.1-client/sys/arm/at91/at91_pitreg.h projects/nfsv4.1-client/sys/arm/at91/at91_pmc.c projects/nfsv4.1-client/sys/arm/at91/at91_pmcreg.h projects/nfsv4.1-client/sys/arm/at91/at91_pmcvar.h projects/nfsv4.1-client/sys/arm/at91/at91_reset.S projects/nfsv4.1-client/sys/arm/at91/at91_rst.c projects/nfsv4.1-client/sys/arm/at91/at91_rstreg.h projects/nfsv4.1-client/sys/arm/at91/at91_rtc.c projects/nfsv4.1-client/sys/arm/at91/at91_rtcreg.h projects/nfsv4.1-client/sys/arm/at91/at91_spi.c projects/nfsv4.1-client/sys/arm/at91/at91_spireg.h projects/nfsv4.1-client/sys/arm/at91/at91_ssc.c projects/nfsv4.1-client/sys/arm/at91/at91_st.c projects/nfsv4.1-client/sys/arm/at91/at91_streg.h projects/nfsv4.1-client/sys/arm/at91/at91_twi.c projects/nfsv4.1-client/sys/arm/at91/at91_wdtreg.h projects/nfsv4.1-client/sys/arm/at91/at91board.h projects/nfsv4.1-client/sys/arm/at91/at91reg.h projects/nfsv4.1-client/sys/arm/at91/at91rm9200.c projects/nfsv4.1-client/sys/arm/at91/at91rm92reg.h projects/nfsv4.1-client/sys/arm/at91/at91sam9260.c projects/nfsv4.1-client/sys/arm/at91/at91sam9260reg.h projects/nfsv4.1-client/sys/arm/at91/at91sam9g20.c projects/nfsv4.1-client/sys/arm/at91/at91sam9g20reg.h projects/nfsv4.1-client/sys/arm/at91/at91var.h projects/nfsv4.1-client/sys/arm/at91/board_bwct.c projects/nfsv4.1-client/sys/arm/at91/board_hl200.c projects/nfsv4.1-client/sys/arm/at91/board_hl201.c projects/nfsv4.1-client/sys/arm/at91/board_kb920x.c projects/nfsv4.1-client/sys/arm/at91/board_qila9g20.c projects/nfsv4.1-client/sys/arm/at91/board_sam9g20ek.c projects/nfsv4.1-client/sys/arm/at91/board_tsc4370.c projects/nfsv4.1-client/sys/arm/at91/files.at91 projects/nfsv4.1-client/sys/arm/at91/if_ate.c projects/nfsv4.1-client/sys/arm/at91/if_macb.c projects/nfsv4.1-client/sys/arm/at91/std.at91 projects/nfsv4.1-client/sys/arm/at91/std.at91sam9 projects/nfsv4.1-client/sys/arm/at91/std.hl200 projects/nfsv4.1-client/sys/arm/at91/std.hl201 projects/nfsv4.1-client/sys/arm/at91/std.kb920x projects/nfsv4.1-client/sys/arm/at91/std.qila9g20 projects/nfsv4.1-client/sys/arm/at91/std.sam9g20ek projects/nfsv4.1-client/sys/arm/at91/uart_bus_at91usart.c projects/nfsv4.1-client/sys/arm/at91/uart_dev_at91usart.c projects/nfsv4.1-client/sys/arm/conf/AVILA projects/nfsv4.1-client/sys/arm/conf/AVILA.hints projects/nfsv4.1-client/sys/arm/conf/BWCT projects/nfsv4.1-client/sys/arm/conf/CAMBRIA projects/nfsv4.1-client/sys/arm/conf/CAMBRIA.hints projects/nfsv4.1-client/sys/arm/conf/CNS11XXNAS projects/nfsv4.1-client/sys/arm/conf/CRB projects/nfsv4.1-client/sys/arm/conf/DB-78XXX projects/nfsv4.1-client/sys/arm/conf/DB-88F6XXX projects/nfsv4.1-client/sys/arm/conf/DEFAULTS projects/nfsv4.1-client/sys/arm/conf/DOCKSTAR projects/nfsv4.1-client/sys/arm/conf/EP80219 projects/nfsv4.1-client/sys/arm/conf/GUMSTIX projects/nfsv4.1-client/sys/arm/conf/GUMSTIX-QEMU projects/nfsv4.1-client/sys/arm/conf/HL200 projects/nfsv4.1-client/sys/arm/conf/HL201 projects/nfsv4.1-client/sys/arm/conf/IQ31244 projects/nfsv4.1-client/sys/arm/conf/KB920X projects/nfsv4.1-client/sys/arm/conf/LN2410SBC projects/nfsv4.1-client/sys/arm/conf/NSLU projects/nfsv4.1-client/sys/arm/conf/QILA9G20 projects/nfsv4.1-client/sys/arm/conf/QILA9G20.hints projects/nfsv4.1-client/sys/arm/conf/SAM9G20EK projects/nfsv4.1-client/sys/arm/conf/SAM9G20EK.hints projects/nfsv4.1-client/sys/arm/conf/SHEEVAPLUG projects/nfsv4.1-client/sys/arm/conf/SIMICS projects/nfsv4.1-client/sys/arm/conf/TS7800 projects/nfsv4.1-client/sys/arm/econa/econa.c projects/nfsv4.1-client/sys/arm/econa/econa_machdep.c projects/nfsv4.1-client/sys/arm/econa/std.econa projects/nfsv4.1-client/sys/arm/include/_stdint.h projects/nfsv4.1-client/sys/arm/include/_types.h projects/nfsv4.1-client/sys/arm/include/armreg.h projects/nfsv4.1-client/sys/arm/include/asm.h projects/nfsv4.1-client/sys/arm/include/asmacros.h projects/nfsv4.1-client/sys/arm/include/atomic.h projects/nfsv4.1-client/sys/arm/include/blockio.h projects/nfsv4.1-client/sys/arm/include/cpu.h projects/nfsv4.1-client/sys/arm/include/cpuconf.h projects/nfsv4.1-client/sys/arm/include/cpufunc.h projects/nfsv4.1-client/sys/arm/include/elf.h projects/nfsv4.1-client/sys/arm/include/endian.h projects/nfsv4.1-client/sys/arm/include/fdt.h projects/nfsv4.1-client/sys/arm/include/fp.h projects/nfsv4.1-client/sys/arm/include/frame.h projects/nfsv4.1-client/sys/arm/include/ieee.h projects/nfsv4.1-client/sys/arm/include/in_cksum.h projects/nfsv4.1-client/sys/arm/include/intr.h projects/nfsv4.1-client/sys/arm/include/katelib.h projects/nfsv4.1-client/sys/arm/include/kdb.h projects/nfsv4.1-client/sys/arm/include/machdep.h projects/nfsv4.1-client/sys/arm/include/md_var.h projects/nfsv4.1-client/sys/arm/include/param.h projects/nfsv4.1-client/sys/arm/include/pcb.h projects/nfsv4.1-client/sys/arm/include/pcpu.h projects/nfsv4.1-client/sys/arm/include/pmap.h projects/nfsv4.1-client/sys/arm/include/pmc_mdep.h projects/nfsv4.1-client/sys/arm/include/profile.h projects/nfsv4.1-client/sys/arm/include/pte.h projects/nfsv4.1-client/sys/arm/include/resource.h projects/nfsv4.1-client/sys/arm/include/smp.h projects/nfsv4.1-client/sys/arm/include/stack.h projects/nfsv4.1-client/sys/arm/include/sysarch.h projects/nfsv4.1-client/sys/arm/include/vmparam.h projects/nfsv4.1-client/sys/arm/mv/common.c projects/nfsv4.1-client/sys/arm/mv/discovery/discovery.c projects/nfsv4.1-client/sys/arm/mv/discovery/files.db78xxx projects/nfsv4.1-client/sys/arm/mv/files.mv projects/nfsv4.1-client/sys/arm/mv/gpio.c projects/nfsv4.1-client/sys/arm/mv/ic.c projects/nfsv4.1-client/sys/arm/mv/kirkwood/files.kirkwood projects/nfsv4.1-client/sys/arm/mv/kirkwood/kirkwood.c projects/nfsv4.1-client/sys/arm/mv/mv_machdep.c projects/nfsv4.1-client/sys/arm/mv/mv_pci.c projects/nfsv4.1-client/sys/arm/mv/mv_sata.c projects/nfsv4.1-client/sys/arm/mv/mvreg.h projects/nfsv4.1-client/sys/arm/mv/mvvar.h projects/nfsv4.1-client/sys/arm/mv/mvwin.h projects/nfsv4.1-client/sys/arm/mv/orion/files.db88f5xxx projects/nfsv4.1-client/sys/arm/mv/orion/files.ts7800 projects/nfsv4.1-client/sys/arm/mv/std.mv projects/nfsv4.1-client/sys/arm/mv/timer.c projects/nfsv4.1-client/sys/arm/mv/twsi.c projects/nfsv4.1-client/sys/arm/s3c2xx0/s3c2410reg.h projects/nfsv4.1-client/sys/arm/s3c2xx0/s3c2440reg.h projects/nfsv4.1-client/sys/arm/s3c2xx0/s3c24x0.c projects/nfsv4.1-client/sys/arm/s3c2xx0/s3c24x0_machdep.c projects/nfsv4.1-client/sys/arm/s3c2xx0/s3c24x0reg.h projects/nfsv4.1-client/sys/arm/s3c2xx0/std.ln2410sbc projects/nfsv4.1-client/sys/arm/s3c2xx0/std.s3c2410 projects/nfsv4.1-client/sys/arm/sa11x0/assabet_machdep.c projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0.c projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_gpioreg.h projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_io_asm.S projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_irq.S projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_ost.c projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_ostreg.h projects/nfsv4.1-client/sys/arm/sa11x0/sa11x0_var.h projects/nfsv4.1-client/sys/arm/sa11x0/std.sa11x0 projects/nfsv4.1-client/sys/arm/sa11x0/uart_dev_sa1110.c projects/nfsv4.1-client/sys/arm/xscale/i80321/ep80219_machdep.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_aau.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_dma.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_intr.h projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_pci.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_space.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321_timer.c projects/nfsv4.1-client/sys/arm/xscale/i80321/i80321reg.h projects/nfsv4.1-client/sys/arm/xscale/i80321/iq31244_7seg.c projects/nfsv4.1-client/sys/arm/xscale/i80321/iq31244_machdep.c projects/nfsv4.1-client/sys/arm/xscale/i80321/iq80321.c projects/nfsv4.1-client/sys/arm/xscale/i80321/obio.c projects/nfsv4.1-client/sys/arm/xscale/i80321/std.i80219 projects/nfsv4.1-client/sys/arm/xscale/i80321/std.i80321 projects/nfsv4.1-client/sys/arm/xscale/i8134x/crb_machdep.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/i81342.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/i81342_mcu.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/i81342_pci.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/i81342_space.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/i81342reg.h projects/nfsv4.1-client/sys/arm/xscale/i8134x/iq81342_7seg.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/obio.c projects/nfsv4.1-client/sys/arm/xscale/i8134x/std.i81342 projects/nfsv4.1-client/sys/arm/xscale/i8134x/uart_cpu_i81342.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/avila_ata.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/avila_gpio.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/avila_machdep.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/cambria_exp_space.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/cambria_gpio.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/if_npe.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/if_npereg.h projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_iic.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_npe.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_npereg.h projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_pci.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_pci_space.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_qmgr.c projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425_qmgr.h projects/nfsv4.1-client/sys/arm/xscale/ixp425/ixp425reg.h projects/nfsv4.1-client/sys/arm/xscale/ixp425/std.ixp425 projects/nfsv4.1-client/sys/arm/xscale/ixp425/std.ixp435 projects/nfsv4.1-client/sys/arm/xscale/pxa/if_smc_smi.c projects/nfsv4.1-client/sys/arm/xscale/pxa/pxa_machdep.c projects/nfsv4.1-client/sys/arm/xscale/pxa/pxa_obio.c projects/nfsv4.1-client/sys/arm/xscale/pxa/pxareg.h projects/nfsv4.1-client/sys/arm/xscale/pxa/std.pxa projects/nfsv4.1-client/sys/arm/xscale/std.xscale projects/nfsv4.1-client/sys/boot/Makefile.ia64 projects/nfsv4.1-client/sys/boot/Makefile.sparc64 projects/nfsv4.1-client/sys/boot/arm/at91/boot0spi/main.c projects/nfsv4.1-client/sys/boot/arm/at91/boot2/boot2.c projects/nfsv4.1-client/sys/boot/arm/at91/bootspi/ee.c projects/nfsv4.1-client/sys/boot/arm/at91/libat91/Makefile projects/nfsv4.1-client/sys/boot/arm/at91/libat91/at91rm9200.h projects/nfsv4.1-client/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c projects/nfsv4.1-client/sys/boot/arm/at91/libat91/eeprom.c projects/nfsv4.1-client/sys/boot/arm/at91/libat91/emac_init.c projects/nfsv4.1-client/sys/boot/arm/at91/libat91/lib_AT91RM9200.h projects/nfsv4.1-client/sys/boot/arm/at91/libat91/spi_flash.c projects/nfsv4.1-client/sys/boot/arm/at91/linker.cfg projects/nfsv4.1-client/sys/boot/arm/ixp425/boot2/boot2.c projects/nfsv4.1-client/sys/boot/arm/uboot/Makefile projects/nfsv4.1-client/sys/boot/arm/uboot/conf.c projects/nfsv4.1-client/sys/boot/arm/uboot/ldscript.arm projects/nfsv4.1-client/sys/boot/arm/uboot/start.S projects/nfsv4.1-client/sys/boot/arm/uboot/version projects/nfsv4.1-client/sys/boot/common/Makefile.inc projects/nfsv4.1-client/sys/boot/common/boot.c projects/nfsv4.1-client/sys/boot/common/bootstrap.h projects/nfsv4.1-client/sys/boot/common/console.c projects/nfsv4.1-client/sys/boot/common/disk.c projects/nfsv4.1-client/sys/boot/common/disk.h projects/nfsv4.1-client/sys/boot/common/load_elf.c projects/nfsv4.1-client/sys/boot/common/load_elf_obj.c projects/nfsv4.1-client/sys/boot/common/loader.8 projects/nfsv4.1-client/sys/boot/common/module.c projects/nfsv4.1-client/sys/boot/common/reloc_elf.c projects/nfsv4.1-client/sys/boot/common/ufsread.c projects/nfsv4.1-client/sys/boot/efi/Makefile.inc projects/nfsv4.1-client/sys/boot/fdt/dts/db78100.dts projects/nfsv4.1-client/sys/boot/fdt/dts/db88f6281.dts projects/nfsv4.1-client/sys/boot/fdt/dts/p3041ds.dts projects/nfsv4.1-client/sys/boot/fdt/dts/sheevaplug.dts projects/nfsv4.1-client/sys/boot/fdt/dts/xlp-basic.dts projects/nfsv4.1-client/sys/boot/fdt/fdt_loader_cmd.c projects/nfsv4.1-client/sys/boot/ficl/Makefile projects/nfsv4.1-client/sys/boot/forth/beastie.4th projects/nfsv4.1-client/sys/boot/forth/beastie.4th.8 projects/nfsv4.1-client/sys/boot/forth/brand.4th projects/nfsv4.1-client/sys/boot/forth/brand.4th.8 projects/nfsv4.1-client/sys/boot/forth/check-password.4th projects/nfsv4.1-client/sys/boot/forth/check-password.4th.8 projects/nfsv4.1-client/sys/boot/forth/color.4th projects/nfsv4.1-client/sys/boot/forth/color.4th.8 projects/nfsv4.1-client/sys/boot/forth/delay.4th projects/nfsv4.1-client/sys/boot/forth/delay.4th.8 projects/nfsv4.1-client/sys/boot/forth/loader.4th projects/nfsv4.1-client/sys/boot/forth/loader.conf projects/nfsv4.1-client/sys/boot/forth/menu-commands.4th projects/nfsv4.1-client/sys/boot/forth/menu.4th projects/nfsv4.1-client/sys/boot/forth/menu.4th.8 projects/nfsv4.1-client/sys/boot/forth/menu.rc projects/nfsv4.1-client/sys/boot/forth/shortcuts.4th projects/nfsv4.1-client/sys/boot/forth/version.4th projects/nfsv4.1-client/sys/boot/forth/version.4th.8 projects/nfsv4.1-client/sys/boot/i386/Makefile.inc projects/nfsv4.1-client/sys/boot/i386/boot2/boot2.c projects/nfsv4.1-client/sys/boot/i386/boot2/lib.h projects/nfsv4.1-client/sys/boot/i386/boot2/sio.S projects/nfsv4.1-client/sys/boot/i386/btx/btx/Makefile projects/nfsv4.1-client/sys/boot/i386/btx/btx/btx.S projects/nfsv4.1-client/sys/boot/i386/btx/btxldr/Makefile projects/nfsv4.1-client/sys/boot/i386/btx/btxldr/btxldr.S projects/nfsv4.1-client/sys/boot/i386/btx/lib/Makefile projects/nfsv4.1-client/sys/boot/i386/cdboot/Makefile projects/nfsv4.1-client/sys/boot/i386/efi/reloc.c projects/nfsv4.1-client/sys/boot/i386/gptboot/gptboot.c projects/nfsv4.1-client/sys/boot/i386/libi386/Makefile projects/nfsv4.1-client/sys/boot/i386/libi386/biosdisk.c projects/nfsv4.1-client/sys/boot/i386/libi386/biospnp.c projects/nfsv4.1-client/sys/boot/i386/libi386/comconsole.c projects/nfsv4.1-client/sys/boot/i386/libi386/devicename.c projects/nfsv4.1-client/sys/boot/i386/libi386/libi386.h projects/nfsv4.1-client/sys/boot/i386/libi386/pxe.c projects/nfsv4.1-client/sys/boot/i386/libi386/pxe.h projects/nfsv4.1-client/sys/boot/i386/loader/Makefile projects/nfsv4.1-client/sys/boot/i386/loader/conf.c projects/nfsv4.1-client/sys/boot/i386/loader/main.c projects/nfsv4.1-client/sys/boot/i386/pmbr/pmbr.s projects/nfsv4.1-client/sys/boot/i386/pxeldr/Makefile projects/nfsv4.1-client/sys/boot/i386/pxeldr/pxeldr.S projects/nfsv4.1-client/sys/boot/i386/zfsboot/zfsboot.c projects/nfsv4.1-client/sys/boot/ia64/Makefile projects/nfsv4.1-client/sys/boot/ofw/libofw/Makefile projects/nfsv4.1-client/sys/boot/ofw/libofw/devicename.c projects/nfsv4.1-client/sys/boot/ofw/libofw/libofw.h projects/nfsv4.1-client/sys/boot/ofw/libofw/ofw_disk.c projects/nfsv4.1-client/sys/boot/pc98/boot2/boot2.c projects/nfsv4.1-client/sys/boot/pc98/btx/btx/Makefile projects/nfsv4.1-client/sys/boot/pc98/btx/btx/btx.S projects/nfsv4.1-client/sys/boot/pc98/btx/btxldr/Makefile projects/nfsv4.1-client/sys/boot/pc98/btx/btxldr/btxldr.S projects/nfsv4.1-client/sys/boot/pc98/btx/lib/Makefile projects/nfsv4.1-client/sys/boot/pc98/cdboot/Makefile projects/nfsv4.1-client/sys/boot/pc98/libpc98/Makefile projects/nfsv4.1-client/sys/boot/pc98/libpc98/biosdisk.c projects/nfsv4.1-client/sys/boot/pc98/loader/main.c projects/nfsv4.1-client/sys/boot/powerpc/boot1.chrp/boot1.c projects/nfsv4.1-client/sys/boot/powerpc/uboot/Makefile projects/nfsv4.1-client/sys/boot/sparc64/Makefile projects/nfsv4.1-client/sys/boot/sparc64/boot1/Makefile projects/nfsv4.1-client/sys/boot/sparc64/boot1/boot1.c projects/nfsv4.1-client/sys/boot/sparc64/loader/Makefile projects/nfsv4.1-client/sys/boot/sparc64/loader/main.c projects/nfsv4.1-client/sys/boot/uboot/common/main.c projects/nfsv4.1-client/sys/boot/uboot/common/metadata.c projects/nfsv4.1-client/sys/boot/uboot/lib/Makefile projects/nfsv4.1-client/sys/boot/uboot/lib/api_public.h projects/nfsv4.1-client/sys/boot/uboot/lib/copy.c projects/nfsv4.1-client/sys/boot/uboot/lib/devicename.c projects/nfsv4.1-client/sys/boot/uboot/lib/disk.c projects/nfsv4.1-client/sys/boot/uboot/lib/elf_freebsd.c projects/nfsv4.1-client/sys/boot/uboot/lib/glue.c projects/nfsv4.1-client/sys/boot/uboot/lib/libuboot.h projects/nfsv4.1-client/sys/boot/userboot/ficl/Makefile projects/nfsv4.1-client/sys/boot/userboot/libstand/Makefile projects/nfsv4.1-client/sys/boot/userboot/test/test.c projects/nfsv4.1-client/sys/boot/userboot/userboot.h projects/nfsv4.1-client/sys/boot/userboot/userboot/Makefile projects/nfsv4.1-client/sys/boot/userboot/userboot/bootinfo32.c projects/nfsv4.1-client/sys/boot/userboot/userboot/copy.c projects/nfsv4.1-client/sys/boot/userboot/userboot/devicename.c projects/nfsv4.1-client/sys/boot/userboot/userboot/libuserboot.h projects/nfsv4.1-client/sys/boot/userboot/userboot/main.c projects/nfsv4.1-client/sys/boot/userboot/userboot/userboot_disk.c projects/nfsv4.1-client/sys/boot/zfs/Makefile projects/nfsv4.1-client/sys/boot/zfs/zfs.c projects/nfsv4.1-client/sys/boot/zfs/zfsimpl.c projects/nfsv4.1-client/sys/cam/ata/ata_all.c projects/nfsv4.1-client/sys/cam/ata/ata_all.h projects/nfsv4.1-client/sys/cam/ata/ata_da.c projects/nfsv4.1-client/sys/cam/ata/ata_pmp.c projects/nfsv4.1-client/sys/cam/ata/ata_xpt.c projects/nfsv4.1-client/sys/cam/cam.h projects/nfsv4.1-client/sys/cam/cam_ccb.h projects/nfsv4.1-client/sys/cam/cam_debug.h projects/nfsv4.1-client/sys/cam/cam_periph.c projects/nfsv4.1-client/sys/cam/cam_periph.h projects/nfsv4.1-client/sys/cam/cam_queue.c projects/nfsv4.1-client/sys/cam/cam_sim.h projects/nfsv4.1-client/sys/cam/cam_xpt.c projects/nfsv4.1-client/sys/cam/cam_xpt.h projects/nfsv4.1-client/sys/cam/cam_xpt_periph.h projects/nfsv4.1-client/sys/cam/cam_xpt_sim.h projects/nfsv4.1-client/sys/cam/ctl/ctl.c projects/nfsv4.1-client/sys/cam/ctl/ctl_backend.c projects/nfsv4.1-client/sys/cam/ctl/ctl_backend_block.c projects/nfsv4.1-client/sys/cam/ctl/ctl_backend_ramdisk.c projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_cam_sim.c projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_internal.c projects/nfsv4.1-client/sys/cam/ctl/scsi_ctl.c projects/nfsv4.1-client/sys/cam/scsi/scsi_all.c projects/nfsv4.1-client/sys/cam/scsi/scsi_all.h projects/nfsv4.1-client/sys/cam/scsi/scsi_cd.c projects/nfsv4.1-client/sys/cam/scsi/scsi_ch.c projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c projects/nfsv4.1-client/sys/cam/scsi/scsi_da.h projects/nfsv4.1-client/sys/cam/scsi/scsi_low.c projects/nfsv4.1-client/sys/cam/scsi/scsi_low.h projects/nfsv4.1-client/sys/cam/scsi/scsi_pass.c projects/nfsv4.1-client/sys/cam/scsi/scsi_pt.c projects/nfsv4.1-client/sys/cam/scsi/scsi_sa.c projects/nfsv4.1-client/sys/cam/scsi/scsi_ses.h projects/nfsv4.1-client/sys/cam/scsi/scsi_sg.c projects/nfsv4.1-client/sys/cam/scsi/scsi_target.c projects/nfsv4.1-client/sys/cam/scsi/scsi_xpt.c projects/nfsv4.1-client/sys/cddl/boot/zfs/zfsimpl.h projects/nfsv4.1-client/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/nfsv4.1-client/sys/cddl/compat/opensolaris/sys/debug.h projects/nfsv4.1-client/sys/cddl/compat/opensolaris/sys/dkio.h projects/nfsv4.1-client/sys/cddl/compat/opensolaris/sys/sid.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/Makefile.files projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bpobj.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_debug.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/uts/common/sys/nvpair.h projects/nfsv4.1-client/sys/cddl/dev/dtrace/amd64/dis_tables.c projects/nfsv4.1-client/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/nfsv4.1-client/sys/cddl/dev/dtrace/i386/dis_tables.c projects/nfsv4.1-client/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32.h projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_misc.c projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_proto.h projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_syscall.h projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_syscalls.c projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_sysent.c projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_systrace_args.c projects/nfsv4.1-client/sys/compat/freebsd32/syscalls.master projects/nfsv4.1-client/sys/compat/ia32/ia32_sysvec.c projects/nfsv4.1-client/sys/compat/ia32/ia32_util.h projects/nfsv4.1-client/sys/compat/linux/linux_emul.c projects/nfsv4.1-client/sys/compat/linux/linux_emul.h projects/nfsv4.1-client/sys/compat/linux/linux_file.c projects/nfsv4.1-client/sys/compat/linux/linux_fork.c projects/nfsv4.1-client/sys/compat/linux/linux_futex.c projects/nfsv4.1-client/sys/compat/linux/linux_mib.c projects/nfsv4.1-client/sys/compat/linux/linux_misc.c projects/nfsv4.1-client/sys/compat/linux/linux_sysctl.c projects/nfsv4.1-client/sys/compat/linux/linux_time.c projects/nfsv4.1-client/sys/compat/linux/linux_uid16.c projects/nfsv4.1-client/sys/compat/linux/linux_util.c projects/nfsv4.1-client/sys/compat/linux/linux_util.h projects/nfsv4.1-client/sys/compat/ndis/subr_ntoskrnl.c projects/nfsv4.1-client/sys/conf/Makefile.amd64 projects/nfsv4.1-client/sys/conf/Makefile.arm projects/nfsv4.1-client/sys/conf/Makefile.powerpc projects/nfsv4.1-client/sys/conf/NOTES projects/nfsv4.1-client/sys/conf/files projects/nfsv4.1-client/sys/conf/files.amd64 projects/nfsv4.1-client/sys/conf/files.arm projects/nfsv4.1-client/sys/conf/files.i386 projects/nfsv4.1-client/sys/conf/files.ia64 projects/nfsv4.1-client/sys/conf/files.mips projects/nfsv4.1-client/sys/conf/files.pc98 projects/nfsv4.1-client/sys/conf/files.powerpc projects/nfsv4.1-client/sys/conf/files.sparc64 projects/nfsv4.1-client/sys/conf/kern.mk projects/nfsv4.1-client/sys/conf/kern.post.mk projects/nfsv4.1-client/sys/conf/kern.pre.mk projects/nfsv4.1-client/sys/conf/kmod.mk projects/nfsv4.1-client/sys/conf/ldscript.arm projects/nfsv4.1-client/sys/conf/newvers.sh projects/nfsv4.1-client/sys/conf/options projects/nfsv4.1-client/sys/conf/options.amd64 projects/nfsv4.1-client/sys/conf/options.arm projects/nfsv4.1-client/sys/conf/options.i386 projects/nfsv4.1-client/sys/conf/options.ia64 projects/nfsv4.1-client/sys/conf/options.mips projects/nfsv4.1-client/sys/conf/options.powerpc projects/nfsv4.1-client/sys/contrib/altq/altq/altq_cbq.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_hfsc.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_priq.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_red.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_rio.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_rmclass.c projects/nfsv4.1-client/sys/contrib/altq/altq/altq_subr.c projects/nfsv4.1-client/sys/contrib/dev/acpica/acpica_prep.sh projects/nfsv4.1-client/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/common/adfile.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/adisasm.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/adwalk.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/dmextern.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/dmrestag.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/dmtable.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/dmtbdump.c projects/nfsv4.1-client/sys/contrib/dev/acpica/common/dmtbinfo.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslcompile.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslcompiler.y projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslerror.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslfiles.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslfold.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslglobal.h projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/asllookup.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslmain.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslmap.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslmessages.h projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/asloperands.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslopt.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslstartup.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslsupport.l projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/asltree.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/asltypes.h projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/aslutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/dtio.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/dttemplate.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/preprocess.h projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/prscan.c projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/prutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/events/evgpe.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/events/evxface.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/exconfig.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/exprep.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/exresolv.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/exstore.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/exutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/hardware/hwesleep.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/namespace/nspredef.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/parser/psxface.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/resources/rscreate.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/resources/rsutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbutils.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbxface.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utobject.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utosi.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utxface.c projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acdebug.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acdisasm.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acexcep.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acglobal.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/achware.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/aclocal.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acmacros.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acnames.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acobject.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acoutput.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acpiosxf.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acpixf.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acpredef.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/actbl.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/actbl1.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/actbl2.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/actbl3.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/actypes.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/acutils.h projects/nfsv4.1-client/sys/contrib/dev/acpica/include/platform/acenv.h projects/nfsv4.1-client/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/nfsv4.1-client/sys/contrib/ipfilter/netinet/fil.c projects/nfsv4.1-client/sys/contrib/ipfilter/netinet/ip_auth.c projects/nfsv4.1-client/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/nfsv4.1-client/sys/contrib/libfdt/fdt.c projects/nfsv4.1-client/sys/contrib/libfdt/fdt_ro.c projects/nfsv4.1-client/sys/contrib/libfdt/fdt_rw.c projects/nfsv4.1-client/sys/contrib/libfdt/libfdt.h projects/nfsv4.1-client/sys/contrib/libfdt/libfdt_env.h projects/nfsv4.1-client/sys/contrib/libfdt/libfdt_internal.h projects/nfsv4.1-client/sys/contrib/rdma/krping/krping.c projects/nfsv4.1-client/sys/contrib/rdma/krping/krping.h projects/nfsv4.1-client/sys/contrib/rdma/krping/krping_dev.c projects/nfsv4.1-client/sys/contrib/rdma/rdma_addr.c projects/nfsv4.1-client/sys/contrib/rdma/rdma_cache.c projects/nfsv4.1-client/sys/dev/aac/aac_cam.c projects/nfsv4.1-client/sys/dev/aac/aac_disk.c projects/nfsv4.1-client/sys/dev/acpi_support/acpi_ibm.c projects/nfsv4.1-client/sys/dev/acpi_support/acpi_wmi.c projects/nfsv4.1-client/sys/dev/acpica/Osd/OsdSchedule.c projects/nfsv4.1-client/sys/dev/acpica/Osd/OsdSynch.c projects/nfsv4.1-client/sys/dev/acpica/acpi.c projects/nfsv4.1-client/sys/dev/acpica/acpi_cpu.c projects/nfsv4.1-client/sys/dev/acpica/acpi_ec.c projects/nfsv4.1-client/sys/dev/acpica/acpi_hpet.c projects/nfsv4.1-client/sys/dev/acpica/acpi_pcib_acpi.c projects/nfsv4.1-client/sys/dev/acpica/acpi_powerres.c projects/nfsv4.1-client/sys/dev/acpica/acpi_smbat.c projects/nfsv4.1-client/sys/dev/acpica/acpi_thermal.c projects/nfsv4.1-client/sys/dev/acpica/acpi_video.c projects/nfsv4.1-client/sys/dev/acpica/acpivar.h projects/nfsv4.1-client/sys/dev/adb/adb_kbd.c projects/nfsv4.1-client/sys/dev/advansys/adv_eisa.c projects/nfsv4.1-client/sys/dev/advansys/adv_isa.c projects/nfsv4.1-client/sys/dev/advansys/adv_pci.c projects/nfsv4.1-client/sys/dev/advansys/advansys.c projects/nfsv4.1-client/sys/dev/advansys/advansys.h projects/nfsv4.1-client/sys/dev/advansys/advlib.c projects/nfsv4.1-client/sys/dev/advansys/advlib.h projects/nfsv4.1-client/sys/dev/advansys/adw_pci.c projects/nfsv4.1-client/sys/dev/advansys/adwcam.c projects/nfsv4.1-client/sys/dev/advansys/adwlib.c projects/nfsv4.1-client/sys/dev/advansys/adwlib.h projects/nfsv4.1-client/sys/dev/advansys/adwvar.h projects/nfsv4.1-client/sys/dev/ae/if_ae.c projects/nfsv4.1-client/sys/dev/agp/agp.c projects/nfsv4.1-client/sys/dev/agp/agp_i810.c projects/nfsv4.1-client/sys/dev/agp/agp_if.m projects/nfsv4.1-client/sys/dev/agp/agppriv.h projects/nfsv4.1-client/sys/dev/agp/agpreg.h projects/nfsv4.1-client/sys/dev/agp/agpvar.h projects/nfsv4.1-client/sys/dev/aha/aha.c projects/nfsv4.1-client/sys/dev/aha/aha_isa.c projects/nfsv4.1-client/sys/dev/aha/aha_mca.c projects/nfsv4.1-client/sys/dev/aha/ahareg.h projects/nfsv4.1-client/sys/dev/ahb/ahb.c projects/nfsv4.1-client/sys/dev/ahb/ahbreg.h projects/nfsv4.1-client/sys/dev/ahci/ahci.c projects/nfsv4.1-client/sys/dev/ahci/ahci.h projects/nfsv4.1-client/sys/dev/aic/aic.c projects/nfsv4.1-client/sys/dev/aic/aic_cbus.c projects/nfsv4.1-client/sys/dev/aic/aic_isa.c projects/nfsv4.1-client/sys/dev/aic/aic_pccard.c projects/nfsv4.1-client/sys/dev/aic/aicvar.h projects/nfsv4.1-client/sys/dev/aic7xxx/aic79xx.c projects/nfsv4.1-client/sys/dev/aic7xxx/aic79xx_osm.c projects/nfsv4.1-client/sys/dev/aic7xxx/aic7xxx.c projects/nfsv4.1-client/sys/dev/aic7xxx/aic7xxx_osm.c projects/nfsv4.1-client/sys/dev/aic7xxx/aic_osm_lib.c projects/nfsv4.1-client/sys/dev/aic7xxx/aicasm/Makefile projects/nfsv4.1-client/sys/dev/aic7xxx/aicasm/aicasm.c projects/nfsv4.1-client/sys/dev/alc/if_alc.c projects/nfsv4.1-client/sys/dev/ale/if_ale.c projects/nfsv4.1-client/sys/dev/amr/amr.c projects/nfsv4.1-client/sys/dev/amr/amrvar.h projects/nfsv4.1-client/sys/dev/arcmsr/arcmsr.c projects/nfsv4.1-client/sys/dev/arcmsr/arcmsr.h projects/nfsv4.1-client/sys/dev/ata/ata-all.c projects/nfsv4.1-client/sys/dev/ata/ata-all.h projects/nfsv4.1-client/sys/dev/ata/ata-lowlevel.c projects/nfsv4.1-client/sys/dev/ata/ata-pci.h projects/nfsv4.1-client/sys/dev/ata/ata-sata.c projects/nfsv4.1-client/sys/dev/ata/chipsets/ata-ite.c projects/nfsv4.1-client/sys/dev/ata/chipsets/ata-jmicron.c projects/nfsv4.1-client/sys/dev/ata/chipsets/ata-via.c projects/nfsv4.1-client/sys/dev/ath/ah_osdep.c projects/nfsv4.1-client/sys/dev/ath/ah_osdep.h projects/nfsv4.1-client/sys/dev/ath/ath_dfs/null/dfs_null.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_debug.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_desc.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_devid.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_diagcodes.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_eeprom.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_eeprom_9287.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ah_internal.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211_recv.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_reset.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212phy.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_radar.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9280.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9285.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c projects/nfsv4.1-client/sys/dev/ath/ath_rate/amrr/amrr.c projects/nfsv4.1-client/sys/dev/ath/ath_rate/onoe/onoe.c projects/nfsv4.1-client/sys/dev/ath/ath_rate/sample/sample.c projects/nfsv4.1-client/sys/dev/ath/ath_rate/sample/sample.h projects/nfsv4.1-client/sys/dev/ath/ath_rate/sample/tx_schedules.h projects/nfsv4.1-client/sys/dev/ath/if_ath.c projects/nfsv4.1-client/sys/dev/ath/if_ath_ahb.c projects/nfsv4.1-client/sys/dev/ath/if_ath_debug.c projects/nfsv4.1-client/sys/dev/ath/if_ath_debug.h projects/nfsv4.1-client/sys/dev/ath/if_ath_led.c projects/nfsv4.1-client/sys/dev/ath/if_ath_misc.h projects/nfsv4.1-client/sys/dev/ath/if_ath_pci.c projects/nfsv4.1-client/sys/dev/ath/if_ath_sysctl.c projects/nfsv4.1-client/sys/dev/ath/if_ath_tx.c projects/nfsv4.1-client/sys/dev/ath/if_ath_tx.h projects/nfsv4.1-client/sys/dev/ath/if_ath_tx_ht.c projects/nfsv4.1-client/sys/dev/ath/if_athdfs.h projects/nfsv4.1-client/sys/dev/ath/if_athioctl.h projects/nfsv4.1-client/sys/dev/ath/if_athrate.h projects/nfsv4.1-client/sys/dev/ath/if_athvar.h projects/nfsv4.1-client/sys/dev/atkbdc/atkbdc_isa.c projects/nfsv4.1-client/sys/dev/atkbdc/psm.c projects/nfsv4.1-client/sys/dev/bce/if_bce.c projects/nfsv4.1-client/sys/dev/bce/if_bcereg.h projects/nfsv4.1-client/sys/dev/bge/if_bge.c projects/nfsv4.1-client/sys/dev/bge/if_bgereg.h projects/nfsv4.1-client/sys/dev/buslogic/bt.c projects/nfsv4.1-client/sys/dev/buslogic/bt_eisa.c projects/nfsv4.1-client/sys/dev/buslogic/bt_isa.c projects/nfsv4.1-client/sys/dev/buslogic/bt_mca.c projects/nfsv4.1-client/sys/dev/buslogic/bt_pci.c projects/nfsv4.1-client/sys/dev/buslogic/btreg.h projects/nfsv4.1-client/sys/dev/bwi/bwimac.c projects/nfsv4.1-client/sys/dev/bwi/bwiphy.c projects/nfsv4.1-client/sys/dev/bwi/bwirf.c projects/nfsv4.1-client/sys/dev/bwi/if_bwi.c projects/nfsv4.1-client/sys/dev/bwi/if_bwi_pci.c projects/nfsv4.1-client/sys/dev/bxe/if_bxe.c projects/nfsv4.1-client/sys/dev/cesa/cesa.c projects/nfsv4.1-client/sys/dev/ct/bshw_machdep.c projects/nfsv4.1-client/sys/dev/ct/ct.c projects/nfsv4.1-client/sys/dev/ct/ct_isa.c projects/nfsv4.1-client/sys/dev/ct/ct_machdep.h projects/nfsv4.1-client/sys/dev/ct/ctvar.h projects/nfsv4.1-client/sys/dev/cxgb/common/cxgb_ctl_defs.h projects/nfsv4.1-client/sys/dev/cxgb/cxgb_adapter.h projects/nfsv4.1-client/sys/dev/cxgb/cxgb_main.c projects/nfsv4.1-client/sys/dev/cxgb/cxgb_offload.h projects/nfsv4.1-client/sys/dev/cxgb/cxgb_osdep.h projects/nfsv4.1-client/sys/dev/cxgb/cxgb_sge.c projects/nfsv4.1-client/sys/dev/cxgb/sys/mvec.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_l2t.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_l2t.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_listen.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tom.c projects/nfsv4.1-client/sys/dev/cxgb/ulp/tom/cxgb_tom.h projects/nfsv4.1-client/sys/dev/cxgbe/adapter.h projects/nfsv4.1-client/sys/dev/cxgbe/common/common.h projects/nfsv4.1-client/sys/dev/cxgbe/common/t4_hw.c projects/nfsv4.1-client/sys/dev/cxgbe/common/t4_hw.h projects/nfsv4.1-client/sys/dev/cxgbe/common/t4_msg.h projects/nfsv4.1-client/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/nfsv4.1-client/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt projects/nfsv4.1-client/sys/dev/cxgbe/firmware/t4fw_interface.h projects/nfsv4.1-client/sys/dev/cxgbe/offload.h projects/nfsv4.1-client/sys/dev/cxgbe/osdep.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_ioctl.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.c projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_main.c projects/nfsv4.1-client/sys/dev/cxgbe/t4_sge.c projects/nfsv4.1-client/sys/dev/dc/if_dc.c projects/nfsv4.1-client/sys/dev/dpt/dpt.h projects/nfsv4.1-client/sys/dev/dpt/dpt_eisa.c projects/nfsv4.1-client/sys/dev/dpt/dpt_isa.c projects/nfsv4.1-client/sys/dev/dpt/dpt_pci.c projects/nfsv4.1-client/sys/dev/dpt/dpt_scsi.c projects/nfsv4.1-client/sys/dev/drm/drm_fops.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82541.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82543.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82571.c projects/nfsv4.1-client/sys/dev/e1000/e1000_82575.c projects/nfsv4.1-client/sys/dev/e1000/e1000_api.c projects/nfsv4.1-client/sys/dev/e1000/e1000_api.h projects/nfsv4.1-client/sys/dev/e1000/e1000_defines.h projects/nfsv4.1-client/sys/dev/e1000/e1000_hw.h projects/nfsv4.1-client/sys/dev/e1000/e1000_ich8lan.c projects/nfsv4.1-client/sys/dev/e1000/e1000_mac.c projects/nfsv4.1-client/sys/dev/e1000/e1000_mac.h projects/nfsv4.1-client/sys/dev/e1000/e1000_manage.c projects/nfsv4.1-client/sys/dev/e1000/e1000_manage.h projects/nfsv4.1-client/sys/dev/e1000/e1000_phy.c projects/nfsv4.1-client/sys/dev/e1000/e1000_phy.h projects/nfsv4.1-client/sys/dev/e1000/e1000_regs.h projects/nfsv4.1-client/sys/dev/e1000/if_em.c projects/nfsv4.1-client/sys/dev/e1000/if_igb.c projects/nfsv4.1-client/sys/dev/e1000/if_igb.h projects/nfsv4.1-client/sys/dev/e1000/if_lem.c projects/nfsv4.1-client/sys/dev/esp/ncr53c9x.c projects/nfsv4.1-client/sys/dev/et/if_et.c projects/nfsv4.1-client/sys/dev/fb/fbreg.h projects/nfsv4.1-client/sys/dev/fdt/fdt_common.c projects/nfsv4.1-client/sys/dev/fdt/fdt_common.h projects/nfsv4.1-client/sys/dev/fdt/fdt_pci.c projects/nfsv4.1-client/sys/dev/fdt/fdtbus.c projects/nfsv4.1-client/sys/dev/fdt/simplebus.c projects/nfsv4.1-client/sys/dev/firewire/sbp_targ.c projects/nfsv4.1-client/sys/dev/flash/at45d.c projects/nfsv4.1-client/sys/dev/flash/mx25l.c projects/nfsv4.1-client/sys/dev/fxp/if_fxp.c projects/nfsv4.1-client/sys/dev/hptiop/hptiop.c projects/nfsv4.1-client/sys/dev/hptmv/entry.c projects/nfsv4.1-client/sys/dev/hptrr/hptrr_osm_bsd.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_amd.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_arm.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_core.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_core.h projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_intel.c projects/nfsv4.1-client/sys/dev/hwpmc/hwpmc_x86.c projects/nfsv4.1-client/sys/dev/hwpmc/pmc_events.h projects/nfsv4.1-client/sys/dev/ida/ida.c projects/nfsv4.1-client/sys/dev/ida/ida_disk.c projects/nfsv4.1-client/sys/dev/ida/ida_eisa.c projects/nfsv4.1-client/sys/dev/ida/ida_pci.c projects/nfsv4.1-client/sys/dev/ida/idavar.h projects/nfsv4.1-client/sys/dev/ie/if_ie_isa.c projects/nfsv4.1-client/sys/dev/iicbus/ad7417.c projects/nfsv4.1-client/sys/dev/iicbus/ds1374.c projects/nfsv4.1-client/sys/dev/iicbus/ds1775.c projects/nfsv4.1-client/sys/dev/iicbus/max6690.c projects/nfsv4.1-client/sys/dev/iicbus/pcf8563.c projects/nfsv4.1-client/sys/dev/ipmi/ipmi.c projects/nfsv4.1-client/sys/dev/ipmi/ipmi_smbios.c projects/nfsv4.1-client/sys/dev/ipmi/ipmivars.h projects/nfsv4.1-client/sys/dev/isci/isci.c projects/nfsv4.1-client/sys/dev/isci/isci.h projects/nfsv4.1-client/sys/dev/isci/isci_controller.c projects/nfsv4.1-client/sys/dev/isci/isci_interrupt.c projects/nfsv4.1-client/sys/dev/isci/isci_io_request.c projects/nfsv4.1-client/sys/dev/isci/isci_remote_device.c projects/nfsv4.1-client/sys/dev/isci/scil/sati.c projects/nfsv4.1-client/sys/dev/isci/scil/sati_callbacks.h projects/nfsv4.1-client/sys/dev/isci/scil/sati_inquiry.c projects/nfsv4.1-client/sys/dev/isci/scil/sati_unmap.c projects/nfsv4.1-client/sys/dev/isci/scil/sati_util.c projects/nfsv4.1-client/sys/dev/isci/scil/sati_write_buffer.c projects/nfsv4.1-client/sys/dev/isci/scil/sci_base_controller.h projects/nfsv4.1-client/sys/dev/isci/scil/sci_base_domain.h projects/nfsv4.1-client/sys/dev/isci/scil/sci_base_phy.h projects/nfsv4.1-client/sys/dev/isci/scil/sci_base_remote_device.h projects/nfsv4.1-client/sys/dev/isci/scil/scic_io_request.h projects/nfsv4.1-client/sys/dev/isci/scil/scic_sds_phy.c projects/nfsv4.1-client/sys/dev/isci/scil/scic_sds_port.h projects/nfsv4.1-client/sys/dev/isci/scil/scic_sds_remote_device.h projects/nfsv4.1-client/sys/dev/isci/scil/scic_sds_remote_node_context.h projects/nfsv4.1-client/sys/dev/isci/scil/scic_sds_request.c projects/nfsv4.1-client/sys/dev/isci/scil/scif_sas_sati_binding.h projects/nfsv4.1-client/sys/dev/isci/scil/scif_sas_stp_io_request.c projects/nfsv4.1-client/sys/dev/isci/scil/scu_bios_definitions.h projects/nfsv4.1-client/sys/dev/isp/isp.c projects/nfsv4.1-client/sys/dev/isp/isp_freebsd.c projects/nfsv4.1-client/sys/dev/isp/isp_freebsd.h projects/nfsv4.1-client/sys/dev/isp/isp_library.c projects/nfsv4.1-client/sys/dev/isp/isp_library.h projects/nfsv4.1-client/sys/dev/isp/isp_pci.c projects/nfsv4.1-client/sys/dev/isp/isp_sbus.c projects/nfsv4.1-client/sys/dev/isp/isp_stds.h projects/nfsv4.1-client/sys/dev/isp/isp_target.c projects/nfsv4.1-client/sys/dev/isp/isp_target.h projects/nfsv4.1-client/sys/dev/isp/ispmbox.h projects/nfsv4.1-client/sys/dev/isp/ispreg.h projects/nfsv4.1-client/sys/dev/isp/ispvar.h projects/nfsv4.1-client/sys/dev/ispfw/asm_2300.h projects/nfsv4.1-client/sys/dev/ispfw/asm_2400.h projects/nfsv4.1-client/sys/dev/ispfw/asm_2500.h projects/nfsv4.1-client/sys/dev/iwn/if_iwn.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82598.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82598.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82599.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_api.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_api.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_common.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_common.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_osdep.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_phy.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_type.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_vf.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_x540.c projects/nfsv4.1-client/sys/dev/ixgbe/ixv.c projects/nfsv4.1-client/sys/dev/jme/if_jme.c projects/nfsv4.1-client/sys/dev/ksyms/ksyms.c projects/nfsv4.1-client/sys/dev/md/md.c projects/nfsv4.1-client/sys/dev/mfi/mfi.c projects/nfsv4.1-client/sys/dev/mfi/mfi_cam.c projects/nfsv4.1-client/sys/dev/mfi/mfi_debug.c projects/nfsv4.1-client/sys/dev/mfi/mfi_disk.c projects/nfsv4.1-client/sys/dev/mfi/mfi_tbolt.c projects/nfsv4.1-client/sys/dev/mfi/mfireg.h projects/nfsv4.1-client/sys/dev/mfi/mfivar.h projects/nfsv4.1-client/sys/dev/mge/if_mge.c projects/nfsv4.1-client/sys/dev/mge/if_mgevar.h projects/nfsv4.1-client/sys/dev/mii/brgphy.c projects/nfsv4.1-client/sys/dev/mii/ciphy.c projects/nfsv4.1-client/sys/dev/mii/e1000phy.c projects/nfsv4.1-client/sys/dev/mii/miidevs projects/nfsv4.1-client/sys/dev/mii/smcphy.c projects/nfsv4.1-client/sys/dev/mlx/mlx.c projects/nfsv4.1-client/sys/dev/mlx/mlx_disk.c projects/nfsv4.1-client/sys/dev/mlx/mlx_pci.c projects/nfsv4.1-client/sys/dev/mlx/mlxreg.h projects/nfsv4.1-client/sys/dev/mlx/mlxvar.h projects/nfsv4.1-client/sys/dev/mly/mly.c projects/nfsv4.1-client/sys/dev/mmc/mmc.c projects/nfsv4.1-client/sys/dev/mmc/mmcsd.c projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_cnfg.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_hbd.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_history.txt projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_init.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_ioc.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_ra.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_raid.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_sas.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_targ.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_tool.h projects/nfsv4.1-client/sys/dev/mps/mpi/mpi2_type.h projects/nfsv4.1-client/sys/dev/mps/mps.c projects/nfsv4.1-client/sys/dev/mps/mps_config.c projects/nfsv4.1-client/sys/dev/mps/mps_ioctl.h projects/nfsv4.1-client/sys/dev/mps/mps_mapping.c projects/nfsv4.1-client/sys/dev/mps/mps_mapping.h projects/nfsv4.1-client/sys/dev/mps/mps_sas.c projects/nfsv4.1-client/sys/dev/mps/mps_sas.h projects/nfsv4.1-client/sys/dev/mps/mps_sas_lsi.c projects/nfsv4.1-client/sys/dev/mps/mps_table.c projects/nfsv4.1-client/sys/dev/mps/mps_user.c projects/nfsv4.1-client/sys/dev/mps/mpsvar.h projects/nfsv4.1-client/sys/dev/mpt/mpt_cam.c projects/nfsv4.1-client/sys/dev/mvs/mvs.c projects/nfsv4.1-client/sys/dev/mvs/mvs.h projects/nfsv4.1-client/sys/dev/mvs/mvs_soc.c projects/nfsv4.1-client/sys/dev/mxge/eth_z8e.h projects/nfsv4.1-client/sys/dev/mxge/ethp_z8e.h projects/nfsv4.1-client/sys/dev/mxge/if_mxge.c projects/nfsv4.1-client/sys/dev/mxge/rss_eth_z8e.h projects/nfsv4.1-client/sys/dev/mxge/rss_ethp_z8e.h projects/nfsv4.1-client/sys/dev/ncv/ncr53c500.c projects/nfsv4.1-client/sys/dev/ncv/ncr53c500_pccard.c projects/nfsv4.1-client/sys/dev/ncv/ncr53c500hw.h projects/nfsv4.1-client/sys/dev/ncv/ncr53c500var.h projects/nfsv4.1-client/sys/dev/netmap/if_em_netmap.h projects/nfsv4.1-client/sys/dev/netmap/if_igb_netmap.h projects/nfsv4.1-client/sys/dev/netmap/ixgbe_netmap.h projects/nfsv4.1-client/sys/dev/netmap/netmap.c projects/nfsv4.1-client/sys/dev/netmap/netmap_kern.h projects/nfsv4.1-client/sys/dev/netmap/netmap_mem2.c projects/nfsv4.1-client/sys/dev/nsp/nsp.c projects/nfsv4.1-client/sys/dev/nsp/nsp_pccard.c projects/nfsv4.1-client/sys/dev/nsp/nspvar.h projects/nfsv4.1-client/sys/dev/nve/if_nvereg.h projects/nfsv4.1-client/sys/dev/oce/oce_if.c projects/nfsv4.1-client/sys/dev/ofw/ofw_bus_subr.c projects/nfsv4.1-client/sys/dev/ofw/ofw_bus_subr.h projects/nfsv4.1-client/sys/dev/ofw/ofw_iicbus.c projects/nfsv4.1-client/sys/dev/ofw/openfirm.c projects/nfsv4.1-client/sys/dev/ofw/openfirm.h projects/nfsv4.1-client/sys/dev/pccard/pccard.c projects/nfsv4.1-client/sys/dev/pccard/pccardvarp.h projects/nfsv4.1-client/sys/dev/pccbb/pccbb_pci.c projects/nfsv4.1-client/sys/dev/pci/pci.c projects/nfsv4.1-client/sys/dev/pci/pci_pci.c projects/nfsv4.1-client/sys/dev/pci/pci_user.c projects/nfsv4.1-client/sys/dev/pci/pcireg.h projects/nfsv4.1-client/sys/dev/pci/vga_pci.c projects/nfsv4.1-client/sys/dev/powermac_nvram/powermac_nvram.c projects/nfsv4.1-client/sys/dev/puc/pucdata.c projects/nfsv4.1-client/sys/dev/ral/if_ral_pci.c projects/nfsv4.1-client/sys/dev/random/nehemiah.c projects/nfsv4.1-client/sys/dev/random/probe.c projects/nfsv4.1-client/sys/dev/re/if_re.c projects/nfsv4.1-client/sys/dev/sdhci/sdhci.c projects/nfsv4.1-client/sys/dev/sdhci/sdhci.h projects/nfsv4.1-client/sys/dev/sec/sec.c projects/nfsv4.1-client/sys/dev/sec/sec.h projects/nfsv4.1-client/sys/dev/sf/if_sf.c projects/nfsv4.1-client/sys/dev/siis/siis.c projects/nfsv4.1-client/sys/dev/sio/sio.c projects/nfsv4.1-client/sys/dev/sound/macio/snapper.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdaa.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdaa_patches.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdac.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdac.h projects/nfsv4.1-client/sys/dev/sound/pci/hdspe-pcm.c projects/nfsv4.1-client/sys/dev/sound/pci/hdspe.c projects/nfsv4.1-client/sys/dev/sound/pcm/sndstat.c projects/nfsv4.1-client/sys/dev/sound/usb/uaudio.c projects/nfsv4.1-client/sys/dev/sound/usb/uaudioreg.h projects/nfsv4.1-client/sys/dev/spibus/spi.h projects/nfsv4.1-client/sys/dev/stg/tmc18c30.c projects/nfsv4.1-client/sys/dev/stg/tmc18c30_isa.c projects/nfsv4.1-client/sys/dev/stg/tmc18c30_pccard.c projects/nfsv4.1-client/sys/dev/stg/tmc18c30_pci.c projects/nfsv4.1-client/sys/dev/stg/tmc18c30_subr.c projects/nfsv4.1-client/sys/dev/stg/tmc18c30var.h projects/nfsv4.1-client/sys/dev/sym/sym_conf.h projects/nfsv4.1-client/sys/dev/sym/sym_hipd.c projects/nfsv4.1-client/sys/dev/syscons/schistory.c projects/nfsv4.1-client/sys/dev/syscons/scterm-teken.c projects/nfsv4.1-client/sys/dev/syscons/syscons.c projects/nfsv4.1-client/sys/dev/tsec/if_tsec.c projects/nfsv4.1-client/sys/dev/twa/tw_osl_cam.c projects/nfsv4.1-client/sys/dev/twe/twe.c projects/nfsv4.1-client/sys/dev/twe/twe_compat.h projects/nfsv4.1-client/sys/dev/twe/twe_freebsd.c projects/nfsv4.1-client/sys/dev/twe/twevar.h projects/nfsv4.1-client/sys/dev/tws/tws.c projects/nfsv4.1-client/sys/dev/tws/tws.h projects/nfsv4.1-client/sys/dev/tws/tws_cam.c projects/nfsv4.1-client/sys/dev/tws/tws_hdm.h projects/nfsv4.1-client/sys/dev/tws/tws_user.c projects/nfsv4.1-client/sys/dev/uart/uart.h projects/nfsv4.1-client/sys/dev/uart/uart_bus_fdt.c projects/nfsv4.1-client/sys/dev/uart/uart_subr.c projects/nfsv4.1-client/sys/dev/usb/controller/at91dci.c projects/nfsv4.1-client/sys/dev/usb/controller/at91dci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/atmegadci.c projects/nfsv4.1-client/sys/dev/usb/controller/avr32dci.c projects/nfsv4.1-client/sys/dev/usb/controller/dwc_otg.c projects/nfsv4.1-client/sys/dev/usb/controller/dwc_otg.h projects/nfsv4.1-client/sys/dev/usb/controller/ehci.c projects/nfsv4.1-client/sys/dev/usb/controller/ehci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/musb_otg.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci_atmelarm.c projects/nfsv4.1-client/sys/dev/usb/controller/ohci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/uhci.c projects/nfsv4.1-client/sys/dev/usb/controller/usb_controller.c projects/nfsv4.1-client/sys/dev/usb/controller/uss820dci.c projects/nfsv4.1-client/sys/dev/usb/controller/xhci.c projects/nfsv4.1-client/sys/dev/usb/controller/xhci.h projects/nfsv4.1-client/sys/dev/usb/controller/xhci_pci.c projects/nfsv4.1-client/sys/dev/usb/controller/xhcireg.h projects/nfsv4.1-client/sys/dev/usb/input/uhid.c projects/nfsv4.1-client/sys/dev/usb/input/ums.c projects/nfsv4.1-client/sys/dev/usb/net/if_rue.c projects/nfsv4.1-client/sys/dev/usb/net/if_udav.c projects/nfsv4.1-client/sys/dev/usb/net/if_udavreg.h projects/nfsv4.1-client/sys/dev/usb/net/if_usie.c projects/nfsv4.1-client/sys/dev/usb/net/uhso.c projects/nfsv4.1-client/sys/dev/usb/quirk/usb_quirk.c projects/nfsv4.1-client/sys/dev/usb/quirk/usb_quirk.h projects/nfsv4.1-client/sys/dev/usb/serial/u3g.c projects/nfsv4.1-client/sys/dev/usb/serial/uark.c projects/nfsv4.1-client/sys/dev/usb/serial/ubsa.c projects/nfsv4.1-client/sys/dev/usb/serial/ubser.c projects/nfsv4.1-client/sys/dev/usb/serial/uchcom.c projects/nfsv4.1-client/sys/dev/usb/serial/ucycom.c projects/nfsv4.1-client/sys/dev/usb/serial/ufoma.c projects/nfsv4.1-client/sys/dev/usb/serial/uftdi.c projects/nfsv4.1-client/sys/dev/usb/serial/uftdi_reg.h projects/nfsv4.1-client/sys/dev/usb/serial/ugensa.c projects/nfsv4.1-client/sys/dev/usb/serial/uipaq.c projects/nfsv4.1-client/sys/dev/usb/serial/ulpt.c projects/nfsv4.1-client/sys/dev/usb/serial/umcs.c projects/nfsv4.1-client/sys/dev/usb/serial/umct.c projects/nfsv4.1-client/sys/dev/usb/serial/umodem.c projects/nfsv4.1-client/sys/dev/usb/serial/umoscom.c projects/nfsv4.1-client/sys/dev/usb/serial/uplcom.c projects/nfsv4.1-client/sys/dev/usb/serial/usb_serial.c projects/nfsv4.1-client/sys/dev/usb/serial/usb_serial.h projects/nfsv4.1-client/sys/dev/usb/serial/uslcom.c projects/nfsv4.1-client/sys/dev/usb/serial/uvisor.c projects/nfsv4.1-client/sys/dev/usb/serial/uvscom.c projects/nfsv4.1-client/sys/dev/usb/storage/umass.c projects/nfsv4.1-client/sys/dev/usb/usb.h projects/nfsv4.1-client/sys/dev/usb/usb_controller.h projects/nfsv4.1-client/sys/dev/usb/usb_core.h projects/nfsv4.1-client/sys/dev/usb/usb_debug.c projects/nfsv4.1-client/sys/dev/usb/usb_device.c projects/nfsv4.1-client/sys/dev/usb/usb_device.h projects/nfsv4.1-client/sys/dev/usb/usb_freebsd.h projects/nfsv4.1-client/sys/dev/usb/usb_generic.c projects/nfsv4.1-client/sys/dev/usb/usb_hid.c projects/nfsv4.1-client/sys/dev/usb/usb_hub.c projects/nfsv4.1-client/sys/dev/usb/usb_hub.h projects/nfsv4.1-client/sys/dev/usb/usb_ioctl.h projects/nfsv4.1-client/sys/dev/usb/usb_msctest.c projects/nfsv4.1-client/sys/dev/usb/usb_pf.c projects/nfsv4.1-client/sys/dev/usb/usb_request.c projects/nfsv4.1-client/sys/dev/usb/usb_transfer.c projects/nfsv4.1-client/sys/dev/usb/usbdevs projects/nfsv4.1-client/sys/dev/usb/usbdi.h projects/nfsv4.1-client/sys/dev/usb/wlan/if_rum.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_run.c projects/nfsv4.1-client/sys/dev/usb/wlan/if_ural.c projects/nfsv4.1-client/sys/dev/viawd/viawd.c projects/nfsv4.1-client/sys/dev/virtio/balloon/virtio_balloon.c projects/nfsv4.1-client/sys/dev/virtio/balloon/virtio_balloon.h projects/nfsv4.1-client/sys/dev/virtio/block/virtio_blk.c projects/nfsv4.1-client/sys/dev/virtio/block/virtio_blk.h projects/nfsv4.1-client/sys/dev/virtio/network/if_vtnet.c projects/nfsv4.1-client/sys/dev/virtio/network/virtio_net.h projects/nfsv4.1-client/sys/dev/virtio/pci/virtio_pci.c projects/nfsv4.1-client/sys/dev/virtio/pci/virtio_pci.h projects/nfsv4.1-client/sys/dev/virtio/virtio.c projects/nfsv4.1-client/sys/dev/virtio/virtio.h projects/nfsv4.1-client/sys/dev/virtio/virtio_ring.h projects/nfsv4.1-client/sys/dev/virtio/virtqueue.c projects/nfsv4.1-client/sys/dev/virtio/virtqueue.h projects/nfsv4.1-client/sys/dev/vr/if_vr.c projects/nfsv4.1-client/sys/dev/vr/if_vrreg.h projects/nfsv4.1-client/sys/dev/vxge/include/vxgehal-ll.h projects/nfsv4.1-client/sys/dev/vxge/vxge.c projects/nfsv4.1-client/sys/dev/vxge/vxgehal/vxgehal-channel.h projects/nfsv4.1-client/sys/dev/wbwd/wbwd.c projects/nfsv4.1-client/sys/dev/wpi/if_wpi.c projects/nfsv4.1-client/sys/dev/wtap/if_wtap.c projects/nfsv4.1-client/sys/dev/xen/balloon/balloon.c projects/nfsv4.1-client/sys/dev/xen/blkfront/blkfront.c projects/nfsv4.1-client/sys/dev/xen/netback/netback_unit_tests.c projects/nfsv4.1-client/sys/dev/xl/if_xl.c projects/nfsv4.1-client/sys/fs/cd9660/cd9660_vfsops.c projects/nfsv4.1-client/sys/fs/coda/coda_subr.c projects/nfsv4.1-client/sys/fs/deadfs/dead_vnops.c projects/nfsv4.1-client/sys/fs/devfs/devfs_int.h projects/nfsv4.1-client/sys/fs/devfs/devfs_vnops.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_alloc.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_bmap.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_dinode.h projects/nfsv4.1-client/sys/fs/ext2fs/ext2_inode.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_inode_cnv.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_lookup.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_vfsops.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_vnops.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2fs.h projects/nfsv4.1-client/sys/fs/ext2fs/inode.h projects/nfsv4.1-client/sys/fs/fifofs/fifo_vnops.c projects/nfsv4.1-client/sys/fs/hpfs/hpfs_vfsops.c projects/nfsv4.1-client/sys/fs/hpfs/hpfs_vnops.c projects/nfsv4.1-client/sys/fs/msdosfs/msdosfs_lookup.c projects/nfsv4.1-client/sys/fs/nfs/nfs.h projects/nfsv4.1-client/sys/fs/nfs/nfs_commonacl.c projects/nfsv4.1-client/sys/fs/nfs/nfs_commonport.c projects/nfsv4.1-client/sys/fs/nfs/nfs_commonsubs.c projects/nfsv4.1-client/sys/fs/nfs/nfs_var.h projects/nfsv4.1-client/sys/fs/nfs/nfscl.h projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clbio.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clcomsubs.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clnode.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvnops.c projects/nfsv4.1-client/sys/fs/nfsclient/nfsnode.h projects/nfsv4.1-client/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/nfsv4.1-client/sys/fs/nfsserver/nfs_nfsdport.c projects/nfsv4.1-client/sys/fs/nfsserver/nfs_nfsdstate.c projects/nfsv4.1-client/sys/fs/ntfs/ntfs.h projects/nfsv4.1-client/sys/fs/ntfs/ntfs_subr.c projects/nfsv4.1-client/sys/fs/ntfs/ntfs_subr.h projects/nfsv4.1-client/sys/fs/ntfs/ntfs_vfsops.c projects/nfsv4.1-client/sys/fs/ntfs/ntfs_vnops.c projects/nfsv4.1-client/sys/fs/nullfs/null.h projects/nfsv4.1-client/sys/fs/nullfs/null_subr.c projects/nfsv4.1-client/sys/fs/nullfs/null_vfsops.c projects/nfsv4.1-client/sys/fs/nullfs/null_vnops.c projects/nfsv4.1-client/sys/fs/nwfs/nwfs_io.c projects/nfsv4.1-client/sys/fs/portalfs/portal_vnops.c projects/nfsv4.1-client/sys/fs/smbfs/smbfs_io.c projects/nfsv4.1-client/sys/fs/smbfs/smbfs_node.c projects/nfsv4.1-client/sys/fs/tmpfs/tmpfs_subr.c projects/nfsv4.1-client/sys/fs/tmpfs/tmpfs_vfsops.c projects/nfsv4.1-client/sys/fs/tmpfs/tmpfs_vnops.c projects/nfsv4.1-client/sys/fs/udf/udf_vfsops.c projects/nfsv4.1-client/sys/fs/unionfs/union_subr.c projects/nfsv4.1-client/sys/fs/unionfs/union_vfsops.c projects/nfsv4.1-client/sys/fs/unionfs/union_vnops.c projects/nfsv4.1-client/sys/geom/bde/g_bde.c projects/nfsv4.1-client/sys/geom/eli/g_eli.c projects/nfsv4.1-client/sys/geom/eli/g_eli.h projects/nfsv4.1-client/sys/geom/eli/g_eli_ctl.c projects/nfsv4.1-client/sys/geom/eli/g_eli_integrity.c projects/nfsv4.1-client/sys/geom/eli/g_eli_key.c projects/nfsv4.1-client/sys/geom/eli/g_eli_key_cache.c projects/nfsv4.1-client/sys/geom/gate/g_gate.c projects/nfsv4.1-client/sys/geom/gate/g_gate.h projects/nfsv4.1-client/sys/geom/geom.h projects/nfsv4.1-client/sys/geom/geom_aes.c projects/nfsv4.1-client/sys/geom/geom_dev.c projects/nfsv4.1-client/sys/geom/geom_disk.c projects/nfsv4.1-client/sys/geom/geom_disk.h projects/nfsv4.1-client/sys/geom/geom_event.c projects/nfsv4.1-client/sys/geom/geom_io.c projects/nfsv4.1-client/sys/geom/geom_map.c projects/nfsv4.1-client/sys/geom/geom_slice.c projects/nfsv4.1-client/sys/geom/geom_subr.c projects/nfsv4.1-client/sys/geom/label/g_label_ufs.c projects/nfsv4.1-client/sys/geom/mirror/g_mirror.c projects/nfsv4.1-client/sys/geom/mirror/g_mirror.h projects/nfsv4.1-client/sys/geom/mirror/g_mirror_ctl.c projects/nfsv4.1-client/sys/geom/mountver/g_mountver.c projects/nfsv4.1-client/sys/geom/multipath/g_multipath.c projects/nfsv4.1-client/sys/geom/nop/g_nop.c projects/nfsv4.1-client/sys/geom/nop/g_nop.h projects/nfsv4.1-client/sys/geom/part/g_part.c projects/nfsv4.1-client/sys/geom/part/g_part.h projects/nfsv4.1-client/sys/geom/part/g_part_apm.c projects/nfsv4.1-client/sys/geom/part/g_part_bsd.c projects/nfsv4.1-client/sys/geom/part/g_part_gpt.c projects/nfsv4.1-client/sys/geom/part/g_part_vtoc8.c projects/nfsv4.1-client/sys/geom/raid/g_raid.c projects/nfsv4.1-client/sys/geom/raid/g_raid.h projects/nfsv4.1-client/sys/geom/raid/g_raid_ctl.c projects/nfsv4.1-client/sys/geom/raid/g_raid_md_if.m projects/nfsv4.1-client/sys/geom/raid/md_intel.c projects/nfsv4.1-client/sys/geom/raid/md_jmicron.c projects/nfsv4.1-client/sys/geom/raid/md_nvidia.c projects/nfsv4.1-client/sys/geom/raid/md_promise.c projects/nfsv4.1-client/sys/geom/raid/md_sii.c projects/nfsv4.1-client/sys/geom/raid/tr_concat.c projects/nfsv4.1-client/sys/geom/raid/tr_raid0.c projects/nfsv4.1-client/sys/geom/raid/tr_raid1.c projects/nfsv4.1-client/sys/geom/raid/tr_raid1e.c projects/nfsv4.1-client/sys/geom/raid/tr_raid5.c projects/nfsv4.1-client/sys/geom/raid3/g_raid3.c projects/nfsv4.1-client/sys/geom/uncompress/g_uncompress.c projects/nfsv4.1-client/sys/geom/uzip/g_uzip.c projects/nfsv4.1-client/sys/geom/virstor/g_virstor.c projects/nfsv4.1-client/sys/gnu/fs/reiserfs/reiserfs_vfsops.c projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_compat.h projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd.h projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_stats.c projects/nfsv4.1-client/sys/gnu/fs/xfs/FreeBSD/xfs_super.c projects/nfsv4.1-client/sys/gnu/fs/xfs/xfs_alloc.c projects/nfsv4.1-client/sys/gnu/fs/xfs/xfs_vfsops.c projects/nfsv4.1-client/sys/i386/acpica/acpi_machdep.c projects/nfsv4.1-client/sys/i386/acpica/acpi_wakecode.S projects/nfsv4.1-client/sys/i386/bios/smapi.c projects/nfsv4.1-client/sys/i386/bios/smapi_bios.S projects/nfsv4.1-client/sys/i386/conf/GENERIC projects/nfsv4.1-client/sys/i386/conf/NOTES projects/nfsv4.1-client/sys/i386/conf/PAE projects/nfsv4.1-client/sys/i386/conf/XEN projects/nfsv4.1-client/sys/i386/conf/XENHVM projects/nfsv4.1-client/sys/i386/i386/apic_vector.s projects/nfsv4.1-client/sys/i386/i386/bios.c projects/nfsv4.1-client/sys/i386/i386/elf_machdep.c projects/nfsv4.1-client/sys/i386/i386/genassym.c projects/nfsv4.1-client/sys/i386/i386/identcpu.c projects/nfsv4.1-client/sys/i386/i386/initcpu.c projects/nfsv4.1-client/sys/i386/i386/machdep.c projects/nfsv4.1-client/sys/i386/i386/mem.c projects/nfsv4.1-client/sys/i386/i386/minidump_machdep.c projects/nfsv4.1-client/sys/i386/i386/mp_machdep.c projects/nfsv4.1-client/sys/i386/i386/pmap.c projects/nfsv4.1-client/sys/i386/i386/ptrace_machdep.c projects/nfsv4.1-client/sys/i386/i386/swtch.s projects/nfsv4.1-client/sys/i386/i386/trap.c projects/nfsv4.1-client/sys/i386/i386/vm86.c projects/nfsv4.1-client/sys/i386/i386/vm_machdep.c projects/nfsv4.1-client/sys/i386/include/apicvar.h projects/nfsv4.1-client/sys/i386/include/atomic.h projects/nfsv4.1-client/sys/i386/include/bootinfo.h projects/nfsv4.1-client/sys/i386/include/cpufunc.h projects/nfsv4.1-client/sys/i386/include/elf.h projects/nfsv4.1-client/sys/i386/include/in_cksum.h projects/nfsv4.1-client/sys/i386/include/md_var.h projects/nfsv4.1-client/sys/i386/include/npx.h projects/nfsv4.1-client/sys/i386/include/param.h projects/nfsv4.1-client/sys/i386/include/pc/bios.h projects/nfsv4.1-client/sys/i386/include/pcb.h projects/nfsv4.1-client/sys/i386/include/pcpu.h projects/nfsv4.1-client/sys/i386/include/pmap.h projects/nfsv4.1-client/sys/i386/include/smp.h projects/nfsv4.1-client/sys/i386/include/vmparam.h projects/nfsv4.1-client/sys/i386/include/xen/xen-os.h projects/nfsv4.1-client/sys/i386/isa/npx.c projects/nfsv4.1-client/sys/i386/linux/linux.h projects/nfsv4.1-client/sys/i386/linux/linux_dummy.c projects/nfsv4.1-client/sys/i386/linux/linux_proto.h projects/nfsv4.1-client/sys/i386/linux/linux_syscall.h projects/nfsv4.1-client/sys/i386/linux/linux_syscalls.c projects/nfsv4.1-client/sys/i386/linux/linux_sysent.c projects/nfsv4.1-client/sys/i386/linux/linux_systrace_args.c projects/nfsv4.1-client/sys/i386/linux/syscalls.master projects/nfsv4.1-client/sys/i386/pci/pci_cfgreg.c projects/nfsv4.1-client/sys/i386/xen/mp_machdep.c projects/nfsv4.1-client/sys/i386/xen/pmap.c projects/nfsv4.1-client/sys/i386/xen/xen_machdep.c projects/nfsv4.1-client/sys/ia64/acpica/acpi_wakeup.c projects/nfsv4.1-client/sys/ia64/conf/NOTES projects/nfsv4.1-client/sys/ia64/ia32/ia32_trap.c projects/nfsv4.1-client/sys/ia64/ia64/busdma_machdep.c projects/nfsv4.1-client/sys/ia64/ia64/machdep.c projects/nfsv4.1-client/sys/ia64/ia64/mem.c projects/nfsv4.1-client/sys/ia64/ia64/mp_machdep.c projects/nfsv4.1-client/sys/ia64/ia64/nexus.c projects/nfsv4.1-client/sys/ia64/ia64/pmap.c projects/nfsv4.1-client/sys/ia64/ia64/trap.c projects/nfsv4.1-client/sys/ia64/include/_stdint.h projects/nfsv4.1-client/sys/ia64/include/_types.h projects/nfsv4.1-client/sys/ia64/include/elf.h projects/nfsv4.1-client/sys/ia64/include/in_cksum.h projects/nfsv4.1-client/sys/ia64/include/md_var.h projects/nfsv4.1-client/sys/ia64/include/param.h projects/nfsv4.1-client/sys/ia64/include/pcb.h projects/nfsv4.1-client/sys/ia64/include/pmap.h projects/nfsv4.1-client/sys/kern/Make.tags.inc projects/nfsv4.1-client/sys/kern/bus_if.m projects/nfsv4.1-client/sys/kern/capabilities.conf projects/nfsv4.1-client/sys/kern/imgact_aout.c projects/nfsv4.1-client/sys/kern/imgact_elf.c projects/nfsv4.1-client/sys/kern/imgact_gzip.c projects/nfsv4.1-client/sys/kern/init_main.c projects/nfsv4.1-client/sys/kern/init_sysent.c projects/nfsv4.1-client/sys/kern/kern_acct.c projects/nfsv4.1-client/sys/kern/kern_clock.c projects/nfsv4.1-client/sys/kern/kern_clocksource.c projects/nfsv4.1-client/sys/kern/kern_condvar.c projects/nfsv4.1-client/sys/kern/kern_conf.c projects/nfsv4.1-client/sys/kern/kern_cons.c projects/nfsv4.1-client/sys/kern/kern_cpuset.c projects/nfsv4.1-client/sys/kern/kern_descrip.c projects/nfsv4.1-client/sys/kern/kern_environment.c projects/nfsv4.1-client/sys/kern/kern_event.c projects/nfsv4.1-client/sys/kern/kern_exec.c projects/nfsv4.1-client/sys/kern/kern_exit.c projects/nfsv4.1-client/sys/kern/kern_fork.c projects/nfsv4.1-client/sys/kern/kern_intr.c projects/nfsv4.1-client/sys/kern/kern_jail.c projects/nfsv4.1-client/sys/kern/kern_kthread.c projects/nfsv4.1-client/sys/kern/kern_ktr.c projects/nfsv4.1-client/sys/kern/kern_lock.c projects/nfsv4.1-client/sys/kern/kern_malloc.c projects/nfsv4.1-client/sys/kern/kern_mbuf.c projects/nfsv4.1-client/sys/kern/kern_mib.c projects/nfsv4.1-client/sys/kern/kern_module.c projects/nfsv4.1-client/sys/kern/kern_mutex.c projects/nfsv4.1-client/sys/kern/kern_ntptime.c projects/nfsv4.1-client/sys/kern/kern_proc.c projects/nfsv4.1-client/sys/kern/kern_racct.c projects/nfsv4.1-client/sys/kern/kern_rmlock.c projects/nfsv4.1-client/sys/kern/kern_rwlock.c projects/nfsv4.1-client/sys/kern/kern_shutdown.c projects/nfsv4.1-client/sys/kern/kern_sig.c projects/nfsv4.1-client/sys/kern/kern_sx.c projects/nfsv4.1-client/sys/kern/kern_synch.c projects/nfsv4.1-client/sys/kern/kern_tc.c projects/nfsv4.1-client/sys/kern/kern_thr.c projects/nfsv4.1-client/sys/kern/kern_thread.c projects/nfsv4.1-client/sys/kern/kern_time.c projects/nfsv4.1-client/sys/kern/kern_timeout.c projects/nfsv4.1-client/sys/kern/kern_umtx.c projects/nfsv4.1-client/sys/kern/ksched.c projects/nfsv4.1-client/sys/kern/link_elf.c projects/nfsv4.1-client/sys/kern/sched_4bsd.c projects/nfsv4.1-client/sys/kern/sched_ule.c projects/nfsv4.1-client/sys/kern/subr_bus.c projects/nfsv4.1-client/sys/kern/subr_devstat.c projects/nfsv4.1-client/sys/kern/subr_firmware.c projects/nfsv4.1-client/sys/kern/subr_hints.c projects/nfsv4.1-client/sys/kern/subr_param.c projects/nfsv4.1-client/sys/kern/subr_rman.c projects/nfsv4.1-client/sys/kern/subr_sleepqueue.c projects/nfsv4.1-client/sys/kern/subr_smp.c projects/nfsv4.1-client/sys/kern/subr_syscall.c projects/nfsv4.1-client/sys/kern/subr_taskqueue.c projects/nfsv4.1-client/sys/kern/subr_trap.c projects/nfsv4.1-client/sys/kern/subr_turnstile.c projects/nfsv4.1-client/sys/kern/subr_uio.c projects/nfsv4.1-client/sys/kern/subr_unit.c projects/nfsv4.1-client/sys/kern/subr_witness.c projects/nfsv4.1-client/sys/kern/sys_capability.c projects/nfsv4.1-client/sys/kern/sys_generic.c projects/nfsv4.1-client/sys/kern/sys_pipe.c projects/nfsv4.1-client/sys/kern/sys_procdesc.c projects/nfsv4.1-client/sys/kern/sys_process.c projects/nfsv4.1-client/sys/kern/syscalls.c projects/nfsv4.1-client/sys/kern/syscalls.master projects/nfsv4.1-client/sys/kern/systrace_args.c projects/nfsv4.1-client/sys/kern/tty.c projects/nfsv4.1-client/sys/kern/tty_ttydisc.c projects/nfsv4.1-client/sys/kern/uipc_domain.c projects/nfsv4.1-client/sys/kern/uipc_mqueue.c projects/nfsv4.1-client/sys/kern/uipc_socket.c projects/nfsv4.1-client/sys/kern/uipc_syscalls.c projects/nfsv4.1-client/sys/kern/uipc_usrreq.c projects/nfsv4.1-client/sys/kern/vfs_bio.c projects/nfsv4.1-client/sys/kern/vfs_cluster.c projects/nfsv4.1-client/sys/kern/vfs_default.c projects/nfsv4.1-client/sys/kern/vfs_lookup.c projects/nfsv4.1-client/sys/kern/vfs_mount.c projects/nfsv4.1-client/sys/kern/vfs_subr.c projects/nfsv4.1-client/sys/kern/vfs_syscalls.c projects/nfsv4.1-client/sys/kern/vfs_vnops.c projects/nfsv4.1-client/sys/kern/vnode_if.src projects/nfsv4.1-client/sys/libkern/iconv.c projects/nfsv4.1-client/sys/libkern/iconv_ucs.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_chip.c projects/nfsv4.1-client/sys/mips/atheros/ar71xx_chip.h projects/nfsv4.1-client/sys/mips/atheros/ar71xx_cpudef.h projects/nfsv4.1-client/sys/mips/atheros/ar71xx_gpio.c projects/nfsv4.1-client/sys/mips/atheros/ar71xxreg.h projects/nfsv4.1-client/sys/mips/atheros/ar724x_chip.c projects/nfsv4.1-client/sys/mips/atheros/ar724x_pci.c projects/nfsv4.1-client/sys/mips/atheros/ar91xx_chip.c projects/nfsv4.1-client/sys/mips/atheros/if_arge.c projects/nfsv4.1-client/sys/mips/atheros/if_argevar.h projects/nfsv4.1-client/sys/mips/cavium/octeon_gpio.c projects/nfsv4.1-client/sys/mips/cavium/uart_bus_octeonusart.c projects/nfsv4.1-client/sys/mips/cavium/usb/octusb.c projects/nfsv4.1-client/sys/mips/conf/AP96 projects/nfsv4.1-client/sys/mips/conf/AP96.hints projects/nfsv4.1-client/sys/mips/conf/OCTEON1 projects/nfsv4.1-client/sys/mips/conf/PB47 projects/nfsv4.1-client/sys/mips/conf/PB92 projects/nfsv4.1-client/sys/mips/conf/ROUTERSTATION projects/nfsv4.1-client/sys/mips/conf/RSPRO projects/nfsv4.1-client/sys/mips/conf/RSPRO.hints projects/nfsv4.1-client/sys/mips/conf/RSPRO_STANDALONE projects/nfsv4.1-client/sys/mips/conf/TP-WN1043ND projects/nfsv4.1-client/sys/mips/conf/TP-WN1043ND.hints projects/nfsv4.1-client/sys/mips/include/_stdint.h projects/nfsv4.1-client/sys/mips/include/_types.h projects/nfsv4.1-client/sys/mips/include/cpufunc.h projects/nfsv4.1-client/sys/mips/include/elf.h projects/nfsv4.1-client/sys/mips/include/in_cksum.h projects/nfsv4.1-client/sys/mips/include/pcb.h projects/nfsv4.1-client/sys/mips/include/pmap.h projects/nfsv4.1-client/sys/mips/include/pte.h projects/nfsv4.1-client/sys/mips/include/tlb.h projects/nfsv4.1-client/sys/mips/mips/bus_space_generic.c projects/nfsv4.1-client/sys/mips/mips/busdma_machdep.c projects/nfsv4.1-client/sys/mips/mips/machdep.c projects/nfsv4.1-client/sys/mips/mips/pmap.c projects/nfsv4.1-client/sys/mips/mips/tlb.c projects/nfsv4.1-client/sys/mips/mips/trap.c projects/nfsv4.1-client/sys/mips/mips/uma_machdep.c projects/nfsv4.1-client/sys/mips/nlm/board.c projects/nfsv4.1-client/sys/mips/nlm/bus_space_rmi.c projects/nfsv4.1-client/sys/mips/nlm/dev/net/mdio.c projects/nfsv4.1-client/sys/mips/nlm/hal/mdio.h projects/nfsv4.1-client/sys/mips/nlm/xlp.h projects/nfsv4.1-client/sys/mips/nlm/xlp_machdep.c projects/nfsv4.1-client/sys/mips/nlm/xlp_pci.c projects/nfsv4.1-client/sys/mips/rmi/rootfs_list.txt projects/nfsv4.1-client/sys/mips/rt305x/rt305x_gpio.c projects/nfsv4.1-client/sys/modules/Makefile projects/nfsv4.1-client/sys/modules/acpi/Makefile projects/nfsv4.1-client/sys/modules/acpi/acpi/Makefile projects/nfsv4.1-client/sys/modules/aesni/Makefile projects/nfsv4.1-client/sys/modules/agp/Makefile projects/nfsv4.1-client/sys/modules/ahci/Makefile projects/nfsv4.1-client/sys/modules/ath/Makefile projects/nfsv4.1-client/sys/modules/bwi/Makefile projects/nfsv4.1-client/sys/modules/bwn/Makefile projects/nfsv4.1-client/sys/modules/cam/Makefile projects/nfsv4.1-client/sys/modules/cxgb/Makefile projects/nfsv4.1-client/sys/modules/cxgb/cxgb/Makefile projects/nfsv4.1-client/sys/modules/cxgb/iw_cxgb/Makefile projects/nfsv4.1-client/sys/modules/cxgb/tom/Makefile projects/nfsv4.1-client/sys/modules/cxgbe/Makefile projects/nfsv4.1-client/sys/modules/cxgbe/firmware/Makefile projects/nfsv4.1-client/sys/modules/cxgbe/if_cxgbe/Makefile projects/nfsv4.1-client/sys/modules/dtrace/Makefile projects/nfsv4.1-client/sys/modules/dtrace/dtraceall/Makefile projects/nfsv4.1-client/sys/modules/dtrace/dtraceall/dtraceall.c projects/nfsv4.1-client/sys/modules/dummynet/Makefile projects/nfsv4.1-client/sys/modules/em/Makefile projects/nfsv4.1-client/sys/modules/geom/geom_raid/Makefile projects/nfsv4.1-client/sys/modules/igb/Makefile projects/nfsv4.1-client/sys/modules/ipfw/Makefile projects/nfsv4.1-client/sys/modules/ipfw_nat/Makefile projects/nfsv4.1-client/sys/modules/ips/Makefile projects/nfsv4.1-client/sys/modules/ixgbe/Makefile projects/nfsv4.1-client/sys/modules/linux/Makefile projects/nfsv4.1-client/sys/modules/mii/Makefile projects/nfsv4.1-client/sys/modules/mps/Makefile projects/nfsv4.1-client/sys/modules/mwl/Makefile projects/nfsv4.1-client/sys/modules/pf/Makefile projects/nfsv4.1-client/sys/modules/pflog/Makefile projects/nfsv4.1-client/sys/modules/pfsync/Makefile projects/nfsv4.1-client/sys/modules/ral/Makefile projects/nfsv4.1-client/sys/modules/random/Makefile projects/nfsv4.1-client/sys/modules/rdma/krping/Makefile projects/nfsv4.1-client/sys/modules/scsi_low/Makefile projects/nfsv4.1-client/sys/modules/sdhci/Makefile projects/nfsv4.1-client/sys/modules/virtio/Makefile projects/nfsv4.1-client/sys/modules/wpi/Makefile projects/nfsv4.1-client/sys/modules/xfs/Makefile projects/nfsv4.1-client/sys/modules/zfs/Makefile projects/nfsv4.1-client/sys/net/bpf.c projects/nfsv4.1-client/sys/net/bpf.h projects/nfsv4.1-client/sys/net/bpf_buffer.c projects/nfsv4.1-client/sys/net/bpf_buffer.h projects/nfsv4.1-client/sys/net/bpf_zerocopy.c projects/nfsv4.1-client/sys/net/bpfdesc.h projects/nfsv4.1-client/sys/net/flowtable.c projects/nfsv4.1-client/sys/net/ieee8023ad_lacp.c projects/nfsv4.1-client/sys/net/if.c projects/nfsv4.1-client/sys/net/if.h projects/nfsv4.1-client/sys/net/if_bridge.c projects/nfsv4.1-client/sys/net/if_clone.c projects/nfsv4.1-client/sys/net/if_clone.h projects/nfsv4.1-client/sys/net/if_disc.c projects/nfsv4.1-client/sys/net/if_dl.h projects/nfsv4.1-client/sys/net/if_edsc.c projects/nfsv4.1-client/sys/net/if_ef.c projects/nfsv4.1-client/sys/net/if_enc.c projects/nfsv4.1-client/sys/net/if_epair.c projects/nfsv4.1-client/sys/net/if_ethersubr.c projects/nfsv4.1-client/sys/net/if_faith.c projects/nfsv4.1-client/sys/net/if_gif.c projects/nfsv4.1-client/sys/net/if_gre.c projects/nfsv4.1-client/sys/net/if_lagg.c projects/nfsv4.1-client/sys/net/if_llatbl.c projects/nfsv4.1-client/sys/net/if_llatbl.h projects/nfsv4.1-client/sys/net/if_loop.c projects/nfsv4.1-client/sys/net/if_spppsubr.c projects/nfsv4.1-client/sys/net/if_stf.c projects/nfsv4.1-client/sys/net/if_tap.c projects/nfsv4.1-client/sys/net/if_tun.c projects/nfsv4.1-client/sys/net/if_var.h projects/nfsv4.1-client/sys/net/if_vlan.c projects/nfsv4.1-client/sys/net/netmap_user.h projects/nfsv4.1-client/sys/net/route.h projects/nfsv4.1-client/sys/net/rtsock.c projects/nfsv4.1-client/sys/net80211/_ieee80211.h projects/nfsv4.1-client/sys/net80211/ieee80211.h projects/nfsv4.1-client/sys/net80211/ieee80211_action.c projects/nfsv4.1-client/sys/net80211/ieee80211_adhoc.c projects/nfsv4.1-client/sys/net80211/ieee80211_ddb.c projects/nfsv4.1-client/sys/net80211/ieee80211_freebsd.c projects/nfsv4.1-client/sys/net80211/ieee80211_hostap.c projects/nfsv4.1-client/sys/net80211/ieee80211_hostap.h projects/nfsv4.1-client/sys/net80211/ieee80211_ht.c projects/nfsv4.1-client/sys/net80211/ieee80211_hwmp.c projects/nfsv4.1-client/sys/net80211/ieee80211_input.c projects/nfsv4.1-client/sys/net80211/ieee80211_ioctl.h projects/nfsv4.1-client/sys/net80211/ieee80211_mesh.c projects/nfsv4.1-client/sys/net80211/ieee80211_mesh.h projects/nfsv4.1-client/sys/net80211/ieee80211_node.c projects/nfsv4.1-client/sys/net80211/ieee80211_node.h projects/nfsv4.1-client/sys/net80211/ieee80211_output.c projects/nfsv4.1-client/sys/net80211/ieee80211_power.c projects/nfsv4.1-client/sys/net80211/ieee80211_power.h projects/nfsv4.1-client/sys/net80211/ieee80211_radiotap.c projects/nfsv4.1-client/sys/net80211/ieee80211_scan.c projects/nfsv4.1-client/sys/net80211/ieee80211_sta.c projects/nfsv4.1-client/sys/net80211/ieee80211_var.h projects/nfsv4.1-client/sys/netgraph/atm/ccatm/ng_ccatm.c projects/nfsv4.1-client/sys/netgraph/atm/sscfu/ng_sscfu.c projects/nfsv4.1-client/sys/netgraph/atm/sscop/ng_sscop.c projects/nfsv4.1-client/sys/netgraph/atm/uni/ng_uni.c projects/nfsv4.1-client/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/nfsv4.1-client/sys/netgraph/netflow/netflow.c projects/nfsv4.1-client/sys/netgraph/netflow/netflow_v9.c projects/nfsv4.1-client/sys/netgraph/netflow/ng_netflow.c projects/nfsv4.1-client/sys/netgraph/netflow/ng_netflow.h projects/nfsv4.1-client/sys/netgraph/ng_base.c projects/nfsv4.1-client/sys/netgraph/ng_eiface.c projects/nfsv4.1-client/sys/netgraph/ng_ether.c projects/nfsv4.1-client/sys/netgraph/ng_fec.c projects/nfsv4.1-client/sys/netgraph/ng_gif.c projects/nfsv4.1-client/sys/netgraph/ng_ipfw.c projects/nfsv4.1-client/sys/netgraph/ng_ksocket.c projects/nfsv4.1-client/sys/netgraph/ng_nat.c projects/nfsv4.1-client/sys/netgraph/ng_pptpgre.c projects/nfsv4.1-client/sys/netgraph/ng_source.c projects/nfsv4.1-client/sys/netinet/icmp_var.h projects/nfsv4.1-client/sys/netinet/if_ether.c projects/nfsv4.1-client/sys/netinet/if_ether.h projects/nfsv4.1-client/sys/netinet/igmp.c projects/nfsv4.1-client/sys/netinet/in.c projects/nfsv4.1-client/sys/netinet/in.h projects/nfsv4.1-client/sys/netinet/in_cksum.c projects/nfsv4.1-client/sys/netinet/in_gif.c projects/nfsv4.1-client/sys/netinet/in_pcb.c projects/nfsv4.1-client/sys/netinet/in_pcb.h projects/nfsv4.1-client/sys/netinet/in_rmx.c projects/nfsv4.1-client/sys/netinet/in_var.h projects/nfsv4.1-client/sys/netinet/ip.h projects/nfsv4.1-client/sys/netinet/ip_carp.c projects/nfsv4.1-client/sys/netinet/ip_divert.c projects/nfsv4.1-client/sys/netinet/ip_dummynet.h projects/nfsv4.1-client/sys/netinet/ip_fastfwd.c projects/nfsv4.1-client/sys/netinet/ip_icmp.c projects/nfsv4.1-client/sys/netinet/ip_input.c projects/nfsv4.1-client/sys/netinet/ip_ipsec.c projects/nfsv4.1-client/sys/netinet/ip_mroute.c projects/nfsv4.1-client/sys/netinet/ip_mroute.h projects/nfsv4.1-client/sys/netinet/ip_options.c projects/nfsv4.1-client/sys/netinet/ip_options.h projects/nfsv4.1-client/sys/netinet/ip_output.c projects/nfsv4.1-client/sys/netinet/ip_var.h projects/nfsv4.1-client/sys/netinet/khelp/h_ertt.c projects/nfsv4.1-client/sys/netinet/libalias/alias_proxy.c projects/nfsv4.1-client/sys/netinet/libalias/alias_sctp.h projects/nfsv4.1-client/sys/netinet/libalias/alias_skinny.c projects/nfsv4.1-client/sys/netinet/libalias/libalias.3 projects/nfsv4.1-client/sys/netinet/raw_ip.c projects/nfsv4.1-client/sys/netinet/sctp.h projects/nfsv4.1-client/sys/netinet/sctp_asconf.c projects/nfsv4.1-client/sys/netinet/sctp_asconf.h projects/nfsv4.1-client/sys/netinet/sctp_auth.c projects/nfsv4.1-client/sys/netinet/sctp_auth.h projects/nfsv4.1-client/sys/netinet/sctp_bsd_addr.c projects/nfsv4.1-client/sys/netinet/sctp_bsd_addr.h projects/nfsv4.1-client/sys/netinet/sctp_cc_functions.c projects/nfsv4.1-client/sys/netinet/sctp_constants.h projects/nfsv4.1-client/sys/netinet/sctp_crc32.c projects/nfsv4.1-client/sys/netinet/sctp_crc32.h projects/nfsv4.1-client/sys/netinet/sctp_dtrace_declare.h projects/nfsv4.1-client/sys/netinet/sctp_dtrace_define.h projects/nfsv4.1-client/sys/netinet/sctp_header.h projects/nfsv4.1-client/sys/netinet/sctp_indata.c projects/nfsv4.1-client/sys/netinet/sctp_indata.h projects/nfsv4.1-client/sys/netinet/sctp_input.c projects/nfsv4.1-client/sys/netinet/sctp_input.h projects/nfsv4.1-client/sys/netinet/sctp_lock_bsd.h projects/nfsv4.1-client/sys/netinet/sctp_os.h projects/nfsv4.1-client/sys/netinet/sctp_os_bsd.h projects/nfsv4.1-client/sys/netinet/sctp_output.c projects/nfsv4.1-client/sys/netinet/sctp_output.h projects/nfsv4.1-client/sys/netinet/sctp_pcb.c projects/nfsv4.1-client/sys/netinet/sctp_pcb.h projects/nfsv4.1-client/sys/netinet/sctp_peeloff.c projects/nfsv4.1-client/sys/netinet/sctp_peeloff.h projects/nfsv4.1-client/sys/netinet/sctp_ss_functions.c projects/nfsv4.1-client/sys/netinet/sctp_structs.h projects/nfsv4.1-client/sys/netinet/sctp_sysctl.c projects/nfsv4.1-client/sys/netinet/sctp_sysctl.h projects/nfsv4.1-client/sys/netinet/sctp_timer.c projects/nfsv4.1-client/sys/netinet/sctp_timer.h projects/nfsv4.1-client/sys/netinet/sctp_uio.h projects/nfsv4.1-client/sys/netinet/sctp_usrreq.c projects/nfsv4.1-client/sys/netinet/sctp_var.h projects/nfsv4.1-client/sys/netinet/sctputil.c projects/nfsv4.1-client/sys/netinet/sctputil.h projects/nfsv4.1-client/sys/netinet/tcp_hostcache.c projects/nfsv4.1-client/sys/netinet/tcp_input.c projects/nfsv4.1-client/sys/netinet/tcp_lro.c projects/nfsv4.1-client/sys/netinet/tcp_lro.h projects/nfsv4.1-client/sys/netinet/tcp_offload.c projects/nfsv4.1-client/sys/netinet/tcp_offload.h projects/nfsv4.1-client/sys/netinet/tcp_output.c projects/nfsv4.1-client/sys/netinet/tcp_subr.c projects/nfsv4.1-client/sys/netinet/tcp_syncache.c projects/nfsv4.1-client/sys/netinet/tcp_syncache.h projects/nfsv4.1-client/sys/netinet/tcp_timer.c projects/nfsv4.1-client/sys/netinet/tcp_timewait.c projects/nfsv4.1-client/sys/netinet/tcp_usrreq.c projects/nfsv4.1-client/sys/netinet/tcp_var.h projects/nfsv4.1-client/sys/netinet/udp_usrreq.c projects/nfsv4.1-client/sys/netinet6/frag6.c projects/nfsv4.1-client/sys/netinet6/icmp6.c projects/nfsv4.1-client/sys/netinet6/in6.c projects/nfsv4.1-client/sys/netinet6/in6.h projects/nfsv4.1-client/sys/netinet6/in6_cksum.c projects/nfsv4.1-client/sys/netinet6/in6_gif.c projects/nfsv4.1-client/sys/netinet6/in6_rmx.c projects/nfsv4.1-client/sys/netinet6/in6_src.c projects/nfsv4.1-client/sys/netinet6/ip6_forward.c projects/nfsv4.1-client/sys/netinet6/ip6_input.c projects/nfsv4.1-client/sys/netinet6/ip6_ipsec.c projects/nfsv4.1-client/sys/netinet6/ip6_mroute.c projects/nfsv4.1-client/sys/netinet6/ip6_mroute.h projects/nfsv4.1-client/sys/netinet6/ip6_output.c projects/nfsv4.1-client/sys/netinet6/ip6_var.h projects/nfsv4.1-client/sys/netinet6/mld6.c projects/nfsv4.1-client/sys/netinet6/nd6.c projects/nfsv4.1-client/sys/netinet6/nd6.h projects/nfsv4.1-client/sys/netinet6/nd6_nbr.c projects/nfsv4.1-client/sys/netinet6/nd6_rtr.c projects/nfsv4.1-client/sys/netinet6/route6.c projects/nfsv4.1-client/sys/netinet6/scope6.c projects/nfsv4.1-client/sys/netinet6/scope6_var.h projects/nfsv4.1-client/sys/netinet6/sctp6_usrreq.c projects/nfsv4.1-client/sys/netinet6/sctp6_var.h projects/nfsv4.1-client/sys/netinet6/udp6_usrreq.c projects/nfsv4.1-client/sys/netipsec/ipsec_input.c projects/nfsv4.1-client/sys/netipsec/ipsec_output.c projects/nfsv4.1-client/sys/netipsec/key.c projects/nfsv4.1-client/sys/netipsec/xform_ipip.c projects/nfsv4.1-client/sys/netncp/ncp_nls.h projects/nfsv4.1-client/sys/netsmb/smb_dev.c projects/nfsv4.1-client/sys/netsmb/smb_trantcp.c projects/nfsv4.1-client/sys/nfs/bootp_subr.c projects/nfsv4.1-client/sys/nfs/nfs_nfssvc.c projects/nfsv4.1-client/sys/nfs/nfssvc.h projects/nfsv4.1-client/sys/nfsclient/nfs_bio.c projects/nfsv4.1-client/sys/nfsclient/nfs_node.c projects/nfsv4.1-client/sys/nfsclient/nfs_subs.c projects/nfsv4.1-client/sys/nfsclient/nfs_vfsops.c projects/nfsv4.1-client/sys/nfsclient/nfs_vnops.c projects/nfsv4.1-client/sys/nfsclient/nfsnode.h projects/nfsv4.1-client/sys/nfsserver/nfs_serv.c projects/nfsv4.1-client/sys/nlm/nlm_advlock.c projects/nfsv4.1-client/sys/ofed/drivers/infiniband/core/cma.c projects/nfsv4.1-client/sys/ofed/drivers/infiniband/core/iwcm.c projects/nfsv4.1-client/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib.h projects/nfsv4.1-client/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/nfsv4.1-client/sys/ofed/drivers/net/mlx4/en_tx.c projects/nfsv4.1-client/sys/ofed/include/linux/gfp.h projects/nfsv4.1-client/sys/ofed/include/linux/linux_compat.c projects/nfsv4.1-client/sys/ofed/include/linux/net.h projects/nfsv4.1-client/sys/ofed/include/linux/pci.h projects/nfsv4.1-client/sys/ofed/include/linux/workqueue.h projects/nfsv4.1-client/sys/ofed/include/net/netevent.h projects/nfsv4.1-client/sys/ofed/include/rdma/ib_addr.h projects/nfsv4.1-client/sys/ofed/include/rdma/iw_cm.h projects/nfsv4.1-client/sys/pc98/conf/GENERIC projects/nfsv4.1-client/sys/pc98/include/bus.h projects/nfsv4.1-client/sys/pc98/pc98/machdep.c projects/nfsv4.1-client/sys/powerpc/aim/locore32.S projects/nfsv4.1-client/sys/powerpc/aim/locore64.S projects/nfsv4.1-client/sys/powerpc/aim/machdep.c projects/nfsv4.1-client/sys/powerpc/aim/mmu_oea.c projects/nfsv4.1-client/sys/powerpc/aim/mmu_oea64.c projects/nfsv4.1-client/sys/powerpc/aim/moea64_native.c projects/nfsv4.1-client/sys/powerpc/aim/slb.c projects/nfsv4.1-client/sys/powerpc/aim/swtch32.S projects/nfsv4.1-client/sys/powerpc/aim/swtch64.S projects/nfsv4.1-client/sys/powerpc/aim/trap.c projects/nfsv4.1-client/sys/powerpc/booke/locore.S projects/nfsv4.1-client/sys/powerpc/booke/machdep.c projects/nfsv4.1-client/sys/powerpc/booke/platform_bare.c projects/nfsv4.1-client/sys/powerpc/booke/pmap.c projects/nfsv4.1-client/sys/powerpc/booke/trap.c projects/nfsv4.1-client/sys/powerpc/booke/trap_subr.S projects/nfsv4.1-client/sys/powerpc/conf/DEFAULTS projects/nfsv4.1-client/sys/powerpc/conf/GENERIC projects/nfsv4.1-client/sys/powerpc/conf/GENERIC64 projects/nfsv4.1-client/sys/powerpc/conf/MPC85XX projects/nfsv4.1-client/sys/powerpc/conf/NOTES projects/nfsv4.1-client/sys/powerpc/include/_stdint.h projects/nfsv4.1-client/sys/powerpc/include/_types.h projects/nfsv4.1-client/sys/powerpc/include/atomic.h projects/nfsv4.1-client/sys/powerpc/include/cpu.h projects/nfsv4.1-client/sys/powerpc/include/elf.h projects/nfsv4.1-client/sys/powerpc/include/hid.h projects/nfsv4.1-client/sys/powerpc/include/in_cksum.h projects/nfsv4.1-client/sys/powerpc/include/pcb.h projects/nfsv4.1-client/sys/powerpc/include/pcpu.h projects/nfsv4.1-client/sys/powerpc/include/pio.h projects/nfsv4.1-client/sys/powerpc/include/pmap.h projects/nfsv4.1-client/sys/powerpc/include/profile.h projects/nfsv4.1-client/sys/powerpc/include/psl.h projects/nfsv4.1-client/sys/powerpc/include/pte.h projects/nfsv4.1-client/sys/powerpc/include/spr.h projects/nfsv4.1-client/sys/powerpc/include/tlb.h projects/nfsv4.1-client/sys/powerpc/include/trap.h projects/nfsv4.1-client/sys/powerpc/include/vmparam.h projects/nfsv4.1-client/sys/powerpc/mpc85xx/i2c.c projects/nfsv4.1-client/sys/powerpc/mpc85xx/lbc.c projects/nfsv4.1-client/sys/powerpc/mpc85xx/lbc.h projects/nfsv4.1-client/sys/powerpc/mpc85xx/mpc85xx.c projects/nfsv4.1-client/sys/powerpc/mpc85xx/nexus.c projects/nfsv4.1-client/sys/powerpc/mpc85xx/pci_fdt.c projects/nfsv4.1-client/sys/powerpc/ofw/ofw_real.c projects/nfsv4.1-client/sys/powerpc/ofw/ofw_syscons.c projects/nfsv4.1-client/sys/powerpc/powermac/atibl.c projects/nfsv4.1-client/sys/powerpc/powermac/hrowpic.c projects/nfsv4.1-client/sys/powerpc/powerpc/busdma_machdep.c projects/nfsv4.1-client/sys/powerpc/powerpc/cpu.c projects/nfsv4.1-client/sys/powerpc/powerpc/db_trace.c projects/nfsv4.1-client/sys/powerpc/powerpc/gdb_machdep.c projects/nfsv4.1-client/sys/powerpc/powerpc/genassym.c projects/nfsv4.1-client/sys/powerpc/powerpc/mmu_if.m projects/nfsv4.1-client/sys/powerpc/powerpc/platform.c projects/nfsv4.1-client/sys/powerpc/powerpc/pmap_dispatch.c projects/nfsv4.1-client/sys/rpc/auth.h projects/nfsv4.1-client/sys/rpc/clnt_vc.c projects/nfsv4.1-client/sys/rpc/rpc_com.h projects/nfsv4.1-client/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c projects/nfsv4.1-client/sys/rpc/xdr.h projects/nfsv4.1-client/sys/security/mac_mls/mac_mls.c projects/nfsv4.1-client/sys/sparc64/conf/GENERIC projects/nfsv4.1-client/sys/sparc64/include/_stdint.h projects/nfsv4.1-client/sys/sparc64/include/_types.h projects/nfsv4.1-client/sys/sparc64/include/atomic.h projects/nfsv4.1-client/sys/sparc64/include/elf.h projects/nfsv4.1-client/sys/sparc64/include/fsr.h projects/nfsv4.1-client/sys/sparc64/include/in_cksum.h projects/nfsv4.1-client/sys/sparc64/include/intr_machdep.h projects/nfsv4.1-client/sys/sparc64/include/pcb.h projects/nfsv4.1-client/sys/sparc64/include/pmap.h projects/nfsv4.1-client/sys/sparc64/include/smp.h projects/nfsv4.1-client/sys/sparc64/include/vmparam.h projects/nfsv4.1-client/sys/sparc64/pci/fire.c projects/nfsv4.1-client/sys/sparc64/pci/schizo.c projects/nfsv4.1-client/sys/sparc64/sparc64/ata_machdep.c projects/nfsv4.1-client/sys/sparc64/sparc64/interrupt.S projects/nfsv4.1-client/sys/sparc64/sparc64/intr_machdep.c projects/nfsv4.1-client/sys/sparc64/sparc64/machdep.c projects/nfsv4.1-client/sys/sparc64/sparc64/mp_machdep.c projects/nfsv4.1-client/sys/sparc64/sparc64/pmap.c projects/nfsv4.1-client/sys/sparc64/sparc64/support.S projects/nfsv4.1-client/sys/sparc64/sparc64/tick.c projects/nfsv4.1-client/sys/sparc64/sparc64/trap.c projects/nfsv4.1-client/sys/sparc64/sparc64/tsb.c projects/nfsv4.1-client/sys/sys/_cpuset.h projects/nfsv4.1-client/sys/sys/_rmlock.h projects/nfsv4.1-client/sys/sys/_types.h projects/nfsv4.1-client/sys/sys/agpio.h projects/nfsv4.1-client/sys/sys/apm.h projects/nfsv4.1-client/sys/sys/ata.h projects/nfsv4.1-client/sys/sys/buf.h projects/nfsv4.1-client/sys/sys/buf_ring.h projects/nfsv4.1-client/sys/sys/bus.h projects/nfsv4.1-client/sys/sys/callout.h projects/nfsv4.1-client/sys/sys/capability.h projects/nfsv4.1-client/sys/sys/cdefs.h projects/nfsv4.1-client/sys/sys/conf.h projects/nfsv4.1-client/sys/sys/disklabel.h projects/nfsv4.1-client/sys/sys/dtrace_bsd.h projects/nfsv4.1-client/sys/sys/elf_common.h projects/nfsv4.1-client/sys/sys/fcntl.h projects/nfsv4.1-client/sys/sys/file.h projects/nfsv4.1-client/sys/sys/filedesc.h projects/nfsv4.1-client/sys/sys/gpt.h projects/nfsv4.1-client/sys/sys/hash.h projects/nfsv4.1-client/sys/sys/iconv.h projects/nfsv4.1-client/sys/sys/imgact_aout.h projects/nfsv4.1-client/sys/sys/kernel.h projects/nfsv4.1-client/sys/sys/mbuf.h projects/nfsv4.1-client/sys/sys/mdioctl.h projects/nfsv4.1-client/sys/sys/mount.h projects/nfsv4.1-client/sys/sys/param.h projects/nfsv4.1-client/sys/sys/pcpu.h projects/nfsv4.1-client/sys/sys/pipe.h projects/nfsv4.1-client/sys/sys/pmc.h projects/nfsv4.1-client/sys/sys/pmckern.h projects/nfsv4.1-client/sys/sys/proc.h projects/nfsv4.1-client/sys/sys/queue.h projects/nfsv4.1-client/sys/sys/refcount.h projects/nfsv4.1-client/sys/sys/sdt.h projects/nfsv4.1-client/sys/sys/smp.h projects/nfsv4.1-client/sys/sys/socketvar.h projects/nfsv4.1-client/sys/sys/stat.h projects/nfsv4.1-client/sys/sys/stdint.h projects/nfsv4.1-client/sys/sys/syscall.h projects/nfsv4.1-client/sys/sys/syscall.mk projects/nfsv4.1-client/sys/sys/syscallsubr.h projects/nfsv4.1-client/sys/sys/sysent.h projects/nfsv4.1-client/sys/sys/sysproto.h projects/nfsv4.1-client/sys/sys/systm.h projects/nfsv4.1-client/sys/sys/time.h projects/nfsv4.1-client/sys/sys/ucontext.h projects/nfsv4.1-client/sys/sys/unistd.h projects/nfsv4.1-client/sys/sys/user.h projects/nfsv4.1-client/sys/sys/vmmeter.h projects/nfsv4.1-client/sys/sys/vnode.h projects/nfsv4.1-client/sys/sys/vtoc.h projects/nfsv4.1-client/sys/ufs/ffs/ffs_alloc.c projects/nfsv4.1-client/sys/ufs/ffs/ffs_snapshot.c projects/nfsv4.1-client/sys/ufs/ffs/ffs_softdep.c projects/nfsv4.1-client/sys/ufs/ffs/ffs_vfsops.c projects/nfsv4.1-client/sys/ufs/ffs/ffs_vnops.c projects/nfsv4.1-client/sys/ufs/ufs/inode.h projects/nfsv4.1-client/sys/ufs/ufs/ufs_acl.c projects/nfsv4.1-client/sys/ufs/ufs/ufs_bmap.c projects/nfsv4.1-client/sys/ufs/ufs/ufs_lookup.c projects/nfsv4.1-client/sys/ufs/ufs/ufs_vnops.c projects/nfsv4.1-client/sys/vm/device_pager.c projects/nfsv4.1-client/sys/vm/memguard.c projects/nfsv4.1-client/sys/vm/memguard.h projects/nfsv4.1-client/sys/vm/pmap.h projects/nfsv4.1-client/sys/vm/sg_pager.c projects/nfsv4.1-client/sys/vm/swap_pager.c projects/nfsv4.1-client/sys/vm/uma_core.c projects/nfsv4.1-client/sys/vm/vm.h projects/nfsv4.1-client/sys/vm/vm_fault.c projects/nfsv4.1-client/sys/vm/vm_glue.c projects/nfsv4.1-client/sys/vm/vm_kern.c projects/nfsv4.1-client/sys/vm/vm_map.c projects/nfsv4.1-client/sys/vm/vm_map.h projects/nfsv4.1-client/sys/vm/vm_mmap.c projects/nfsv4.1-client/sys/vm/vm_object.c projects/nfsv4.1-client/sys/vm/vm_object.h projects/nfsv4.1-client/sys/vm/vm_page.c projects/nfsv4.1-client/sys/vm/vm_page.h projects/nfsv4.1-client/sys/vm/vm_pageout.c projects/nfsv4.1-client/sys/vm/vm_pageout.h projects/nfsv4.1-client/sys/vm/vm_pager.c projects/nfsv4.1-client/sys/vm/vm_pager.h projects/nfsv4.1-client/sys/vm/vm_phys.c projects/nfsv4.1-client/sys/vm/vm_phys.h projects/nfsv4.1-client/sys/vm/vm_reserv.c projects/nfsv4.1-client/sys/vm/vnode_pager.c projects/nfsv4.1-client/sys/x86/bios/smbios.c projects/nfsv4.1-client/sys/x86/include/_limits.h projects/nfsv4.1-client/sys/x86/include/_stdint.h projects/nfsv4.1-client/sys/x86/include/_types.h projects/nfsv4.1-client/sys/x86/include/bus.h projects/nfsv4.1-client/sys/x86/include/float.h projects/nfsv4.1-client/sys/x86/include/ptrace.h projects/nfsv4.1-client/sys/x86/include/specialreg.h projects/nfsv4.1-client/sys/x86/x86/busdma_machdep.c projects/nfsv4.1-client/sys/x86/x86/dump_machdep.c projects/nfsv4.1-client/sys/x86/x86/intr_machdep.c projects/nfsv4.1-client/sys/x86/x86/local_apic.c projects/nfsv4.1-client/sys/x86/x86/tsc.c Directory Properties: projects/nfsv4.1-client/sys/ (props changed) projects/nfsv4.1-client/sys/cddl/contrib/opensolaris/ (props changed) projects/nfsv4.1-client/sys/conf/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/common/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/compiler/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/dispatcher/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/events/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/executer/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/hardware/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/parser/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/resources/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/tables/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/include/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/os_specific/ (props changed) projects/nfsv4.1-client/sys/contrib/libfdt/ (props changed) Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_machdep.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/acpica/acpi_machdep.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/acpica/acpi_machdep.c Sun Oct 21 01:09:02 2012 (r241792) @@ -44,8 +44,6 @@ __FBSDID("$FreeBSD$"); #include -SYSCTL_DECL(_debug_acpi); - int acpi_resume_beep; TUNABLE_INT("debug.acpi.resume_beep", &acpi_resume_beep); SYSCTL_INT(_debug_acpi, OID_AUTO, resume_beep, CTLFLAG_RW, &acpi_resume_beep, Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S Sun Oct 21 01:09:02 2012 (r241792) @@ -219,10 +219,14 @@ wakeup_64: mov $bootdata64 - bootgdt, %eax mov %ax, %ds - /* Restore arguments and return. */ - movq wakeup_kpml4 - wakeup_start(%rbx), %rdi - movq wakeup_ctx - wakeup_start(%rbx), %rsi - movq wakeup_retaddr - wakeup_start(%rbx), %rax + /* Restore arguments. */ + movq wakeup_pcb - wakeup_start(%rbx), %rdi + movq wakeup_ret - wakeup_start(%rbx), %rax + + /* Restore GDT. */ + lgdt wakeup_gdt - wakeup_start(%rbx) + + /* Jump to return address. */ jmp *%rax .data @@ -268,34 +272,11 @@ bootgdtdesc: .long bootgdt - wakeup_start /* Offset plus %ds << 4 */ ALIGN_DATA -wakeup_retaddr: - .quad 0 -wakeup_kpml4: - .quad 0 - -wakeup_ctx: - .quad 0 wakeup_pcb: .quad 0 -wakeup_fpusave: +wakeup_ret: .quad 0 wakeup_gdt: .word 0 .quad 0 - - ALIGN_DATA -wakeup_efer: - .quad 0 -wakeup_star: - .quad 0 -wakeup_lstar: - .quad 0 -wakeup_cstar: - .quad 0 -wakeup_sfmask: - .quad 0 -wakeup_xsmask: - .quad 0 -wakeup_cpu: - .long 0 dummy: Modified: projects/nfsv4.1-client/sys/amd64/amd64/cpu_switch.S ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/cpu_switch.S Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/cpu_switch.S Sun Oct 21 01:09:02 2012 (r241792) @@ -122,8 +122,10 @@ done_store_dr: 1: movq %rdx,%rcx movl xsave_mask,%eax movl xsave_mask+4,%edx -/* xsave (%r8) */ - .byte 0x41,0x0f,0xae,0x20 + .globl ctx_switch_xsave +ctx_switch_xsave: + /* This is patched to xsaveopt if supported, see fpuinit_bsp1() */ + xsave (%r8) movq %rcx,%rdx 2: smsw %ax orb $CR0_TS,%al @@ -357,6 +359,30 @@ ENTRY(savectx) rdmsr movl %eax,PCB_KGSBASE(%rdi) movl %edx,PCB_KGSBASE+4(%rdi) + movl $MSR_EFER,%ecx + rdmsr + movl %eax,PCB_EFER(%rdi) + movl %edx,PCB_EFER+4(%rdi) + movl $MSR_STAR,%ecx + rdmsr + movl %eax,PCB_STAR(%rdi) + movl %edx,PCB_STAR+4(%rdi) + movl $MSR_LSTAR,%ecx + rdmsr + movl %eax,PCB_LSTAR(%rdi) + movl %edx,PCB_LSTAR+4(%rdi) + movl $MSR_CSTAR,%ecx + rdmsr + movl %eax,PCB_CSTAR(%rdi) + movl %edx,PCB_CSTAR+4(%rdi) + movl $MSR_SF_MASK,%ecx + rdmsr + movl %eax,PCB_SFMASK(%rdi) + movl %edx,PCB_SFMASK+4(%rdi) + movl xsave_mask,%eax + movl %eax,PCB_XSMASK(%rdi) + movl xsave_mask+4,%eax + movl %eax,PCB_XSMASK+4(%rdi) sgdt PCB_GDT(%rdi) sidt PCB_IDT(%rdi) @@ -370,6 +396,140 @@ ENTRY(savectx) END(savectx) /* + * resumectx(pcb) + * Resuming processor state from pcb. + */ +ENTRY(resumectx) + /* Switch to KPML4phys. */ + movq KPML4phys,%rax + movq %rax,%cr3 + + /* Force kernel segment registers. */ + movl $KDSEL,%eax + movw %ax,%ds + movw %ax,%es + movw %ax,%ss + movl $KUF32SEL,%eax + movw %ax,%fs + movl $KUG32SEL,%eax + movw %ax,%gs + + movl $MSR_FSBASE,%ecx + movl PCB_FSBASE(%rdi),%eax + movl 4 + PCB_FSBASE(%rdi),%edx + wrmsr + movl $MSR_GSBASE,%ecx + movl PCB_GSBASE(%rdi),%eax + movl 4 + PCB_GSBASE(%rdi),%edx + wrmsr + movl $MSR_KGSBASE,%ecx + movl PCB_KGSBASE(%rdi),%eax + movl 4 + PCB_KGSBASE(%rdi),%edx + wrmsr + + /* Restore EFER. */ + movl $MSR_EFER,%ecx + movl PCB_EFER(%rdi),%eax + wrmsr + + /* Restore fast syscall stuff. */ + movl $MSR_STAR,%ecx + movl PCB_STAR(%rdi),%eax + movl 4 + PCB_STAR(%rdi),%edx + wrmsr + movl $MSR_LSTAR,%ecx + movl PCB_LSTAR(%rdi),%eax + movl 4 + PCB_LSTAR(%rdi),%edx + wrmsr + movl $MSR_CSTAR,%ecx + movl PCB_CSTAR(%rdi),%eax + movl 4 + PCB_CSTAR(%rdi),%edx + wrmsr + movl $MSR_SF_MASK,%ecx + movl PCB_SFMASK(%rdi),%eax + wrmsr + + /* Restore CR0 except for FPU mode. */ + movq PCB_CR0(%rdi),%rax + andq $~(CR0_EM | CR0_TS),%rax + movq %rax,%cr0 + + /* Restore CR2, CR4 and CR3. */ + movq PCB_CR2(%rdi),%rax + movq %rax,%cr2 + movq PCB_CR4(%rdi),%rax + movq %rax,%cr4 + movq PCB_CR3(%rdi),%rax + movq %rax,%cr3 + + /* Restore descriptor tables. */ + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) + +#define SDT_SYSTSS 9 +#define SDT_SYSBSY 11 + + /* Clear "task busy" bit and reload TR. */ + movq PCPU(TSS),%rax + andb $(~SDT_SYSBSY | SDT_SYSTSS),5(%rax) + movw PCB_TR(%rdi),%ax + ltr %ax + +#undef SDT_SYSTSS +#undef SDT_SYSBSY + + /* Restore debug registers. */ + movq PCB_DR0(%rdi),%rax + movq %rax,%dr0 + movq PCB_DR1(%rdi),%rax + movq %rax,%dr1 + movq PCB_DR2(%rdi),%rax + movq %rax,%dr2 + movq PCB_DR3(%rdi),%rax + movq %rax,%dr3 + movq PCB_DR6(%rdi),%rax + movq %rax,%dr6 + movq PCB_DR7(%rdi),%rax + movq %rax,%dr7 + + /* Restore FPU state. */ + fninit + movq PCB_FPUSUSPEND(%rdi),%rbx + movq PCB_XSMASK(%rdi),%rax + testq %rax,%rax + jz 1f + movq %rax,%rdx + shrq $32,%rdx + movl $XCR0,%ecx + xsetbv + xrstor (%rbx) + jmp 2f +1: + fxrstor (%rbx) +2: + + /* Reload CR0. */ + movq PCB_CR0(%rdi),%rax + movq %rax,%cr0 + + /* Restore other callee saved registers. */ + movq PCB_R15(%rdi),%r15 + movq PCB_R14(%rdi),%r14 + movq PCB_R13(%rdi),%r13 + movq PCB_R12(%rdi),%r12 + movq PCB_RBP(%rdi),%rbp + movq PCB_RSP(%rdi),%rsp + movq PCB_RBX(%rdi),%rbx + + /* Restore return address. */ + movq PCB_RIP(%rdi),%rax + movq %rax,(%rsp) + + xorl %eax,%eax + ret +END(resumectx) + +/* * Wrapper around fpusave to care about TS0_CR. */ ENTRY(ctx_fpusave) Modified: projects/nfsv4.1-client/sys/amd64/amd64/db_disasm.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/db_disasm.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/db_disasm.c Sun Oct 21 01:09:02 2012 (r241792) @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); * Instruction disassembler. */ #include +#include #include #include @@ -47,7 +48,9 @@ __FBSDID("$FreeBSD$"); #define DBLR 5 #define EXTR 6 #define SDEP 7 -#define NONE 8 +#define ADEP 8 +#define ESC 9 +#define NONE 10 /* * REX prefix and bits @@ -67,6 +70,7 @@ __FBSDID("$FreeBSD$"); #define Eb 4 /* address, byte size */ #define R 5 /* register, in 'reg' field */ #define Rw 6 /* word register, in 'reg' field */ +#define Rq 39 /* quad register, in 'reg' field */ #define Ri 7 /* register in instruction */ #define S 8 /* segment reg, in 'reg' field */ #define Si 9 /* segment reg, in instruction */ @@ -120,6 +124,45 @@ struct finst { (or pointer to table) */ }; +static const struct inst db_inst_0f388x[] = { +/*80*/ { "", TRUE, SDEP, op2(E, Rq), "invept" }, +/*81*/ { "", TRUE, SDEP, op2(E, Rq), "invvpid" }, +/*82*/ { "", FALSE, NONE, 0, 0 }, +/*83*/ { "", FALSE, NONE, 0, 0 }, +/*84*/ { "", FALSE, NONE, 0, 0 }, +/*85*/ { "", FALSE, NONE, 0, 0 }, +/*86*/ { "", FALSE, NONE, 0, 0 }, +/*87*/ { "", FALSE, NONE, 0, 0 }, + +/*88*/ { "", FALSE, NONE, 0, 0 }, +/*89*/ { "", FALSE, NONE, 0, 0 }, +/*8a*/ { "", FALSE, NONE, 0, 0 }, +/*8b*/ { "", FALSE, NONE, 0, 0 }, +/*8c*/ { "", FALSE, NONE, 0, 0 }, +/*8d*/ { "", FALSE, NONE, 0, 0 }, +/*8e*/ { "", FALSE, NONE, 0, 0 }, +/*8f*/ { "", FALSE, NONE, 0, 0 }, +}; + +static const struct inst * const db_inst_0f38[] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + db_inst_0f388x, + 0, + 0, + 0, + 0, + 0, + 0, + 0 +}; + static const char * const db_Grp6[] = { "sldt", "str", @@ -160,8 +203,8 @@ static const char * const db_Grp9[] = { "", "", "", - "", - "" + "vmptrld", + "vmptrst" }; static const char * const db_Grp15[] = { @@ -169,9 +212,9 @@ static const char * const db_Grp15[] = { "fxrstor", "ldmxcsr", "stmxcsr", - "", - "", - "", + "xsave", + "xrstor", + "xsaveopt", "clflush" }; @@ -236,7 +279,7 @@ static const struct inst db_inst_0f3x[] /*36*/ { "", FALSE, NONE, 0, 0 }, /*37*/ { "getsec",FALSE, NONE, 0, 0 }, -/*38*/ { "", FALSE, NONE, 0, 0 }, +/*38*/ { "", FALSE, ESC, 0, db_inst_0f38 }, /*39*/ { "", FALSE, NONE, 0, 0 }, /*3a*/ { "", FALSE, NONE, 0, 0 }, /*3b*/ { "", FALSE, NONE, 0, 0 }, @@ -266,6 +309,26 @@ static const struct inst db_inst_0f4x[] /*4f*/ { "cmovnle",TRUE, NONE, op2(E, R), 0 }, }; +static const struct inst db_inst_0f7x[] = { +/*70*/ { "", FALSE, NONE, 0, 0 }, +/*71*/ { "", FALSE, NONE, 0, 0 }, +/*72*/ { "", FALSE, NONE, 0, 0 }, +/*73*/ { "", FALSE, NONE, 0, 0 }, +/*74*/ { "", FALSE, NONE, 0, 0 }, +/*75*/ { "", FALSE, NONE, 0, 0 }, +/*76*/ { "", FALSE, NONE, 0, 0 }, +/*77*/ { "", FALSE, NONE, 0, 0 }, + +/*78*/ { "vmread", TRUE, NONE, op2(Rq, E), 0 }, +/*79*/ { "vmwrite",TRUE, NONE, op2(E, Rq), 0 }, +/*7a*/ { "", FALSE, NONE, 0, 0 }, +/*7b*/ { "", FALSE, NONE, 0, 0 }, +/*7c*/ { "", FALSE, NONE, 0, 0 }, +/*7d*/ { "", FALSE, NONE, 0, 0 }, +/*7e*/ { "", FALSE, NONE, 0, 0 }, +/*7f*/ { "", FALSE, NONE, 0, 0 }, +}; + static const struct inst db_inst_0f8x[] = { /*80*/ { "jo", FALSE, NONE, op1(Dl), 0 }, /*81*/ { "jno", FALSE, NONE, op1(Dl), 0 }, @@ -373,7 +436,7 @@ static const struct inst * const db_inst db_inst_0f4x, 0, 0, - 0, + db_inst_0f7x, db_inst_0f8x, db_inst_0f9x, db_inst_0fax, @@ -582,7 +645,7 @@ static const struct inst db_inst_table[2 /*0c*/ { "or", FALSE, BYTE, op2(I, A), 0 }, /*0d*/ { "or", FALSE, LONG, op2(I, A), 0 }, /*0e*/ { "push", FALSE, NONE, op1(Si), 0 }, -/*0f*/ { "", FALSE, NONE, 0, 0 }, +/*0f*/ { "", FALSE, ESC, 0, db_inst_0f }, /*10*/ { "adc", TRUE, BYTE, op2(R, E), 0 }, /*11*/ { "adc", TRUE, LONG, op2(R, E), 0 }, @@ -738,8 +801,8 @@ static const struct inst db_inst_table[2 /*96*/ { "xchg", FALSE, LONG, op2(A, Ri), 0 }, /*97*/ { "xchg", FALSE, LONG, op2(A, Ri), 0 }, -/*98*/ { "cbw", FALSE, SDEP, 0, "cwde" }, /* cbw/cwde */ -/*99*/ { "cwd", FALSE, SDEP, 0, "cdq" }, /* cwd/cdq */ +/*98*/ { "cwde", FALSE, SDEP, 0, "cbw" }, +/*99*/ { "cdq", FALSE, SDEP, 0, "cwd" }, /*9a*/ { "lcall", FALSE, NONE, op1(OS), 0 }, /*9b*/ { "wait", FALSE, NONE, 0, 0 }, /*9c*/ { "pushf", FALSE, LONG, 0, 0 }, @@ -822,7 +885,7 @@ static const struct inst db_inst_table[2 /*e0*/ { "loopne",FALSE, NONE, op1(Db), 0 }, /*e1*/ { "loope", FALSE, NONE, op1(Db), 0 }, /*e2*/ { "loop", FALSE, NONE, op1(Db), 0 }, -/*e3*/ { "jcxz", FALSE, SDEP, op1(Db), "jecxz" }, +/*e3*/ { "jrcxz", FALSE, ADEP, op1(Db), "jecxz" }, /*e4*/ { "in", FALSE, BYTE, op2(Ib, A), 0 }, /*e5*/ { "in", FALSE, LONG, op2(Ib, A) , 0 }, /*e6*/ { "out", FALSE, BYTE, op2(A, Ib), 0 }, @@ -1208,14 +1271,6 @@ db_disasm(loc, altfmt) if (prefix) { get_value_inc(inst, loc, 1, FALSE); } - if (rep == TRUE) { - if (inst == 0x90) { - db_printf("pause\n"); - return (loc); - } - db_printf("repe "); /* XXX repe VS rep */ - rep = FALSE; - } } while (prefix); if (inst >= 0xd8 && inst <= 0xdf) { @@ -1224,9 +1279,10 @@ db_disasm(loc, altfmt) return (loc); } - if (inst == 0x0f) { + ip = &db_inst_table[inst]; + while (ip->i_size == ESC) { get_value_inc(inst, loc, 1, FALSE); - ip = db_inst_0f[inst>>4]; + ip = ((const struct inst * const *)ip->i_extra)[inst>>4]; if (ip == 0) { ip = &db_bad_inst; } @@ -1234,8 +1290,6 @@ db_disasm(loc, altfmt) ip = &ip[inst&0xf]; } } - else - ip = &db_inst_table[inst]; if (ip->i_has_modrm) { get_value_inc(regmodrm, loc, 1, FALSE); @@ -1269,6 +1323,26 @@ db_disasm(loc, altfmt) /* Special cases that don't fit well in the tables. */ if (ip->i_extra == db_Grp7 && f_mod(rex, regmodrm) == 3) { switch (regmodrm) { + case 0xc1: + i_name = "vmcall"; + i_size = NONE; + i_mode = 0; + break; + case 0xc2: + i_name = "vmlaunch"; + i_size = NONE; + i_mode = 0; + break; + case 0xc3: + i_name = "vmresume"; + i_size = NONE; + i_mode = 0; + break; + case 0xc4: + i_name = "vmxoff"; + i_size = NONE; + i_mode = 0; + break; case 0xc8: i_name = "monitor"; i_size = NONE; @@ -1279,11 +1353,26 @@ db_disasm(loc, altfmt) i_size = NONE; i_mode = 0; break; + case 0xd0: + i_name = "xgetbv"; + i_size = NONE; + i_mode = 0; + break; + case 0xd1: + i_name = "xsetbv"; + i_size = NONE; + i_mode = 0; + break; case 0xf8: i_name = "swapgs"; i_size = NONE; i_mode = 0; break; + case 0xf9: + i_name = "rdtscp"; + i_size = NONE; + i_mode = 0; + break; } } if (ip->i_extra == db_Grp15 && f_mod(rex, regmodrm) == 3) { @@ -1292,8 +1381,42 @@ db_disasm(loc, altfmt) i_mode = 0; } + /* Handle instructions identified by mandatory prefixes. */ + if (rep == TRUE) { + if (inst == 0x90) { + i_name = "pause"; + i_size = NONE; + i_mode = 0; + rep = FALSE; + } else if (ip->i_extra == db_Grp9 && f_mod(rex, regmodrm) != 3 && + f_reg(rex, regmodrm) == 0x6) { + i_name = "vmxon"; + rep = FALSE; + } + } + if (size == WORD) { + if (ip->i_extra == db_Grp9 && f_mod(rex, regmodrm) != 3 && + f_reg(rex, regmodrm) == 0x6) { + i_name = "vmclear"; + } + } + if (rex & REX_W) { + if (strcmp(i_name, "cwde") == 0) + i_name = "cdqe"; + else if (strcmp(i_name, "cmpxchg8b") == 0) + i_name = "cmpxchg16b"; + } + + if (rep == TRUE) + db_printf("repe "); /* XXX repe VS rep */ + if (i_size == SDEP) { - if (size == WORD) + if (size == LONG) + db_printf("%s", i_name); + else + db_printf("%s", (const char *)ip->i_extra); + } else if (i_size == ADEP) { + if (short_addr == FALSE) db_printf("%s", i_name); else db_printf("%s", (const char *)ip->i_extra); @@ -1366,6 +1489,10 @@ db_disasm(loc, altfmt) db_printf("%s", db_reg[rex != 0 ? 1 : 0][WORD][f_reg(rex, regmodrm)]); break; + case Rq: + db_printf("%s", db_reg[rex != 0 ? 1 : 0][QUAD][f_reg(rex, regmodrm)]); + break; + case Ri: db_printf("%s", db_reg[0][QUAD][f_rm(rex, inst)]); break; Modified: projects/nfsv4.1-client/sys/amd64/amd64/elf_machdep.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/elf_machdep.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/elf_machdep.c Sun Oct 21 01:09:02 2012 (r241792) @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: projects/nfsv4.1-client/sys/amd64/amd64/fpu.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/fpu.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/fpu.c Sun Oct 21 01:09:02 2012 (r241792) @@ -73,10 +73,7 @@ __FBSDID("$FreeBSD$"); #define fxrstor(addr) __asm __volatile("fxrstor %0" : : "m" (*(addr))) #define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr))) #define ldmxcsr(csr) __asm __volatile("ldmxcsr %0" : : "m" (csr)) -#define start_emulating() __asm __volatile( \ - "smsw %%ax; orb %0,%%al; lmsw %%ax" \ - : : "n" (CR0_TS) : "ax") -#define stop_emulating() __asm __volatile("clts") +#define stmxcsr(addr) __asm __volatile("stmxcsr %0" : : "m" (*(addr))) static __inline void xrstor(char *addr, uint64_t mask) @@ -85,9 +82,7 @@ xrstor(char *addr, uint64_t mask) low = mask; hi = mask >> 32; - /* xrstor (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x2f" : : - "a" (low), "d" (hi), "D" (addr)); + __asm __volatile("xrstor %0" : : "m" (*addr), "a" (low), "d" (hi)); } static __inline void @@ -97,20 +92,8 @@ xsave(char *addr, uint64_t mask) low = mask; hi = mask >> 32; - /* xsave (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x27" : : - "a" (low), "d" (hi), "D" (addr) : "memory"); -} - -static __inline void -xsetbv(uint32_t reg, uint64_t val) -{ - uint32_t low, hi; - - low = val; - hi = val >> 32; - __asm __volatile(".byte 0x0f,0x01,0xd1" : : - "c" (reg), "a" (low), "d" (hi)); + __asm __volatile("xsave %0" : "=m" (*addr) : "a" (low), "d" (hi) : + "memory"); } #else /* !(__GNUCLIKE_ASM && !lint) */ @@ -123,16 +106,14 @@ void fnstsw(caddr_t addr); void fxsave(caddr_t addr); void fxrstor(caddr_t addr); void ldmxcsr(u_int csr); -void start_emulating(void); -void stop_emulating(void); +void stmxcsr(u_int *csr); void xrstor(char *addr, uint64_t mask); void xsave(char *addr, uint64_t mask); -void xsetbv(uint32_t reg, uint64_t val); #endif /* __GNUCLIKE_ASM && !lint */ -#define GET_FPU_CW(thread) ((thread)->td_pcb->pcb_save->sv_env.en_cw) -#define GET_FPU_SW(thread) ((thread)->td_pcb->pcb_save->sv_env.en_sw) +#define start_emulating() load_cr0(rcr0() | CR0_TS) +#define stop_emulating() clts() CTASSERT(sizeof(struct savefpu) == 512); CTASSERT(sizeof(struct xstate_hdr) == 64); @@ -141,7 +122,7 @@ CTASSERT(sizeof(struct savefpu_ymm) == 8 /* * This requirement is to make it easier for asm code to calculate * offset of the fpu save area from the pcb address. FPU save area - * must by 64-bytes aligned. + * must be 64-byte aligned. */ CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0); @@ -150,10 +131,16 @@ static void fpu_clean_state(void); SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, NULL, 1, "Floating point instructions executed in hardware"); +static int use_xsaveopt; int use_xsave; /* non-static for cpu_switch.S */ uint64_t xsave_mask; /* the same */ static struct savefpu *fpu_initialstate; +struct xsave_area_elm_descr { + u_int offset; + u_int size; +} *xsave_area_desc; + void fpusave(void *addr) { @@ -200,6 +187,17 @@ 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; + + cpuid_count(0xd, 0x1, cp); + if ((cp[0] & CPUID_EXTSTATE_XSAVEOPT) != 0) { + /* + * Patch the XSAVE instruction in the cpu_switch code + * to XSAVEOPT. We assume that XSAVE encoding used + * REX byte, and set the bit 4 of the r/m byte. + */ + ctx_switch_xsave[3] |= 0x10; + use_xsaveopt = 1; + } } /* @@ -238,7 +236,7 @@ fpuinit(void) if (use_xsave) { load_cr4(rcr4() | CR4_XSAVE); - xsetbv(XCR0, xsave_mask); + load_xcr(XCR0, xsave_mask); } /* @@ -270,6 +268,7 @@ static void fpuinitstate(void *arg __unused) { register_t saveintr; + int cp[4], i, max_ext_n; fpu_initialstate = malloc(cpu_max_ext_state_size, M_DEVBUF, M_WAITOK | M_ZERO); @@ -291,6 +290,28 @@ fpuinitstate(void *arg __unused) */ bzero(&fpu_initialstate->sv_xmm[0], sizeof(struct xmmacc)); + /* + * Create a table describing the layout of the CPU Extended + * Save Area. + */ + if (use_xsaveopt) { + max_ext_n = flsl(xsave_mask); + xsave_area_desc = malloc(max_ext_n * sizeof(struct + xsave_area_elm_descr), M_DEVBUF, M_WAITOK | M_ZERO); + /* x87 state */ + xsave_area_desc[0].offset = 0; + xsave_area_desc[0].size = 160; + /* XMM */ + xsave_area_desc[1].offset = 160; + xsave_area_desc[1].size = 288 - 160; + + for (i = 2; i < max_ext_n; i++) { + cpuid_count(0xd, i, cp); + xsave_area_desc[i].offset = cp[1]; + xsave_area_desc[i].size = cp[0]; + } + } + start_emulating(); intr_restore(saveintr); } @@ -306,7 +327,7 @@ fpuexit(struct thread *td) critical_enter(); if (curthread == PCPU_GET(fpcurthread)) { stop_emulating(); - fpusave(PCPU_GET(curpcb)->pcb_save); + fpusave(curpcb->pcb_save); start_emulating(); PCPU_SET(fpcurthread, 0); } @@ -492,25 +513,26 @@ static char fpetable[128] = { }; /* - * Preserve the FP status word, clear FP exceptions, then generate a SIGFPE. + * Read the FP status and control words, then generate si_code value + * for SIGFPE. The error code chosen will be one of the + * FPE_... macros. It will be sent as the second argument to old + * BSD-style signal handlers and as "siginfo_t->si_code" (second + * argument) to SA_SIGINFO signal handlers. * - * Clearing exceptions is necessary mainly to avoid IRQ13 bugs. We now - * depend on longjmp() restoring a usable state. Restoring the state - * or examining it might fail if we didn't clear exceptions. + * Some time ago, we cleared the x87 exceptions with FNCLEX there. + * Clearing exceptions was necessary mainly to avoid IRQ13 bugs. The + * usermode code which understands the FPU hardware enough to enable + * the exceptions, can also handle clearing the exception state in the + * handler. The only consequence of not clearing the exception is the + * rethrow of the SIGFPE on return from the signal handler and + * reexecution of the corresponding instruction. * - * The error code chosen will be one of the FPE_... macros. It will be - * sent as the second argument to old BSD-style signal handlers and as - * "siginfo_t->si_code" (second argument) to SA_SIGINFO signal handlers. - * - * XXX the FP state is not preserved across signal handlers. So signal - * handlers cannot afford to do FP unless they preserve the state or - * longjmp() out. Both preserving the state and longjmp()ing may be - * destroyed by IRQ13 bugs. Clearing FP exceptions is not an acceptable - * solution for signals other than SIGFPE. + * For XMM traps, the exceptions were never cleared. */ int -fputrap() +fputrap_x87(void) { + struct savefpu *pcb_save; u_short control, status; critical_enter(); @@ -521,19 +543,32 @@ fputrap() * wherever they are. */ if (PCPU_GET(fpcurthread) != curthread) { - control = GET_FPU_CW(curthread); - status = GET_FPU_SW(curthread); + pcb_save = curpcb->pcb_save; + control = pcb_save->sv_env.en_cw; + status = pcb_save->sv_env.en_sw; } else { fnstcw(&control); fnstsw(&status); } - if (PCPU_GET(fpcurthread) == curthread) - fnclex(); critical_exit(); return (fpetable[status & ((~control & 0x3f) | 0x40)]); } +int +fputrap_sse(void) +{ + u_int mxcsr; + + critical_enter(); + if (PCPU_GET(fpcurthread) != curthread) + mxcsr = curpcb->pcb_save->sv_env.en_mxcsr; + else + stmxcsr(&mxcsr); + critical_exit(); + return (fpetable[(mxcsr & (~mxcsr >> 7)) & 0x3f]); +} + /* * Implement device not available (DNA) exception * @@ -547,7 +582,6 @@ static int err_count = 0; void fpudna(void) { - struct pcb *pcb; critical_enter(); if (PCPU_GET(fpcurthread) == curthread) { @@ -569,26 +603,31 @@ fpudna(void) * Record new context early in case frstor causes a trap. */ PCPU_SET(fpcurthread, curthread); - pcb = PCPU_GET(curpcb); fpu_clean_state(); - if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { + if ((curpcb->pcb_flags & PCB_FPUINITDONE) == 0) { /* * This is the first time this thread has used the FPU or * the PCB doesn't contain a clean FPU state. Explicitly * load an initial state. + * + * We prefer to restore the state from the actual save + * area in PCB instead of directly loading from + * fpu_initialstate, to ignite the XSAVEOPT + * tracking engine. */ - fpurestore(fpu_initialstate); - if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__) - fldcw(pcb->pcb_initial_fpucw); - if (PCB_USER_FPU(pcb)) - set_pcb_flags(pcb, + bcopy(fpu_initialstate, curpcb->pcb_save, cpu_max_ext_state_size); + fpurestore(curpcb->pcb_save); + if (curpcb->pcb_initial_fpucw != __INITIAL_FPUCW__) + fldcw(curpcb->pcb_initial_fpucw); + if (PCB_USER_FPU(curpcb)) + set_pcb_flags(curpcb, PCB_FPUINITDONE | PCB_USERFPUINITDONE); else - set_pcb_flags(pcb, PCB_FPUINITDONE); + set_pcb_flags(curpcb, PCB_FPUINITDONE); } else - fpurestore(pcb->pcb_save); + fpurestore(curpcb->pcb_save); critical_exit(); } @@ -614,6 +653,9 @@ int fpugetregs(struct thread *td) { struct pcb *pcb; + uint64_t *xstate_bv, bit; + char *sa; + int max_ext_n, i; pcb = td->td_pcb; if ((pcb->pcb_flags & PCB_USERFPUINITDONE) == 0) { @@ -631,6 +673,25 @@ fpugetregs(struct thread *td) return (_MC_FPOWNED_FPU); } else { critical_exit(); + if (use_xsaveopt) { + /* + * Handle partially saved state. + */ + sa = (char *)get_pcb_user_save_pcb(pcb); + xstate_bv = (uint64_t *)(sa + sizeof(struct savefpu) + + offsetof(struct xstate_hdr, xstate_bv)); + max_ext_n = flsl(xsave_mask); + for (i = 0; i < max_ext_n; i++) { + bit = 1 << i; + if ((*xstate_bv & bit) != 0) + continue; + bcopy((char *)fpu_initialstate + + xsave_area_desc[i].offset, + sa + xsave_area_desc[i].offset, + xsave_area_desc[i].size); + *xstate_bv |= bit; + } + } return (_MC_FPOWNED_PCB); } } @@ -900,16 +961,14 @@ fpu_kern_leave(struct thread *td, struct int fpu_kern_thread(u_int flags) { - struct pcb *pcb; - pcb = PCPU_GET(curpcb); KASSERT((curthread->td_pflags & TDP_KTHREAD) != 0, ("Only kthread may use fpu_kern_thread")); - KASSERT(pcb->pcb_save == get_pcb_user_save_pcb(pcb), + KASSERT(curpcb->pcb_save == get_pcb_user_save_pcb(curpcb), ("mangled pcb_save")); - KASSERT(PCB_USER_FPU(pcb), ("recursive call")); + KASSERT(PCB_USER_FPU(curpcb), ("recursive call")); - set_pcb_flags(pcb, PCB_KERNFPU); + set_pcb_flags(curpcb, PCB_KERNFPU); return (0); } @@ -919,5 +978,5 @@ is_fpu_kern_thread(u_int flags) if ((curthread->td_pflags & TDP_KTHREAD) == 0) return (0); - return ((PCPU_GET(curpcb)->pcb_flags & PCB_KERNFPU) != 0); + return ((curpcb->pcb_flags & PCB_KERNFPU) != 0); } Modified: projects/nfsv4.1-client/sys/amd64/amd64/genassym.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/genassym.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/genassym.c Sun Oct 21 01:09:02 2012 (r241792) @@ -157,6 +157,13 @@ ASSYM(PCB_TSSP, offsetof(struct pcb, pcb ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); ASSYM(PCB_USERFPU, sizeof(struct pcb)); +ASSYM(PCB_EFER, offsetof(struct pcb, pcb_efer)); +ASSYM(PCB_STAR, offsetof(struct pcb, pcb_star)); +ASSYM(PCB_LSTAR, offsetof(struct pcb, pcb_lstar)); +ASSYM(PCB_CSTAR, offsetof(struct pcb, pcb_cstar)); +ASSYM(PCB_SFMASK, offsetof(struct pcb, pcb_sfmask)); +ASSYM(PCB_XSMASK, offsetof(struct pcb, pcb_xsmask)); +ASSYM(PCB_FPUSUSPEND, offsetof(struct pcb, pcb_fpususpend)); ASSYM(PCB_SIZE, sizeof(struct pcb)); ASSYM(PCB_FULL_IRET, PCB_FULL_IRET); ASSYM(PCB_DBREGS, PCB_DBREGS); Modified: projects/nfsv4.1-client/sys/amd64/amd64/identcpu.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/identcpu.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/identcpu.c Sun Oct 21 01:09:02 2012 (r241792) @@ -213,8 +213,8 @@ printcpuinfo(void) if (cpu_vendor_id == CPU_VENDOR_INTEL || cpu_vendor_id == CPU_VENDOR_AMD || cpu_vendor_id == CPU_VENDOR_CENTAUR) { - printf(" Family = %x", CPUID_TO_FAMILY(cpu_id)); - printf(" Model = %x", CPUID_TO_MODEL(cpu_id)); + printf(" Family = 0x%x", CPUID_TO_FAMILY(cpu_id)); + printf(" Model = 0x%x", CPUID_TO_MODEL(cpu_id)); printf(" Stepping = %u", cpu_id & CPUID_STEPPING); /* Modified: projects/nfsv4.1-client/sys/amd64/amd64/initcpu.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/initcpu.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/initcpu.c Sun Oct 21 01:09:02 2012 (r241792) @@ -91,11 +91,17 @@ init_amd(void) * * http://support.amd.com/us/Processor_TechDocs/41322_10h_Rev_Gd.pdf * http://support.amd.com/us/Processor_TechDocs/44739_12h_Rev_Gd.pdf + * + * Hypervisors do not provide access to the errata MSR, + * causing #GP exception on attempt to apply the errata. The + * MSR write shall be done on host and persist globally + * anyway, so do not try to do it when under virtualization. */ switch (CPUID_TO_FAMILY(cpu_id)) { case 0x10: case 0x12: - wrmsr(0xc0011029, rdmsr(0xc0011029) | 1); + if ((cpu_feature2 & CPUID2_HV) == 0) + wrmsr(0xc0011029, rdmsr(0xc0011029) | 1); break; } } Modified: projects/nfsv4.1-client/sys/amd64/amd64/machdep.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/machdep.c Sat Oct 20 23:13:09 2012 (r241791) +++ projects/nfsv4.1-client/sys/amd64/amd64/machdep.c Sun Oct 21 01:09:02 2012 (r241792) @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Oct 21 12:10:13 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79DB05F2; Sun, 21 Oct 2012 12:10:13 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (unknown [IPv6:2001:610:1108:5012::107]) by mx1.freebsd.org (Postfix) with ESMTP id 0E6C18FC0C; Sun, 21 Oct 2012 12:10:13 +0000 (UTC) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id 421A41203C5; Sun, 21 Oct 2012 14:10:07 +0200 (CEST) Received: by snail.stack.nl (Postfix, from userid 1677) id 2A1532848C; Sun, 21 Oct 2012 14:10:07 +0200 (CEST) Date: Sun, 21 Oct 2012 14:10:07 +0200 From: Jilles Tjoelker To: Peter Grehan Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve Message-ID: <20121021121006.GA96141@stack.nl> References: <201210191811.q9JIBIQu049356@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201210191811.q9JIBIQu049356@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Oct 2012 12:10:13 -0000 On Fri, Oct 19, 2012 at 06:11:18PM +0000, Peter Grehan wrote: > Author: grehan > Date: Fri Oct 19 18:11:17 2012 > New Revision: 241744 > URL: http://svn.freebsd.org/changeset/base/241744 > [snip] > instruction_emul.c/h - remove old region interface. > Use gpa from EPT exit to avoid a tablewalk to > determine operand address. Determine operand size > and use when calling through to region handler. > [snip] > Modified: projects/bhyve/usr.sbin/bhyve/instruction_emul.c > ============================================================================== > --- projects/bhyve/usr.sbin/bhyve/instruction_emul.c Fri Oct 19 17:45:56 2012 (r241743) > +++ projects/bhyve/usr.sbin/bhyve/instruction_emul.c Fri Oct 19 18:11:17 2012 (r241744) > [snip] > +static uint64_t > +adjust_write(uint64_t reg, uint64_t operand, int size) > +{ > + uint64_t val; > + > + switch (size) { > + case 1: > + val = (reg & ~0xff) | (operand & 0xff); > + break; > + case 2: > + val = (reg & ~0xffff) | (operand & 0xffff); > + break; > + case 4: > + val = (reg & ~0xffffffff) | (operand & 0xffffffff); > + break; > + case 8: > + val = operand; > + default: > + break; > + } > + > + return (val); > } Case 4 looks wrong. A 32-bit write clears the top 32 bits of the register instead of preserving them. I have no idea whether this will actually fix/break anything. -- Jilles Tjoelker From owner-svn-src-projects@FreeBSD.ORG Mon Oct 22 23:18:24 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EB90C2E5; Mon, 22 Oct 2012 23:18:24 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 9EB608FC18; Mon, 22 Oct 2012 23:18:24 +0000 (UTC) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by alto.onthenet.com.au (Postfix) with ESMTPS id 55D5011E48; Tue, 23 Oct 2012 09:18:17 +1000 (EST) Received: from Peter-Grehans-MacBook-Pro.local (c-71-56-248-150.hsd1.co.comcast.net [71.56.248.150]) by dommail.onthenet.com.au (MOS 4.2.4-GA) with ESMTP id BHF35722 (AUTH peterg@ptree32.com.au); Tue, 23 Oct 2012 09:18:13 +1000 Message-ID: <5085D433.4020101@freebsd.org> Date: Mon, 22 Oct 2012 17:18:11 -0600 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 MIME-Version: 1.0 To: Jilles Tjoelker Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> In-Reply-To: <20121021121006.GA96141@stack.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Junkmail-Info: RCVD_IN_SORBS_DUL,RDNS_DYNAMIC,SPF_SOFTFAIL X-Junkmail-Status: score=24/51, host=dommail.onthenet.com.au Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Oct 2012 23:18:25 -0000 > Case 4 looks wrong. A 32-bit write clears the top 32 bits of the > register instead of preserving them. Yep, you're right. How about: > + case 4: > + val = (reg & ~0xffffffffUL) | (operand & 0xffffffffUL); > + break; > I have no idea whether this will actually fix/break anything. Lucky so far but it would be sure to blow up in the future. later, Peter. From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 02:20:42 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C8D11CF8; Tue, 23 Oct 2012 02:20:42 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B1EE58FC08; Tue, 23 Oct 2012 02:20:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9N2KgVQ062874; Tue, 23 Oct 2012 02:20:42 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9N2KgiJ062868; Tue, 23 Oct 2012 02:20:42 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210230220.q9N2KgiJ062868@svn.freebsd.org> From: Neel Natu Date: Tue, 23 Oct 2012 02:20:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241921 - projects/bhyve/sys/amd64/vmm/intel X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 02:20:42 -0000 Author: neel Date: Tue Oct 23 02:20:42 2012 New Revision: 241921 URL: http://svn.freebsd.org/changeset/base/241921 Log: Test for AST pending with interrupts disabled right before entering the guest. If an IPI was delivered to this cpu before interrupts were disabled then return right away via vmx_setjmp() with a return value of VMX_RETURN_AST. Obtained from: NetApp Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c projects/bhyve/sys/amd64/vmm/intel/vmx.h projects/bhyve/sys/amd64/vmm/intel/vmx_genassym.c projects/bhyve/sys/amd64/vmm/intel/vmx_support.S Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Tue Oct 23 02:20:11 2012 (r241920) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Tue Oct 23 02:20:42 2012 (r241921) @@ -290,6 +290,8 @@ vmx_setjmp_rc2str(int rc) return "vmresume"; case VMX_RETURN_VMLAUNCH: return "vmlaunch"; + case VMX_RETURN_AST: + return "ast"; default: return "unknown"; } @@ -798,15 +800,20 @@ vmx_run_trace(struct vmx *vmx, int vcpu) static __inline void vmx_exit_trace(struct vmx *vmx, int vcpu, uint64_t rip, uint32_t exit_reason, - int handled, int astpending) + int handled) { #ifdef KTR VMM_CTR3(vmx->vm, vcpu, "%s %s vmexit at 0x%0lx", handled ? "handled" : "unhandled", exit_reason_to_str(exit_reason), rip); +#endif +} - if (astpending) - VMM_CTR0(vmx->vm, vcpu, "astpending"); +static __inline void +vmx_astpending_trace(struct vmx *vmx, int vcpu, uint64_t rip) +{ +#ifdef KTR + VMM_CTR1(vmx->vm, vcpu, "astpending vmexit at 0x%0lx", rip); #endif } @@ -981,19 +988,19 @@ vmx_inject_interrupts(struct vmx *vmx, i const int HWINTR_BLOCKED = VMCS_INTERRUPTIBILITY_STI_BLOCKING | VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING; -#if 1 /* - * XXX - * If an event is being injected from userland then just return. - * For e.g. we may inject a breakpoint exception to cause the - * guest to enter the debugger so we can inspect its state. + * If there is already an interrupt pending then just return. + * + * This could happen if an interrupt was injected on a prior + * VM entry but the actual entry into guest mode was aborted + * because of a pending AST. */ error = vmread(VMCS_ENTRY_INTR_INFO, &info); if (error) panic("vmx_inject_interrupts: vmread(intrinfo) %d", error); if (info & VMCS_INTERRUPTION_INFO_VALID) return; -#endif + /* * NMI injection has priority so deal with those first */ @@ -1301,7 +1308,7 @@ vmx_exit_process(struct vmx *vmx, int vc /* * It is possible that control is returned to userland * even though we were able to handle the VM exit in the - * kernel (for e.g. 'astpending' is set in the run loop). + * kernel. * * In such a case we want to make sure that the userland * restarts guest execution at the instruction *after* @@ -1352,6 +1359,7 @@ vmx_run(void *arg, int vcpu, register_t vmxctx = &vmx->ctx[vcpu]; vmxctx->launched = 0; + astpending = 0; vmexit = vm_exitinfo(vmx->vm, vcpu); /* @@ -1395,6 +1403,9 @@ vmx_run(void *arg, int vcpu, register_t break; case VMX_RETURN_LONGJMP: break; /* vm exit */ + case VMX_RETURN_AST: + astpending = 1; + break; case VMX_RETURN_VMRESUME: vie = vmcs_instruction_error(); if (vmxctx->launch_error == VM_FAIL_INVALID || @@ -1417,14 +1428,6 @@ vmx_run(void *arg, int vcpu, register_t panic("vmx_setjmp returned %d", rc); } - /* - * XXX locking? - * See comments in exception.S about checking for ASTs - * atomically while interrupts are disabled. But it is - * not clear that they apply in our case. - */ - astpending = curthread->td_flags & TDF_ASTPENDING; - /* enable interrupts */ enable_intr(); @@ -1434,11 +1437,18 @@ vmx_run(void *arg, int vcpu, register_t vmexit->u.vmx.exit_reason = exit_reason = vmcs_exit_reason(); vmexit->u.vmx.exit_qualification = vmcs_exit_qualification(); + if (astpending) { + handled = 1; + vmexit->inst_length = 0; + vmexit->exitcode = VM_EXITCODE_BOGUS; + vmx_astpending_trace(vmx, vcpu, rip); + break; + } + handled = vmx_exit_process(vmx, vcpu, vmexit); + vmx_exit_trace(vmx, vcpu, rip, exit_reason, handled); - vmx_exit_trace(vmx, vcpu, rip, exit_reason, handled, - astpending); - } while (handled && !astpending); + } while (handled); /* * If a VM exit has been handled then the exitcode must be BOGUS @@ -1646,7 +1656,7 @@ vmx_inject(void *arg, int vcpu, int type int code_valid) { int error; - uint32_t info; + uint64_t info; struct vmx *vmx = arg; struct vmcs *vmcs = &vmx->vmcs[vcpu]; @@ -1660,6 +1670,17 @@ vmx_inject(void *arg, int vcpu, int type 0x6, /* VM_SW_EXCEPTION */ }; + /* + * If there is already an exception pending to be delivered to the + * vcpu then just return. + */ + error = vmcs_getreg(vmcs, VMCS_ENTRY_INTR_INFO, &info); + if (error) + return (error); + + if (info & VMCS_INTERRUPTION_INFO_VALID) + return (EAGAIN); + info = vector | (type_map[type] << 8) | (code_valid ? 1 << 11 : 0); info |= VMCS_INTERRUPTION_INFO_VALID; error = vmcs_setreg(vmcs, VMCS_IDENT(VMCS_ENTRY_INTR_INFO), info); Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.h ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.h Tue Oct 23 02:20:11 2012 (r241920) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.h Tue Oct 23 02:20:42 2012 (r241921) @@ -101,12 +101,14 @@ CTASSERT((offsetof(struct vmx, guest_msr #define VMX_RETURN_LONGJMP 1 #define VMX_RETURN_VMRESUME 2 #define VMX_RETURN_VMLAUNCH 3 +#define VMX_RETURN_AST 4 /* * vmx_setjmp() returns: * - 0 when it returns directly * - 1 when it returns from vmx_longjmp * - 2 when it returns from vmx_resume (which would only be in the error case) * - 3 when it returns from vmx_launch (which would only be in the error case) + * - 4 when it returns from vmx_resume or vmx_launch because of AST pending */ int vmx_setjmp(struct vmxctx *ctx); void vmx_longjmp(void); /* returns via vmx_setjmp */ Modified: projects/bhyve/sys/amd64/vmm/intel/vmx_genassym.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx_genassym.c Tue Oct 23 02:20:11 2012 (r241920) +++ projects/bhyve/sys/amd64/vmm/intel/vmx_genassym.c Tue Oct 23 02:20:42 2012 (r241921) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -80,3 +81,9 @@ ASSYM(VMX_RETURN_DIRECT, VMX_RETURN_DIRE ASSYM(VMX_RETURN_LONGJMP, VMX_RETURN_LONGJMP); ASSYM(VMX_RETURN_VMRESUME, VMX_RETURN_VMRESUME); ASSYM(VMX_RETURN_VMLAUNCH, VMX_RETURN_VMLAUNCH); +ASSYM(VMX_RETURN_AST, VMX_RETURN_AST); + +ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); +ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); +ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); +ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); Modified: projects/bhyve/sys/amd64/vmm/intel/vmx_support.S ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx_support.S Tue Oct 23 02:20:11 2012 (r241920) +++ projects/bhyve/sys/amd64/vmm/intel/vmx_support.S Tue Oct 23 02:20:42 2012 (r241921) @@ -31,6 +31,32 @@ #include "vmx_assym.s" /* + * Disable interrupts before updating %rsp in VMX_CHECK_AST or + * VMX_GUEST_RESTORE. + * + * The location that %rsp points to is a 'vmxctx' and not a + * real stack so we don't want an interrupt handler to trash it + */ +#define VMX_DISABLE_INTERRUPTS cli + +/* + * If the thread hosting the vcpu has an ast pending then take care of it + * by returning from vmx_setjmp() with a return value of VMX_RETURN_AST. + * + * Assumes that %rdi holds a pointer to the 'vmxctx' and that interrupts + * are disabled. + */ +#define VMX_CHECK_AST \ + movq PCPU(CURTHREAD),%rax; \ + testl $TDF_ASTPENDING | TDF_NEEDRESCHED,TD_FLAGS(%rax); \ + je 9f; \ + movq $VMX_RETURN_AST,%rsi; \ + movq %rdi,%rsp; \ + addq $VMXCTX_TMPSTKTOP,%rsp; \ + callq vmx_return; \ +9: + +/* * Assumes that %rdi holds a pointer to the 'vmxctx'. * * On "return" all registers are updated to reflect guest state. The two @@ -41,12 +67,6 @@ * host context in case of an error with 'vmlaunch' or 'vmresume'. */ #define VMX_GUEST_RESTORE \ - /* \ - * Disable interrupts before updating %rsp. The location that \ - * %rsp points to is a 'vmxctx' and not a real stack so we \ - * don't want an interrupt handler to trash it. \ - */ \ - cli; \ movq %rdi,%rsp; \ movq VMXCTX_GUEST_CR2(%rdi),%rsi; \ movq %rsi,%cr2; \ @@ -169,6 +189,10 @@ END(vmx_longjmp) * through vmx_setjmp() with a return value of 2. */ ENTRY(vmx_resume) + VMX_DISABLE_INTERRUPTS + + VMX_CHECK_AST + /* * Restore guest state that is not automatically loaded from the vmcs. */ @@ -197,6 +221,10 @@ END(vmx_resume) * through vmx_setjmp() with a return value of 3. */ ENTRY(vmx_launch) + VMX_DISABLE_INTERRUPTS + + VMX_CHECK_AST + /* * Restore guest state that is not automatically loaded from the vmcs. */ From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 09:55:50 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DA9B7A9; Tue, 23 Oct 2012 09:55:50 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id 7177D8FC16; Tue, 23 Oct 2012 09:55:50 +0000 (UTC) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id BFC2F358C5D; Tue, 23 Oct 2012 11:55:49 +0200 (CEST) Received: by snail.stack.nl (Postfix, from userid 1677) id A59632848C; Tue, 23 Oct 2012 11:55:49 +0200 (CEST) Date: Tue, 23 Oct 2012 11:55:49 +0200 From: Jilles Tjoelker To: Peter Grehan Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve Message-ID: <20121023095549.GA27951@stack.nl> References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> <5085D433.4020101@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5085D433.4020101@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 09:55:51 -0000 On Mon, Oct 22, 2012 at 05:18:11PM -0600, Peter Grehan wrote: > > Case 4 looks wrong. A 32-bit write clears the top 32 bits of the > > register instead of preserving them. > Yep, you're right. How about: > > + case 4: > > + val = (reg & ~0xffffffffUL) | (operand & 0xffffffffUL); > > + break; I think you mean: val = operand & 0xffffffffUL; Right? -- Jilles Tjoelker From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 15:37:54 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5C3B95B6 for ; Tue, 23 Oct 2012 15:37:54 +0000 (UTC) (envelope-from bryan@shatow.net) Received: from secure.xzibition.com (secure.xzibition.com [173.160.118.92]) by mx1.freebsd.org (Postfix) with ESMTP id 178A28FC0A for ; Tue, 23 Oct 2012 15:37:53 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=shatow.net; h=message-id :date:from:mime-version:to:subject:content-type :content-transfer-encoding; q=dns; s=sweb; b=qxeFmlL9gZfUH/KbqyH yxQlxCzZPKOo4VMN6dD7OkDsUjNUozZTX0XXN0dyVBy5oAstZjZy+H5OOvi58XKU AiUtK36QhWKpQc6myDtbws85r7XVUBDhbsbt26gfdAzBWbf+NO30r2JuyDn9QRpo yKIapTTlEKPUtNivsLhOCxYE= DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=shatow.net; h=message-id :date:from:mime-version:to:subject:content-type :content-transfer-encoding; s=sweb; bh=urSb7Ije/T5O3dpQijOa/dTeg eFLIfLNt5ncK8iBDFs=; b=FTJiQotxRoJACUaPJksz3tOChCMharGkgxgkeD2dU dE5i03YoohCtd5Jpn54HOz6NggEfxaphiWwGOmj3zM8OBLmoNxdFrxe/zvA1QHBn Ca4GiGlKWi/ntyx1wybtY/jV3QCigToVnlcBkF5TtQNqtQEuYDABM8OV0oHdw189 m4= Received: (qmail 62009 invoked from network); 23 Oct 2012 10:37:46 -0500 Received: from unknown (HELO ?192.168.0.74?) (bryan@shatow.net@74.94.87.209) by sweb.xzibition.com with ESMTPA; 23 Oct 2012 10:37:46 -0500 Message-ID: <5086B9D2.9030205@shatow.net> Date: Tue, 23 Oct 2012 10:37:54 -0500 From: Bryan Drewery User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: svn-src-projects@freebsd.org Subject: test - ignore X-Enigmail-Version: 1.4.5 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 15:37:54 -0000 Testing pkgng email reporting. From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 15:41:11 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5961C7C7 for ; Tue, 23 Oct 2012 15:41:11 +0000 (UTC) (envelope-from bryan@shatow.net) Received: from smtp1-ext.rs.github.com (smtp1-ext.rs.github.com [207.97.227.250]) by mx1.freebsd.org (Postfix) with ESMTP id 284938FC08 for ; Tue, 23 Oct 2012 15:41:11 +0000 (UTC) Received: from github.com (sh2.rs.github.com [50.57.128.197]) by smtp1-ext.rs.github.com (Postfix) with ESMTP id 67FA6431C0 for ; Tue, 23 Oct 2012 08:41:09 -0700 (PDT) Date: Tue, 23 Oct 2012 08:41:09 -0700 From: Bryan Drewery To: svn-src-projects@freebsd.org Message-ID: <5086ba955a9fb_ddd1635af040784@sh2.rs.github.com.mail> Subject: [pkgng/pkgng] aaaae4: osversion is no longer valid Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="--==_mimepart_5086ba9558165_ddd1635af04059d"; charset=UTF-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Bryan Drewery List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 15:41:11 -0000 ----==_mimepart_5086ba9558165_ddd1635af04059d Date: Tue, 23 Oct 2012 08:41:09 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-ID: <5086ba9559854_ddd1635af040677@sh2.rs.github.com.mail> Branch: refs/heads/master Home: https://github.com/pkgng/pkgng Commit: aaaae41869c18f3ab6e4774fb6ed760432fb2256 https://github.com/pkgng/pkgng/commit/aaaae41869c18f3ab6e4774fb6ed760432fb2256 Author: Bryan Drewery Date: 2012-10-23 (Tue, 23 Oct 2012) Changed paths: M README.md M pkg/pkg-create.8 Log Message: ----------- osversion is no longer valid Commit: 76e6d1eff382f257fbedb6fbb75210fe86ee72a2 https://github.com/pkgng/pkgng/commit/76e6d1eff382f257fbedb6fbb75210fe86ee72a2 Author: Baptiste Daroussin Date: 2012-10-23 (Tue, 23 Oct 2012) Changed paths: M FAQ.md Log Message: ----------- Update the FAQ about /usr/lib/libpkg.so, now the message is about pkg_init where it used to be able pkg_event_register Commit: c5799f6b283cab160eaea9b1e4286b6fce53b87b https://github.com/pkgng/pkgng/commit/c5799f6b283cab160eaea9b1e4286b6fce53b87b Author: Bryan Drewery Date: 2012-10-23 (Tue, 23 Oct 2012) Changed paths: M libpkg/pkg_delete.c Log Message: ----------- When deleting dirs, don't emit errors if unable to remove a mounted dir. rmdir() returns EBUSY only if the directory is mounted. If a user has a directory mounted that appears in a plist, they will need manual intervention to clean it up. This potentially could be /usr or /var if packaging base, so just avoid the warning. Compare: https://github.com/pkgng/pkgng/compare/ef6cc43ff7ae...c5799f6b283c ----==_mimepart_5086ba9558165_ddd1635af04059d-- From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 16:44:51 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C4ED4527; Tue, 23 Oct 2012 16:44:51 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 726C28FC17; Tue, 23 Oct 2012 16:44:51 +0000 (UTC) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by alto.onthenet.com.au (Postfix) with ESMTPS id C95CC11CCF; Wed, 24 Oct 2012 02:44:49 +1000 (EST) Received: from Peter-Grehans-MacBook-Pro.local (c-67-190-8-21.hsd1.co.comcast.net [67.190.8.21]) by dommail.onthenet.com.au (MOS 4.2.4-GA) with ESMTP id BHF78765 (AUTH peterg@ptree32.com.au); Wed, 24 Oct 2012 02:44:40 +1000 Message-ID: <5086C976.9060705@freebsd.org> Date: Tue, 23 Oct 2012 10:44:38 -0600 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 MIME-Version: 1.0 To: Jilles Tjoelker Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> <5085D433.4020101@freebsd.org> <20121023095549.GA27951@stack.nl> In-Reply-To: <20121023095549.GA27951@stack.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Junkmail-Info: RCVD_IN_SORBS_DUL,RDNS_DYNAMIC,SPF_SOFTFAIL X-Junkmail-Status: score=24/51, host=dommail.onthenet.com.au Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 16:44:51 -0000 On 10/23/12 3:55 AM, Jilles Tjoelker wrote: > On Mon, Oct 22, 2012 at 05:18:11PM -0600, Peter Grehan wrote: >>> Case 4 looks wrong. A 32-bit write clears the top 32 bits of the >>> register instead of preserving them. > >> Yep, you're right. How about: > >> > + case 4: >> > + val = (reg & ~0xffffffffUL) | (operand & 0xffffffffUL); >> > + break; > > I think you mean: > val = operand & 0xffffffffUL; > > Right? Don't think so - the high 32 bits of the target register need to be or'd in, as you originally mentioned. later, Peter. From owner-svn-src-projects@FreeBSD.ORG Tue Oct 23 17:13:46 2012 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B47CC3B7; Tue, 23 Oct 2012 17:13:46 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id A31D18FC14; Tue, 23 Oct 2012 17:13:44 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id UAA15107; Tue, 23 Oct 2012 20:13:37 +0300 (EEST) (envelope-from avg@FreeBSD.org) Message-ID: <5086D040.1090307@FreeBSD.org> Date: Tue, 23 Oct 2012 20:13:36 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121014 Thunderbird/16.0.1 MIME-Version: 1.0 To: Peter Grehan Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> <5085D433.4020101@freebsd.org> <20121023095549.GA27951@stack.nl> <5086C976.9060705@freebsd.org> In-Reply-To: <5086C976.9060705@freebsd.org> X-Enigmail-Version: 1.4.5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org, Jilles Tjoelker X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2012 17:13:46 -0000 on 23/10/2012 19:44 Peter Grehan said the following: > On 10/23/12 3:55 AM, Jilles Tjoelker wrote: >> On Mon, Oct 22, 2012 at 05:18:11PM -0600, Peter Grehan wrote: >>>> Case 4 looks wrong. A 32-bit write clears the top 32 bits of the >>>> register instead of preserving them. >> >>> Yep, you're right. How about: >> >>> > + case 4: >>> > + val = (reg & ~0xffffffffUL) | (operand & 0xffffffffUL); >>> > + break; >> >> I think you mean: >> val = operand & 0xffffffffUL; >> >> Right? > > Don't think so - the high 32 bits of the target register need to be or'd in, as > you originally mentioned. If this code emulates something like mov into %eax on AMDD64, then it should clear upper 32-bits of %rax. Which I think your original code already did, but in a less obvious way than Jilles suggested above. But I could be very well confused... -- Andriy Gapon From owner-svn-src-projects@FreeBSD.ORG Wed Oct 24 02:54:22 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 59C059B6; Wed, 24 Oct 2012 02:54:22 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3FFE08FC0C; Wed, 24 Oct 2012 02:54:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9O2sMfp022845; Wed, 24 Oct 2012 02:54:22 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9O2sLl9022839; Wed, 24 Oct 2012 02:54:21 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210240254.q9O2sLl9022839@svn.freebsd.org> From: Neel Natu Date: Wed, 24 Oct 2012 02:54:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241982 - in projects/bhyve/sys/amd64: include vmm vmm/amd vmm/intel X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2012 02:54:22 -0000 Author: neel Date: Wed Oct 24 02:54:21 2012 New Revision: 241982 URL: http://svn.freebsd.org/changeset/base/241982 Log: Maintain state regarding NMI delivery to guest vcpu in VT-x independent manner. Also add a stats counter to count the number of NMIs delivered per vcpu. Obtained from: NetApp Modified: projects/bhyve/sys/amd64/include/vmm.h projects/bhyve/sys/amd64/vmm/amd/amdv.c projects/bhyve/sys/amd64/vmm/intel/vmx.c projects/bhyve/sys/amd64/vmm/intel/vmx.h projects/bhyve/sys/amd64/vmm/vmm.c Modified: projects/bhyve/sys/amd64/include/vmm.h ============================================================================== --- projects/bhyve/sys/amd64/include/vmm.h Wed Oct 24 02:32:06 2012 (r241981) +++ projects/bhyve/sys/amd64/include/vmm.h Wed Oct 24 02:54:21 2012 (r241982) @@ -63,7 +63,6 @@ typedef int (*vmi_set_desc_t)(void *vmi, typedef int (*vmi_inject_event_t)(void *vmi, int vcpu, int type, int vector, uint32_t code, int code_valid); -typedef int (*vmi_inject_nmi_t)(void *vmi, int vcpu); typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval); typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val); @@ -81,7 +80,6 @@ struct vmm_ops { vmi_get_desc_t vmgetdesc; vmi_set_desc_t vmsetdesc; vmi_inject_event_t vminject; - vmi_inject_nmi_t vmnmi; vmi_get_cap_t vmgetcap; vmi_set_cap_t vmsetcap; }; @@ -110,6 +108,8 @@ int vm_run(struct vm *vm, struct vm_run int vm_inject_event(struct vm *vm, int vcpu, int type, int vector, uint32_t error_code, int error_code_valid); int vm_inject_nmi(struct vm *vm, int vcpu); +int vm_nmi_pending(struct vm *vm, int vcpuid); +void vm_nmi_clear(struct vm *vm, int vcpuid); uint64_t *vm_guest_msrs(struct vm *vm, int cpu); struct vlapic *vm_lapic(struct vm *vm, int cpu); int vm_get_capability(struct vm *vm, int vcpu, int type, int *val); Modified: projects/bhyve/sys/amd64/vmm/amd/amdv.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/amd/amdv.c Wed Oct 24 02:32:06 2012 (r241981) +++ projects/bhyve/sys/amd64/vmm/amd/amdv.c Wed Oct 24 02:54:21 2012 (r241982) @@ -136,14 +136,6 @@ amdv_inject_event(void *vmi, int vcpu, i } static int -amdv_nmi(void *arg, int vcpu) -{ - - printf("amdv_nmi: not implemented\n"); - return (EINVAL); -} - -static int amdv_getcap(void *arg, int vcpu, int type, int *retval) { @@ -172,7 +164,6 @@ struct vmm_ops vmm_ops_amd = { amdv_getdesc, amdv_setdesc, amdv_inject_event, - amdv_nmi, amdv_getcap, amdv_setcap }; Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Wed Oct 24 02:32:06 2012 (r241981) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Wed Oct 24 02:54:21 2012 (r241982) @@ -751,7 +751,6 @@ vmx_vminit(struct vm *vm) vmx->cap[i].set = 0; vmx->cap[i].proc_ctls = procbased_ctls; - vmx->state[i].request_nmi = 0; vmx->state[i].lastcpu = -1; vmx->state[i].vpid = vpid; @@ -940,7 +939,7 @@ vmx_inject_nmi(struct vmx *vmx, int vcpu uint64_t info, interruptibility; /* Bail out if no NMI requested */ - if (vmx->state[vcpu].request_nmi == 0) + if (!vm_nmi_pending(vmx->vm, vcpu)) return (0); error = vmread(VMCS_GUEST_INTERRUPTIBILITY, &interruptibility); @@ -965,7 +964,7 @@ vmx_inject_nmi(struct vmx *vmx, int vcpu VMM_CTR0(vmx->vm, vcpu, "Injecting vNMI"); /* Clear the request */ - vmx->state[vcpu].request_nmi = 0; + vm_nmi_clear(vmx->vm, vcpu); return (1); nmiblocked: @@ -1696,16 +1695,6 @@ vmx_inject(void *arg, int vcpu, int type } static int -vmx_nmi(void *arg, int vcpu) -{ - struct vmx *vmx = arg; - - atomic_set_int(&vmx->state[vcpu].request_nmi, 1); - - return (0); -} - -static int vmx_getcap(void *arg, int vcpu, int type, int *retval) { struct vmx *vmx = arg; @@ -1843,7 +1832,6 @@ struct vmm_ops vmm_ops_intel = { vmx_getdesc, vmx_setdesc, vmx_inject, - vmx_nmi, vmx_getcap, vmx_setcap }; Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.h ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.h Wed Oct 24 02:32:06 2012 (r241981) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.h Wed Oct 24 02:54:21 2012 (r241982) @@ -76,7 +76,6 @@ struct vmxcap { }; struct vmxstate { - int request_nmi; int lastcpu; /* host cpu that this 'vcpu' last ran on */ uint16_t vpid; }; Modified: projects/bhyve/sys/amd64/vmm/vmm.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm.c Wed Oct 24 02:32:06 2012 (r241981) +++ projects/bhyve/sys/amd64/vmm/vmm.c Wed Oct 24 02:54:21 2012 (r241982) @@ -77,6 +77,7 @@ struct vcpu { void *stats; struct vm_exit exitinfo; enum x2apic_state x2apic_state; + int nmi_pending; }; #define VCPU_F_PINNED 0x0001 @@ -137,8 +138,6 @@ static struct vmm_ops *ops; (ops != NULL ? (*ops->vmsetdesc)(vmi, vcpu, num, desc) : ENXIO) #define VMINJECT(vmi, vcpu, type, vec, ec, ecv) \ (ops != NULL ? (*ops->vminject)(vmi, vcpu, type, vec, ec, ecv) : ENXIO) -#define VMNMI(vmi, vcpu) \ - (ops != NULL ? (*ops->vmnmi)(vmi, vcpu) : ENXIO) #define VMGETCAP(vmi, vcpu, num, retval) \ (ops != NULL ? (*ops->vmgetcap)(vmi, vcpu, num, retval) : ENXIO) #define VMSETCAP(vmi, vcpu, num, val) \ @@ -710,17 +709,51 @@ vm_inject_event(struct vm *vm, int vcpui return (VMINJECT(vm->cookie, vcpuid, type, vector, code, code_valid)); } +VMM_STAT_DEFINE(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); + int -vm_inject_nmi(struct vm *vm, int vcpu) +vm_inject_nmi(struct vm *vm, int vcpuid) { - int error; + struct vcpu *vcpu; - if (vcpu < 0 || vcpu >= VM_MAXCPU) + if (vcpuid < 0 || vcpuid >= VM_MAXCPU) return (EINVAL); - error = VMNMI(vm->cookie, vcpu); - vm_interrupt_hostcpu(vm, vcpu); - return (error); + vcpu = &vm->vcpu[vcpuid]; + + vcpu->nmi_pending = 1; + vm_interrupt_hostcpu(vm, vcpuid); + return (0); +} + +int +vm_nmi_pending(struct vm *vm, int vcpuid) +{ + struct vcpu *vcpu; + + if (vcpuid < 0 || vcpuid >= VM_MAXCPU) + panic("vm_nmi_pending: invalid vcpuid %d", vcpuid); + + vcpu = &vm->vcpu[vcpuid]; + + return (vcpu->nmi_pending); +} + +void +vm_nmi_clear(struct vm *vm, int vcpuid) +{ + struct vcpu *vcpu; + + if (vcpuid < 0 || vcpuid >= VM_MAXCPU) + panic("vm_nmi_pending: invalid vcpuid %d", vcpuid); + + vcpu = &vm->vcpu[vcpuid]; + + if (vcpu->nmi_pending == 0) + panic("vm_nmi_clear: inconsistent nmi_pending state"); + + vcpu->nmi_pending = 0; + vmm_stat_incr(vm, vcpuid, VCPU_NMI_COUNT, 1); } int From owner-svn-src-projects@FreeBSD.ORG Wed Oct 24 05:41:11 2012 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 503102D8; Wed, 24 Oct 2012 05:41:11 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 00F328FC08; Wed, 24 Oct 2012 05:41:10 +0000 (UTC) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by alto.onthenet.com.au (Postfix) with ESMTPS id 5282411CCC; Wed, 24 Oct 2012 15:41:03 +1000 (EST) Received: from Peter-Grehans-MacBook-Pro.local (c-67-190-8-21.hsd1.co.comcast.net [67.190.8.21]) by dommail.onthenet.com.au (MOS 4.2.4-GA) with ESMTP id BHG17617 (AUTH peterg@ptree32.com.au); Wed, 24 Oct 2012 15:40:59 +1000 Message-ID: <50877F67.1040409@freebsd.org> Date: Tue, 23 Oct 2012 23:40:55 -0600 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 MIME-Version: 1.0 To: Andriy Gapon Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> <5085D433.4020101@freebsd.org> <20121023095549.GA27951@stack.nl> <5086C976.9060705@freebsd.org> <5086D040.1090307@FreeBSD.org> In-Reply-To: <5086D040.1090307@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Junkmail-Info: RCVD_IN_SORBS_DUL,RDNS_DYNAMIC,SPF_SOFTFAIL X-Junkmail-Status: score=24/51, host=dommail.onthenet.com.au Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org, Jilles Tjoelker X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2012 05:41:11 -0000 Hi Andriy, > If this code emulates something like mov into %eax on AMDD64, then it should clear > upper 32-bits of %rax. Which I think your original code already did, but in a > less obvious way than Jilles suggested above. > But I could be very well confused... The 0x88/0x89 forms of the MOV instruction don't touch bytes outside of the operand size. later, Peter. From owner-svn-src-projects@FreeBSD.ORG Wed Oct 24 06:24:07 2012 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 952E7F41; Wed, 24 Oct 2012 06:24:07 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 71AB08FC0C; Wed, 24 Oct 2012 06:24:06 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id JAA21222; Wed, 24 Oct 2012 09:24:04 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1TQuNo-000Hjr-8p; Wed, 24 Oct 2012 09:24:04 +0300 Message-ID: <50878982.8090604@FreeBSD.org> Date: Wed, 24 Oct 2012 09:24:02 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121013 Thunderbird/16.0.1 MIME-Version: 1.0 To: Peter Grehan Subject: Re: svn commit: r241744 - projects/bhyve/usr.sbin/bhyve References: <201210191811.q9JIBIQu049356@svn.freebsd.org> <20121021121006.GA96141@stack.nl> <5085D433.4020101@freebsd.org> <20121023095549.GA27951@stack.nl> <5086C976.9060705@freebsd.org> <5086D040.1090307@FreeBSD.org> <50877F67.1040409@freebsd.org> In-Reply-To: <50877F67.1040409@freebsd.org> X-Enigmail-Version: 1.4.5 Mail-Followup-To: Peter Grehan , Jilles Tjoelker , src-committers@freebsd.org, svn-src-projects@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org, Jilles Tjoelker X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2012 06:24:07 -0000 on 24/10/2012 08:40 Peter Grehan said the following: > Hi Andriy, > >> If this code emulates something like mov into %eax on AMDD64, then it should >> clear >> upper 32-bits of %rax. Which I think your original code already did, but in a >> less obvious way than Jilles suggested above. >> But I could be very well confused... > > The 0x88/0x89 forms of the MOV instruction don't touch bytes outside of the > operand size. They do (if I am not confusing the opcodes) in the 32-bit destination register case. This is called implicit zero extension. This is not documented in the MOV instruction section (at least in the AMD manual), but it is documented in appendix B.1 'General Rules for 64-Bit Mode': Zero-Extension of 32-Bit Results: Operations on 32-bit operands in 64-bit mode zero-extend the high 32 bits of 64-bit GPR destination registers. 8-bit/16-bit operations still have the historic semantics. -- Andriy Gapon From owner-svn-src-projects@FreeBSD.ORG Thu Oct 25 03:39:37 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 72B66979; Thu, 25 Oct 2012 03:39:37 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5746E8FC0A; Thu, 25 Oct 2012 03:39:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9P3dbKT063653; Thu, 25 Oct 2012 03:39:37 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9P3dbDC063651; Thu, 25 Oct 2012 03:39:37 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210250339.q9P3dbDC063651@svn.freebsd.org> From: Neel Natu Date: Thu, 25 Oct 2012 03:39:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242059 - projects/bhyve/usr.sbin/vmmctl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2012 03:39:37 -0000 Author: neel Date: Thu Oct 25 03:39:36 2012 New Revision: 242059 URL: http://svn.freebsd.org/changeset/base/242059 Log: Fix typo: host_rip -> host_rsp Obtained from: NetApp Modified: projects/bhyve/usr.sbin/vmmctl/vmmctl.c Modified: projects/bhyve/usr.sbin/vmmctl/vmmctl.c ============================================================================== --- projects/bhyve/usr.sbin/vmmctl/vmmctl.c Thu Oct 25 03:30:16 2012 (r242058) +++ projects/bhyve/usr.sbin/vmmctl/vmmctl.c Thu Oct 25 03:39:36 2012 (r242059) @@ -1404,7 +1404,7 @@ main(int argc, char *argv[]) if (!error && (get_host_rsp || get_all)) { error = vm_get_vmcs_field(ctx, vcpu, VMCS_HOST_RSP, &rsp); if (error == 0) - printf("host_rip[%d]\t\t0x%016lx\n", vcpu, rsp); + printf("host_rsp[%d]\t\t0x%016lx\n", vcpu, rsp); } if (!error && (get_guest_sysenter || get_all)) { From owner-svn-src-projects@FreeBSD.ORG Thu Oct 25 04:08:27 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 39824F0B; Thu, 25 Oct 2012 04:08:27 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 22C2A8FC0C; Thu, 25 Oct 2012 04:08:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9P48Q9F068793; Thu, 25 Oct 2012 04:08:26 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9P48QLj068791; Thu, 25 Oct 2012 04:08:26 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210250408.q9P48QLj068791@svn.freebsd.org> From: Neel Natu Date: Thu, 25 Oct 2012 04:08:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242060 - projects/bhyve/sys/amd64/vmm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2012 04:08:27 -0000 Author: neel Date: Thu Oct 25 04:08:26 2012 New Revision: 242060 URL: http://svn.freebsd.org/changeset/base/242060 Log: Hide the monitor/mwait instruction capability from the guest until we know how to properly intercept it. Obtained from: NetApp Modified: projects/bhyve/sys/amd64/vmm/x86.c Modified: projects/bhyve/sys/amd64/vmm/x86.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/x86.c Thu Oct 25 03:39:36 2012 (r242059) +++ projects/bhyve/sys/amd64/vmm/x86.c Thu Oct 25 04:08:26 2012 (r242060) @@ -128,6 +128,12 @@ x86_emulate_cpuid(struct vm *vm, int vcp CPUID2_AVX); /* + * Hide monitor/mwait until we know how to deal with + * these instructions. + */ + regs[2] &= ~CPUID2_MON; + + /* * Hide thermal monitoring */ regs[3] &= ~(CPUID_ACPI | CPUID_TM); From owner-svn-src-projects@FreeBSD.ORG Thu Oct 25 04:29:22 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1DF93795; Thu, 25 Oct 2012 04:29:22 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 057E08FC0C; Thu, 25 Oct 2012 04:29:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9P4TLZ2072803; Thu, 25 Oct 2012 04:29:21 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9P4TLbG072800; Thu, 25 Oct 2012 04:29:21 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210250429.q9P4TLbG072800@svn.freebsd.org> From: Neel Natu Date: Thu, 25 Oct 2012 04:29:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242065 - in projects/bhyve/sys/amd64/vmm: . intel X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2012 04:29:22 -0000 Author: neel Date: Thu Oct 25 04:29:21 2012 New Revision: 242065 URL: http://svn.freebsd.org/changeset/base/242065 Log: If the guest vcpu wants to idle then use that opportunity to relinquish the host cpu to the scheduler until the guest is ready to run again. This implies that the host cpu utilization will now closely mirror the actual load imposed by the guest vcpu. Also, the vcpu mutex now needs to be of type MTX_SPIN since we need to acquire it inside a critical section. Obtained from: NetApp Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c projects/bhyve/sys/amd64/vmm/vmm.c Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Oct 25 04:21:05 2012 (r242064) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Oct 25 04:29:21 2012 (r242065) @@ -159,6 +159,8 @@ static int cap_monitor_trap; /* statistics */ static VMM_STAT_DEFINE(VCPU_MIGRATIONS, "vcpu migration across host cpus"); static VMM_STAT_DEFINE(VMEXIT_EXTINT, "vm exits due to external interrupt"); +static VMM_STAT_DEFINE(VMEXIT_HLT_IGNORED, "number of times hlt was ignored"); +static VMM_STAT_DEFINE(VMEXIT_HLT, "number of times hlt was intercepted"); #ifdef KTR static const char * @@ -1203,11 +1205,11 @@ vmx_lapic_fault(struct vm *vm, int cpu, static int vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) { - int handled; + int error, handled; struct vmcs *vmcs; struct vmxctx *vmxctx; uint32_t eax, ecx, edx; - uint64_t qual, gpa, cr3; + uint64_t qual, gpa, cr3, intr_info; handled = 0; vmcs = &vmx->vmcs[vcpu]; @@ -1240,7 +1242,20 @@ vmx_exit_process(struct vmx *vmx, int vc } break; case EXIT_REASON_HLT: - vmexit->exitcode = VM_EXITCODE_HLT; + vmm_stat_incr(vmx->vm, vcpu, VMEXIT_HLT, 1); + /* + * If there is an event waiting to be injected then there is + * no need to 'hlt'. + */ + error = vmread(VMCS_ENTRY_INTR_INFO, &intr_info); + if (error) + panic("vmx_exit_process: vmread(intrinfo) %d", error); + + if (intr_info & VMCS_INTERRUPTION_INFO_VALID) { + handled = 1; + vmm_stat_incr(vmx->vm, vcpu, VMEXIT_HLT_IGNORED, 1); + } else + vmexit->exitcode = VM_EXITCODE_HLT; break; case EXIT_REASON_MTF: vmexit->exitcode = VM_EXITCODE_MTRAP; Modified: projects/bhyve/sys/amd64/vmm/vmm.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm.c Thu Oct 25 04:21:05 2012 (r242064) +++ projects/bhyve/sys/amd64/vmm/vmm.c Thu Oct 25 04:29:21 2012 (r242065) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include "vmm_msr.h" #include "vmm_ipi.h" #include "vmm_stat.h" +#include "vmm_lapic.h" #include "io/ppt.h" #include "io/iommu.h" @@ -92,9 +93,9 @@ do { \ vm->vcpu[vcpuid].pincpu = host_cpuid; \ } while(0) -#define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_DEF) -#define vcpu_lock(v) mtx_lock(&((v)->mtx)) -#define vcpu_unlock(v) mtx_unlock(&((v)->mtx)) +#define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) +#define vcpu_lock(v) mtx_lock_spin(&((v)->mtx)) +#define vcpu_unlock(v) mtx_unlock_spin(&((v)->mtx)) #define VM_MAX_MEMORY_SEGMENTS 2 @@ -651,13 +652,16 @@ save_guest_fpustate(struct vcpu *vcpu) fpu_start_emulating(); } +static VMM_STAT_DEFINE(VCPU_IDLE_TICKS, "number of ticks vcpu was idle"); + int vm_run(struct vm *vm, struct vm_run *vmrun) { - int error, vcpuid; + int error, vcpuid, sleepticks, t; struct vcpu *vcpu; struct pcb *pcb; - uint64_t tscval; + uint64_t tscval, rip; + struct vm_exit *vme; vcpuid = vmrun->cpuid; @@ -665,7 +669,9 @@ vm_run(struct vm *vm, struct vm_run *vmr return (EINVAL); vcpu = &vm->vcpu[vcpuid]; - + vme = &vmrun->vm_exit; + rip = vmrun->rip; +restart: critical_enter(); tscval = rdtsc(); @@ -677,7 +683,7 @@ vm_run(struct vm *vm, struct vm_run *vmr restore_guest_fpustate(vcpu); vcpu->hostcpu = curcpu; - error = VMRUN(vm->cookie, vcpuid, vmrun->rip); + error = VMRUN(vm->cookie, vcpuid, rip); vcpu->hostcpu = NOCPU; save_guest_fpustate(vcpu); @@ -686,10 +692,52 @@ vm_run(struct vm *vm, struct vm_run *vmr vmm_stat_incr(vm, vcpuid, VCPU_TOTAL_RUNTIME, rdtsc() - tscval); /* copy the exit information */ - bcopy(&vcpu->exitinfo, &vmrun->vm_exit, sizeof(struct vm_exit)); + bcopy(&vcpu->exitinfo, vme, sizeof(struct vm_exit)); critical_exit(); + /* + * Oblige the guest's desire to 'hlt' by sleeping until the vcpu + * is ready to run. + */ + if (error == 0 && vme->exitcode == VM_EXITCODE_HLT) { + vcpu_lock(vcpu); + + /* + * Figure out the number of host ticks until the next apic + * timer interrupt in the guest. + */ + sleepticks = lapic_timer_tick(vm, vcpuid); + + /* + * If the guest local apic timer is disabled then sleep for + * a long time but not forever. + */ + if (sleepticks < 0) + sleepticks = hz; + + /* + * Do a final check for pending NMI or interrupts before + * really putting this thread to sleep. + * + * These interrupts could have happened any time after we + * returned from VMRUN() and before we grabbed the vcpu lock. + */ + if (!vm_nmi_pending(vm, vcpuid) && + lapic_pending_intr(vm, vcpuid) < 0) { + if (sleepticks <= 0) + panic("invalid sleepticks %d", sleepticks); + t = ticks; + msleep_spin(vcpu, &vcpu->mtx, "vmidle", sleepticks); + vmm_stat_incr(vm, vcpuid, VCPU_IDLE_TICKS, ticks - t); + } + + vcpu_unlock(vcpu); + + rip = vme->rip + vme->inst_length; + goto restart; + } + return (error); } @@ -709,7 +757,7 @@ vm_inject_event(struct vm *vm, int vcpui return (VMINJECT(vm->cookie, vcpuid, type, vector, code, code_valid)); } -VMM_STAT_DEFINE(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); +static VMM_STAT_DEFINE(VCPU_NMI_COUNT, "number of NMIs delivered to vcpu"); int vm_inject_nmi(struct vm *vm, int vcpuid) @@ -935,16 +983,25 @@ vm_interrupt_hostcpu(struct vm *vm, int vcpu = &vm->vcpu[vcpuid]; - /* - * XXX racy but the worst case is that we'll send an unnecessary IPI - * to the 'hostcpu'. - * - * We cannot use vcpu_is_running() here because it acquires vcpu->mtx - * which is not allowed inside a critical section. - */ + vcpu_lock(vcpu); hostcpu = vcpu->hostcpu; - if (hostcpu == NOCPU || hostcpu == curcpu) - return; - - ipi_cpu(hostcpu, vmm_ipinum); + if (hostcpu == NOCPU) { + /* + * If the vcpu is 'RUNNING' but without a valid 'hostcpu' then + * the host thread must be sleeping waiting for an event to + * kick the vcpu out of 'hlt'. + * + * XXX this is racy because the condition exists right before + * and after calling VMRUN() in vm_run(). The wakeup() is + * benign in this case. + */ + if (vcpu->state == VCPU_RUNNING) + wakeup_one(vcpu); + } else { + if (vcpu->state != VCPU_RUNNING) + panic("invalid vcpu state %d", vcpu->state); + if (hostcpu != curcpu) + ipi_cpu(hostcpu, vmm_ipinum); + } + vcpu_unlock(vcpu); } From owner-svn-src-projects@FreeBSD.ORG Fri Oct 26 03:12:41 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D44093BD; Fri, 26 Oct 2012 03:12:41 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A338A8FC12; Fri, 26 Oct 2012 03:12:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9Q3CfEX009025; Fri, 26 Oct 2012 03:12:41 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9Q3Cfwh009022; Fri, 26 Oct 2012 03:12:41 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210260312.q9Q3Cfwh009022@svn.freebsd.org> From: Neel Natu Date: Fri, 26 Oct 2012 03:12:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242122 - in projects/bhyve/sys/amd64/vmm: . intel X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2012 03:12:41 -0000 Author: neel Date: Fri Oct 26 03:12:40 2012 New Revision: 242122 URL: http://svn.freebsd.org/changeset/base/242122 Log: Unconditionally enable fpu emulation by setting CR0.TS in the host after the guest does a vm exit. This allows us to trap any fpu access in the host context while the fpu still has "dirty" state belonging to the guest. Reported by: "s vas" on freebsd-virtualization@ Obtained from: NetApp Modified: projects/bhyve/sys/amd64/vmm/intel/vmcs.c projects/bhyve/sys/amd64/vmm/vmm.c Modified: projects/bhyve/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmcs.c Fri Oct 26 03:02:39 2012 (r242121) +++ projects/bhyve/sys/amd64/vmm/intel/vmcs.c Fri Oct 26 03:12:40 2012 (r242122) @@ -367,7 +367,15 @@ vmcs_set_defaults(struct vmcs *vmcs, goto done; /* Load the control registers */ - cr0 = rcr0(); + + /* + * We always want CR0.TS to be set when the processor does a VM exit. + * + * With emulation turned on unconditionally after a VM exit, we are + * able to trap inadvertent use of the FPU until the guest FPU state + * has been safely squirreled away. + */ + cr0 = rcr0() | CR0_TS; if ((error = vmwrite(VMCS_HOST_CR0, cr0)) != 0) goto done; Modified: projects/bhyve/sys/amd64/vmm/vmm.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm.c Fri Oct 26 03:02:39 2012 (r242121) +++ projects/bhyve/sys/amd64/vmm/vmm.c Fri Oct 26 03:12:40 2012 (r242122) @@ -640,14 +640,27 @@ restore_guest_fpustate(struct vcpu *vcpu /* flush host state to the pcb */ fpuexit(curthread); + + /* restore guest FPU state */ fpu_stop_emulating(); fpurestore(vcpu->guestfpu); + + /* + * The FPU is now "dirty" with the guest's state so turn on emulation + * to trap any access to the FPU by the host. + */ + fpu_start_emulating(); } static void save_guest_fpustate(struct vcpu *vcpu) { + if ((rcr0() & CR0_TS) == 0) + panic("fpu emulation not enabled in host!"); + + /* save guest FPU state */ + fpu_stop_emulating(); fpusave(vcpu->guestfpu); fpu_start_emulating(); } From owner-svn-src-projects@FreeBSD.ORG Fri Oct 26 13:40:13 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2ADA0E4A; Fri, 26 Oct 2012 13:40:13 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 129068FC14; Fri, 26 Oct 2012 13:40:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9QDeD3I009849; Fri, 26 Oct 2012 13:40:13 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9QDeC9E009838; Fri, 26 Oct 2012 13:40:12 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201210261340.q9QDeC9E009838@svn.freebsd.org> From: Peter Grehan Date: Fri, 26 Oct 2012 13:40:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242131 - in projects/bhyve: lib/libvmmapi usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2012 13:40:13 -0000 Author: grehan Date: Fri Oct 26 13:40:12 2012 New Revision: 242131 URL: http://svn.freebsd.org/changeset/base/242131 Log: Remove mptable generation code from libvmmapi and move it to bhyve. Firmware tables require too much knowledge of system configuration, and it's difficult to pass that information in general terms to a library. The upcoming ACPI work exposed this - it will also livein bhyve. Also, remove code specific to NetApp from the mptable name, and remove the -n option from bhyve. Reviewed by: neel Obtained from: NetApp Added: projects/bhyve/usr.sbin/bhyve/mptbl.c - copied, changed from r242130, projects/bhyve/lib/libvmmapi/mptable.c projects/bhyve/usr.sbin/bhyve/mptbl.h (contents, props changed) Deleted: projects/bhyve/lib/libvmmapi/mptable.c projects/bhyve/lib/libvmmapi/mptable.h Modified: projects/bhyve/lib/libvmmapi/Makefile projects/bhyve/lib/libvmmapi/vmmapi.c projects/bhyve/lib/libvmmapi/vmmapi.h projects/bhyve/usr.sbin/bhyve/Makefile projects/bhyve/usr.sbin/bhyve/fbsdrun.c projects/bhyve/usr.sbin/bhyve/fbsdrun.h projects/bhyve/usr.sbin/bhyve/pci_emul.c projects/bhyve/usr.sbin/bhyve/pci_emul.h Modified: projects/bhyve/lib/libvmmapi/Makefile ============================================================================== --- projects/bhyve/lib/libvmmapi/Makefile Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/lib/libvmmapi/Makefile Fri Oct 26 13:40:12 2012 (r242131) @@ -1,7 +1,7 @@ # $FreeBSD$ LIB= vmmapi -SRCS= vmmapi.c vmmapi_freebsd.c mptable.c +SRCS= vmmapi.c vmmapi_freebsd.c INCS= vmmapi.h WARNS?= 2 Modified: projects/bhyve/lib/libvmmapi/vmmapi.c ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi.c Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/lib/libvmmapi/vmmapi.c Fri Oct 26 13:40:12 2012 (r242131) @@ -47,10 +47,6 @@ __FBSDID("$FreeBSD$"); #include #include "vmmapi.h" -#include "mptable.h" - -#define BIOS_ROM_BASE (0xf0000) -#define BIOS_ROM_SIZE (0x10000) struct vmctx { int fd; @@ -329,15 +325,6 @@ vm_inject_event2(struct vmctx *ctx, int } int -vm_build_tables(struct vmctx *ctxt, int ncpu, int ioapic, - void *oemtbl, int oemtblsz) -{ - - return (vm_build_mptable(ctxt, BIOS_ROM_BASE, BIOS_ROM_SIZE, ncpu, - ioapic, oemtbl, oemtblsz)); -} - -int vm_apicid2vcpu(struct vmctx *ctx, int apicid) { /* Modified: projects/bhyve/lib/libvmmapi/vmmapi.h ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi.h Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/lib/libvmmapi/vmmapi.h Fri Oct 26 13:40:12 2012 (r242131) @@ -60,8 +60,6 @@ int vm_get_pinning(struct vmctx *ctx, in int vm_set_pinning(struct vmctx *ctx, int vcpu, int host_cpuid); int vm_run(struct vmctx *ctx, int vcpu, uint64_t rip, struct vm_exit *ret_vmexit); -int vm_build_tables(struct vmctx *ctxt, int ncpus, int ioapic, - void *oemtbl, int oemtblsz); int vm_apicid2vcpu(struct vmctx *ctx, int apicid); int vm_inject_event(struct vmctx *ctx, int vcpu, enum vm_event_type type, int vector); Modified: projects/bhyve/usr.sbin/bhyve/Makefile ============================================================================== --- projects/bhyve/usr.sbin/bhyve/Makefile Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/usr.sbin/bhyve/Makefile Fri Oct 26 13:40:12 2012 (r242131) @@ -5,7 +5,7 @@ PROG= bhyve SRCS= atpic.c consport.c dbgport.c elcr.c fbsdrun.c inout.c -SRCS+= instruction_emul.c ioapic.c mem.c mevent.c +SRCS+= instruction_emul.c ioapic.c mem.c mevent.c mptbl.c SRCS+= pci_emul.c pci_hostbridge.c pci_passthru.c pci_virtio_block.c SRCS+= pci_virtio_net.c pci_uart.c pit_8254.c post.c rtc.c uart.c xmsr.c SRCS+= spinup_ap.c Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/fbsdrun.c Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/usr.sbin/bhyve/fbsdrun.c Fri Oct 26 13:40:12 2012 (r242131) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include "dbgport.h" #include "mem.h" #include "mevent.h" +#include "mptbl.h" #include "pci_emul.h" #include "xmsr.h" #include "instruction_emul.h" @@ -99,9 +100,6 @@ static const int BSP = 0; static int cpumask; -static void *oem_tbl_start; -static int oem_tbl_size; - static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); struct vm_exit vmexit[VM_MAXCPU]; @@ -144,7 +142,6 @@ usage(int code) " -z: guest hz (default is %d)\n" " -s: PCI slot config\n" " -S: legacy PCI slot config\n" - " -n: PCI slot naming\n" " -m: lowmem in MB\n" " -M: highmem in MB\n" " -x: mux vcpus to 1 hcpu\n" @@ -168,13 +165,6 @@ paddr_guest2host(uintptr_t gaddr) return (NULL); } -void -fbsdrun_add_oemtbl(void *tbl, int tblsz) -{ - oem_tbl_start = tbl; - oem_tbl_size = tblsz; -} - int fbsdrun_disable_x2apic(void) { @@ -615,9 +605,6 @@ main(int argc, char *argv[]) case 'S': pci_parse_slot(optarg, 1); break; - case 'n': - pci_parse_name(optarg); - break; case 'm': lomem_sz = strtoul(optarg, NULL, 0) * MB; break; @@ -731,7 +718,7 @@ main(int argc, char *argv[]) /* * build the guest tables, MP etc. */ - vm_build_tables(ctx, guest_ncpus, ioapic, oem_tbl_start, oem_tbl_size); + mptable_build(ctx, guest_ncpus, ioapic); /* * Add CPU 0 Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.h ============================================================================== --- projects/bhyve/usr.sbin/bhyve/fbsdrun.h Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/usr.sbin/bhyve/fbsdrun.h Fri Oct 26 13:40:12 2012 (r242131) @@ -46,7 +46,6 @@ extern u_long lomem_sz, himem_sz; void *paddr_guest2host(uintptr_t); void fbsdrun_addcpu(struct vmctx *ctx, int cpu, uint64_t rip); -void fbsdrun_add_oemtbl(void *tbl, int tblsz); int fbsdrun_muxed(void); int fbsdrun_vmexit_on_hlt(void); int fbsdrun_vmexit_on_pause(void); Copied and modified: projects/bhyve/usr.sbin/bhyve/mptbl.c (from r242130, projects/bhyve/lib/libvmmapi/mptable.c) ============================================================================== --- projects/bhyve/lib/libvmmapi/mptable.c Fri Oct 26 12:46:33 2012 (r242130, copy source) +++ projects/bhyve/usr.sbin/bhyve/mptbl.c Fri Oct 26 13:40:12 2012 (r242131) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2011 NetApp, Inc. + * Copyright (c) 2012 NetApp, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,108 +30,153 @@ __FBSDID("$FreeBSD$"); #include -#include +#include +#include #include #include -#include -#include -#include "vmmapi.h" -#include "mptable.h" +#include "fbsdrun.h" +#include "mptbl.h" -#define LAPIC_PADDR (0xFEE00000) -#define LAPIC_VERSION (16) +#define MPTABLE_BASE 0xF0000 -#define IOAPIC_PADDR (0xFEC00000) -#define IOAPIC_VERSION (0x11) +#define LAPIC_PADDR 0xFEE00000 +#define LAPIC_VERSION 16 -extern int errno; +#define IOAPIC_PADDR 0xFEC00000 +#define IOAPIC_VERSION 0x11 + +#define MP_SPECREV 4 +#define MPFP_SIG "_MP_" + +/* Configuration header defines */ +#define MPCH_SIG "PCMP" +#define MPCH_OEMID "BHyVe " +#define MPCH_OEMID_LEN 8 +#define MPCH_PRODID "Hypervisor " +#define MPCH_PRODID_LEN 12 + +/* Processor entry defines */ +#define MPEP_SIG_FAMILY 6 /* XXX bhyve should supply this */ +#define MPEP_SIG_MODEL 26 +#define MPEP_SIG_STEPPING 5 +#define MPEP_SIG \ + ((MPEP_SIG_FAMILY << 8) | \ + (MPEP_SIG_MODEL << 4) | \ + (MPEP_SIG_STEPPING)) + +#define MPEP_FEATURES (0xBFEBFBFF) /* XXX Intel i7 */ + +/* Define processor entry struct since gets it wrong */ +typedef struct BPROCENTRY { + u_char type; + u_char apic_id; + u_char apic_version; + u_char cpu_flags; + uint32_t cpu_signature; + uint32_t feature_flags; + uint32_t reserved1; + uint32_t reserved2; +} *bproc_entry_ptr; +CTASSERT(sizeof(struct BPROCENTRY) == 20); + +/* Bus entry defines */ +#define MPE_NUM_BUSES 2 +#define MPE_BUSNAME_LEN 6 +#define MPE_BUSNAME_ISA "ISA " +#define MPE_BUSNAME_PCI "PCI " + +static void *oem_tbl_start; +static int oem_tbl_size; static uint8_t -mp_compute_checksum(void *base, size_t len) +mpt_compute_checksum(void *base, size_t len) { - uint8_t *bytes = base; - uint8_t sum = 0; - for(; len > 0; len--) { + uint8_t *bytes; + uint8_t sum; + + for(bytes = base, sum = 0; len > 0; len--) { sum += *bytes++; } - return 256 - sum; + + return (256 - sum); } static void -mp_build_mpfp(struct mp_floating_pointer *mpfp, vm_paddr_t mpfp_gpa) +mpt_build_mpfp(mpfps_t mpfp, vm_paddr_t gpa) { + memset(mpfp, 0, sizeof(*mpfp)); - memcpy(mpfp->signature, MPFP_SIGNATURE, MPFP_SIGNATURE_LEN); - mpfp->mptable_paddr = mpfp_gpa + sizeof(*mpfp); - mpfp->specrev = MP_SPECREV; - mpfp->feature2 = 0; - mpfp->checksum = mp_compute_checksum(mpfp, sizeof(*mpfp)); + memcpy(mpfp->signature, MPFP_SIG, 4); + mpfp->pap = gpa + sizeof(*mpfp); + mpfp->length = 1; + mpfp->spec_rev = MP_SPECREV; + mpfp->checksum = mpt_compute_checksum(mpfp, sizeof(*mpfp)); } static void -mp_build_mpch(struct mp_config_hdr *mpch) +mpt_build_mpch(mpcth_t mpch) { - memset(mpch, 0, sizeof(*mpch)); - mpch->specrev = MP_SPECREV; - memcpy(mpch->signature, MPCH_SIGNATURE, MPCH_SIGNATURE_LEN); - memcpy(mpch->oemid, MPCH_OEMID, MPCH_OEMID_LEN); - memcpy(mpch->prodid, MPCH_PRODID, MPCH_PRODID_LEN); - mpch->lapic_paddr = LAPIC_PADDR; - + memset(mpch, 0, sizeof(*mpch)); + memcpy(mpch->signature, MPCH_SIG, 4); + mpch->spec_rev = MP_SPECREV; + memcpy(mpch->oem_id, MPCH_OEMID, MPCH_OEMID_LEN); + memcpy(mpch->product_id, MPCH_PRODID, MPCH_PRODID_LEN); + mpch->apic_address = LAPIC_PADDR; } static void -mp_build_proc_entries(struct mpe_proc *mpep, int num_proc) +mpt_build_proc_entries(bproc_entry_ptr mpep, int ncpu) { int i; - for (i = 0; i < num_proc; i++) { + for (i = 0; i < ncpu; i++) { memset(mpep, 0, sizeof(*mpep)); - mpep->entry_type = MP_ENTRY_PROC; - mpep->lapic_id = i; // XXX - mpep->lapic_version = LAPIC_VERSION; - mpep->proc_flags = (i == 0)?MPEP_FLAGS_BSP:0; - mpep->proc_flags |= MPEP_FLAGS_EN; - mpep->proc_signature = MPEP_SIGNATURE; + mpep->type = MPCT_ENTRY_PROCESSOR; + mpep->apic_id = i; // XXX + mpep->apic_version = LAPIC_VERSION; + mpep->cpu_flags = PROCENTRY_FLAG_EN; + if (i == 0) + mpep->cpu_flags |= PROCENTRY_FLAG_BP; + mpep->cpu_signature = MPEP_SIG; mpep->feature_flags = MPEP_FEATURES; mpep++; } - } static void -mp_build_bus_entries(struct mpe_bus *mpeb) +mpt_build_bus_entries(bus_entry_ptr mpeb) { + memset(mpeb, 0, sizeof(*mpeb)); - mpeb->entry_type = MP_ENTRY_BUS; - mpeb->busid = MPE_BUSID_ISA; - memcpy(mpeb->busname, MPE_BUSNAME_ISA, MPE_BUSNAME_LEN); + mpeb->type = MPCT_ENTRY_BUS; + mpeb->bus_id = ISA; + memcpy(mpeb->bus_type, MPE_BUSNAME_ISA, MPE_BUSNAME_LEN); mpeb++; memset(mpeb, 0, sizeof(*mpeb)); - mpeb->entry_type = MP_ENTRY_BUS; - mpeb->busid = MPE_BUSID_PCI; - memcpy(mpeb->busname, MPE_BUSNAME_PCI, MPE_BUSNAME_LEN); - + mpeb->type = MPCT_ENTRY_BUS; + mpeb->bus_id = PCI; + memcpy(mpeb->bus_type, MPE_BUSNAME_PCI, MPE_BUSNAME_LEN); } static void -mp_build_ioapic_entries(struct mpe_ioapic *mpei, int id) +mpt_build_ioapic_entries(io_apic_entry_ptr mpei, int id) { + memset(mpei, 0, sizeof(*mpei)); - mpei->entry_type = MP_ENTRY_IOAPIC; - mpei->ioapic_id = id; - mpei->ioapic_version = IOAPIC_VERSION; - mpei->ioapic_flags = MPE_IOAPIC_FLAG_EN; - mpei->ioapic_paddr = IOAPIC_PADDR; + mpei->type = MPCT_ENTRY_IOAPIC; + mpei->apic_id = id; + mpei->apic_version = IOAPIC_VERSION; + mpei->apic_flags = IOAPICENTRY_FLAG_EN; + mpei->apic_address = IOAPIC_PADDR; } #ifdef notyet static void -mp_build_ioint_entries(struct mpe_ioint *mpeii, int num_pins, int id) +mpt_build_ioint_entries(struct mpe_ioint *mpeii, int num_pins, int id) { int pin; @@ -150,8 +195,8 @@ mp_build_ioint_entries(struct mpe_ioint mpeii->dst_apic_id = id; /* - * All default configs route IRQs from bus 0 to the first 16 pins - * of the first I/O APIC with an APIC ID of 2. + * All default configs route IRQs from bus 0 to the first 16 + * pins of the first I/O APIC with an APIC ID of 2. */ mpeii->dst_apic_intin = pin; switch (pin) { @@ -187,7 +232,6 @@ mp_build_ioint_entries(struct mpe_ioint memcpy(dest, src, bytes); \ str[bytes] = 0; - static void mptable_dump(struct mp_floating_pointer *mpfp, struct mp_config_hdr *mpch) { @@ -208,15 +252,15 @@ mptable_dump(struct mp_floating_pointer printf(" MP Floating Pointer :\n"); COPYSTR(str, mpfp->signature, 4); - printf(" signature: %s\n", str); - printf(" mpch paddr: %x\n", mpfp->mptable_paddr); - printf(" length: %x\n", mpfp->length); - printf(" specrec: %x\n", mpfp->specrev); - printf(" checksum: %x\n", mpfp->checksum); - printf(" feature1: %x\n", mpfp->feature1); - printf(" feature2: %x\n", mpfp->feature2); - printf(" feature3: %x\n", mpfp->feature3); - printf(" feature4: %x\n", mpfp->feature4); + printf("\tsignature:\t%s\n", str); + printf("\tmpch paddr:\t%x\n", mpfp->mptable_paddr); + printf("\tlength:\t%x\n", mpfp->length); + printf("\tspecrec:\t%x\n", mpfp->specrev); + printf("\tchecksum:\t%x\n", mpfp->checksum); + printf("\tfeature1:\t%x\n", mpfp->feature1); + printf("\tfeature2:\t%x\n", mpfp->feature2); + printf("\tfeature3:\t%x\n", mpfp->feature3); + printf("\tfeature4:\t%x\n", mpfp->feature4); printf(" MP Configuration Header :\n"); COPYSTR(str, mpch->signature, 4); @@ -283,60 +327,72 @@ mptable_dump(struct mp_floating_pointer } #endif +void +mptable_add_oemtbl(void *tbl, int tblsz) +{ + + oem_tbl_start = tbl; + oem_tbl_size = tblsz; +} + int -vm_build_mptable(struct vmctx *ctx, vm_paddr_t gpa, int len, int ncpu, - int ioapic, void *oemp, int oemsz) +mptable_build(struct vmctx *ctx, int ncpu, int ioapic) { - struct mp_config_hdr *mpch; - char *mapaddr; + mpcth_t mpch; + bus_entry_ptr mpeb; + io_apic_entry_ptr mpei; + bproc_entry_ptr mpep; + mpfps_t mpfp; + char *curraddr; char *startaddr; - int error; - mapaddr = vm_map_memory(ctx, gpa, len); - if (mapaddr == MAP_FAILED) { - printf("%s\n", strerror(errno)); - goto err; + if (paddr_guest2host(0) == NULL) { + printf("mptable requires mapped mem\n"); + return (ENOMEM); } - startaddr = mapaddr; - mp_build_mpfp((struct mp_floating_pointer*) mapaddr, gpa); - mapaddr += sizeof(struct mp_floating_pointer); + startaddr = curraddr = paddr_guest2host(MPTABLE_BASE); - mpch = (struct mp_config_hdr*)mapaddr; - mp_build_mpch(mpch); - mapaddr += sizeof(struct mp_config_hdr); - - mp_build_proc_entries((struct mpe_proc*) mapaddr, ncpu); - mapaddr += (sizeof(struct mpe_proc)*ncpu); - mpch->nr_entries += ncpu; - - mp_build_bus_entries((struct mpe_bus*)mapaddr); - mapaddr += (sizeof(struct mpe_bus)*MPE_NUM_BUSES); - mpch->nr_entries += MPE_NUM_BUSES; + mpfp = (mpfps_t)curraddr; + mpt_build_mpfp(mpfp, MPTABLE_BASE); + curraddr += sizeof(*mpfp); + + mpch = (mpcth_t)curraddr; + mpt_build_mpch(mpch); + curraddr += sizeof(*mpch); + + mpep = (bproc_entry_ptr)curraddr; + mpt_build_proc_entries(mpep, ncpu); + curraddr += sizeof(*mpep) * ncpu; + mpch->entry_count += ncpu; + + mpeb = (bus_entry_ptr) curraddr; + mpt_build_bus_entries(mpeb); + curraddr += sizeof(*mpeb) * MPE_NUM_BUSES; + mpch->entry_count += MPE_NUM_BUSES; if (ioapic) { - mp_build_ioapic_entries((struct mpe_ioapic*)mapaddr, ncpu + 1); - mapaddr += sizeof(struct mpe_ioapic); - mpch->nr_entries++; + mpei = (io_apic_entry_ptr)curraddr; + mpt_build_ioapic_entries(mpei, ncpu + 1); + curraddr += sizeof(*mpei); + mpch->entry_count++; } #ifdef notyet - mp_build_ioint_entries((struct mpe_ioint*)mapaddr, MPEII_MAX_IRQ, + mpt_build_ioint_entries((struct mpe_ioint*)curraddr, MPEII_MAX_IRQ, ncpu + 1); - mapaddr += sizeof(struct mpe_ioint)*MPEII_MAX_IRQ; - mpch->nr_entries += MPEII_MAX_IRQ; - + curraddr += sizeof(struct mpe_ioint) * MPEII_MAX_IRQ; + mpch->entry_count += MPEII_MAX_IRQ; #endif - if (oemp) { - mpch->oem_ptr = mapaddr - startaddr + gpa; - mpch->oem_sz = oemsz; - memcpy(mapaddr, oemp, oemsz); + + if (oem_tbl_start) { + mpch->oem_table_pointer = curraddr - startaddr + MPTABLE_BASE; + mpch->oem_table_size = oem_tbl_size; + memcpy(curraddr, oem_tbl_start, oem_tbl_size); } - mpch->length = (mapaddr) - ((char*) mpch); - mpch->checksum = mp_compute_checksum(mpch, sizeof(*mpch)); + mpch->base_table_length = curraddr - (char *)mpch; + mpch->checksum = mpt_compute_checksum(mpch, sizeof(*mpch)); - // mptable_dump((struct mp_floating_pointer*)startaddr, mpch); -err: - return (error); + return (0); } Added: projects/bhyve/usr.sbin/bhyve/mptbl.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve/usr.sbin/bhyve/mptbl.h Fri Oct 26 13:40:12 2012 (r242131) @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2012 NetApp, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MPTBL_H_ +#define _MPTBL_H_ + +int mptable_build(struct vmctx *ctx, int ncpu, int ioapic); +void mptable_add_oemtbl(void *tbl, int tblsz); + +#endif /* _MPTBL_H_ */ Modified: projects/bhyve/usr.sbin/bhyve/pci_emul.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pci_emul.c Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/usr.sbin/bhyve/pci_emul.c Fri Oct 26 13:40:12 2012 (r242131) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include "fbsdrun.h" #include "inout.h" #include "mem.h" +#include "mptbl.h" #include "pci_emul.h" #include "ioapic.h" @@ -69,10 +70,6 @@ static struct slotinfo { char *si_name; char *si_param; struct pci_devinst *si_devi; - int si_titled; - int si_pslot; - char si_prefix; - char si_suffix; int si_legacy; } pci_slotinfo[MAXSLOTS][MAXFUNCS]; @@ -87,37 +84,6 @@ static struct lirqinfo { struct pci_devinst *li_owner; /* XXX should be a list */ } lirq[NLIRQ]; -/* - * NetApp specific: - * struct used to build an in-core OEM table to supply device names - * to driver instances - */ -static struct mptable_pci_devnames { -#define MPT_HDR_BASE 0 -#define MPT_HDR_NAME 2 - uint16_t md_hdrtype; - uint16_t md_entries; - uint16_t md_cksum; - uint16_t md_pad; -#define MPT_NTAP_SIG \ - ((uint32_t)(('P' << 24) | ('A' << 16) | ('T' << 8) | 'N')) - uint32_t md_sig; - uint32_t md_rsvd; - struct mptable_pci_slotinfo { - uint16_t mds_type; - uint16_t mds_phys_slot; - uint8_t mds_bus; - uint8_t mds_slot; - uint8_t mds_func; - uint8_t mds_pad; - uint16_t mds_vid; - uint16_t mds_did; - uint8_t mds_suffix[4]; - uint8_t mds_prefix[4]; - uint32_t mds_rsvd[3]; - } md_slotinfo[MAXSLOTS * MAXFUNCS]; -} pci_devnames; - SET_DECLARE(pci_devemu_set, struct pci_devemu); static uint64_t pci_emul_iobase; @@ -134,7 +100,6 @@ static uint64_t pci_emul_membase64; #define PCI_EMUL_MEMLIMIT64 0xFD00000000UL static int pci_emul_devices; -static int devname_elems; /* * I/O access @@ -201,169 +166,6 @@ pci_parse_slot(char *opt, int legacy) } } -/* - * - * PCI MPTable names are of the form: - * - * [:],[prefix] - * - * .. with an alphabetic char, a 1 or 2-digit string, - * and a single char. - * - * Examples: - * 1,e0c - * 4:0,e0P - * 4:1,e0M - * 6,43a - * 7,0f - * 10,1 - * 2,12a - * - * Note that this is NetApp-specific, but is ignored on other o/s's. - */ -static void -pci_parse_name_usage(char *aopt) -{ - printf("Invalid PCI slot name field \"%s\"\n", aopt); -} - -void -pci_parse_name(char *opt) -{ - char csnum[4]; - char *namestr; - char *slotend, *funcend, *funcstart; - char prefix, suffix; - int i; - int pslot; - int snum, fnum; - - pslot = -1; - prefix = suffix = 0; - - slotend = strchr(opt, ':'); - if (slotend != NULL) { - funcstart = slotend + 1; - funcend = strchr(funcstart, ','); - } else { - slotend = strchr(opt, ','); - funcstart = funcend = NULL; - } - - /* - * A comma must be present, and can't be the first character - * or no slot would be present. Also, the slot number can't be - * more than 2 characters. - */ - if (slotend == NULL || slotend == opt || (slotend - opt > 2)) { - pci_parse_name_usage(opt); - return; - } - - for (i = 0; i < (slotend - opt); i++) { - csnum[i] = opt[i]; - } - csnum[i] = '\0'; - - snum = atoi(csnum); - if (snum < 0 || snum >= MAXSLOTS) { - pci_parse_name_usage(opt); - return; - } - - /* - * Parse the function number (if provided) - * - * A comma must be present and can't be the first character. - * The function cannot be greater than a single character and - * must be between '0' and '7' inclusive. - */ - if (funcstart != NULL) { - if (funcend == NULL || funcend != funcstart + 1 || - *funcstart < '0' || *funcstart > '7') { - pci_parse_name_usage(opt); - return; - } - fnum = *funcstart - '0'; - } else { - fnum = 0; - } - - namestr = funcend ? funcend + 1 : slotend + 1; - - if (strlen(namestr) > 3) { - pci_parse_name_usage(opt); - return; - } - - if (isalpha(*namestr)) { - prefix = *namestr++; - } - - if (!isdigit(*namestr)) { - pci_parse_name_usage(opt); - } else { - pslot = *namestr++ - '0'; - if (isnumber(*namestr)) { - pslot = 10*pslot + *namestr++ - '0'; - - } - if (isalpha(*namestr) && *(namestr + 1) == 0) { - suffix = *namestr; - pci_slotinfo[snum][fnum].si_titled = 1; - pci_slotinfo[snum][fnum].si_pslot = pslot; - pci_slotinfo[snum][fnum].si_prefix = prefix; - pci_slotinfo[snum][fnum].si_suffix = suffix; - } else { - pci_parse_name_usage(opt); - } - } -} - -static void -pci_add_mptable_name(struct slotinfo *si) -{ - struct mptable_pci_slotinfo *ms; - - /* - * If naming information has been supplied for this slot, populate - * the next available mptable OEM entry - */ - if (si->si_titled) { - ms = &pci_devnames.md_slotinfo[devname_elems]; - - ms->mds_type = MPT_HDR_NAME; - ms->mds_phys_slot = si->si_pslot; - ms->mds_bus = si->si_devi->pi_bus; - ms->mds_slot = si->si_devi->pi_slot; - ms->mds_func = si->si_devi->pi_func; - ms->mds_vid = pci_get_cfgdata16(si->si_devi, PCIR_VENDOR); - ms->mds_did = pci_get_cfgdata16(si->si_devi, PCIR_DEVICE); - ms->mds_suffix[0] = si->si_suffix; - ms->mds_prefix[0] = si->si_prefix; - - devname_elems++; - } -} - -static void -pci_finish_mptable_names(void) -{ - int size; - - if (devname_elems) { - pci_devnames.md_hdrtype = MPT_HDR_BASE; - pci_devnames.md_entries = devname_elems; - pci_devnames.md_cksum = 0; /* XXX */ - pci_devnames.md_sig = MPT_NTAP_SIG; - - size = (uintptr_t)&pci_devnames.md_slotinfo[devname_elems] - - (uintptr_t)&pci_devnames; - - fbsdrun_add_oemtbl(&pci_devnames, size); - } -} - static int pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg) @@ -835,12 +637,10 @@ init_pci(struct vmctx *ctx) if (pde != NULL) { pci_emul_init(ctx, pde, slot, func, si->si_param); - pci_add_mptable_name(si); } } } } - pci_finish_mptable_names(); /* * Allow ISA IRQs 5,10,11,12, and 15 to be available for Modified: projects/bhyve/usr.sbin/bhyve/pci_emul.h ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pci_emul.h Fri Oct 26 12:46:33 2012 (r242130) +++ projects/bhyve/usr.sbin/bhyve/pci_emul.h Fri Oct 26 13:40:12 2012 (r242131) @@ -168,7 +168,6 @@ int pci_lintr_request(struct pci_devinst int pci_msi_enabled(struct pci_devinst *pi); int pci_msix_enabled(struct pci_devinst *pi); int pci_msi_msgnum(struct pci_devinst *pi); -void pci_parse_name(char *opt); void pci_parse_slot(char *opt, int legacy); void pci_populate_msicap(struct msicap *cap, int msgs, int nextptr); From owner-svn-src-projects@FreeBSD.ORG Fri Oct 26 22:32:27 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C69346B; Fri, 26 Oct 2012 22:32:27 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 85A8A8FC14; Fri, 26 Oct 2012 22:32:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9QMWR95019175; Fri, 26 Oct 2012 22:32:27 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9QMWRnA019173; Fri, 26 Oct 2012 22:32:27 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201210262232.q9QMWRnA019173@svn.freebsd.org> From: Peter Grehan Date: Fri, 26 Oct 2012 22:32:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242163 - projects/bhyve/sys/amd64/vmm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2012 22:32:27 -0000 Author: grehan Date: Fri Oct 26 22:32:26 2012 New Revision: 242163 URL: http://svn.freebsd.org/changeset/base/242163 Log: Set the valid field of the newly allocated field as all other vm page allocators do. This fixes a panic when a virtio block device is mounted as root, with the host system dying in vm_page_dirty with invalid bits. Reviewed by: neel Obtained from: NetApp Modified: projects/bhyve/sys/amd64/vmm/vmm_mem.c Modified: projects/bhyve/sys/amd64/vmm/vmm_mem.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm_mem.c Fri Oct 26 21:25:10 2012 (r242162) +++ projects/bhyve/sys/amd64/vmm/vmm_mem.c Fri Oct 26 22:32:26 2012 (r242163) @@ -99,6 +99,7 @@ vmm_mem_alloc(size_t size) if ((m->flags & PG_ZERO) == 0) pagezero((void *)PHYS_TO_DMAP(pa)); + m->valid = VM_PAGE_BITS_ALL; update_pages_allocated(1); From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 02:10:46 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1158FE5D; Sat, 27 Oct 2012 02:10:46 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E74218FC17; Sat, 27 Oct 2012 02:10:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9R2Aju5060021; Sat, 27 Oct 2012 02:10:45 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9R2Aj5Y060016; Sat, 27 Oct 2012 02:10:45 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201210270210.q9R2Aj5Y060016@svn.freebsd.org> From: Peter Grehan Date: Sat, 27 Oct 2012 02:10:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242169 - in projects/bhyve/usr.sbin: . bhyvectl vmmctl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 02:10:46 -0000 Author: grehan Date: Sat Oct 27 02:10:45 2012 New Revision: 242169 URL: http://svn.freebsd.org/changeset/base/242169 Log: Rename vmmctl to bhyvectl. 'vmmctl' came from a pre-bhyve internal codebase at NetApp. No need for it to have an unrelated name to the other userspace utils. Reviewed by: neel Obtained from: NetApp Added: projects/bhyve/usr.sbin/bhyvectl/ - copied from r242162, projects/bhyve/usr.sbin/vmmctl/ projects/bhyve/usr.sbin/bhyvectl/bhyvectl.c - copied unchanged from r242162, projects/bhyve/usr.sbin/vmmctl/vmmctl.c Deleted: projects/bhyve/usr.sbin/bhyvectl/vmmctl.c projects/bhyve/usr.sbin/vmmctl/ Modified: projects/bhyve/usr.sbin/Makefile.amd64 projects/bhyve/usr.sbin/bhyvectl/Makefile projects/bhyve/usr.sbin/bhyvectl/sample.sh Modified: projects/bhyve/usr.sbin/Makefile.amd64 ============================================================================== --- projects/bhyve/usr.sbin/Makefile.amd64 Sat Oct 27 01:24:25 2012 (r242168) +++ projects/bhyve/usr.sbin/Makefile.amd64 Sat Oct 27 02:10:45 2012 (r242169) @@ -32,5 +32,5 @@ SUBDIR+= spkrtest .if ${MK_SYSINSTALL} != "no" SUBDIR+= sade .endif -SUBDIR+= vmmctl +SUBDIR+= bhyvectl SUBDIR+= zzz Modified: projects/bhyve/usr.sbin/bhyvectl/Makefile ============================================================================== --- projects/bhyve/usr.sbin/vmmctl/Makefile Fri Oct 26 21:25:10 2012 (r242162) +++ projects/bhyve/usr.sbin/bhyvectl/Makefile Sat Oct 27 02:10:45 2012 (r242169) @@ -2,8 +2,8 @@ # $FreeBSD$ # -PROG= vmmctl -SRCS= vmmctl.c +PROG= bhyvectl +SRCS= bhyvectl.c NO_MAN= Copied: projects/bhyve/usr.sbin/bhyvectl/bhyvectl.c (from r242162, projects/bhyve/usr.sbin/vmmctl/vmmctl.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve/usr.sbin/bhyvectl/bhyvectl.c Sat Oct 27 02:10:45 2012 (r242169, copy of r242162, projects/bhyve/usr.sbin/vmmctl/vmmctl.c) @@ -0,0 +1,1524 @@ +/*- + * Copyright (c) 2011 NetApp, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "intel/vmcs.h" + +#define MB (1UL << 20) +#define GB (1UL << 30) + +#define REQ_ARG required_argument +#define NO_ARG no_argument +#define OPT_ARG optional_argument + +static const char *progname; + +static void +usage(void) +{ + + (void)fprintf(stderr, + "Usage: %s --vm=\n" + " [--cpu=]\n" + " [--create]\n" + " [--destroy]\n" + " [--get-all]\n" + " [--get-stats]\n" + " [--set-desc-ds]\n" + " [--get-desc-ds]\n" + " [--set-desc-es]\n" + " [--get-desc-es]\n" + " [--set-desc-gs]\n" + " [--get-desc-gs]\n" + " [--set-desc-fs]\n" + " [--get-desc-fs]\n" + " [--set-desc-cs]\n" + " [--get-desc-cs]\n" + " [--set-desc-ss]\n" + " [--get-desc-ss]\n" + " [--set-desc-tr]\n" + " [--get-desc-tr]\n" + " [--set-desc-ldtr]\n" + " [--get-desc-ldtr]\n" + " [--set-desc-gdtr]\n" + " [--get-desc-gdtr]\n" + " [--set-desc-idtr]\n" + " [--get-desc-idtr]\n" + " [--run]\n" + " [--capname=]\n" + " [--getcap]\n" + " [--setcap=<0|1>]\n" + " [--desc-base=]\n" + " [--desc-limit=]\n" + " [--desc-access=]\n" + " [--set-cr0=]\n" + " [--get-cr0]\n" + " [--set-cr3=]\n" + " [--get-cr3]\n" + " [--set-cr4=]\n" + " [--get-cr4]\n" + " [--set-dr7=]\n" + " [--get-dr7]\n" + " [--set-rsp=]\n" + " [--get-rsp]\n" + " [--set-rip=]\n" + " [--get-rip]\n" + " [--get-rax]\n" + " [--set-rax=]\n" + " [--get-rbx]\n" + " [--get-rcx]\n" + " [--get-rdx]\n" + " [--get-rsi]\n" + " [--get-rdi]\n" + " [--get-rbp]\n" + " [--get-r8]\n" + " [--get-r9]\n" + " [--get-r10]\n" + " [--get-r11]\n" + " [--get-r12]\n" + " [--get-r13]\n" + " [--get-r14]\n" + " [--get-r15]\n" + " [--set-rflags=]\n" + " [--get-rflags]\n" + " [--set-cs]\n" + " [--get-cs]\n" + " [--set-ds]\n" + " [--get-ds]\n" + " [--set-es]\n" + " [--get-es]\n" + " [--set-fs]\n" + " [--get-fs]\n" + " [--set-gs]\n" + " [--get-gs]\n" + " [--set-ss]\n" + " [--get-ss]\n" + " [--get-tr]\n" + " [--get-ldtr]\n" + " [--get-vmcs-pinbased-ctls]\n" + " [--get-vmcs-procbased-ctls]\n" + " [--get-vmcs-procbased-ctls2]\n" + " [--get-vmcs-entry-interruption-info]\n" + " [--set-vmcs-entry-interruption-info=]\n" + " [--get-vmcs-eptp]\n" + " [--get-vmcs-guest-physical-address\n" + " [--get-vmcs-guest-linear-address\n" + " [--set-vmcs-exception-bitmap]\n" + " [--get-vmcs-exception-bitmap]\n" + " [--get-vmcs-io-bitmap-address]\n" + " [--get-vmcs-tsc-offset]\n" + " [--get-vmcs-guest-pat]\n" + " [--get-vmcs-host-pat]\n" + " [--get-vmcs-host-cr0]\n" + " [--get-vmcs-host-cr3]\n" + " [--get-vmcs-host-cr4]\n" + " [--get-vmcs-host-rip]\n" + " [--get-vmcs-host-rsp]\n" + " [--get-vmcs-cr0-mask]\n" + " [--get-vmcs-cr0-shadow]\n" + " [--get-vmcs-cr4-mask]\n" + " [--get-vmcs-cr4-shadow]\n" + " [--get-vmcs-cr3-targets]\n" + " [--get-vmcs-apic-access-address]\n" + " [--get-vmcs-virtual-apic-address]\n" + " [--get-vmcs-tpr-threshold]\n" + " [--get-vmcs-msr-bitmap]\n" + " [--get-vmcs-msr-bitmap-address]\n" + " [--get-vmcs-vpid]\n" + " [--get-vmcs-ple-gap]\n" + " [--get-vmcs-ple-window]\n" + " [--get-vmcs-instruction-error]\n" + " [--get-vmcs-exit-ctls]\n" + " [--get-vmcs-entry-ctls]\n" + " [--get-vmcs-guest-sysenter]\n" + " [--get-vmcs-link]\n" + " [--get-vmcs-exit-reason]\n" + " [--get-vmcs-exit-qualification]\n" + " [--get-vmcs-exit-interruption-info]\n" + " [--get-vmcs-exit-interruption-error]\n" + " [--get-vmcs-interruptibility]\n" + " [--set-pinning=]\n" + " [--get-pinning]\n" + " [--set-x2apic-state=]\n" + " [--get-x2apic-state]\n" + " [--set-lowmem=]\n" + " [--get-lowmem]\n" + " [--set-highmem=]\n" + " [--get-highmem]\n", + progname); + exit(1); +} + +static int get_stats, getcap, setcap, capval; +static const char *capname; +static int create, destroy, get_lowmem, get_highmem; +static uint64_t lowmem, highmem; +static int set_cr0, get_cr0, set_cr3, get_cr3, set_cr4, get_cr4; +static int set_efer, get_efer; +static int set_dr7, get_dr7; +static int set_rsp, get_rsp, set_rip, get_rip, set_rflags, get_rflags; +static int set_rax, get_rax; +static int get_rbx, get_rcx, get_rdx, get_rsi, get_rdi, get_rbp; +static int get_r8, get_r9, get_r10, get_r11, get_r12, get_r13, get_r14, get_r15; +static int set_desc_ds, get_desc_ds; +static int set_desc_es, get_desc_es; +static int set_desc_fs, get_desc_fs; +static int set_desc_gs, get_desc_gs; +static int set_desc_cs, get_desc_cs; +static int set_desc_ss, get_desc_ss; +static int set_desc_gdtr, get_desc_gdtr; +static int set_desc_idtr, get_desc_idtr; +static int set_desc_tr, get_desc_tr; +static int set_desc_ldtr, get_desc_ldtr; +static int set_cs, set_ds, set_es, set_fs, set_gs, set_ss, set_tr, set_ldtr; +static int get_cs, get_ds, get_es, get_fs, get_gs, get_ss, get_tr, get_ldtr; +static int set_pinning, get_pinning, pincpu; +static int set_x2apic_state, get_x2apic_state; +enum x2apic_state x2apic_state; +static int run; + +/* + * VMCS-specific fields + */ +static int get_pinbased_ctls, get_procbased_ctls, get_procbased_ctls2; +static int get_eptp, get_io_bitmap, get_tsc_offset; +static int get_vmcs_entry_interruption_info, set_vmcs_entry_interruption_info; +static int get_vmcs_interruptibility; +uint32_t vmcs_entry_interruption_info; +static int get_vmcs_gpa, get_vmcs_gla; +static int get_exception_bitmap, set_exception_bitmap, exception_bitmap; +static int get_cr0_mask, get_cr0_shadow; +static int get_cr4_mask, get_cr4_shadow; +static int get_cr3_targets; +static int get_apic_access_addr, get_virtual_apic_addr, get_tpr_threshold; +static int get_msr_bitmap, get_msr_bitmap_address; +static int get_vpid, get_ple_gap, get_ple_window; +static int get_inst_err, get_exit_ctls, get_entry_ctls; +static int get_host_cr0, get_host_cr3, get_host_cr4; +static int get_host_rip, get_host_rsp; +static int get_guest_pat, get_host_pat; +static int get_guest_sysenter, get_vmcs_link; +static int get_vmcs_exit_reason, get_vmcs_exit_qualification; +static int get_vmcs_exit_interruption_info, get_vmcs_exit_interruption_error; + +static uint64_t desc_base; +static uint32_t desc_limit, desc_access; + +static int get_all; + +static void +dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu) +{ + printf("vm exit[%d]\n", vcpu); + printf("\trip\t\t0x%016lx\n", vmexit->rip); + printf("\tinst_length\t%d\n", vmexit->inst_length); + switch (vmexit->exitcode) { + case VM_EXITCODE_INOUT: + printf("\treason\t\tINOUT\n"); + printf("\tdirection\t%s\n", vmexit->u.inout.in ? "IN" : "OUT"); + printf("\tbytes\t\t%d\n", vmexit->u.inout.bytes); + printf("\tflags\t\t%s%s\n", + vmexit->u.inout.string ? "STRING " : "", + vmexit->u.inout.rep ? "REP " : ""); + printf("\tport\t\t0x%04x\n", vmexit->u.inout.port); + printf("\teax\t\t0x%08x\n", vmexit->u.inout.eax); + break; + case VM_EXITCODE_VMX: + printf("\treason\t\tVMX\n"); + printf("\terror\t\t%d\n", vmexit->u.vmx.error); + printf("\texit_reason\t0x%08x (%u)\n", + vmexit->u.vmx.exit_reason, vmexit->u.vmx.exit_reason); + printf("\tqualification\t0x%016lx\n", + vmexit->u.vmx.exit_qualification); + break; + default: + printf("*** unknown vm run exitcode %d\n", vmexit->exitcode); + break; + } +} + +static int +dump_vmcs_msr_bitmap(int vcpu, u_long addr) +{ + int error, fd, byte, bit, readable, writeable; + u_int msr; + const char *bitmap; + + error = -1; + bitmap = MAP_FAILED; + + fd = open("/dev/mem", O_RDONLY, 0); + if (fd < 0) + goto done; + + bitmap = mmap(NULL, PAGE_SIZE, PROT_READ, 0, fd, addr); + if (bitmap == MAP_FAILED) + goto done; + + for (msr = 0; msr < 0x2000; msr++) { + byte = msr / 8; + bit = msr & 0x7; + + /* Look at MSRs in the range 0x00000000 to 0x00001FFF */ + readable = (bitmap[byte] & (1 << bit)) ? 0 : 1; + writeable = (bitmap[2048 + byte] & (1 << bit)) ? 0 : 1; + if (readable || writeable) { + printf("msr 0x%08x[%d]\t\t%c%c\n", msr, vcpu, + readable ? 'R' : '-', + writeable ? 'W' : '-'); + } + + /* Look at MSRs in the range 0xC0000000 to 0xC0001FFF */ + byte += 1024; + readable = (bitmap[byte] & (1 << bit)) ? 0 : 1; + writeable = (bitmap[2048 + byte] & (1 << bit)) ? 0 : 1; + if (readable || writeable) { + printf("msr 0x%08x[%d]\t\t%c%c\n", + 0xc0000000 + msr, vcpu, + readable ? 'R' : '-', + writeable ? 'W' : '-'); + } + } + + error = 0; +done: + if (bitmap != MAP_FAILED) + munmap((void *)bitmap, PAGE_SIZE); + if (fd >= 0) + close(fd); + return (error); +} + +static int +vm_get_vmcs_field(struct vmctx *ctx, int vcpu, int field, uint64_t *ret_val) +{ + + return (vm_get_register(ctx, vcpu, VMCS_IDENT(field), ret_val)); +} + +static int +vm_set_vmcs_field(struct vmctx *ctx, int vcpu, int field, uint64_t val) +{ + + return (vm_set_register(ctx, vcpu, VMCS_IDENT(field), val)); +} + +enum { + VMNAME = 1000, /* avoid collision with return values from getopt */ + VCPU, + SET_LOWMEM, + SET_HIGHMEM, + SET_EFER, + SET_CR0, + SET_CR3, + SET_CR4, + SET_DR7, + SET_RSP, + SET_RIP, + SET_RAX, + SET_RFLAGS, + DESC_BASE, + DESC_LIMIT, + DESC_ACCESS, + SET_CS, + SET_DS, + SET_ES, + SET_FS, + SET_GS, + SET_SS, + SET_TR, + SET_LDTR, + SET_PINNING, + SET_X2APIC_STATE, + SET_VMCS_EXCEPTION_BITMAP, + SET_VMCS_ENTRY_INTERRUPTION_INFO, + SET_CAP, + CAPNAME, +}; + +int +main(int argc, char *argv[]) +{ + char *vmname; + int error, ch, vcpu; + vm_paddr_t gpa; + size_t len; + struct vm_exit vmexit; + uint64_t ctl, eptp, bm, addr, u64; + struct vmctx *ctx; + + uint64_t cr0, cr3, cr4, dr7, rsp, rip, rflags, efer, pat; + uint64_t rax, rbx, rcx, rdx, rsi, rdi, rbp; + uint64_t r8, r9, r10, r11, r12, r13, r14, r15; + uint64_t cs, ds, es, fs, gs, ss, tr, ldtr; + + struct option opts[] = { + { "vm", REQ_ARG, 0, VMNAME }, + { "cpu", REQ_ARG, 0, VCPU }, + { "set-lowmem", REQ_ARG, 0, SET_LOWMEM }, + { "set-highmem",REQ_ARG, 0, SET_HIGHMEM }, + { "set-efer", REQ_ARG, 0, SET_EFER }, + { "set-cr0", REQ_ARG, 0, SET_CR0 }, + { "set-cr3", REQ_ARG, 0, SET_CR3 }, + { "set-cr4", REQ_ARG, 0, SET_CR4 }, + { "set-dr7", REQ_ARG, 0, SET_DR7 }, + { "set-rsp", REQ_ARG, 0, SET_RSP }, + { "set-rip", REQ_ARG, 0, SET_RIP }, + { "set-rax", REQ_ARG, 0, SET_RAX }, + { "set-rflags", REQ_ARG, 0, SET_RFLAGS }, + { "desc-base", REQ_ARG, 0, DESC_BASE }, + { "desc-limit", REQ_ARG, 0, DESC_LIMIT }, + { "desc-access",REQ_ARG, 0, DESC_ACCESS }, + { "set-cs", REQ_ARG, 0, SET_CS }, + { "set-ds", REQ_ARG, 0, SET_DS }, + { "set-es", REQ_ARG, 0, SET_ES }, + { "set-fs", REQ_ARG, 0, SET_FS }, + { "set-gs", REQ_ARG, 0, SET_GS }, + { "set-ss", REQ_ARG, 0, SET_SS }, + { "set-tr", REQ_ARG, 0, SET_TR }, + { "set-ldtr", REQ_ARG, 0, SET_LDTR }, + { "set-pinning",REQ_ARG, 0, SET_PINNING }, + { "set-x2apic-state",REQ_ARG, 0, SET_X2APIC_STATE }, + { "set-vmcs-exception-bitmap", + REQ_ARG, 0, SET_VMCS_EXCEPTION_BITMAP }, + { "set-vmcs-entry-interruption-info", + REQ_ARG, 0, SET_VMCS_ENTRY_INTERRUPTION_INFO }, + { "capname", REQ_ARG, 0, CAPNAME }, + { "setcap", REQ_ARG, 0, SET_CAP }, + { "getcap", NO_ARG, &getcap, 1 }, + { "get-stats", NO_ARG, &get_stats, 1 }, + { "get-desc-ds",NO_ARG, &get_desc_ds, 1 }, + { "set-desc-ds",NO_ARG, &set_desc_ds, 1 }, + { "get-desc-es",NO_ARG, &get_desc_es, 1 }, + { "set-desc-es",NO_ARG, &set_desc_es, 1 }, + { "get-desc-ss",NO_ARG, &get_desc_ss, 1 }, + { "set-desc-ss",NO_ARG, &set_desc_ss, 1 }, + { "get-desc-cs",NO_ARG, &get_desc_cs, 1 }, + { "set-desc-cs",NO_ARG, &set_desc_cs, 1 }, + { "get-desc-fs",NO_ARG, &get_desc_fs, 1 }, + { "set-desc-fs",NO_ARG, &set_desc_fs, 1 }, + { "get-desc-gs",NO_ARG, &get_desc_gs, 1 }, + { "set-desc-gs",NO_ARG, &set_desc_gs, 1 }, + { "get-desc-tr",NO_ARG, &get_desc_tr, 1 }, + { "set-desc-tr",NO_ARG, &set_desc_tr, 1 }, + { "set-desc-ldtr", NO_ARG, &set_desc_ldtr, 1 }, + { "get-desc-ldtr", NO_ARG, &get_desc_ldtr, 1 }, + { "set-desc-gdtr", NO_ARG, &set_desc_gdtr, 1 }, + { "get-desc-gdtr", NO_ARG, &get_desc_gdtr, 1 }, + { "set-desc-idtr", NO_ARG, &set_desc_idtr, 1 }, + { "get-desc-idtr", NO_ARG, &get_desc_idtr, 1 }, + { "get-lowmem", NO_ARG, &get_lowmem, 1 }, + { "get-highmem",NO_ARG, &get_highmem, 1 }, + { "get-efer", NO_ARG, &get_efer, 1 }, + { "get-cr0", NO_ARG, &get_cr0, 1 }, + { "get-cr3", NO_ARG, &get_cr3, 1 }, + { "get-cr4", NO_ARG, &get_cr4, 1 }, + { "get-dr7", NO_ARG, &get_dr7, 1 }, + { "get-rsp", NO_ARG, &get_rsp, 1 }, + { "get-rip", NO_ARG, &get_rip, 1 }, + { "get-rax", NO_ARG, &get_rax, 1 }, + { "get-rbx", NO_ARG, &get_rbx, 1 }, + { "get-rcx", NO_ARG, &get_rcx, 1 }, + { "get-rdx", NO_ARG, &get_rdx, 1 }, + { "get-rsi", NO_ARG, &get_rsi, 1 }, + { "get-rdi", NO_ARG, &get_rdi, 1 }, + { "get-rbp", NO_ARG, &get_rbp, 1 }, + { "get-r8", NO_ARG, &get_r8, 1 }, + { "get-r9", NO_ARG, &get_r9, 1 }, + { "get-r10", NO_ARG, &get_r10, 1 }, + { "get-r11", NO_ARG, &get_r11, 1 }, + { "get-r12", NO_ARG, &get_r12, 1 }, + { "get-r13", NO_ARG, &get_r13, 1 }, + { "get-r14", NO_ARG, &get_r14, 1 }, + { "get-r15", NO_ARG, &get_r15, 1 }, + { "get-rflags", NO_ARG, &get_rflags, 1 }, + { "get-cs", NO_ARG, &get_cs, 1 }, + { "get-ds", NO_ARG, &get_ds, 1 }, + { "get-es", NO_ARG, &get_es, 1 }, + { "get-fs", NO_ARG, &get_fs, 1 }, + { "get-gs", NO_ARG, &get_gs, 1 }, + { "get-ss", NO_ARG, &get_ss, 1 }, + { "get-tr", NO_ARG, &get_tr, 1 }, + { "get-ldtr", NO_ARG, &get_ldtr, 1 }, + { "get-vmcs-pinbased-ctls", + NO_ARG, &get_pinbased_ctls, 1 }, + { "get-vmcs-procbased-ctls", + NO_ARG, &get_procbased_ctls, 1 }, + { "get-vmcs-procbased-ctls2", + NO_ARG, &get_procbased_ctls2, 1 }, + { "get-vmcs-guest-linear-address", + NO_ARG, &get_vmcs_gla, 1 }, + { "get-vmcs-guest-physical-address", + NO_ARG, &get_vmcs_gpa, 1 }, + { "get-vmcs-entry-interruption-info", + NO_ARG, &get_vmcs_entry_interruption_info, 1}, + { "get-vmcs-eptp", NO_ARG, &get_eptp, 1 }, + { "get-vmcs-exception-bitmap", + NO_ARG, &get_exception_bitmap, 1 }, + { "get-vmcs-io-bitmap-address", + NO_ARG, &get_io_bitmap, 1 }, + { "get-vmcs-tsc-offset", NO_ARG,&get_tsc_offset, 1 }, + { "get-vmcs-cr0-mask", NO_ARG, &get_cr0_mask, 1 }, + { "get-vmcs-cr0-shadow", NO_ARG,&get_cr0_shadow, 1 }, + { "get-vmcs-cr4-mask", NO_ARG, &get_cr4_mask, 1 }, + { "get-vmcs-cr4-shadow", NO_ARG,&get_cr4_shadow, 1 }, + { "get-vmcs-cr3-targets", NO_ARG, &get_cr3_targets, 1}, + { "get-vmcs-apic-access-address", + NO_ARG, &get_apic_access_addr, 1}, + { "get-vmcs-virtual-apic-address", + NO_ARG, &get_virtual_apic_addr, 1}, + { "get-vmcs-tpr-threshold", + NO_ARG, &get_tpr_threshold, 1 }, + { "get-vmcs-msr-bitmap", + NO_ARG, &get_msr_bitmap, 1 }, + { "get-vmcs-msr-bitmap-address", + NO_ARG, &get_msr_bitmap_address, 1 }, + { "get-vmcs-vpid", NO_ARG, &get_vpid, 1 }, + { "get-vmcs-ple-gap", NO_ARG, &get_ple_gap, 1 }, + { "get-vmcs-ple-window", NO_ARG,&get_ple_window,1 }, + { "get-vmcs-instruction-error", + NO_ARG, &get_inst_err, 1 }, + { "get-vmcs-exit-ctls", NO_ARG, &get_exit_ctls, 1 }, + { "get-vmcs-entry-ctls", + NO_ARG, &get_entry_ctls, 1 }, + { "get-vmcs-guest-pat", NO_ARG, &get_guest_pat, 1 }, + { "get-vmcs-host-pat", NO_ARG, &get_host_pat, 1 }, + { "get-vmcs-host-cr0", + NO_ARG, &get_host_cr0, 1 }, + { "get-vmcs-host-cr3", + NO_ARG, &get_host_cr3, 1 }, + { "get-vmcs-host-cr4", + NO_ARG, &get_host_cr4, 1 }, + { "get-vmcs-host-rip", + NO_ARG, &get_host_rip, 1 }, + { "get-vmcs-host-rsp", + NO_ARG, &get_host_rsp, 1 }, + { "get-vmcs-guest-sysenter", + NO_ARG, &get_guest_sysenter, 1 }, + { "get-vmcs-link", NO_ARG, &get_vmcs_link, 1 }, + { "get-vmcs-exit-reason", + NO_ARG, &get_vmcs_exit_reason, 1 }, + { "get-vmcs-exit-qualification", + NO_ARG, &get_vmcs_exit_qualification, 1 }, + { "get-vmcs-exit-interruption-info", + NO_ARG, &get_vmcs_exit_interruption_info, 1}, + { "get-vmcs-exit-interruption-error", + NO_ARG, &get_vmcs_exit_interruption_error, 1}, + { "get-vmcs-interruptibility", + NO_ARG, &get_vmcs_interruptibility, 1 }, + { "get-pinning",NO_ARG, &get_pinning, 1 }, + { "get-x2apic-state",NO_ARG, &get_x2apic_state, 1 }, + { "get-all", NO_ARG, &get_all, 1 }, + { "run", NO_ARG, &run, 1 }, + { "create", NO_ARG, &create, 1 }, + { "destroy", NO_ARG, &destroy, 1 }, + { NULL, 0, NULL, 0 } + }; + + vcpu = 0; + progname = basename(argv[0]); + + while ((ch = getopt_long(argc, argv, "", opts, NULL)) != -1) { + switch (ch) { + case 0: + break; + case VMNAME: + vmname = optarg; + break; + case VCPU: + vcpu = atoi(optarg); + break; + case SET_LOWMEM: + lowmem = atoi(optarg) * MB; + lowmem = roundup(lowmem, 2 * MB); + break; + case SET_HIGHMEM: + highmem = atoi(optarg) * MB; + highmem = roundup(highmem, 2 * MB); + break; + case SET_EFER: + efer = strtoul(optarg, NULL, 0); + set_efer = 1; + break; + case SET_CR0: + cr0 = strtoul(optarg, NULL, 0); + set_cr0 = 1; + break; + case SET_CR3: + cr3 = strtoul(optarg, NULL, 0); + set_cr3 = 1; + break; + case SET_CR4: + cr4 = strtoul(optarg, NULL, 0); + set_cr4 = 1; + break; + case SET_DR7: + dr7 = strtoul(optarg, NULL, 0); + set_dr7 = 1; + break; + case SET_RSP: + rsp = strtoul(optarg, NULL, 0); + set_rsp = 1; + break; + case SET_RIP: + rip = strtoul(optarg, NULL, 0); + set_rip = 1; + break; + case SET_RAX: + rax = strtoul(optarg, NULL, 0); + set_rax = 1; + break; + case SET_RFLAGS: + rflags = strtoul(optarg, NULL, 0); + set_rflags = 1; + break; + case DESC_BASE: + desc_base = strtoul(optarg, NULL, 0); + break; + case DESC_LIMIT: + desc_limit = strtoul(optarg, NULL, 0); + break; + case DESC_ACCESS: + desc_access = strtoul(optarg, NULL, 0); + break; + case SET_CS: + cs = strtoul(optarg, NULL, 0); + set_cs = 1; + break; + case SET_DS: + ds = strtoul(optarg, NULL, 0); + set_ds = 1; + break; + case SET_ES: + es = strtoul(optarg, NULL, 0); + set_es = 1; + break; + case SET_FS: + fs = strtoul(optarg, NULL, 0); + set_fs = 1; + break; + case SET_GS: + gs = strtoul(optarg, NULL, 0); + set_gs = 1; + break; + case SET_SS: + ss = strtoul(optarg, NULL, 0); + set_ss = 1; + break; + case SET_TR: + tr = strtoul(optarg, NULL, 0); + set_tr = 1; + break; + case SET_LDTR: + ldtr = strtoul(optarg, NULL, 0); + set_ldtr = 1; + break; + case SET_PINNING: + pincpu = strtol(optarg, NULL, 0); + set_pinning = 1; + break; + case SET_X2APIC_STATE: + x2apic_state = strtol(optarg, NULL, 0); + set_x2apic_state = 1; + break; + case SET_VMCS_EXCEPTION_BITMAP: + exception_bitmap = strtoul(optarg, NULL, 0); + set_exception_bitmap = 1; + break; + case SET_VMCS_ENTRY_INTERRUPTION_INFO: + vmcs_entry_interruption_info = strtoul(optarg, NULL, 0); + set_vmcs_entry_interruption_info = 1; + break; + case SET_CAP: + capval = strtoul(optarg, NULL, 0); + setcap = 1; + break; + case CAPNAME: + capname = optarg; + break; + default: + usage(); + } + } + argc -= optind; + argv += optind; + + if (vmname == NULL) + usage(); + + error = 0; + + if (!error && create) + error = vm_create(vmname); + + if (!error) { + ctx = vm_open(vmname); + if (ctx == NULL) + error = -1; + } + + if (!error && lowmem) + error = vm_setup_memory(ctx, 0, lowmem, NULL); + + if (!error && highmem) + error = vm_setup_memory(ctx, 4 * GB, highmem, NULL); + + if (!error && set_efer) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_EFER, efer); + + if (!error && set_cr0) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_CR0, cr0); + + if (!error && set_cr3) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_CR3, cr3); + + if (!error && set_cr4) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_CR4, cr4); + + if (!error && set_dr7) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR7, dr7); + + if (!error && set_rsp) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_RSP, rsp); + + if (!error && set_rip) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_RIP, rip); + + if (!error && set_rax) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_RAX, rax); + + if (!error && set_rflags) { + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_RFLAGS, + rflags); + } + + if (!error && set_desc_ds) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_DS, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_es) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_ES, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_ss) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_SS, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_cs) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_CS, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_fs) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_FS, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_gs) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_GS, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_tr) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_TR, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_ldtr) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_LDTR, + desc_base, desc_limit, desc_access); + } + + if (!error && set_desc_gdtr) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_GDTR, + desc_base, desc_limit, 0); + } + + if (!error && set_desc_idtr) { + error = vm_set_desc(ctx, vcpu, VM_REG_GUEST_IDTR, + desc_base, desc_limit, 0); + } + + if (!error && set_cs) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_CS, cs); + + if (!error && set_ds) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DS, ds); + + if (!error && set_es) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_ES, es); + + if (!error && set_fs) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_FS, fs); + + if (!error && set_gs) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_GS, gs); + + if (!error && set_ss) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_SS, ss); + + if (!error && set_tr) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_TR, tr); + + if (!error && set_ldtr) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_LDTR, ldtr); + + if (!error && set_pinning) + error = vm_set_pinning(ctx, vcpu, pincpu); + + if (!error && set_x2apic_state) + error = vm_set_x2apic_state(ctx, vcpu, x2apic_state); + + if (!error && set_exception_bitmap) { + error = vm_set_vmcs_field(ctx, vcpu, VMCS_EXCEPTION_BITMAP, + exception_bitmap); + } + + if (!error && set_vmcs_entry_interruption_info) { + error = vm_set_vmcs_field(ctx, vcpu, VMCS_ENTRY_INTR_INFO, + vmcs_entry_interruption_info); + } + + if (!error && (get_lowmem || get_all)) { + gpa = 0; + error = vm_get_memory_seg(ctx, gpa, &len); + if (error == 0) + printf("lowmem\t\t0x%016lx/%ld\n", gpa, len); + } + + if (!error && (get_highmem || get_all)) { + gpa = 4 * GB; + error = vm_get_memory_seg(ctx, gpa, &len); + if (error == 0) + printf("highmem\t\t0x%016lx/%ld\n", gpa, len); + } + + if (!error && (get_efer || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_EFER, &efer); + if (error == 0) + printf("efer[%d]\t\t0x%016lx\n", vcpu, efer); + } + + if (!error && (get_cr0 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_CR0, &cr0); + if (error == 0) + printf("cr0[%d]\t\t0x%016lx\n", vcpu, cr0); + } + + if (!error && (get_cr3 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_CR3, &cr3); + if (error == 0) + printf("cr3[%d]\t\t0x%016lx\n", vcpu, cr3); + } + + if (!error && (get_cr4 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_CR4, &cr4); + if (error == 0) + printf("cr4[%d]\t\t0x%016lx\n", vcpu, cr4); + } + + if (!error && (get_dr7 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR7, &dr7); + if (error == 0) + printf("dr7[%d]\t\t0x%016lx\n", vcpu, dr7); + } + + if (!error && (get_rsp || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RSP, &rsp); + if (error == 0) + printf("rsp[%d]\t\t0x%016lx\n", vcpu, rsp); + } + + if (!error && (get_rip || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RIP, &rip); + if (error == 0) + printf("rip[%d]\t\t0x%016lx\n", vcpu, rip); + } + + if (!error && (get_rax || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RAX, &rax); + if (error == 0) + printf("rax[%d]\t\t0x%016lx\n", vcpu, rax); + } + + if (!error && (get_rbx || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RBX, &rbx); + if (error == 0) + printf("rbx[%d]\t\t0x%016lx\n", vcpu, rbx); + } + + if (!error && (get_rcx || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RCX, &rcx); + if (error == 0) + printf("rcx[%d]\t\t0x%016lx\n", vcpu, rcx); + } + + if (!error && (get_rdx || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RDX, &rdx); + if (error == 0) + printf("rdx[%d]\t\t0x%016lx\n", vcpu, rdx); + } + + if (!error && (get_rsi || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RSI, &rsi); + if (error == 0) + printf("rsi[%d]\t\t0x%016lx\n", vcpu, rsi); + } + + if (!error && (get_rdi || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RDI, &rdi); + if (error == 0) + printf("rdi[%d]\t\t0x%016lx\n", vcpu, rdi); + } + + if (!error && (get_rbp || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_RBP, &rbp); + if (error == 0) + printf("rbp[%d]\t\t0x%016lx\n", vcpu, rbp); + } + + if (!error && (get_r8 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R8, &r8); + if (error == 0) + printf("r8[%d]\t\t0x%016lx\n", vcpu, r8); + } + + if (!error && (get_r9 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R9, &r9); + if (error == 0) + printf("r9[%d]\t\t0x%016lx\n", vcpu, r9); + } + + if (!error && (get_r10 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R10, &r10); + if (error == 0) + printf("r10[%d]\t\t0x%016lx\n", vcpu, r10); + } + + if (!error && (get_r11 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R11, &r11); + if (error == 0) + printf("r11[%d]\t\t0x%016lx\n", vcpu, r11); + } + + if (!error && (get_r12 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R12, &r12); + if (error == 0) + printf("r12[%d]\t\t0x%016lx\n", vcpu, r12); + } + + if (!error && (get_r13 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R13, &r13); + if (error == 0) + printf("r13[%d]\t\t0x%016lx\n", vcpu, r13); + } + + if (!error && (get_r14 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R14, &r14); + if (error == 0) + printf("r14[%d]\t\t0x%016lx\n", vcpu, r14); + } + + if (!error && (get_r15 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_R15, &r15); + if (error == 0) + printf("r15[%d]\t\t0x%016lx\n", vcpu, r15); + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 02:39:09 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 17D5B5BF; Sat, 27 Oct 2012 02:39:09 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 015688FC17; Sat, 27 Oct 2012 02:39:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9R2d87R064999; Sat, 27 Oct 2012 02:39:08 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9R2d8Kv064997; Sat, 27 Oct 2012 02:39:08 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210270239.q9R2d8Kv064997@svn.freebsd.org> From: Neel Natu Date: Sat, 27 Oct 2012 02:39:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242170 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 02:39:09 -0000 Author: neel Date: Sat Oct 27 02:39:08 2012 New Revision: 242170 URL: http://svn.freebsd.org/changeset/base/242170 Log: Ignore PCI configuration accesses to all bus numbers other than PCI bus 0. Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyve/pci_emul.c Modified: projects/bhyve/usr.sbin/bhyve/pci_emul.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pci_emul.c Sat Oct 27 02:10:45 2012 (r242169) +++ projects/bhyve/usr.sbin/bhyve/pci_emul.c Sat Oct 27 02:39:08 2012 (r242170) @@ -821,7 +821,11 @@ pci_emul_cfgdata(struct vmctx *ctx, int assert(bytes == 1 || bytes == 2 || bytes == 4); - pi = pci_slotinfo[cfgslot][cfgfunc].si_devi; + if (cfgbus == 0) + pi = pci_slotinfo[cfgslot][cfgfunc].si_devi; + else + pi = NULL; + coff = cfgoff + (port - CONF1_DATA_PORT); #if 0 From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 15:53:18 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EC690562 for ; Sat, 27 Oct 2012 15:53:18 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id B37708FC16 for ; Sat, 27 Oct 2012 15:53:18 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id rp8so3588654pbb.13 for ; Sat, 27 Oct 2012 08:53:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=C74InI3MBhFkUb6NIO+lrkXg//Q4WXiPciuaVIOhffo=; b=uTw+P4UdPtSvtxldwS0b3fkXZP8dQ/hk7QbYXzwUqbKo+FByuj0GusoHsfJzrmkQYB SfTyad0A1gD/rF5F4RyQpoK4zvoq3fqTZ5HOLGTaYX3Cd0i0rD5MXGCItxVK2N4F3Q3E 5qeityr3R3ybgw0DGnYDd+uWhpsK7C2ICx+Wg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=C74InI3MBhFkUb6NIO+lrkXg//Q4WXiPciuaVIOhffo=; b=eUqoEI9iH5trbdOYGOwh5qQwyv1Qt3C35FqaCkS8HFsrUTBzfyhHgCZP5GFwRUxq4q +WXWoToRr0cZAmqHWWaPpccKNL4yal/CKUxr2uvm3deQGDfSiUZrNgIKFGnTJUEiiVje mSt7bWGu4WFsH+XaIeE6X3jBxh7Vnqko3ZDTkxHHqSX14wfS+Scx3PSu47+SYOkZdyyu uh1wYyJRW3SVPdT967ySNNvDYpVFvYbXMPQLl57O/vmYoNF8WcXKO3udv+UhBCN0a86/ J0kHV8NVUJscfo9WIrd6I4CTEnlOWcSwKLeWJi1pNT96ConU2iY6LfNHX+zQv0jv7J1W sJTQ== Received: by 10.68.253.102 with SMTP id zz6mr78580291pbc.99.1351353198325; Sat, 27 Oct 2012 08:53:18 -0700 (PDT) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 10.66.161.163 with HTTP; Sat, 27 Oct 2012 08:52:47 -0700 (PDT) In-Reply-To: <201210270239.q9R2d8Kv064997@svn.freebsd.org> References: <201210270239.q9R2d8Kv064997@svn.freebsd.org> From: Eitan Adler Date: Sat, 27 Oct 2012 11:52:47 -0400 X-Google-Sender-Auth: BxQvWDYQm3DP1rs_97oOq5FJef4 Message-ID: Subject: Re: svn commit: r242170 - projects/bhyve/usr.sbin/bhyve To: Neel Natu Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQkJvw3jnyeJLu52M4jUxOSMOe4yGfJzKS+dD1N6Z2zN+p4ekh0VIqjLLQZ2jVEaggNDU+lZ Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 15:53:19 -0000 On 26 October 2012 22:39, Neel Natu wrote: > Author: neel > Date: Sat Oct 27 02:39:08 2012 > New Revision: 242170 > URL: http://svn.freebsd.org/changeset/base/242170 > > Log: > Ignore PCI configuration accesses to all bus numbers other than PCI bus 0. I'm sorry this is a silly question, but why? -- Eitan Adler Source, Ports, Doc committer Bugmeister, Ports Security teams From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 16:44:07 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 346678F; Sat, 27 Oct 2012 16:44:07 +0000 (UTC) (envelope-from neelnatu@gmail.com) Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by mx1.freebsd.org (Postfix) with ESMTP id DF4A88FC0A; Sat, 27 Oct 2012 16:44:06 +0000 (UTC) Received: by mail-pa0-f54.google.com with SMTP id bi1so2694162pad.13 for ; Sat, 27 Oct 2012 09:44:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; bh=2A7rETx8Z0aKu2dEWx+gyHDkWZk+LygU2a6zO/ej0NA=; b=JGpXeXyU1cD+vgvAB08143iXK9y+5hFyh6HW9n40StXn3Hfm8PgD0zcMfC/5MBVFnH w/qVLZGJgSP7avHMZfG2tLJ5uMZFn35g/BJVhyQSgbfoKLhDEG2u/g7TS0u/g9INcNwu BT9PpBsDIr6ntXXB+NjvRQUC7IHjRLe4zpSOjOOfBct6ADpwxwPEk3tyfVns/dEUuqf9 wSJYAhedG5GTGEVD3J80r+i3WoOjhquSFTHwBjxPe+p2IH97VQxk7ZNf1eK7OG0Ipr0d A8vmOgmc60E7xSAdTXqVTuRufI+0emFsaCZchItZSirtINECaP/nMz0NEj9Kb/50xQQu PXUw== Received: by 10.68.136.100 with SMTP id pz4mr78950695pbb.135.1351356246671; Sat, 27 Oct 2012 09:44:06 -0700 (PDT) Received: from [192.168.0.104] (c-69-181-126-139.hsd1.ca.comcast.net. [69.181.126.139]) by mx.google.com with ESMTPS id ko10sm3036451pbc.1.2012.10.27.09.44.03 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 27 Oct 2012 09:44:04 -0700 (PDT) References: <201210270239.q9R2d8Kv064997@svn.freebsd.org> In-Reply-To: Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: <4F77FDF1-BA5A-4D9D-9AD6-0812FB027315@gmail.com> X-Mailer: iPhone Mail (9B206) From: Neel Natu Subject: Re: svn commit: r242170 - projects/bhyve/usr.sbin/bhyve Date: Sat, 27 Oct 2012 09:43:38 -0700 To: Eitan Adler Cc: "svn-src-projects@freebsd.org" , "src-committers@freebsd.org" , Neel Natu X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 16:44:07 -0000 Hi Eitan, On Oct 27, 2012, at 8:52 AM, Eitan Adler wrote: > On 26 October 2012 22:39, Neel Natu wrote: >> Author: neel >> Date: Sat Oct 27 02:39:08 2012 >> New Revision: 242170 >> URL: http://svn.freebsd.org/changeset/base/242170 >>=20 >> Log: >> Ignore PCI configuration accesses to all bus numbers other than PCI bus 0= . >=20 > I'm sorry this is a silly question, but why? >=20 At the moment all the emulated PCI devices are on bus 0. We don't present a PCI device tree hierarchy to the guest with bridges and e= nd-point devices, so everything hangs off bus 0. Prior to this change any access to a PCI bus !=3D 0 got aliased to devices o= n bus 0 which is obviously wrong and tripped up drivers like the QPI driver w= hich start probing backwards from bus 255. Best Neel >=20 > --=20 > Eitan Adler > Source, Ports, Doc committer > Bugmeister, Ports Security teams From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 22:33:24 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3932A145; Sat, 27 Oct 2012 22:33:24 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 082328FC12; Sat, 27 Oct 2012 22:33:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9RMXNjk072105; Sat, 27 Oct 2012 22:33:23 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9RMXNgD072101; Sat, 27 Oct 2012 22:33:23 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210272233.q9RMXNgD072101@svn.freebsd.org> From: Neel Natu Date: Sat, 27 Oct 2012 22:33:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242192 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 22:33:24 -0000 Author: neel Date: Sat Oct 27 22:33:23 2012 New Revision: 242192 URL: http://svn.freebsd.org/changeset/base/242192 Log: Present the bvm console device to the guest only when explicitly requested via the "-b" command line option. Reviewed by: grehan Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyve/consport.c projects/bhyve/usr.sbin/bhyve/fbsdrun.c projects/bhyve/usr.sbin/bhyve/inout.h Modified: projects/bhyve/usr.sbin/bhyve/consport.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/consport.c Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/consport.c Sat Oct 27 22:33:23 2012 (r242192) @@ -124,4 +124,17 @@ console_handler(struct vmctx *ctx, int v return (0); } -INOUT_PORT(console, BVM_CONSOLE_PORT, IOPORT_F_INOUT, console_handler); + +static struct inout_port consport = { + "bvmcons", + BVM_CONSOLE_PORT, + IOPORT_F_INOUT, + console_handler +}; + +void +init_bvmcons(void) +{ + + register_inout(&consport); +} Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/fbsdrun.c Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/fbsdrun.c Sat Oct 27 22:33:23 2012 (r242192) @@ -563,21 +563,25 @@ vm_loop(struct vmctx *ctx, int vcpu, uin int main(int argc, char *argv[]) { - int c, error, gdb_port, inject_bkpt, tmp, err, ioapic; + int c, error, gdb_port, inject_bkpt, tmp, err, ioapic, bvmcons; struct vmctx *ctx; uint64_t rip; + bvmcons = 0; inject_bkpt = 0; progname = basename(argv[0]); gdb_port = DEFAULT_GDB_PORT; guest_ncpus = 1; ioapic = 0; - while ((c = getopt(argc, argv, "aehBHIPxp:g:c:z:s:S:n:m:M:")) != -1) { + while ((c = getopt(argc, argv, "abehBHIPxp:g:c:z:s:S:n:m:M:")) != -1) { switch (c) { case 'a': disable_x2apic = 1; break; + case 'b': + bvmcons = 1; + break; case 'B': inject_bkpt = 1; break; @@ -707,6 +711,9 @@ main(int argc, char *argv[]) if (gdb_port != 0) init_dbgport(gdb_port); + if (bvmcons) + init_bvmcons(); + error = vm_get_register(ctx, BSP, VM_REG_GUEST_RIP, &rip); assert(error == 0); Modified: projects/bhyve/usr.sbin/bhyve/inout.h ============================================================================== --- projects/bhyve/usr.sbin/bhyve/inout.h Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/inout.h Sat Oct 27 22:33:23 2012 (r242192) @@ -62,4 +62,6 @@ int emulate_inout(struct vmctx *, int vc uint32_t *eax, int strict); int register_inout(struct inout_port *iop); +void init_bvmcons(void); + #endif /* _INOUT_H_ */ From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 22:54:24 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 875295FD; Sat, 27 Oct 2012 22:54:24 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6F8FD8FC0C; Sat, 27 Oct 2012 22:54:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9RMsOi9075225; Sat, 27 Oct 2012 22:54:24 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9RMsOQh075223; Sat, 27 Oct 2012 22:54:24 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210272254.q9RMsOQh075223@svn.freebsd.org> From: Neel Natu Date: Sat, 27 Oct 2012 22:54:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242194 - projects/bhyve/sys/dev/bvm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 22:54:24 -0000 Author: neel Date: Sat Oct 27 22:54:23 2012 New Revision: 242194 URL: http://svn.freebsd.org/changeset/base/242194 Log: Probe for existence of the bvm debug port instead of just assuming that it is always present. Suggested by: grehan Obtained from: NetApp Modified: projects/bhyve/sys/dev/bvm/bvm_dbg.c Modified: projects/bhyve/sys/dev/bvm/bvm_dbg.c ============================================================================== --- projects/bhyve/sys/dev/bvm/bvm_dbg.c Sat Oct 27 22:43:30 2012 (r242193) +++ projects/bhyve/sys/dev/bvm/bvm_dbg.c Sat Oct 27 22:54:23 2012 (r242194) @@ -49,6 +49,8 @@ GDB_DBGPORT(bvm, bvm_dbg_probe, bvm_dbg_ #define BVM_DBG_PORT 0x224 static int bvm_dbg_port = BVM_DBG_PORT; +#define BVM_DBG_SIG ('B' << 8 | 'V') + static int bvm_dbg_probe(void) { @@ -56,17 +58,21 @@ bvm_dbg_probe(void) disabled = 0; resource_int_value("bvmdbg", 0, "disabled", &disabled); - if (disabled) - return (-1); - if (resource_int_value("bvmdbg", 0, "port", &port) == 0) - bvm_dbg_port = port; + if (!disabled) { + if (resource_int_value("bvmdbg", 0, "port", &port) == 0) + bvm_dbg_port = port; + + if (inw(bvm_dbg_port) == BVM_DBG_SIG) { + /* + * Return a higher priority than 0 to override other + * gdb dbgport providers that may be present (e.g. uart) + */ + return (1); + } + } - /* - * Return a higher priority than 0 to override other - * gdb dbgport providers that may be present (e.g. uart) - */ - return (1); + return (-1); } static void From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 22:58:02 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E4BC2732; Sat, 27 Oct 2012 22:58:02 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B422A8FC08; Sat, 27 Oct 2012 22:58:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9RMw2jG076001; Sat, 27 Oct 2012 22:58:02 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9RMw21q075999; Sat, 27 Oct 2012 22:58:02 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210272258.q9RMw21q075999@svn.freebsd.org> From: Neel Natu Date: Sat, 27 Oct 2012 22:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242195 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 22:58:03 -0000 Author: neel Date: Sat Oct 27 22:58:02 2012 New Revision: 242195 URL: http://svn.freebsd.org/changeset/base/242195 Log: Present the bvm dbgport to the guest only when explicitly requested via the "-g" command line option. Suggested by: grehan Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyve/dbgport.c Modified: projects/bhyve/usr.sbin/bhyve/dbgport.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/dbgport.c Sat Oct 27 22:54:23 2012 (r242194) +++ projects/bhyve/usr.sbin/bhyve/dbgport.c Sat Oct 27 22:58:02 2012 (r242195) @@ -44,37 +44,12 @@ __FBSDID("$FreeBSD$"); #include "dbgport.h" #define BVM_DBG_PORT 0x224 +#define BVM_DBG_SIG ('B' << 8 | 'V') static int listen_fd, conn_fd; static struct sockaddr_in sin; -void -init_dbgport(int sport) -{ - conn_fd = -1; - - if ((listen_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - perror("socket"); - exit(1); - } - - sin.sin_len = sizeof(sin); - sin.sin_family = AF_INET; - sin.sin_addr.s_addr = htonl(INADDR_ANY); - sin.sin_port = htons(sport); - - if (bind(listen_fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) { - perror("bind"); - exit(1); - } - - if (listen(listen_fd, 1) < 0) { - perror("listen"); - exit(1); - } -} - static int dbg_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg) @@ -82,6 +57,11 @@ dbg_handler(struct vmctx *ctx, int vcpu, char ch; int nwritten, nread, printonce; + if (bytes == 2 && in) { + *eax = BVM_DBG_SIG; + return (0); + } + if (bytes != 4) return (-1); @@ -122,4 +102,37 @@ again: return (0); } -INOUT_PORT(dbg, BVM_DBG_PORT, IOPORT_F_INOUT, dbg_handler); +static struct inout_port dbgport = { + "bvmdbg", + BVM_DBG_PORT, + IOPORT_F_INOUT, + dbg_handler +}; + +void +init_dbgport(int sport) +{ + conn_fd = -1; + + if ((listen_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { + perror("socket"); + exit(1); + } + + sin.sin_len = sizeof(sin); + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = htonl(INADDR_ANY); + sin.sin_port = htons(sport); + + if (bind(listen_fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) { + perror("bind"); + exit(1); + } + + if (listen(listen_fd, 1) < 0) { + perror("listen"); + exit(1); + } + + register_inout(&dbgport); +}