PERFORCE change 1189571 for review

John Baldwin jhb at FreeBSD.org
Sat Dec 28 17:42:14 UTC 2013


http://p4web.freebsd.org/@@1189571?ac=10

Change 1189571 by jhb at jhb_pippin on 2013/12/28 17:41:16

	IFC @1189568

Affected files ...

.. //depot/projects/smpng/share/man/man9/Makefile#41 integrate
.. //depot/projects/smpng/share/man/man9/mbuf.9#7 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#122 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#94 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#134 integrate
.. //depot/projects/smpng/sys/amd64/include/cpu.h#16 integrate
.. //depot/projects/smpng/sys/amd64/include/pmap.h#49 integrate
.. //depot/projects/smpng/sys/amd64/include/vmm.h#7 integrate
.. //depot/projects/smpng/sys/amd64/include/vmm_dev.h#6 integrate
.. //depot/projects/smpng/sys/amd64/vmm/amd/amdv.c#4 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/ept.c#5 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/vmcs.c#6 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/vmcs.h#6 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/vmx.c#9 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/vmx.h#5 integrate
.. //depot/projects/smpng/sys/amd64/vmm/intel/vmx_genassym.c#5 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/ppt.c#7 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/ppt.h#4 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/vhpet.c#2 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/vioapic.c#2 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/vlapic.c#6 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/vlapic.h#4 integrate
.. //depot/projects/smpng/sys/amd64/vmm/io/vlapic_priv.h#1 branch
.. //depot/projects/smpng/sys/amd64/vmm/vmm.c#7 integrate
.. //depot/projects/smpng/sys/amd64/vmm/vmm_dev.c#8 integrate
.. //depot/projects/smpng/sys/amd64/vmm/vmm_lapic.c#4 integrate
.. //depot/projects/smpng/sys/amd64/vmm/vmm_lapic.h#4 integrate
.. //depot/projects/smpng/sys/amd64/vmm/vmm_msr.c#5 integrate
.. //depot/projects/smpng/sys/amd64/vmm/vmm_msr.h#3 integrate
.. //depot/projects/smpng/sys/arm/arm/bus_space-v6.c#2 integrate
.. //depot/projects/smpng/sys/arm/arm/cpufunc.c#32 integrate
.. //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#33 integrate
.. //depot/projects/smpng/sys/arm/arm/identcpu.c#27 integrate
.. //depot/projects/smpng/sys/arm/arm/locore.S#29 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap-v6.c#11 integrate
.. //depot/projects/smpng/sys/arm/arm/swtch.S#27 integrate
.. //depot/projects/smpng/sys/arm/at91/if_ate.c#34 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#26 integrate
.. //depot/projects/smpng/sys/arm/broadcom/bcm2835/bcm2835_fbd.c#1 branch
.. //depot/projects/smpng/sys/arm/broadcom/bcm2835/files.bcm2835#7 integrate
.. //depot/projects/smpng/sys/arm/conf/RPI-B#6 integrate
.. //depot/projects/smpng/sys/arm/freescale/imx/files.imx51#3 integrate
.. //depot/projects/smpng/sys/arm/freescale/imx/files.imx53#4 integrate
.. //depot/projects/smpng/sys/arm/freescale/imx/files.imx6#2 integrate
.. //depot/projects/smpng/sys/arm/freescale/imx/imx51_ipuv3_fbd.c#1 branch
.. //depot/projects/smpng/sys/arm/include/armreg.h#20 integrate
.. //depot/projects/smpng/sys/arm/include/cpuconf.h#16 integrate
.. //depot/projects/smpng/sys/arm/include/cpufunc.h#23 integrate
.. //depot/projects/smpng/sys/arm/include/intr.h#18 integrate
.. //depot/projects/smpng/sys/arm/include/md_var.h#11 integrate
.. //depot/projects/smpng/sys/arm/mv/mv_pci.c#12 integrate
.. //depot/projects/smpng/sys/arm/ti/am335x/am335x_dmtimer.c#5 integrate
.. //depot/projects/smpng/sys/arm/ti/files.ti#5 integrate
.. //depot/projects/smpng/sys/arm/versatile/bus_space.c#2 integrate
.. //depot/projects/smpng/sys/arm/xilinx/zy7_bus_space.c#2 integrate
.. //depot/projects/smpng/sys/boot/fdt/dts/beri-netfpga.dts#1 branch
.. //depot/projects/smpng/sys/boot/ficl/Makefile#22 integrate
.. //depot/projects/smpng/sys/boot/i386/Makefile.inc#14 integrate
.. //depot/projects/smpng/sys/boot/i386/boot2/Makefile#28 integrate
.. //depot/projects/smpng/sys/boot/ia64/efi/version#8 integrate
.. //depot/projects/smpng/sys/boot/pc98/Makefile.inc#11 integrate
.. //depot/projects/smpng/sys/boot/pc98/boot2/Makefile#24 integrate
.. //depot/projects/smpng/sys/boot/usb/Makefile#2 integrate
.. //depot/projects/smpng/sys/boot/usb/Makefile.test#2 integrate
.. //depot/projects/smpng/sys/boot/userboot/ficl/Makefile#3 integrate
.. //depot/projects/smpng/sys/boot/userboot/libstand/Makefile#6 integrate
.. //depot/projects/smpng/sys/boot/zfs/Makefile#9 integrate
.. //depot/projects/smpng/sys/cam/cam.h#15 integrate
.. //depot/projects/smpng/sys/cam/cam_ccb.h#32 integrate
.. //depot/projects/smpng/sys/cam/cam_compat.c#3 integrate
.. //depot/projects/smpng/sys/cam/cam_compat.h#3 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_xpt.c#19 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c#5 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#19 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c#7 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#9 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#15 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#10 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#17 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c#13 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#15 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c#10 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#19 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#17 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c#13 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#9 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#13 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#8 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h#5 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#22 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#10 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c#6 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#29 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#17 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c#8 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c#3 integrate
.. //depot/projects/smpng/sys/cddl/dev/fbt/fbt_powerpc.c#4 integrate
.. //depot/projects/smpng/sys/conf/Makefile.arm#45 integrate
.. //depot/projects/smpng/sys/conf/files#294 integrate
.. //depot/projects/smpng/sys/conf/files.arm#31 integrate
.. //depot/projects/smpng/sys/conf/files.powerpc#84 integrate
.. //depot/projects/smpng/sys/conf/kern.mk#40 integrate
.. //depot/projects/smpng/sys/conf/options.arm#35 integrate
.. //depot/projects/smpng/sys/dev/advansys/adwcam.c#23 integrate
.. //depot/projects/smpng/sys/dev/ae/if_ae.c#19 integrate
.. //depot/projects/smpng/sys/dev/ahci/ahciem.c#5 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.c#33 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx.c#32 integrate
.. //depot/projects/smpng/sys/dev/an/if_an.c#65 integrate
.. //depot/projects/smpng/sys/dev/an/if_an_pccard.c#21 integrate
.. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#36 integrate
.. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.h#14 integrate
.. //depot/projects/smpng/sys/dev/bxe/bxe.c#4 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_mc5.c#7 integrate
.. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#25 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/common/common.h#12 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/offload.h#11 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/t4_main.c#20 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/t4_sge.c#17 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_cpl_io.c#10 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_listen.c#8 integrate
.. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_tom.h#8 integrate
.. //depot/projects/smpng/sys/dev/drm/mach64_dma.c#9 integrate
.. //depot/projects/smpng/sys/dev/drm2/drm_edid.c#5 integrate
.. //depot/projects/smpng/sys/dev/drm2/drm_fb_helper.c#5 integrate
.. //depot/projects/smpng/sys/dev/drm2/radeon/radeon_fence.c#2 integrate
.. //depot/projects/smpng/sys/dev/drm2/radeon/radeon_sa.c#2 integrate
.. //depot/projects/smpng/sys/dev/drm2/ttm/ttm_bo.c#4 integrate
.. //depot/projects/smpng/sys/dev/drm2/ttm/ttm_bo_vm.c#4 integrate
.. //depot/projects/smpng/sys/dev/drm2/ttm/ttm_lock.c#2 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_lem.c#20 integrate
.. //depot/projects/smpng/sys/dev/fb/fbd.c#2 integrate
.. //depot/projects/smpng/sys/dev/fdt/fdt_common.h#10 integrate
.. //depot/projects/smpng/sys/dev/fdt/fdt_pci.c#10 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#20 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.h#7 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_intel.c#14 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_powerpc.c#8 integrate
.. //depot/projects/smpng/sys/dev/ie/if_ie.c#23 integrate
.. //depot/projects/smpng/sys/dev/isp/isp.c#77 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#84 integrate
.. //depot/projects/smpng/sys/dev/iwn/if_iwn_chip_cfg.h#2 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#40 integrate
.. //depot/projects/smpng/sys/dev/mwl/if_mwl.c#16 integrate
.. //depot/projects/smpng/sys/dev/netmap/if_em_netmap.h#7 integrate
.. //depot/projects/smpng/sys/dev/netmap/if_igb_netmap.h#8 integrate
.. //depot/projects/smpng/sys/dev/netmap/if_lem_netmap.h#6 integrate
.. //depot/projects/smpng/sys/dev/netmap/if_re_netmap.h#7 integrate
.. //depot/projects/smpng/sys/dev/netmap/ixgbe_netmap.h#8 integrate
.. //depot/projects/smpng/sys/dev/netmap/netmap.c#10 integrate
.. //depot/projects/smpng/sys/dev/netmap/netmap_freebsd.c#1 branch
.. //depot/projects/smpng/sys/dev/netmap/netmap_generic.c#1 branch
.. //depot/projects/smpng/sys/dev/netmap/netmap_kern.h#10 integrate
.. //depot/projects/smpng/sys/dev/netmap/netmap_mbq.c#1 branch
.. //depot/projects/smpng/sys/dev/netmap/netmap_mbq.h#1 branch
.. //depot/projects/smpng/sys/dev/netmap/netmap_mem2.c#8 integrate
.. //depot/projects/smpng/sys/dev/netmap/netmap_mem2.h#2 integrate
.. //depot/projects/smpng/sys/dev/netmap/netmap_vale.c#1 branch
.. //depot/projects/smpng/sys/dev/nmdm/nmdm.c#39 integrate
.. //depot/projects/smpng/sys/dev/ofw/ofw_bus_subr.c#11 integrate
.. //depot/projects/smpng/sys/dev/ofw/ofw_bus_subr.h#9 integrate
.. //depot/projects/smpng/sys/dev/ofw/ofw_console.c#37 integrate
.. //depot/projects/smpng/sys/dev/pci/vga_pci.c#16 integrate
.. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#46 integrate
.. //depot/projects/smpng/sys/dev/syscons/scterm-teken.c#14 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_bus_pci.c#20 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_cpu.h#11 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_tty.c#30 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#23 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#26 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/dwc_otg.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#32 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#27 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ohci.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uhci.c#26 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#26 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/xhci.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#32 integrate
.. //depot/projects/smpng/sys/dev/usb/template/usb_template.c#19 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_bus.h#15 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.c#37 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.h#26 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_hub.c#34 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#34 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#187 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdi.h#41 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_run.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_runreg.h#8 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_runvar.h#11 integrate
.. //depot/projects/smpng/sys/dev/vt/font/vt_font_default.c#2 integrate
.. //depot/projects/smpng/sys/dev/vt/hw/fb/vt_fb.c#2 integrate
.. //depot/projects/smpng/sys/dev/vt/vt.h#2 integrate
.. //depot/projects/smpng/sys/dev/vt/vt_consolectl.c#2 integrate
.. //depot/projects/smpng/sys/dev/vt/vt_core.c#2 integrate
.. //depot/projects/smpng/sys/dev/vt/vt_font.c#2 integrate
.. //depot/projects/smpng/sys/dev/vt/vt_sysmouse.c#2 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#44 integrate
.. //depot/projects/smpng/sys/fs/ext2fs/ext2_hash.c#2 integrate
.. //depot/projects/smpng/sys/fs/fifofs/fifo_vnops.c#60 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_commonsubs.c#18 integrate
.. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#24 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clstate.c#22 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_fha_new.c#2 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdcache.c#10 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdport.c#33 integrate
.. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#23 integrate
.. //depot/projects/smpng/sys/geom/eli/g_eli.c#42 integrate
.. //depot/projects/smpng/sys/geom/eli/g_eli_crypto.c#8 integrate
.. //depot/projects/smpng/sys/geom/geom_dev.c#67 integrate
.. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#56 integrate
.. //depot/projects/smpng/sys/geom/mirror/g_mirror.h#20 integrate
.. //depot/projects/smpng/sys/geom/mirror/g_mirror_ctl.c#19 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.c#48 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.h#17 integrate
.. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#30 integrate
.. //depot/projects/smpng/sys/i386/i386/symbols.raw#5 delete
.. //depot/projects/smpng/sys/ia64/ia64/dump_machdep.c#17 integrate
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#116 integrate
.. //depot/projects/smpng/sys/kern/capabilities.conf#9 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#112 integrate
.. //depot/projects/smpng/sys/kern/kern_clocksource.c#15 integrate
.. //depot/projects/smpng/sys/kern/kern_event.c#77 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#164 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#145 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#97 integrate
.. //depot/projects/smpng/sys/kern/kern_linker.c#120 integrate
.. //depot/projects/smpng/sys/kern/kern_resource.c#96 integrate
.. //depot/projects/smpng/sys/kern/kern_rwlock.c#42 integrate
.. //depot/projects/smpng/sys/kern/makesyscalls.sh#41 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#129 integrate
.. //depot/projects/smpng/sys/kern/subr_terminal.c#2 integrate
.. //depot/projects/smpng/sys/kern/subr_trap.c#109 integrate
.. //depot/projects/smpng/sys/kern/subr_vmem.c#3 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#198 integrate
.. //depot/projects/smpng/sys/kern/tty.c#113 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#149 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#155 integrate
.. //depot/projects/smpng/sys/kern/vfs_cache.c#72 integrate
.. //depot/projects/smpng/sys/kern/vfs_mountroot.c#11 integrate
.. //depot/projects/smpng/sys/kern/vfs_vnops.c#122 integrate
.. //depot/projects/smpng/sys/mips/beri/beri_machdep.c#5 integrate
.. //depot/projects/smpng/sys/mips/conf/BERI_NETFPGA_MDROOT#1 branch
.. //depot/projects/smpng/sys/modules/netmap/Makefile#3 integrate
.. //depot/projects/smpng/sys/net/netmap.h#8 integrate
.. //depot/projects/smpng/sys/net/netmap_user.h#8 integrate
.. //depot/projects/smpng/sys/net/radix.c#22 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#45 integrate
.. //depot/projects/smpng/sys/netinet/in.h#63 integrate
.. //depot/projects/smpng/sys/netinet/in_mcast.c#27 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#135 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias.c#14 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_cuseeme.c#5 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_db.c#18 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_dummy.c#4 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_irc.c#11 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_mod.c#6 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_mod.h#4 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_nbt.c#6 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_pptp.c#5 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_skinny.c#8 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias_smedia.c#8 integrate
.. //depot/projects/smpng/sys/netinet/libalias/libalias.3#11 integrate
.. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#53 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.c#61 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#158 integrate
.. //depot/projects/smpng/sys/netinet6/in6_mcast.c#12 integrate
.. //depot/projects/smpng/sys/netinet6/send.c#9 integrate
.. //depot/projects/smpng/sys/netpfil/ipfw/ip_fw_dynamic.c#5 integrate
.. //depot/projects/smpng/sys/netpfil/pf/pf.c#7 integrate
.. //depot/projects/smpng/sys/netpfil/pf/pf.h#2 integrate
.. //depot/projects/smpng/sys/nfs/nfs_fha.c#2 integrate
.. //depot/projects/smpng/sys/nfs/nfs_fha.h#2 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_fha_old.c#2 integrate
.. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/en_netdev.c#8 integrate
.. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/mlx4_en.h#4 integrate
.. //depot/projects/smpng/sys/powerpc/aim/mp_cpudep.c#14 integrate
.. //depot/projects/smpng/sys/powerpc/aim/trap.c#26 integrate
.. //depot/projects/smpng/sys/powerpc/aim/trap_subr32.S#9 integrate
.. //depot/projects/smpng/sys/powerpc/aim/trap_subr64.S#12 integrate
.. //depot/projects/smpng/sys/powerpc/cpufreq/pmufreq.c#1 branch
.. //depot/projects/smpng/sys/powerpc/include/cpu.h#27 integrate
.. //depot/projects/smpng/sys/powerpc/include/dbdma.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/include/openpicreg.h#6 integrate
.. //depot/projects/smpng/sys/powerpc/include/openpicvar.h#12 integrate
.. //depot/projects/smpng/sys/powerpc/include/pcpu.h#26 integrate
.. //depot/projects/smpng/sys/powerpc/include/pmc_mdep.h#8 integrate
.. //depot/projects/smpng/sys/powerpc/include/spr.h#30 integrate
.. //depot/projects/smpng/sys/powerpc/ofw/ofw_pci.c#10 integrate
.. //depot/projects/smpng/sys/powerpc/ofw/ofw_pcib_pci.c#14 integrate
.. //depot/projects/smpng/sys/powerpc/ofw/openpic_ofw.c#2 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/ata_macio.c#22 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/atibl.c#5 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/cpcht.c#9 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/dbdma.c#7 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/dbdmavar.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/platform_powermac.c#7 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/pmu.c#11 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/pmuvar.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/uninorth.c#27 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/uninorthvar.h#12 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/viareg.h#3 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#29 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/openpic.c#23 integrate
.. //depot/projects/smpng/sys/powerpc/pseries/phyp_vscsi.c#3 integrate
.. //depot/projects/smpng/sys/powerpc/psim/openpic_iobus.c#14 integrate
.. //depot/projects/smpng/sys/rpc/clnt_dg.c#19 integrate
.. //depot/projects/smpng/sys/rpc/clnt_vc.c#18 integrate
.. //depot/projects/smpng/sys/rpc/rpcb_clnt.c#7 integrate
.. //depot/projects/smpng/sys/rpc/svc.c#10 integrate
.. //depot/projects/smpng/sys/rpc/svc.h#7 integrate
.. //depot/projects/smpng/sys/rpc/svc_vc.c#13 integrate
.. //depot/projects/smpng/sys/security/mac/mac_framework.c#15 integrate
.. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#33 integrate
.. //depot/projects/smpng/sys/sparc64/isa/ofw_isa.c#16 integrate
.. //depot/projects/smpng/sys/sparc64/pci/fire.c#13 integrate
.. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib_subr.c#14 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psycho.c#61 integrate
.. //depot/projects/smpng/sys/sparc64/pci/schizo.c#22 integrate
.. //depot/projects/smpng/sys/sys/consio.h#13 integrate
.. //depot/projects/smpng/sys/sys/dtrace_bsd.h#11 integrate
.. //depot/projects/smpng/sys/sys/fbio.h#12 integrate
.. //depot/projects/smpng/sys/sys/gpt.h#15 integrate
.. //depot/projects/smpng/sys/sys/param.h#188 integrate
.. //depot/projects/smpng/sys/sys/terminal.h#2 integrate
.. //depot/projects/smpng/sys/sys/tty.h#39 integrate
.. //depot/projects/smpng/sys/teken/demo/teken_demo.c#4 integrate
.. //depot/projects/smpng/sys/teken/teken.h#7 integrate
.. //depot/projects/smpng/sys/teken/teken_subr.h#11 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#129 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#99 integrate
.. //depot/projects/smpng/sys/vm/vm_reserv.c#16 integrate
.. //depot/projects/smpng/sys/x86/acpica/acpi_wakeup.c#5 integrate
.. //depot/projects/smpng/sys/x86/include/mptable.h#5 integrate
.. //depot/projects/smpng/sys/x86/x86/mptable.c#7 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/Makefile#41 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: head/share/man/man9/Makefile 256952 2013-10-23 03:27:42Z eadler $
+# $FreeBSD: head/share/man/man9/Makefile 259670 2013-12-20 23:57:05Z jmg $
 
 MAN=	accept_filter.9 \
 	accf_data.9 \
@@ -905,6 +905,7 @@
 	mbuf.9 m_freem.9 \
 	mbuf.9 MGET.9 \
 	mbuf.9 m_get.9 \
+	mbuf.9 m_getjcl.9 \
 	mbuf.9 m_getcl.9 \
 	mbuf.9 m_getclr.9 \
 	mbuf.9 MGETHDR.9 \

==== //depot/projects/smpng/share/man/man9/mbuf.9#7 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: head/share/man/man9/mbuf.9 242998 2012-11-13 20:52:17Z andre $
+.\" $FreeBSD: head/share/man/man9/mbuf.9 259672 2013-12-21 00:15:37Z jmg $
 .\"
-.Dd November 13, 2012
+.Dd December 20, 2013
 .Dt MBUF 9
 .Os
 .\"
@@ -74,6 +74,8 @@
 .Ft struct mbuf *
 .Fn m_getm "struct mbuf *orig" "int len" "int how" "int type"
 .Ft struct mbuf *
+.Fn m_getjcl "int how" "short type" "int flags" "int size"
+.Ft struct mbuf *
 .Fn m_getcl "int how" "short type" "int flags"
 .Ft struct mbuf *
 .Fn m_getclr "int how" "int type"
@@ -592,6 +594,12 @@
 Returns
 .Dv NULL
 on failure.
+.It Fn m_getjcl how type flags size
+This is like
+.Fn m_getcl
+but it the size of the cluster allocated will be large enough for
+.Fa size
+bytes.
 .It Fn m_getclr how type
 Allocate an
 .Vt mbuf

==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#122 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/amd64/machdep.c 259015 2013-12-05 21:58:02Z jhb $");
+__FBSDID("$FreeBSD: head/sys/amd64/amd64/machdep.c 259782 2013-12-23 19:48:22Z jhb $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -215,6 +215,8 @@
 
 struct mtx dt_lock;	/* lock for GDT and LDT */
 
+void (*vmm_resume_p)(void);
+
 static void
 cpu_startup(dummy)
 	void *dummy;

==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#94 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/amd64/mp_machdep.c 255744 2013-09-20 22:59:22Z gibbs $");
+__FBSDID("$FreeBSD: head/sys/amd64/amd64/mp_machdep.c 259782 2013-12-23 19:48:22Z jhb $");
 
 #include "opt_cpu.h"
 #include "opt_ddb.h"
@@ -1489,6 +1489,8 @@
 
 	if (cpu_ops.cpu_resume)
 		cpu_ops.cpu_resume();
+	if (vmm_resume_p)
+		vmm_resume_p();
 
 	/* Resume MCA and local APIC */
 	mca_resume();

==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#134 (text+ko) ====

@@ -79,7 +79,7 @@
 #define	AMD64_NPT_AWARE
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/amd64/pmap.c 256645 2013-10-16 18:20:27Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/amd64/pmap.c 259641 2013-12-20 05:50:22Z neel $");
 
 /*
  *	Manages physical address maps.
@@ -1295,6 +1295,7 @@
 static __inline void
 pmap_invalidate_ept(pmap_t pmap)
 {
+	int ipinum;
 
 	sched_pin();
 	KASSERT(!CPU_ISSET(curcpu, &pmap->pm_active),
@@ -1319,11 +1320,9 @@
 
 	/*
 	 * Force the vcpu to exit and trap back into the hypervisor.
-	 *
-	 * XXX this is not optimal because IPI_AST builds a trapframe
-	 * whereas all we need is an 'eoi' followed by 'iret'.
 	 */
-	ipi_selected(pmap->pm_active, IPI_AST);
+	ipinum = pmap->pm_flags & PMAP_NESTED_IPIMASK;
+	ipi_selected(pmap->pm_active, ipinum);
 	sched_unpin();
 }
 

==== //depot/projects/smpng/sys/amd64/include/cpu.h#16 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)cpu.h	5.4 (Berkeley) 5/9/91
- * $FreeBSD: head/sys/amd64/include/cpu.h 255744 2013-09-20 22:59:22Z gibbs $
+ * $FreeBSD: head/sys/amd64/include/cpu.h 259782 2013-12-23 19:48:22Z jhb $
  */
 
 #ifndef _MACHINE_CPU_H_
@@ -70,6 +70,9 @@
 extern char	btext[];
 extern char	etext[];
 
+/* Resume hook for VMM. */
+extern	void (*vmm_resume_p)(void);
+
 void	cpu_halt(void);
 void	cpu_reset(void);
 void	fork_trampoline(void);

==== //depot/projects/smpng/sys/amd64/include/pmap.h#49 (text+ko) ====

@@ -39,7 +39,7 @@
  *
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
- * $FreeBSD: head/sys/amd64/include/pmap.h 256072 2013-10-05 21:22:35Z neel $
+ * $FreeBSD: head/sys/amd64/include/pmap.h 259641 2013-12-20 05:50:22Z neel $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -312,9 +312,10 @@
 };
 
 /* flags */
-#define	PMAP_PDE_SUPERPAGE	(1 << 0)	/* supports 2MB superpages */
-#define	PMAP_EMULATE_AD_BITS	(1 << 1)	/* needs A/D bits emulation */
-#define	PMAP_SUPPORTS_EXEC_ONLY	(1 << 2)	/* execute only mappings ok */
+#define	PMAP_NESTED_IPIMASK	0xff
+#define	PMAP_PDE_SUPERPAGE	(1 << 8)	/* supports 2MB superpages */
+#define	PMAP_EMULATE_AD_BITS	(1 << 9)	/* needs A/D bits emulation */
+#define	PMAP_SUPPORTS_EXEC_ONLY	(1 << 10)	/* execute only mappings ok */
 
 typedef struct pmap	*pmap_t;
 

==== //depot/projects/smpng/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 259081 2013-12-07 22:18:36Z neel $
+ * $FreeBSD: head/sys/amd64/include/vmm.h 259863 2013-12-25 06:46:31Z neel $
  */
 
 #ifndef _VMM_H_
@@ -49,6 +49,7 @@
 
 typedef int	(*vmm_init_func_t)(void);
 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);
 typedef int	(*vmi_run_func_t)(void *vmi, int vcpu, register_t rip,
 				  struct pmap *pmap);
@@ -68,10 +69,13 @@
 typedef int	(*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val);
 typedef struct vmspace * (*vmi_vmspace_alloc)(vm_offset_t min, vm_offset_t max);
 typedef void	(*vmi_vmspace_free)(struct vmspace *vmspace);
+typedef struct vlapic * (*vmi_vlapic_init)(void *vmi, int vcpu);
+typedef void	(*vmi_vlapic_cleanup)(void *vmi, struct vlapic *vlapic);
 
 struct vmm_ops {
 	vmm_init_func_t		init;		/* module wide initialization */
 	vmm_cleanup_func_t	cleanup;
+	vmm_resume_func_t	resume;
 
 	vmi_init_func_t		vminit;		/* vm-specific initialization */
 	vmi_run_func_t		vmrun;
@@ -85,6 +89,8 @@
 	vmi_set_cap_t		vmsetcap;
 	vmi_vmspace_alloc	vmspace_alloc;
 	vmi_vmspace_free	vmspace_free;
+	vmi_vlapic_init		vlapic_init;
+	vmi_vlapic_cleanup	vlapic_cleanup;
 };
 
 extern struct vmm_ops vmm_ops_intel;
@@ -146,7 +152,8 @@
 	VCPU_SLEEPING,
 };
 
-int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state);
+int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state,
+    bool from_idle);
 enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu, int *hostcpu);
 
 static int __inline
@@ -156,7 +163,7 @@
 }
 
 void *vcpu_stats(struct vm *vm, int vcpu);
-void vcpu_notify_event(struct vm *vm, int vcpuid);
+void vcpu_notify_event(struct vm *vm, int vcpuid, bool lapic_intr);
 struct vmspace *vm_get_vmspace(struct vm *vm);
 int vm_assign_pptdev(struct vm *vm, int bus, int slot, int func);
 int vm_unassign_pptdev(struct vm *vm, int bus, int slot, int func);

==== //depot/projects/smpng/sys/amd64/include/vmm_dev.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/include/vmm_dev.h 258579 2013-11-25 19:04:51Z neel $
+ * $FreeBSD: head/sys/amd64/include/vmm_dev.h 259779 2013-12-23 19:29:07Z jhb $
  */
 
 #ifndef	_VMM_DEV_H_
@@ -66,6 +66,11 @@
 	int		error_code_valid;
 };
 
+struct vm_lapic_msi {
+	uint64_t	msg;
+	uint64_t	addr;
+};
+
 struct vm_lapic_irq {
 	int		cpuid;
 	int		vector;
@@ -103,8 +108,8 @@
 	int		slot;
 	int		func;
 	int		numvec;		/* 0 means disabled */
-	int		vector;
-	int		destcpu;
+	uint64_t	msg;
+	uint64_t	addr;
 };
 
 struct vm_pptdev_msix {
@@ -113,7 +118,7 @@
 	int		slot;
 	int		func;
 	int		idx;
-	uint32_t	msg;
+	uint64_t	msg;
 	uint32_t	vector_control;
 	uint64_t	addr;
 };
@@ -175,6 +180,8 @@
 	IOCNUM_IOAPIC_ASSERT_IRQ = 33,
 	IOCNUM_IOAPIC_DEASSERT_IRQ = 34,
 	IOCNUM_IOAPIC_PULSE_IRQ = 35,
+	IOCNUM_LAPIC_MSI = 36,
+	IOCNUM_LAPIC_LOCAL_IRQ = 37, 
 
 	/* PCI pass-thru */
 	IOCNUM_BIND_PPTDEV = 40,
@@ -211,6 +218,10 @@
 	_IOW('v', IOCNUM_INJECT_EVENT, struct vm_event)
 #define	VM_LAPIC_IRQ 		\
 	_IOW('v', IOCNUM_LAPIC_IRQ, struct vm_lapic_irq)
+#define	VM_LAPIC_LOCAL_IRQ 	\
+	_IOW('v', IOCNUM_LAPIC_LOCAL_IRQ, struct vm_lapic_irq)
+#define	VM_LAPIC_MSI		\
+	_IOW('v', IOCNUM_LAPIC_MSI, struct vm_lapic_msi)
 #define	VM_IOAPIC_ASSERT_IRQ	\
 	_IOW('v', IOCNUM_IOAPIC_ASSERT_IRQ, struct vm_ioapic_irq)
 #define	VM_IOAPIC_DEASSERT_IRQ	\

==== //depot/projects/smpng/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 256072 2013-10-05 21:22:35Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/amd/amdv.c 259863 2013-12-25 06:46:31Z neel $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/amd/amdv.c 256072 2013-10-05 21:22:35Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/amd/amdv.c 259863 2013-12-25 06:46:31Z neel $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -53,6 +53,11 @@
 	return (ENXIO);
 }
 
+static void
+amdv_resume(void)
+{
+}
+
 static void *
 amdv_vminit(struct vm *vm, struct pmap *pmap)
 {
@@ -150,9 +155,24 @@
 	return;
 }
 
+static struct vlapic *
+amdv_vlapic_init(void *arg, int vcpuid)
+{
+
+	panic("amdv_vlapic_init: not implmented");
+}
+
+static void
+amdv_vlapic_cleanup(void *arg, struct vlapic *vlapic)
+{
+
+	panic("amdv_vlapic_cleanup: not implemented");
+}
+
 struct vmm_ops vmm_ops_amd = {
 	amdv_init,
 	amdv_cleanup,
+	amdv_resume,
 	amdv_vminit,
 	amdv_vmrun,
 	amdv_vmcleanup,
@@ -165,6 +185,8 @@
 	amdv_setcap,
 	amdv_vmspace_alloc,
 	amdv_vmspace_free,
+	amdv_vlapic_init,
+	amdv_vlapic_cleanup,
 };
 
 static int

==== //depot/projects/smpng/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 256072 2013-10-05 21:22:35Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/ept.c 259641 2013-12-20 05:50:22Z neel $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/ept.c 256072 2013-10-05 21:22:35Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/ept.c 259641 2013-12-20 05:50:22Z neel $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -43,6 +43,7 @@
 #include <machine/vmm.h>
 
 #include "vmx_cpufunc.h"
+#include "vmm_ipi.h"
 #include "vmx_msr.h"
 #include "ept.h"
 
@@ -98,6 +99,8 @@
 	    !INVEPT_ALL_TYPES_SUPPORTED(cap))
 		return (EINVAL);
 
+	ept_pmap_flags = vmm_ipinum & PMAP_NESTED_IPIMASK;
+
 	use_superpages = 1;
 	TUNABLE_INT_FETCH("hw.vmm.ept.use_superpages", &use_superpages);
 	if (use_superpages && EPT_PDE_SUPERPAGE(cap))

==== //depot/projects/smpng/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 257297 2013-10-29 02:25:18Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 259542 2013-12-18 06:24:21Z neel $
  */
 
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 257297 2013-10-29 02:25:18Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmcs.c 259542 2013-12-18 06:24:21Z neel $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -41,8 +41,8 @@
 #include <machine/segments.h>
 #include <machine/vmm.h>
 #include "vmm_host.h"
+#include "vmx_cpufunc.h"
 #include "vmcs.h"
-#include "vmx_cpufunc.h"
 #include "ept.h"
 #include "vmx.h"
 
@@ -454,19 +454,6 @@
 	return (error);
 }
 
-uint64_t
-vmcs_read(uint32_t encoding)
-{
-	int error;
-	uint64_t val;
-
-	error = vmread(encoding, &val);
-	if (error != 0)
-		panic("vmcs_read(%u) error %d", encoding, error);
-
-	return (val);
-}
-
 #ifdef DDB
 extern int vmxon_enabled[];
 

==== //depot/projects/smpng/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 258780 2013-11-30 22:17:27Z eadler $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmcs.h 259542 2013-12-18 06:24:21Z neel $
  */
 
 #ifndef _VMCS_H_
@@ -58,7 +58,26 @@
 		     struct seg_desc *desc);
 int	vmcs_setdesc(struct vmcs *vmcs, int ident,
 		     struct seg_desc *desc);
-uint64_t vmcs_read(uint32_t encoding);
+
+static __inline uint64_t
+vmcs_read(uint32_t encoding)
+{
+	int error;
+	uint64_t val;
+
+	error = vmread(encoding, &val);
+	KASSERT(error == 0, ("vmcs_read(%u) error %d", encoding, error));
+	return (val);
+}
+
+static __inline void
+vmcs_write(uint32_t encoding, uint64_t val)
+{
+	int error;
+
+	error = vmwrite(encoding, val);
+	KASSERT(error == 0, ("vmcs_write(%u) error %d", encoding, error));
+}
 
 #define	vmexit_instruction_length()	vmcs_read(VMCS_EXIT_INSTRUCTION_LENGTH)
 #define	vmcs_guest_rip()		vmcs_read(VMCS_GUEST_RIP)

==== //depot/projects/smpng/sys/amd64/vmm/intel/vmx.c#9 (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 259085 2013-12-07 23:11:12Z neel $
+ * $FreeBSD: head/sys/amd64/vmm/intel/vmx.c 259942 2013-12-27 12:15:53Z dim $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmx.c 259085 2013-12-07 23:11:12Z neel $");
+__FBSDID("$FreeBSD: head/sys/amd64/vmm/intel/vmx.c 259942 2013-12-27 12:15:53Z dim $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -50,10 +50,11 @@
 
 #include <machine/vmm.h>
 #include "vmm_host.h"
-#include "vmm_lapic.h"
 #include "vmm_msr.h"
 #include "vmm_ktr.h"
 #include "vmm_stat.h"
+#include "vlapic.h"
+#include "vlapic_priv.h"
 
 #include "vmx_msr.h"
 #include "ept.h"
@@ -112,7 +113,8 @@
 #define	HANDLED		1
 #define	UNHANDLED	0
 
-MALLOC_DEFINE(M_VMX, "vmx", "vmx");
+static MALLOC_DEFINE(M_VMX, "vmx", "vmx");
+static MALLOC_DEFINE(M_VLAPIC, "vlapic", "vlapic");
 
 SYSCTL_DECL(_hw_vmm);
 SYSCTL_NODE(_hw_vmm, OID_AUTO, vmx, CTLFLAG_RW, NULL, NULL);
@@ -324,9 +326,8 @@
 	VCPU_CTR2((vmx)->vm, (vcpu), "setjmp return code %s(%d)",
 		 vmx_setjmp_rc2str(rc), rc);
 
-	host_rsp = host_rip = ~0;
-	vmread(VMCS_HOST_RIP, &host_rip);
-	vmread(VMCS_HOST_RSP, &host_rsp);
+	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);
 
@@ -525,6 +526,14 @@
 		vmxon_enabled[curcpu] = 1;
 }
 
+static void
+vmx_restore(void)
+{
+
+	if (vmxon_enabled[curcpu])
+		vmxon(vmxon_region[curcpu]);
+}
+
 static int
 vmx_init(void)
 {
@@ -909,10 +918,10 @@
 #endif
 }
 
-static int
+static void
 vmx_set_pcpu_defaults(struct vmx *vmx, int vcpu)
 {
-	int error, lastcpu;
+	int lastcpu;
 	struct vmxstate *vmxstate;
 	struct invvpid_desc invvpid_desc = { 0 };
 
@@ -920,24 +929,14 @@
 	lastcpu = vmxstate->lastcpu;
 	vmxstate->lastcpu = curcpu;
 
-	if (lastcpu == curcpu) {
-		error = 0;
-		goto done;
-	}
+	if (lastcpu == curcpu)
+		return;
 
 	vmm_stat_incr(vmx->vm, vcpu, VCPU_MIGRATIONS, 1);
 
-	error = vmwrite(VMCS_HOST_TR_BASE, vmm_get_host_trbase());
-	if (error != 0)
-		goto done;
-
-	error = vmwrite(VMCS_HOST_GDTR_BASE, vmm_get_host_gdtrbase());
-	if (error != 0)
-		goto done;
-
-	error = vmwrite(VMCS_HOST_GS_BASE, vmm_get_host_gsbase());
-	if (error != 0)
-		goto done;
+	vmcs_write(VMCS_HOST_TR_BASE, vmm_get_host_trbase());
+	vmcs_write(VMCS_HOST_GDTR_BASE, vmm_get_host_gdtrbase());
+	vmcs_write(VMCS_HOST_GS_BASE, vmm_get_host_gsbase());
 
 	/*
 	 * If we are using VPIDs then invalidate all mappings tagged with 'vpid'
@@ -958,20 +957,8 @@
 		invvpid_desc.vpid = vmxstate->vpid;
 		invvpid(INVVPID_TYPE_SINGLE_CONTEXT, invvpid_desc);
 	}
-done:
-	return (error);
 }
 
-static void 
-vm_exit_update_rip(struct vm_exit *vmexit)
-{
-	int error;
-
-	error = vmwrite(VMCS_GUEST_RIP, vmexit->rip + vmexit->inst_length);
-	if (error)
-		panic("vmx_run: error %d writing to VMCS_GUEST_RIP", error);
-}
-
 /*
  * We depend on 'procbased_ctls' to have the Interrupt Window Exiting bit set.
  */
@@ -980,66 +967,45 @@
 static void __inline
 vmx_set_int_window_exiting(struct vmx *vmx, int vcpu)
 {
-	int error;
 
 	vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING;
-
-	error = vmwrite(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls);
-	if (error)
-		panic("vmx_set_int_window_exiting: vmwrite error %d", error);
+	vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls);
 }
 
 static void __inline
 vmx_clear_int_window_exiting(struct vmx *vmx, int vcpu)
 {
-	int error;
 
 	vmx->cap[vcpu].proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING;
-
-	error = vmwrite(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls);
-	if (error)
-		panic("vmx_clear_int_window_exiting: vmwrite error %d", error);
+	vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls);
 }
 
 static void __inline
 vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu)
 {
-	int error;
 

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


More information about the p4-projects mailing list