Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2014 19:36:31 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 1189939 for review
Message-ID:  <201401101936.s0AJaVX4068473@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@1189939?ac=10

Change 1189939 by jhb@jhb_jhbbsd on 2014/01/10 19:36:13

	IFC @1189938

Affected files ...

.. //depot/projects/pci/sys/Makefile#6 integrate
.. //depot/projects/pci/sys/amd64/amd64/pmap.c#13 integrate
.. //depot/projects/pci/sys/amd64/conf/NOTES#11 integrate
.. //depot/projects/pci/sys/amd64/include/vmm.h#7 integrate
.. //depot/projects/pci/sys/amd64/vmm/amd/amdv.c#4 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/ept.c#5 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/ept.h#3 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmcs.c#6 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmcs.h#6 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmx.c#8 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmx.h#5 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmx_controls.h#4 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmx_genassym.c#5 integrate
.. //depot/projects/pci/sys/amd64/vmm/intel/vmx_support.S#3 integrate
.. //depot/projects/pci/sys/amd64/vmm/io/vhpet.c#3 integrate
.. //depot/projects/pci/sys/amd64/vmm/io/vlapic.c#5 integrate
.. //depot/projects/pci/sys/amd64/vmm/io/vlapic.h#4 integrate
.. //depot/projects/pci/sys/amd64/vmm/io/vlapic_priv.h#2 integrate
.. //depot/projects/pci/sys/amd64/vmm/vmm.c#7 integrate
.. //depot/projects/pci/sys/amd64/vmm/vmm_ipi.c#2 integrate
.. //depot/projects/pci/sys/amd64/vmm/vmm_ipi.h#2 integrate
.. //depot/projects/pci/sys/amd64/vmm/vmm_lapic.c#4 integrate
.. //depot/projects/pci/sys/arm/allwinner/a10_machdep.c#4 integrate
.. //depot/projects/pci/sys/arm/arm/bus_space_generic.c#6 integrate
.. //depot/projects/pci/sys/arm/arm/devmap.c#2 integrate
.. //depot/projects/pci/sys/arm/arm/gic.c#6 integrate
.. //depot/projects/pci/sys/arm/arm/intr.c#4 integrate
.. //depot/projects/pci/sys/arm/arm/machdep.c#9 integrate
.. //depot/projects/pci/sys/arm/arm/nexus.c#6 integrate
.. //depot/projects/pci/sys/arm/arm/trap.c#7 integrate
.. //depot/projects/pci/sys/arm/at91/at91.c#6 integrate
.. //depot/projects/pci/sys/arm/broadcom/bcm2835/bcm2835_fbd.c#2 integrate
.. //depot/projects/pci/sys/arm/broadcom/bcm2835/bcm2835_machdep.c#3 integrate
.. //depot/projects/pci/sys/arm/conf/AC100#4 integrate
.. //depot/projects/pci/sys/arm/conf/ARMADAXP#5 integrate
.. //depot/projects/pci/sys/arm/conf/ARNDALE#3 integrate
.. //depot/projects/pci/sys/arm/conf/ATMEL#4 integrate
.. //depot/projects/pci/sys/arm/conf/AVILA#8 integrate
.. //depot/projects/pci/sys/arm/conf/BWCT#5 integrate
.. //depot/projects/pci/sys/arm/conf/CAMBRIA#9 integrate
.. //depot/projects/pci/sys/arm/conf/CNS11XXNAS#5 integrate
.. //depot/projects/pci/sys/arm/conf/COSMIC#2 integrate
.. //depot/projects/pci/sys/arm/conf/CUBIEBOARD#4 integrate
.. //depot/projects/pci/sys/arm/conf/CUBIEBOARD2#2 integrate
.. //depot/projects/pci/sys/arm/conf/DB-78XXX#6 integrate
.. //depot/projects/pci/sys/arm/conf/DB-88F5XXX#6 integrate
.. //depot/projects/pci/sys/arm/conf/DB-88F6XXX#6 integrate
.. //depot/projects/pci/sys/arm/conf/DIGI-CCWMX53#3 integrate
.. //depot/projects/pci/sys/arm/conf/DOCKSTAR#6 integrate
.. //depot/projects/pci/sys/arm/conf/EA3250#3 integrate
.. //depot/projects/pci/sys/arm/conf/EB9200#3 integrate
.. //depot/projects/pci/sys/arm/conf/EFIKA_MX#3 integrate
.. //depot/projects/pci/sys/arm/conf/ETHERNUT5#3 integrate
.. //depot/projects/pci/sys/arm/conf/HL200#5 integrate
.. //depot/projects/pci/sys/arm/conf/HL201#5 integrate
.. //depot/projects/pci/sys/arm/conf/IMX53-QSB#2 integrate
.. //depot/projects/pci/sys/arm/conf/KB920X#5 integrate
.. //depot/projects/pci/sys/arm/conf/LN2410SBC#5 integrate
.. //depot/projects/pci/sys/arm/conf/NSLU#5 integrate
.. //depot/projects/pci/sys/arm/conf/PANDABOARD#3 integrate
.. //depot/projects/pci/sys/arm/conf/QILA9G20#5 integrate
.. //depot/projects/pci/sys/arm/conf/RADXA#2 integrate
.. //depot/projects/pci/sys/arm/conf/RPI-B#7 integrate
.. //depot/projects/pci/sys/arm/conf/SAM9260EK#3 integrate
.. //depot/projects/pci/sys/arm/conf/SAM9G20EK#5 integrate
.. //depot/projects/pci/sys/arm/conf/SAM9X25EK#3 integrate
.. //depot/projects/pci/sys/arm/conf/SHEEVAPLUG#6 integrate
.. //depot/projects/pci/sys/arm/conf/SN9G45#3 integrate
.. //depot/projects/pci/sys/arm/conf/TS7800#6 integrate
.. //depot/projects/pci/sys/arm/conf/ZEDBOARD#3 integrate
.. //depot/projects/pci/sys/arm/freescale/imx/imx51_ipuv3.c#3 integrate
.. //depot/projects/pci/sys/arm/include/devmap.h#2 integrate
.. //depot/projects/pci/sys/arm/include/fdt.h#4 integrate
.. //depot/projects/pci/sys/arm/include/intr.h#5 integrate
.. //depot/projects/pci/sys/arm/include/ofw_machdep.h#3 integrate
.. //depot/projects/pci/sys/arm/include/psl.h#3 integrate
.. //depot/projects/pci/sys/arm/lpc/lpc_gpio.c#3 integrate
.. //depot/projects/pci/sys/arm/lpc/lpc_machdep.c#3 integrate
.. //depot/projects/pci/sys/arm/lpc/lpc_mmc.c#3 integrate
.. //depot/projects/pci/sys/arm/lpc/lpcreg.h#3 integrate
.. //depot/projects/pci/sys/arm/mv/mv_machdep.c#8 integrate
.. //depot/projects/pci/sys/arm/mv/mv_pci.c#6 integrate
.. //depot/projects/pci/sys/arm/mv/mvvar.h#5 integrate
.. //depot/projects/pci/sys/arm/tegra/bus_space.c#2 delete
.. //depot/projects/pci/sys/arm/tegra/files.tegra2#2 integrate
.. //depot/projects/pci/sys/arm/tegra/tegra2_machdep.c#3 integrate
.. //depot/projects/pci/sys/arm/ti/am335x/am335x_dmtimer.c#5 integrate
.. //depot/projects/pci/sys/arm/ti/ti_machdep.c#4 integrate
.. //depot/projects/pci/sys/arm/versatile/sp804.c#4 integrate
.. //depot/projects/pci/sys/boot/fdt/dts/cubieboard.dts#3 integrate
.. //depot/projects/pci/sys/boot/fdt/dts/cubieboard2.dts#2 integrate
.. //depot/projects/pci/sys/boot/fdt/dts/dockstar.dts#3 integrate
.. //depot/projects/pci/sys/boot/i386/Makefile.inc#5 integrate
.. //depot/projects/pci/sys/boot/i386/boot2/Makefile#10 integrate
.. //depot/projects/pci/sys/boot/i386/gptboot/Makefile#6 integrate
.. //depot/projects/pci/sys/boot/i386/gptzfsboot/Makefile#5 integrate
.. //depot/projects/pci/sys/boot/i386/zfsboot/Makefile#9 integrate
.. //depot/projects/pci/sys/boot/pc98/boot2/Makefile#5 integrate
.. //depot/projects/pci/sys/boot/zfs/zfsimpl.c#4 integrate
.. //depot/projects/pci/sys/cam/cam_debug.h#4 integrate
.. //depot/projects/pci/sys/cam/cam_xpt.c#14 integrate
.. //depot/projects/pci/sys/cam/scsi/scsi_da.c#12 integrate
.. //depot/projects/pci/sys/cam/scsi/scsi_low.c#4 integrate
.. //depot/projects/pci/sys/cddl/boot/zfs/zfsimpl.h#4 integrate
.. //depot/projects/pci/sys/cddl/compat/opensolaris/sys/time.h#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#9 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/Makefile.files#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#9 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c#3 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#10 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c#3 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#7 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c#1 branch
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#10 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#10 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_bookmark.h#1 branch
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#7 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#7 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h#3 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#7 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#11 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#8 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c#6 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#10 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#9 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h#8 integrate
.. //depot/projects/pci/sys/cddl/dev/dtrace/dtrace_load.c#6 integrate
.. //depot/projects/pci/sys/cddl/dev/dtrace/dtrace_unload.c#6 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_misc.c#13 integrate
.. //depot/projects/pci/sys/conf/Makefile.arm#8 integrate
.. //depot/projects/pci/sys/conf/files#19 integrate
.. //depot/projects/pci/sys/conf/kern.pre.mk#11 integrate
.. //depot/projects/pci/sys/conf/options#18 integrate
.. //depot/projects/pci/sys/conf/options.arm#7 integrate
.. //depot/projects/pci/sys/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu#1 branch
.. //depot/projects/pci/sys/dev/aac/aac.c#6 integrate
.. //depot/projects/pci/sys/dev/aacraid/aacraid.c#3 integrate
.. //depot/projects/pci/sys/dev/ahci/ahci.c#15 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aic79xx_reg.h#1 branch
.. //depot/projects/pci/sys/dev/aic7xxx/aic79xx_reg_print.c#1 branch
.. //depot/projects/pci/sys/dev/aic7xxx/aic79xx_seq.h#1 branch
.. //depot/projects/pci/sys/dev/aic7xxx/aic7xxx_reg.h#1 branch
.. //depot/projects/pci/sys/dev/aic7xxx/aic7xxx_reg_print.c#1 branch
.. //depot/projects/pci/sys/dev/aic7xxx/aic7xxx_seq.h#1 branch
.. //depot/projects/pci/sys/dev/ale/if_ale.c#7 integrate
.. //depot/projects/pci/sys/dev/ath/if_ath_rx_edma.c#5 integrate
.. //depot/projects/pci/sys/dev/ath/if_ath_tx.c#10 integrate
.. //depot/projects/pci/sys/dev/bge/if_bge.c#12 integrate
.. //depot/projects/pci/sys/dev/bwi/if_bwi.c#5 integrate
.. //depot/projects/pci/sys/dev/bwn/if_bwn.c#7 integrate
.. //depot/projects/pci/sys/dev/bxe/bxe.c#5 integrate
.. //depot/projects/pci/sys/dev/bxe/ecore_hsi.h#3 integrate
.. //depot/projects/pci/sys/dev/bxe/ecore_sp.c#3 integrate
.. //depot/projects/pci/sys/dev/cxgbe/adapter.h#13 integrate
.. //depot/projects/pci/sys/dev/cxgbe/t4_main.c#14 integrate
.. //depot/projects/pci/sys/dev/cxgbe/t4_sge.c#14 integrate
.. //depot/projects/pci/sys/dev/e1000/if_em.c#11 integrate
.. //depot/projects/pci/sys/dev/e1000/if_igb.c#16 integrate
.. //depot/projects/pci/sys/dev/e1000/if_lem.c#10 integrate
.. //depot/projects/pci/sys/dev/ed/if_ed.c#5 integrate
.. //depot/projects/pci/sys/dev/ed/if_ed_3c503.c#4 integrate
.. //depot/projects/pci/sys/dev/ed/if_ed_pccard.c#5 integrate
.. //depot/projects/pci/sys/dev/ed/if_ed_rtl80x9.c#4 integrate
.. //depot/projects/pci/sys/dev/ed/if_edreg.h#3 integrate
.. //depot/projects/pci/sys/dev/ed/if_edvar.h#3 integrate
.. //depot/projects/pci/sys/dev/ed/tc5299jreg.h#3 integrate
.. //depot/projects/pci/sys/dev/en/midway.c#4 integrate
.. //depot/projects/pci/sys/dev/fb/boot_font.c#4 integrate
.. //depot/projects/pci/sys/dev/fb/gallant12x22.c#3 integrate
.. //depot/projects/pci/sys/dev/fdt/fdt_common.c#7 integrate
.. //depot/projects/pci/sys/dev/fdt/fdt_common.h#7 integrate
.. //depot/projects/pci/sys/dev/fdt/fdt_mips.c#4 integrate
.. //depot/projects/pci/sys/dev/fdt/fdt_pci.c#6 delete
.. //depot/projects/pci/sys/dev/fdt/fdt_powerpc.c#5 integrate
.. //depot/projects/pci/sys/dev/fdt/fdt_x86.c#2 integrate
.. //depot/projects/pci/sys/dev/fdt/fdtbus.c#9 integrate
.. //depot/projects/pci/sys/dev/fdt/simplebus.c#6 integrate
.. //depot/projects/pci/sys/dev/ffec/if_ffec.c#2 integrate
.. //depot/projects/pci/sys/dev/firewire/if_fwe.c#5 integrate
.. //depot/projects/pci/sys/dev/ipw/if_ipw.c#6 integrate
.. //depot/projects/pci/sys/dev/ipw/if_ipwvar.h#3 integrate
.. //depot/projects/pci/sys/dev/iscsi/icl.c#3 integrate
.. //depot/projects/pci/sys/dev/iwi/if_iwi.c#6 integrate
.. //depot/projects/pci/sys/dev/iwi/if_iwivar.h#3 integrate
.. //depot/projects/pci/sys/dev/iwn/if_iwn.c#11 integrate
.. //depot/projects/pci/sys/dev/iwn/if_iwn_devid.h#3 integrate
.. //depot/projects/pci/sys/dev/iwn/if_iwnvar.h#8 integrate
.. //depot/projects/pci/sys/dev/ixgbe/ixgbe.c#12 integrate
.. //depot/projects/pci/sys/dev/malo/if_malo.c#5 integrate
.. //depot/projects/pci/sys/dev/mcd/mcd.c#4 integrate
.. //depot/projects/pci/sys/dev/mfi/mfi_cam.c#7 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt.h#7 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt_cam.c#9 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt_pci.c#10 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt_raid.c#5 integrate
.. //depot/projects/pci/sys/dev/mwl/if_mwl.c#8 integrate
.. //depot/projects/pci/sys/dev/my/if_my.c#7 integrate
.. //depot/projects/pci/sys/dev/nand/nand_id.c#4 integrate
.. //depot/projects/pci/sys/dev/nand/nandbus.c#4 integrate
.. //depot/projects/pci/sys/dev/netmap/if_em_netmap.h#6 integrate
.. //depot/projects/pci/sys/dev/netmap/if_igb_netmap.h#7 integrate
.. //depot/projects/pci/sys/dev/netmap/if_lem_netmap.h#6 integrate
.. //depot/projects/pci/sys/dev/netmap/if_re_netmap.h#6 integrate
.. //depot/projects/pci/sys/dev/netmap/ixgbe_netmap.h#6 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap.c#6 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_freebsd.c#2 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_generic.c#2 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_kern.h#6 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_mbq.c#2 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_mbq.h#2 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_mem2.c#5 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_mem2.h#3 integrate
.. //depot/projects/pci/sys/dev/netmap/netmap_vale.c#2 integrate
.. //depot/projects/pci/sys/dev/nvme/nvme_ctrlr.c#7 integrate
.. //depot/projects/pci/sys/dev/oce/oce_if.c#6 integrate
.. //depot/projects/pci/sys/dev/ral/if_ral_pci.c#3 integrate
.. //depot/projects/pci/sys/dev/ral/rt2560.c#7 integrate
.. //depot/projects/pci/sys/dev/ral/rt2661.c#7 integrate
.. //depot/projects/pci/sys/dev/ral/rt2860.c#4 integrate
.. //depot/projects/pci/sys/dev/scc/scc_dev_z8530.c#4 integrate
.. //depot/projects/pci/sys/dev/sk/if_sk.c#7 integrate
.. //depot/projects/pci/sys/dev/sound/pci/maestro.c#5 integrate
.. //depot/projects/pci/sys/dev/tpm/tpm.c#3 integrate
.. //depot/projects/pci/sys/dev/uart/uart_bus_fdt.c#8 integrate
.. //depot/projects/pci/sys/dev/uart/uart_dev_lpc.c#2 integrate
.. //depot/projects/pci/sys/dev/usb/controller/xhci.c#10 integrate
.. //depot/projects/pci/sys/dev/usb/usbdevs#16 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_rsu.c#3 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_rum.c#9 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_run.c#11 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_runreg.h#6 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_runvar.h#7 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_uath.c#9 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_upgt.c#8 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_ural.c#8 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_urtw.c#8 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_urtwn.c#4 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_zyd.c#10 integrate
.. //depot/projects/pci/sys/dev/vt/hw/vga/vga.c#2 integrate
.. //depot/projects/pci/sys/dev/vt/hw/xboxfb/xboxfb.c#2 integrate
.. //depot/projects/pci/sys/dev/vt/vt_font.c#3 integrate
.. //depot/projects/pci/sys/dev/vxge/vxgehal/vxgehal-ring.c#4 integrate
.. //depot/projects/pci/sys/dev/wi/if_wi.c#6 integrate
.. //depot/projects/pci/sys/dev/wpi/if_wpi.c#7 integrate
.. //depot/projects/pci/sys/dev/wpi/if_wpivar.h#3 integrate
.. //depot/projects/pci/sys/fs/nfs/nfs_var.h#11 integrate
.. //depot/projects/pci/sys/fs/nfs/nfsrvcache.h#4 integrate
.. //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdcache.c#8 integrate
.. //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdkrpc.c#7 integrate
.. //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdport.c#12 integrate
.. //depot/projects/pci/sys/fs/nfsserver/nfs_nfsdsubs.c#5 integrate
.. //depot/projects/pci/sys/ia64/ia64/dump_machdep.c#7 integrate
.. //depot/projects/pci/sys/ia64/include/atomic.h#3 integrate
.. //depot/projects/pci/sys/kern/kern_cons.c#4 integrate
.. //depot/projects/pci/sys/kern/kern_descrip.c#15 integrate
.. //depot/projects/pci/sys/kern/kern_event.c#10 integrate
.. //depot/projects/pci/sys/kern/sched_4bsd.c#11 integrate
.. //depot/projects/pci/sys/kern/uipc_syscalls.c#13 integrate
.. //depot/projects/pci/sys/mips/conf/TP-WN1043ND.hints#4 integrate
.. //depot/projects/pci/sys/mips/include/fdt.h#3 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/Makefile#4 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/ahc/Makefile#4 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/ahc/ahc_isa/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/ahc/ahc_pci/Makefile#4 integrate
.. //depot/projects/pci/sys/modules/aic7xxx/ahd/Makefile#5 integrate
.. //depot/projects/pci/sys/modules/ath/Makefile#8 integrate
.. //depot/projects/pci/sys/modules/drm2/i915kms/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/drm2/radeonkms/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/ibcore/Makefile#2 integrate
.. //depot/projects/pci/sys/modules/ipfilter/Makefile#5 integrate
.. //depot/projects/pci/sys/modules/ipoib/Makefile#2 integrate
.. //depot/projects/pci/sys/modules/iwnfw/Makefile#6 integrate
.. //depot/projects/pci/sys/modules/iwnfw/iwn135/Makefile#1 branch
.. //depot/projects/pci/sys/modules/mlx4/Makefile#4 integrate
.. //depot/projects/pci/sys/modules/mlx4ib/Makefile#4 integrate
.. //depot/projects/pci/sys/modules/mlxen/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/mthca/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/wlan/Makefile#6 integrate
.. //depot/projects/pci/sys/net/ieee8023ad_lacp.c#9 integrate
.. //depot/projects/pci/sys/net/if.c#11 integrate
.. //depot/projects/pci/sys/net/if_lagg.c#13 integrate
.. //depot/projects/pci/sys/net/if_lagg.h#9 integrate
.. //depot/projects/pci/sys/net/if_tap.c#6 integrate
.. //depot/projects/pci/sys/net/if_tun.c#11 integrate
.. //depot/projects/pci/sys/net/netmap.h#6 integrate
.. //depot/projects/pci/sys/net/netmap_user.h#5 integrate
.. //depot/projects/pci/sys/net/radix.c#5 integrate
.. //depot/projects/pci/sys/net/radix.h#6 integrate
.. //depot/projects/pci/sys/net/radix_mpath.c#4 integrate
.. //depot/projects/pci/sys/net/route.c#9 integrate
.. //depot/projects/pci/sys/net/route.h#7 integrate
.. //depot/projects/pci/sys/net/rtsock.c#9 integrate
.. //depot/projects/pci/sys/net/sff8472.h#2 integrate
.. //depot/projects/pci/sys/net80211/ieee80211.h#7 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_adhoc.c#6 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_hostap.c#8 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_mesh.c#10 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_output.c#13 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_proto.c#8 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_sta.c#7 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_wds.c#7 integrate
.. //depot/projects/pci/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#8 integrate
.. //depot/projects/pci/sys/netgraph/netflow/netflow.c#7 integrate
.. //depot/projects/pci/sys/netgraph/netflow/netflow_v9.c#4 integrate
.. //depot/projects/pci/sys/netgraph/netflow/ng_netflow.c#6 integrate
.. //depot/projects/pci/sys/netgraph/netflow/ng_netflow.h#7 integrate
.. //depot/projects/pci/sys/netgraph/ng_base.c#10 integrate
.. //depot/projects/pci/sys/netgraph/ng_l2tp.c#5 integrate
.. //depot/projects/pci/sys/netinet/if_ether.c#11 integrate
.. //depot/projects/pci/sys/netinet/in.c#11 integrate
.. //depot/projects/pci/sys/netinet/ip_carp.c#10 integrate
.. //depot/projects/pci/sys/netinet/ip_output.c#12 integrate
.. //depot/projects/pci/sys/netinet6/in6.c#13 integrate
.. //depot/projects/pci/sys/netinet6/in6_ifattach.c#9 integrate
.. //depot/projects/pci/sys/netinet6/in6_mcast.c#7 integrate
.. //depot/projects/pci/sys/netinet6/in6_src.c#8 integrate
.. //depot/projects/pci/sys/netinet6/in6_var.h#7 integrate
.. //depot/projects/pci/sys/netinet6/ip6_mroute.c#8 integrate
.. //depot/projects/pci/sys/netinet6/ip6_mroute.h#4 integrate
.. //depot/projects/pci/sys/netinet6/mld6.c#8 integrate
.. //depot/projects/pci/sys/netinet6/nd6.c#13 integrate
.. //depot/projects/pci/sys/netinet6/nd6_nbr.c#9 integrate
.. //depot/projects/pci/sys/netinet6/nd6_rtr.c#8 integrate
.. //depot/projects/pci/sys/netpfil/ipfw/ip_fw_table.c#2 integrate
.. //depot/projects/pci/sys/netpfil/pf/pf_lb.c#4 integrate
.. //depot/projects/pci/sys/nfs/nfs_fha.c#3 integrate
.. //depot/projects/pci/sys/nfs/nfs_fha.h#3 integrate
.. //depot/projects/pci/sys/ofed/drivers/infiniband/hw/mlx4/Makefile#3 integrate
.. //depot/projects/pci/sys/ofed/drivers/net/mlx4/Makefile#3 integrate
.. //depot/projects/pci/sys/powerpc/include/fdt.h#4 delete
.. //depot/projects/pci/sys/powerpc/powerpc/bus_machdep.c#5 integrate
.. //depot/projects/pci/sys/rpc/svc.c#6 integrate
.. //depot/projects/pci/sys/rpc/svc.h#5 integrate
.. //depot/projects/pci/sys/rpc/svc_dg.c#5 integrate
.. //depot/projects/pci/sys/rpc/svc_vc.c#6 integrate
.. //depot/projects/pci/sys/sys/copyright.h#4 integrate
.. //depot/projects/pci/sys/sys/event.h#6 integrate
.. //depot/projects/pci/sys/sys/param.h#17 integrate
.. //depot/projects/pci/sys/sys/pctrie.h#2 integrate
.. //depot/projects/pci/sys/sys/pmckern.h#6 integrate
.. //depot/projects/pci/sys/sys/sf_base.h#1 branch
.. //depot/projects/pci/sys/sys/user.h#10 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_alloc.c#14 integrate
.. //depot/projects/pci/sys/ufs/ufs/ufs_quota.c#7 integrate
.. //depot/projects/pci/sys/vm/vm_page.c#13 integrate
.. //depot/projects/pci/sys/vm/vm_page.h#10 integrate
.. //depot/projects/pci/sys/vm/vm_phys.c#8 integrate
.. //depot/projects/pci/sys/vm/vm_reserv.c#7 integrate
.. //depot/projects/pci/sys/x86/include/fdt.h#2 integrate
.. //depot/projects/pci/sys/x86/include/ofw_machdep.h#2 integrate
.. //depot/projects/pci/sys/x86/x86/mca.c#4 integrate
.. //depot/projects/pci/usr.sbin/Makefile.inc#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/Makefile#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/cap.c#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/err.c#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/pathnames.h#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/pciconf.8#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/pciconf.c#1 branch
.. //depot/projects/pci/usr.sbin/pciconf/pciconf.h#1 branch

Differences ...

==== //depot/projects/pci/sys/Makefile#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: head/sys/Makefile 248209 2013-03-12 14:21:52Z bryanv $
+# $FreeBSD: head/sys/Makefile 260080 2013-12-30 08:36:17Z rpaulo $
 
 .include <bsd.own.mk>
 
@@ -10,7 +10,7 @@
 # Directories to include in cscope name file and TAGS.
 CSCOPEDIRS=	boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \
 		geom gnu isa kern libkern modules net net80211 netatalk \
-		netgraph netinet netinet6 netipsec netipx netnatm \
+		netgraph netinet netinet6 netipsec netipx netnatm netpfil \
 		netsmb nfs nfsclient nfsserver nlm ofed opencrypto \
 		pci rpc security sys ufs vm xdr xen ${CSCOPE_ARCHDIR}
 .if !defined(CSCOPE_ARCHDIR)

==== //depot/projects/pci/sys/amd64/amd64/pmap.c#13 (text+ko) ====

@@ -79,7 +79,7 @@
 #define	AMD64_NPT_AWARE
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/amd64/pmap.c 259641 2013-12-20 05:50:22Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/amd64/pmap.c 260205 2014-01-02 18:50:52Z kib $");
 
 /*
  *	Manages physical address maps.
@@ -608,6 +608,9 @@
 {
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
+	KASSERT(pmap->pm_stats.resident_count >= count,
+	    ("pmap %p resident count underflow %ld %d", pmap,
+	    pmap->pm_stats.resident_count, count));
 	pmap->pm_stats.resident_count -= count;
 }
 
@@ -1766,16 +1769,6 @@
 }
 
 /*
- * Are we current address space or kernel?
- */
-static __inline int
-pmap_is_current(pmap_t pmap)
-{
-	return (pmap == kernel_pmap ||
-	    (pmap->pm_pml4[PML4PML4I] & PG_FRAME) == (PML4pml4e[0] & PG_FRAME));
-}
-
-/*
  *	Routine:	pmap_extract
  *	Function:
  *		Extract the physical page address associated
@@ -5130,12 +5123,20 @@
 }
 
 /*
- * Remove all pages from specified address space
- * this aids process exit speeds.  Also, this code
- * is special cased for current process only, but
- * can have the more generic (and slightly slower)
- * mode enabled.  This is much faster than pmap_remove
- * in the case of running down an entire address space.
+ * Destroy all managed, non-wired mappings in the given user-space
+ * pmap.  This pmap cannot be active on any processor besides the
+ * caller.
+ *                                                                                
+ * This function cannot be applied to the kernel pmap.  Moreover, it
+ * is not intended for general use.  It is only to be used during
+ * process termination.  Consequently, it can be implemented in ways
+ * that make it faster than pmap_remove().  First, it can more quickly
+ * destroy mappings by iterating over the pmap's collection of PV
+ * entries, rather than searching the page table.  Second, it doesn't
+ * have to test and clear the page table entries atomically, because
+ * no processor is currently accessing the user address space.  In
+ * particular, a page table entry's dirty bit won't change state once
+ * this function starts.
  */
 void
 pmap_remove_pages(pmap_t pmap)
@@ -5155,10 +5156,24 @@
 	boolean_t superpage;
 	vm_paddr_t pa;
 
-	if (pmap != PCPU_GET(curpmap)) {
-		printf("warning: pmap_remove_pages called with non-current pmap\n");
-		return;
+	/*
+	 * Assert that the given pmap is only active on the current
+	 * CPU.  Unfortunately, we cannot block another CPU from
+	 * activating the pmap while this function is executing.
+	 */
+	KASSERT(pmap == PCPU_GET(curpmap), ("non-current pmap %p", pmap));
+#ifdef INVARIANTS
+	{
+		cpuset_t other_cpus;
+
+		other_cpus = all_cpus;
+		critical_enter();
+		CPU_CLR(PCPU_GET(cpuid), &other_cpus);
+		CPU_AND(&other_cpus, &pmap->pm_active);
+		critical_exit();
+		KASSERT(CPU_EMPTY(&other_cpus), ("pmap active %p", pmap));
 	}
+#endif
 
 	lock = NULL;
 	PG_M = pmap_modified_bit(pmap);

==== //depot/projects/pci/sys/amd64/conf/NOTES#11 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: head/sys/amd64/conf/NOTES 257277 2013-10-28 21:11:28Z glebius $
+# $FreeBSD: head/sys/amd64/conf/NOTES 260376 2014-01-06 17:23:22Z schweikh $
 #
 
 #
@@ -462,7 +462,7 @@
 #
 # The virtio entry provides a generic bus for use by the device drivers.
 # It must be combined with an interface that communicates with the host.
-# Multiple such interfaces defined by the VirtIO specification. FreeBSD
+# Multiple such interfaces are defined by the VirtIO specification. FreeBSD
 # only has support for PCI. Therefore, virtio_pci must be statically
 # compiled in or loaded as a module for the device drivers to function.
 #
@@ -476,7 +476,7 @@
 device 		hyperv		# HyperV drivers
 
 # Xen HVM Guest Optimizations
-options 	XENHVM		# Xen HVM kernel infrastructure 
+options 	XENHVM		# Xen HVM kernel infrastructure
 device 		xenpci		# Xen HVM Hypervisor services driver
 
 #####################################################################

==== //depot/projects/pci/sys/amd64/include/vmm.h#7 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/include/vmm.h 259863 2013-12-25 06:46:31Z neel $
+ * $FreeBSD: head/sys/amd64/include/vmm.h 260466 2014-01-09 03:25:54Z neel $
  */
 
 #ifndef _VMM_H_
@@ -47,7 +47,7 @@
 
 enum x2apic_state;
 
-typedef int	(*vmm_init_func_t)(void);
+typedef int	(*vmm_init_func_t)(int ipinum);
 typedef int	(*vmm_cleanup_func_t)(void);
 typedef void	(*vmm_resume_func_t)(void);
 typedef void *	(*vmi_init_func_t)(struct vm *vm, struct pmap *pmap);
@@ -303,9 +303,19 @@
 		 * exitcode to represent the VM-exit.
 		 */
 		struct {
-			int		error;		/* vmx inst error */
+			int		status;		/* vmx inst status */
+			/*
+			 * 'exit_reason' and 'exit_qualification' are valid
+			 * only if 'status' is zero.
+			 */
 			uint32_t	exit_reason;
 			uint64_t	exit_qualification;
+			/*
+			 * 'inst_error' and 'inst_type' are valid
+			 * only if 'status' is non-zero.
+			 */
+			int		inst_type;
+			int		inst_error;
 		} vmx;
 		struct {
 			uint32_t	code;		/* ecx value */

==== //depot/projects/pci/sys/amd64/vmm/amd/amdv.c#4 (text+ko) ====

@@ -23,11 +23,11 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/amd/amdv.c 259863 2013-12-25 06:46:31Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/amd/amdv.c 260466 2014-01-09 03:25:54Z neel $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/amd/amdv.c 259863 2013-12-25 06:46:31Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/amd/amdv.c 260466 2014-01-09 03:25:54Z neel $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -38,7 +38,7 @@
 #include "io/iommu.h"
 
 static int
-amdv_init(void)
+amdv_init(int ipinum)
 {
 
 	printf("amdv_init: not implemented\n");

==== //depot/projects/pci/sys/amd64/vmm/intel/ept.c#5 (text+ko) ====

@@ -23,11 +23,11 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/intel/ept.c 259641 2013-12-20 05:50:22Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/ept.c 260466 2014-01-09 03:25:54Z neel $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/ept.c 259641 2013-12-20 05:50:22Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/ept.c 260466 2014-01-09 03:25:54Z neel $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -77,7 +77,7 @@
     &ept_pmap_flags, 0, NULL);
 
 int
-ept_init(void)
+ept_init(int ipinum)
 {
 	int use_hw_ad_bits, use_superpages, use_exec_only;
 	uint64_t cap;
@@ -99,7 +99,7 @@
 	    !INVEPT_ALL_TYPES_SUPPORTED(cap))
 		return (EINVAL);
 
-	ept_pmap_flags = vmm_ipinum & PMAP_NESTED_IPIMASK;
+	ept_pmap_flags = ipinum & PMAP_NESTED_IPIMASK;
 
 	use_superpages = 1;
 	TUNABLE_INT_FETCH("hw.vmm.ept.use_superpages", &use_superpages);

==== //depot/projects/pci/sys/amd64/vmm/intel/ept.h#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/intel/ept.h 256072 2013-10-05 21:22:35Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/ept.h 260466 2014-01-09 03:25:54Z neel $
  */
 
 #ifndef	_EPT_H_
@@ -31,7 +31,7 @@
 
 struct vmx;
 
-int	ept_init(void);
+int	ept_init(int ipinum);
 void	ept_invalidate_mappings(u_long eptp);
 struct vmspace *ept_vmspace_alloc(vm_offset_t min, vm_offset_t max);
 void	ept_vmspace_free(struct vmspace *vmspace);

==== //depot/projects/pci/sys/amd64/vmm/intel/vmcs.c#6 (text+ko) ====

@@ -23,13 +23,13 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 259542 2013-12-18 06:24:21Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 260380 2014-01-06 23:16:39Z neel $
  */
 
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 259542 2013-12-18 06:24:21Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 260380 2014-01-06 23:16:39Z neel $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -315,11 +315,7 @@
 }
 
 int
-vmcs_set_defaults(struct vmcs *vmcs,
-		  u_long host_rip, u_long host_rsp, uint64_t eptp,
-		  uint32_t pinbased_ctls, uint32_t procbased_ctls,
-		  uint32_t procbased_ctls2, uint32_t exit_ctls,
-		  uint32_t entry_ctls, u_long msr_bitmap, uint16_t vpid)
+vmcs_init(struct vmcs *vmcs)
 {
 	int error, codesel, datasel, tsssel;
 	u_long cr0, cr4, efer;
@@ -335,22 +331,6 @@
 	 */
 	VMPTRLD(vmcs);
 
-	/*
-	 * Load the VMX controls
-	 */
-	if ((error = vmwrite(VMCS_PIN_BASED_CTLS, pinbased_ctls)) != 0)
-		goto done;
-	if ((error = vmwrite(VMCS_PRI_PROC_BASED_CTLS, procbased_ctls)) != 0)
-		goto done;
-	if ((error = vmwrite(VMCS_SEC_PROC_BASED_CTLS, procbased_ctls2)) != 0)
-		goto done;
-	if ((error = vmwrite(VMCS_EXIT_CTLS, exit_ctls)) != 0)
-		goto done;
-	if ((error = vmwrite(VMCS_ENTRY_CTLS, entry_ctls)) != 0)
-		goto done;
-
-	/* Guest state */
-
 	/* Initialize guest IA32_PAT MSR with the default value */
 	pat = PAT_VALUE(0, PAT_WRITE_BACK)	|
 	      PAT_VALUE(1, PAT_WRITE_THROUGH)	|
@@ -422,23 +402,7 @@
 		goto done;
 
 	/* instruction pointer */
-	if ((error = vmwrite(VMCS_HOST_RIP, host_rip)) != 0)
-		goto done;
-
-	/* stack pointer */
-	if ((error = vmwrite(VMCS_HOST_RSP, host_rsp)) != 0)
-		goto done;
-
-	/* eptp */
-	if ((error = vmwrite(VMCS_EPTP, eptp)) != 0)
-		goto done;
-
-	/* vpid */
-	if ((error = vmwrite(VMCS_VPID, vpid)) != 0)
-		goto done;
-
-	/* msr bitmap */
-	if ((error = vmwrite(VMCS_MSR_BITMAP, msr_bitmap)) != 0)
+	if ((error = vmwrite(VMCS_HOST_RIP, (u_long)vmx_exit_guest)) != 0)
 		goto done;
 
 	/* exception bitmap */

==== //depot/projects/pci/sys/amd64/vmm/intel/vmcs.h#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.h 259542 2013-12-18 06:24:21Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.h 260410 2014-01-07 21:04:49Z neel $
  */
 
 #ifndef _VMCS_H_
@@ -46,12 +46,7 @@
 };
 
 int vmcs_set_msr_save(struct vmcs *vmcs, u_long g_area, u_int g_count);
-int	vmcs_set_defaults(struct vmcs *vmcs, u_long host_rip, u_long host_rsp,
-			  uint64_t eptp,
-			  uint32_t pinbased_ctls, uint32_t procbased_ctls,
-			  uint32_t procbased_ctls2, uint32_t exit_ctls,
-			  uint32_t entry_ctls, u_long msr_bitmap,
-			  uint16_t vpid);
+int	vmcs_init(struct vmcs *vmcs);
 int	vmcs_getreg(struct vmcs *vmcs, int running, int ident, uint64_t *rv);
 int	vmcs_setreg(struct vmcs *vmcs, int running, int ident, uint64_t val);
 int	vmcs_getdesc(struct vmcs *vmcs, int ident,
@@ -112,6 +107,7 @@
 #define	VMCS_GUEST_GS_SELECTOR		0x0000080A
 #define	VMCS_GUEST_LDTR_SELECTOR	0x0000080C
 #define	VMCS_GUEST_TR_SELECTOR		0x0000080E
+#define	VMCS_GUEST_INTR_STATUS		0x00000810
 
 /* 16-bit host-state fields */
 #define	VMCS_HOST_ES_SELECTOR		0x00000C00
@@ -134,6 +130,10 @@
 #define	VMCS_VIRTUAL_APIC		0x00002012
 #define	VMCS_APIC_ACCESS		0x00002014
 #define	VMCS_EPTP			0x0000201A
+#define	VMCS_EOI_EXIT0			0x0000201C
+#define	VMCS_EOI_EXIT1			0x0000201E
+#define	VMCS_EOI_EXIT2			0x00002020
+#define	VMCS_EOI_EXIT3			0x00002022
 
 /* 64-bit read-only fields */
 #define	VMCS_GUEST_PHYSICAL_ADDRESS	0x00002400
@@ -315,7 +315,7 @@
 #define EXIT_REASON_PAUSE		40
 #define EXIT_REASON_MCE			41
 #define EXIT_REASON_TPR			43
-#define EXIT_REASON_APIC		44
+#define EXIT_REASON_APIC_ACCESS		44
 #define EXIT_REASON_GDTR_IDTR		46
 #define EXIT_REASON_LDTR_TR		47
 #define EXIT_REASON_EPT_FAULT		48
@@ -326,6 +326,7 @@
 #define EXIT_REASON_INVVPID		53
 #define EXIT_REASON_WBINVD		54
 #define EXIT_REASON_XSETBV		55
+#define	EXIT_REASON_APIC_WRITE		56
 
 /*
  * VMCS interrupt information fields
@@ -365,4 +366,15 @@
 #define	EPT_VIOLATION_GLA_VALID		(1UL << 7)
 #define	EPT_VIOLATION_XLAT_VALID	(1UL << 8)
 
+/*
+ * Exit qualification for APIC-access VM exit
+ */
+#define	APIC_ACCESS_OFFSET(qual)	((qual) & 0xFFF)
+#define	APIC_ACCESS_TYPE(qual)		(((qual) >> 12) & 0xF)
+
+/*
+ * Exit qualification for APIC-write VM exit
+ */
+#define	APIC_WRITE_OFFSET(qual)		((qual) & 0xFFF)
+
 #endif

==== //depot/projects/pci/sys/amd64/vmm/intel/vmx.c#8 (text+ko) ====

@@ -23,11 +23,11 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/amd64/vmm/intel/vmx.c 259942 2013-12-27 12:15:53Z dim $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmx.c 260466 2014-01-09 03:25:54Z neel $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmx.c 259942 2013-12-27 12:15:53Z dim $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmx.c 260466 2014-01-09 03:25:54Z neel $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -166,12 +166,25 @@
 static int cap_unrestricted_guest;
 static int cap_monitor_trap;
 static int cap_invpcid;
- 
+
+static int virtual_interrupt_delivery;
+SYSCTL_INT(_hw_vmm_vmx, OID_AUTO, virtual_interrupt_delivery, CTLFLAG_RD,
+    &virtual_interrupt_delivery, 0, "APICv virtual interrupt delivery support");
+
 static struct unrhdr *vpid_unr;
 static u_int vpid_alloc_failed;
 SYSCTL_UINT(_hw_vmm_vmx, OID_AUTO, vpid_alloc_failed, CTLFLAG_RD,
 	    &vpid_alloc_failed, 0, NULL);
 
+/*
+ * Use the last page below 4GB as the APIC access address. This address is
+ * occupied by the boot firmware so it is guaranteed that it will not conflict
+ * with a page in system memory.
+ */
+#define	APIC_ACCESS_ADDRESS	0xFFFFF000
+
+static void vmx_inject_pir(struct vlapic *vlapic);
+
 #ifdef KTR
 static const char *
 exit_reason_to_str(int reason)
@@ -261,8 +274,8 @@
 		return "mce";
 	case EXIT_REASON_TPR:
 		return "tpr";
-	case EXIT_REASON_APIC:
-		return "apic";
+	case EXIT_REASON_APIC_ACCESS:
+		return "apic-access";
 	case EXIT_REASON_GDTR_IDTR:
 		return "gdtridtr";
 	case EXIT_REASON_LDTR_TR:
@@ -283,87 +296,13 @@
 		return "wbinvd";
 	case EXIT_REASON_XSETBV:
 		return "xsetbv";
+	case EXIT_REASON_APIC_WRITE:
+		return "apic-write";
 	default:
 		snprintf(reasonbuf, sizeof(reasonbuf), "%d", reason);
 		return (reasonbuf);
 	}
 }
-
-#ifdef SETJMP_TRACE
-static const char *
-vmx_setjmp_rc2str(int rc)
-{
-	switch (rc) {
-	case VMX_RETURN_DIRECT:
-		return "direct";
-	case VMX_RETURN_LONGJMP:
-		return "longjmp";
-	case VMX_RETURN_VMRESUME:
-		return "vmresume";
-	case VMX_RETURN_VMLAUNCH:
-		return "vmlaunch";
-	case VMX_RETURN_AST:
-		return "ast";
-	default:
-		return "unknown";
-	}
-}
-
-#define	SETJMP_TRACE(vmx, vcpu, vmxctx, regname)			    \
-	VCPU_CTR1((vmx)->vm, (vcpu), "setjmp trace " #regname " 0x%016lx",  \
-		 (vmxctx)->regname)
-
-static void
-vmx_setjmp_trace(struct vmx *vmx, int vcpu, struct vmxctx *vmxctx, int rc)
-{
-	uint64_t host_rip, host_rsp;
-
-	if (vmxctx != &vmx->ctx[vcpu])
-		panic("vmx_setjmp_trace: invalid vmxctx %p; should be %p",
-			vmxctx, &vmx->ctx[vcpu]);
-
-	VCPU_CTR1((vmx)->vm, (vcpu), "vmxctx = %p", vmxctx);
-	VCPU_CTR2((vmx)->vm, (vcpu), "setjmp return code %s(%d)",
-		 vmx_setjmp_rc2str(rc), rc);
-
-	host_rip = vmcs_read(VMCS_HOST_RIP);
-	host_rsp = vmcs_read(VMCS_HOST_RSP);
-	VCPU_CTR2((vmx)->vm, (vcpu), "vmcs host_rip 0x%016lx, host_rsp %#lx",
-		 host_rip, host_rsp);
-
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_r15);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_r14);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_r13);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_r12);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_rbp);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_rsp);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_rbx);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, host_rip);
-
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rdi);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rsi);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rdx);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rcx);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r8);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r9);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rax);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rbx);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_rbp);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r10);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r11);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r12);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r13);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r14);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_r15);
-	SETJMP_TRACE(vmx, vcpu, vmxctx, guest_cr2);
-}
-#endif
-#else
-static void __inline
-vmx_setjmp_trace(struct vmx *vmx, int vcpu, struct vmxctx *vmxctx, int rc)
-{
-	return;
-}
 #endif	/* KTR */
 
 u_long
@@ -535,11 +474,11 @@
 }
 
 static int
-vmx_init(void)
+vmx_init(int ipinum)
 {
-	int error;
+	int error, use_tpr_shadow;
 	uint64_t fixed0, fixed1, feature_control;
-	uint32_t tmp;
+	uint32_t tmp, procbased2_vid_bits;
 
 	/* CPUID.1:ECX[bit 5] must be 1 for processor to support VMX */
 	if (!(cpu_feature2 & CPUID2_VMX)) {
@@ -673,9 +612,34 @@
 	    MSR_VMX_PROCBASED_CTLS2, PROCBASED2_ENABLE_INVPCID, 0,
 	    &tmp) == 0);
 
+	/*
+	 * Check support for virtual interrupt delivery.
+	 */
+	procbased2_vid_bits = (PROCBASED2_VIRTUALIZE_APIC_ACCESSES |
+	    PROCBASED2_VIRTUALIZE_X2APIC_MODE |
+	    PROCBASED2_APIC_REGISTER_VIRTUALIZATION |
+	    PROCBASED2_VIRTUAL_INTERRUPT_DELIVERY);
+
+	use_tpr_shadow = (vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS,
+	    MSR_VMX_TRUE_PROCBASED_CTLS, PROCBASED_USE_TPR_SHADOW, 0,
+	    &tmp) == 0);
+
+	error = vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS2, MSR_VMX_PROCBASED_CTLS2,

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401101936.s0AJaVX4068473>