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