Date: Mon, 8 Sep 2014 04:51:17 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 1199526 for review Message-ID: <201409080451.s884pHpl027211@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@1199526?ac=10 Change 1199526 by jhb@jhb_ralph on 2014/08/29 15:29:34 IFC @1199525 Affected files ... .. //depot/projects/smpng/share/man/man9/Makefile#46 integrate .. //depot/projects/smpng/share/man/man9/sysctl_add_oid.9#6 integrate .. //depot/projects/smpng/sys/amd64/include/vmm.h#13 integrate .. //depot/projects/smpng/sys/amd64/vmm/io/vatpic.c#4 integrate .. //depot/projects/smpng/sys/amd64/vmm/vmm_instruction_emul.c#11 integrate .. //depot/projects/smpng/sys/amd64/vmm/x86.c#11 integrate .. //depot/projects/smpng/sys/boot/common/part.c#7 integrate .. //depot/projects/smpng/sys/cam/ata/ata_xpt.c#25 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c#9 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/kmem.h#10 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#33 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#24 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#20 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#12 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/feature_tests.h#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/processor.h#4 integrate .. //depot/projects/smpng/sys/cddl/dev/fbt/fbt.c#9 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32.h#24 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#90 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#81 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#80 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#80 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#81 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_systrace_args.c#14 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#84 integrate .. //depot/projects/smpng/sys/conf/NOTES#215 integrate .. //depot/projects/smpng/sys/conf/files#301 integrate .. //depot/projects/smpng/sys/contrib/dev/iwn/iwlwifi-100-39.31.5.1.fw.uu#1 branch .. //depot/projects/smpng/sys/contrib/rdma/krping/krping.c#7 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#113 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_beacon.c#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#17 integrate .. //depot/projects/smpng/sys/dev/cxgbe/iw_cxgbe/cm.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgbe/iw_cxgbe/qp.c#2 integrate .. //depot/projects/smpng/sys/dev/drm2/drm_fb_helper.c#7 integrate .. //depot/projects/smpng/sys/dev/drm2/i915/i915_drv.h#4 integrate .. //depot/projects/smpng/sys/dev/drm2/i915/i915_irq.c#3 integrate .. //depot/projects/smpng/sys/dev/drm2/i915/intel_opregion.c#3 integrate .. //depot/projects/smpng/sys/dev/drm2/radeon/radeon_fb.c#3 integrate .. //depot/projects/smpng/sys/dev/fb/creator_vt.c#2 integrate .. //depot/projects/smpng/sys/dev/hptnr/README#2 integrate .. //depot/projects/smpng/sys/dev/hptnr/amd64-elf.hptnr_lib.o.uu#2 integrate .. //depot/projects/smpng/sys/dev/hptnr/hptnr_config.c#2 integrate .. //depot/projects/smpng/sys/dev/hptnr/hptnr_os_bsd.c#3 integrate .. //depot/projects/smpng/sys/dev/hptnr/hptnr_osm_bsd.c#4 integrate .. //depot/projects/smpng/sys/dev/hptnr/i386-elf.hptnr_lib.o.uu#2 integrate .. //depot/projects/smpng/sys/dev/i40e/README#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_adminq.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_adminq.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_adminq_cmd.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_alloc.h#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_common.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_hmc.c#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_hmc.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_lan_hmc.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_lan_hmc.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_nvm.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_osdep.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_osdep.h#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_pf.h#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_prototype.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_register.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_register_x710_int.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_status.h#2 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_txrx.c#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_type.h#3 delete .. //depot/projects/smpng/sys/dev/i40e/i40e_virtchnl.h#2 delete .. //depot/projects/smpng/sys/dev/i40e/if_i40e.c#3 delete .. //depot/projects/smpng/sys/dev/iwn/if_iwn.c#37 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwnreg.h#13 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwnvar.h#18 integrate .. //depot/projects/smpng/sys/dev/ixl/README#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_adminq.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_adminq.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_adminq_cmd.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_alloc.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_common.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_hmc.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_hmc.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_lan_hmc.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_lan_hmc.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_nvm.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_osdep.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_osdep.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_prototype.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_register.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_register_x710_int.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_status.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_type.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/i40e_virtchnl.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/if_ixl.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/if_ixlv.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/ixl.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/ixl_pf.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/ixl_txrx.c#1 branch .. //depot/projects/smpng/sys/dev/ixl/ixlv.h#1 branch .. //depot/projects/smpng/sys/dev/ixl/ixlvc.c#1 branch .. //depot/projects/smpng/sys/dev/pci/pci.c#142 integrate .. //depot/projects/smpng/sys/dev/pci/pci_if.m#14 integrate .. //depot/projects/smpng/sys/dev/pci/pci_private.h#35 integrate .. //depot/projects/smpng/sys/dev/pci/pcivar.h#45 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#43 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_run.c#30 integrate .. //depot/projects/smpng/sys/dev/vt/hw/efifb/efifb.c#3 integrate .. //depot/projects/smpng/sys/dev/vt/hw/fb/vt_early_fb.c#4 integrate .. //depot/projects/smpng/sys/dev/vt/hw/fb/vt_fb.c#7 integrate .. //depot/projects/smpng/sys/dev/vt/hw/fb/vt_fb.h#4 integrate .. //depot/projects/smpng/sys/dev/vt/hw/ofwfb/ofwfb.c#5 integrate .. //depot/projects/smpng/sys/dev/vt/hw/vga/vt_vga.c#3 integrate .. //depot/projects/smpng/sys/dev/vt/vt.h#7 integrate .. //depot/projects/smpng/sys/dev/vt/vt_buf.c#5 integrate .. //depot/projects/smpng/sys/dev/vt/vt_core.c#7 integrate .. //depot/projects/smpng/sys/dev/xen/blkback/blkback.c#14 integrate .. //depot/projects/smpng/sys/dev/xen/netback/netback.c#14 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs.c#2 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs.h#5 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs_vfsops.c#5 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs_vnops.c#5 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#156 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#168 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#96 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#136 integrate .. //depot/projects/smpng/sys/kern/kern_prot.c#123 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#176 integrate .. //depot/projects/smpng/sys/kern/kern_umtx.c#54 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#115 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#133 integrate .. //depot/projects/smpng/sys/kern/subr_terminal.c#5 integrate .. //depot/projects/smpng/sys/kern/sys_socket.c#41 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#159 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#79 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#125 integrate .. //depot/projects/smpng/sys/modules/Makefile#206 integrate .. //depot/projects/smpng/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/drm2/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/drm2/i915kms/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/i40e/Makefile#3 delete .. //depot/projects/smpng/sys/modules/iwnfw/Makefile#11 integrate .. //depot/projects/smpng/sys/modules/iwnfw/iwn100/Makefile#1 branch .. //depot/projects/smpng/sys/modules/ixl/Makefile#1 branch .. //depot/projects/smpng/sys/modules/ixlv/Makefile#1 branch .. //depot/projects/smpng/sys/modules/mlx4/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/mlx4ib/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/mlxen/Makefile#7 integrate .. //depot/projects/smpng/sys/netinet/in.c#90 integrate .. //depot/projects/smpng/sys/netinet/sctp_sysctl.c#34 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#93 integrate .. //depot/projects/smpng/sys/netinet6/scope6.c#24 integrate .. //depot/projects/smpng/sys/netinet6/scope6_var.h#9 integrate .. //depot/projects/smpng/sys/netpfil/ipfw/ip_fw2.c#9 integrate .. //depot/projects/smpng/sys/netpfil/ipfw/ip_fw_sockopt.c#7 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/addr.c#5 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/cm.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/device.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/iwcm.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/sa_query.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/sysfs.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/ucm.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/user_mad.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/uverbs_cmd.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/uverbs_main.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/cm.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/mad.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/main.c#4 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/mr.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/qp.c#5 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mlx4/sysfs.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mthca/mthca_allocator.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mthca/mthca_provider.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c#10 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/ulp/sdp/sdp.h#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/alloc.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/cmd.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/cq.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/en_netdev.c#11 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/en_rx.c#5 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/eq.c#4 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/fw.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/main.c#5 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/mcg.c#4 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/mr.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/pd.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/qp.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/reset.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/resource_tracker.c#2 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/sense.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/srq.c#3 integrate .. //depot/projects/smpng/sys/ofed/drivers/net/mlx4/xrcd.c#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/atomic-long.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/atomic.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/asm/byteorder.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/asm/current.h#2 delete .. //depot/projects/smpng/sys/ofed/include/asm/fcntl.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/io.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/page.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/pgtable.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/asm/semaphore.h#2 delete .. //depot/projects/smpng/sys/ofed/include/asm/system.h#2 delete .. //depot/projects/smpng/sys/ofed/include/asm/types.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/asm/uaccess.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/atomic.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/bitmap.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/bitops.h#6 integrate .. //depot/projects/smpng/sys/ofed/include/linux/cache.h#1 branch .. //depot/projects/smpng/sys/ofed/include/linux/cdev.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/clocksource.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/compat.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/compiler.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/completion.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/ctype.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/delay.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/device.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/dma-attrs.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/dma-mapping.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/dmapool.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/err.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/errno.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/etherdevice.h#1 branch .. //depot/projects/smpng/sys/ofed/include/linux/ethtool.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/file.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/fs.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/gfp.h#6 integrate .. //depot/projects/smpng/sys/ofed/include/linux/hardirq.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/idr.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/if_arp.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/if_ether.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/if_vlan.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/in.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/in6.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/inet.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/inetdevice.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/init.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/interrupt.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/io-mapping.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/io.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/ioctl.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/jiffies.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/kdev_t.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/kernel.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/kmod.h#1 branch .. //depot/projects/smpng/sys/ofed/include/linux/kobject.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/kref.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/kthread.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/ktime.h#1 branch .. //depot/projects/smpng/sys/ofed/include/linux/linux_compat.c#9 integrate .. //depot/projects/smpng/sys/ofed/include/linux/linux_idr.c#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/linux_radix.c#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/list.h#5 integrate .. //depot/projects/smpng/sys/ofed/include/linux/lockdep.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/log2.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/math64.h#1 branch .. //depot/projects/smpng/sys/ofed/include/linux/miscdevice.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/mm.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/module.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/moduleparam.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/mount.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/mutex.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/net.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/netdevice.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/notifier.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/page.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/pci.h#6 integrate .. //depot/projects/smpng/sys/ofed/include/linux/poll.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/radix-tree.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/random.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/rbtree.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/rtnetlink.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/rwlock.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/rwsem.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/scatterlist.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/sched.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/semaphore.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/slab.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/socket.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/spinlock.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/stddef.h#2 delete .. //depot/projects/smpng/sys/ofed/include/linux/string.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/sysfs.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/timer.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/linux/types.h#4 integrate .. //depot/projects/smpng/sys/ofed/include/linux/uaccess.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/vmalloc.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/wait.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/workqueue.h#5 integrate .. //depot/projects/smpng/sys/ofed/include/net/addrconf.h#2 delete .. //depot/projects/smpng/sys/ofed/include/net/arp.h#2 delete .. //depot/projects/smpng/sys/ofed/include/net/if_inet6.h#1 branch .. //depot/projects/smpng/sys/ofed/include/net/ip.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/net/ip6_route.h#2 delete .. //depot/projects/smpng/sys/ofed/include/net/ipv6.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/net/neighbour.h#2 delete .. //depot/projects/smpng/sys/ofed/include/net/netevent.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/net/tcp.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/rdma/ib_umem.h#3 integrate .. //depot/projects/smpng/sys/ofed/include/rdma/ib_verbs.h#3 integrate .. //depot/projects/smpng/sys/powerpc/ps3/ps3_syscons.c#6 integrate .. //depot/projects/smpng/sys/sparc64/include/vmparam.h#31 integrate .. //depot/projects/smpng/sys/sys/file.h#46 integrate .. //depot/projects/smpng/sys/sys/lockmgr.h#34 integrate .. //depot/projects/smpng/sys/sys/syscallsubr.h#75 integrate .. //depot/projects/smpng/sys/sys/terminal.h#4 integrate .. //depot/projects/smpng/sys/sys/user.h#59 integrate .. //depot/projects/smpng/sys/sys/vnode.h#127 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#42 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#53 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#102 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#103 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/Makefile#46 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: head/share/man/man9/Makefile 269485 2014-08-03 20:40:51Z alc $ +# $FreeBSD: head/share/man/man9/Makefile 270740 2014-08-28 04:35:38Z hselasky $ MAN= accept_filter.9 \ accf_data.9 \ @@ -1383,7 +1383,8 @@ sysctl.9 SYSCTL_ULONG.9 \ sysctl.9 SYSCTL_UQUAD.9 MLINKS+=sysctl_add_oid.9 sysctl_move_oid.9 \ - sysctl_add_oid.9 sysctl_remove_oid.9 + sysctl_add_oid.9 sysctl_remove_oid.9 \ + sysctl_add_oid.9 sysctl_remove_name.9 MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_add.9 \ sysctl_ctx_init.9 sysctl_ctx_entry_del.9 \ sysctl_ctx_init.9 sysctl_ctx_entry_find.9 \ ==== //depot/projects/smpng/share/man/man9/sysctl_add_oid.9#6 (text+ko) ==== @@ -25,15 +25,16 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: head/share/man/man9/sysctl_add_oid.9 269344 2014-07-31 17:18:40Z hselasky $ +.\" $FreeBSD: head/share/man/man9/sysctl_add_oid.9 270740 2014-08-28 04:35:38Z hselasky $ .\" -.Dd July 31, 2014 +.Dd August 28, 2014 .Dt SYSCTL_ADD_OID 9 .Os .Sh NAME .Nm sysctl_add_oid , .Nm sysctl_move_oid , -.Nm sysctl_remove_oid +.Nm sysctl_remove_oid , +.Nm sysctl_remove_name .Nd runtime sysctl tree manipulation .Sh SYNOPSIS .In sys/types.h @@ -62,6 +63,13 @@ .Fa "int del" .Fa "int recurse" .Fc +.Ft int +.Fo sysctl_remove_name +.Fa "struct sysctl_oid *oidp" +.Fa "const char *name" +.Fa "int del" +.Fa "int recurse" +.Fc .Sh DESCRIPTION These functions provide the interface for creating and deleting sysctl OIDs at runtime for example during the lifetime of a module. @@ -149,7 +157,25 @@ if other code sections continue to use removed subtrees. .El .Pp -Again, in most cases the programmer should use contexts, +The +.Fn sysctl_remove_name +function looks up the child node matching the +.Fa name +argument and then invokes the +.Fn sysctl_remove_oid +function on that node, passing along the +.Fa del +and +.Fa recurse +arguments. +If a node having the specified name does not exist an error code of +.Er ENOENT +is returned. +Else the error code from +.Fn sysctl_remove_oid +is returned. +.Pp +In most cases the programmer should use contexts, as described in .Xr sysctl_ctx_init 9 , to keep track of created OIDs, ==== //depot/projects/smpng/sys/amd64/include/vmm.h#13 (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 269109 2014-07-26 02:53:51Z neel $ + * $FreeBSD: head/sys/amd64/include/vmm.h 270438 2014-08-24 02:07:34Z grehan $ */ #ifndef _VMM_H_ @@ -587,25 +587,25 @@ void vm_inject_fault(void *vm, int vcpuid, int vector, int errcode_valid, int errcode); -static void __inline +static __inline void vm_inject_ud(void *vm, int vcpuid) { vm_inject_fault(vm, vcpuid, IDT_UD, 0, 0); } -static void __inline +static __inline void vm_inject_gp(void *vm, int vcpuid) { vm_inject_fault(vm, vcpuid, IDT_GP, 1, 0); } -static void __inline +static __inline void vm_inject_ac(void *vm, int vcpuid, int errcode) { vm_inject_fault(vm, vcpuid, IDT_AC, 1, errcode); } -static void __inline +static __inline void vm_inject_ss(void *vm, int vcpuid, int errcode) { vm_inject_fault(vm, vcpuid, IDT_SS, 1, errcode); ==== //depot/projects/smpng/sys/amd64/vmm/io/vatpic.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/amd64/vmm/io/vatpic.c 269989 2014-08-14 18:03:38Z neel $"); +__FBSDID("$FreeBSD: head/sys/amd64/vmm/io/vatpic.c 270434 2014-08-23 21:16:26Z neel $"); #include <sys/param.h> #include <sys/types.h> @@ -500,13 +500,19 @@ VATPIC_LOCK(vatpic); pin = vatpic_get_highest_irrpin(atpic); - if (pin == -1) - pin = 7; if (pin == 2) { atpic = &vatpic->atpic[1]; pin = vatpic_get_highest_irrpin(atpic); } + /* + * If there are no pins active at this moment then return the spurious + * interrupt vector instead. + */ + if (pin == -1) + pin = 7; + + KASSERT(pin >= 0 && pin <= 7, ("%s: invalid pin %d", __func__, pin)); *vecptr = atpic->irq_base + pin; VATPIC_UNLOCK(vatpic); ==== //depot/projects/smpng/sys/amd64/vmm/vmm_instruction_emul.c#11 (text+ko) ==== @@ -24,11 +24,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: head/sys/amd64/vmm/vmm_instruction_emul.c 269700 2014-08-08 03:49:01Z neel $ + * $FreeBSD: head/sys/amd64/vmm/vmm_instruction_emul.c 270689 2014-08-27 00:53:56Z grehan $ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/amd64/vmm/vmm_instruction_emul.c 269700 2014-08-08 03:49:01Z neel $"); +__FBSDID("$FreeBSD: head/sys/amd64/vmm/vmm_instruction_emul.c 270689 2014-08-27 00:53:56Z grehan $"); #ifdef _KERNEL #include <sys/param.h> @@ -65,6 +65,7 @@ VIE_OP_TYPE_MOVZX, VIE_OP_TYPE_AND, VIE_OP_TYPE_OR, + VIE_OP_TYPE_SUB, VIE_OP_TYPE_TWO_BYTE, VIE_OP_TYPE_PUSH, VIE_OP_TYPE_CMP, @@ -97,6 +98,10 @@ .op_byte = 0x0F, .op_type = VIE_OP_TYPE_TWO_BYTE }, + [0x2B] = { + .op_byte = 0x2B, + .op_type = VIE_OP_TYPE_SUB, + }, [0x3B] = { .op_byte = 0x3B, .op_type = VIE_OP_TYPE_CMP, @@ -597,18 +602,16 @@ break; case 0x81: /* - * AND mem (ModRM:r/m) with immediate and store the + * AND/OR mem (ModRM:r/m) with immediate and store the * result in mem. * - * 81 /4 and r/m16, imm16 - * 81 /4 and r/m32, imm32 - * REX.W + 81 /4 and r/m64, imm32 sign-extended to 64 + * AND: i = 4 + * OR: i = 1 + * 81 /i op r/m16, imm16 + * 81 /i op r/m32, imm32 + * REX.W + 81 /i op r/m64, imm32 sign-extended to 64 * - * Currently, only the AND operation of the 0x81 opcode - * is implemented (ModRM:reg = b100). */ - if ((vie->reg & 7) != 4) - break; /* get the first operand */ error = memread(vm, vcpuid, gpa, &val1, size, arg); @@ -616,11 +619,26 @@ break; /* - * perform the operation with the pre-fetched immediate - * operand and write the result - */ - val1 &= vie->immediate; - error = memwrite(vm, vcpuid, gpa, val1, size, arg); + * perform the operation with the pre-fetched immediate + * operand and write the result + */ + switch (vie->reg & 7) { + case 0x4: + /* modrm:reg == b100, AND */ + val1 &= vie->immediate; + break; + case 0x1: + /* modrm:reg == b001, OR */ + val1 |= vie->immediate; + break; + default: + error = EINVAL; + break; + } + if (error) + break; + + error = memwrite(vm, vcpuid, gpa, val1, size, arg); break; default: break; @@ -723,6 +741,62 @@ } static int +emulate_sub(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, + mem_region_read_t memread, mem_region_write_t memwrite, void *arg) +{ + int error, size; + uint64_t nval, rflags, rflags2, val1, val2; + enum vm_reg_name reg; + + size = vie->opsize; + error = EINVAL; + + switch (vie->op.op_byte) { + case 0x2B: + /* + * SUB r/m from r and store the result in r + * + * 2B/r SUB r16, r/m16 + * 2B/r SUB r32, r/m32 + * REX.W + 2B/r SUB r64, r/m64 + */ + + /* get the first operand */ + reg = gpr_map[vie->reg]; + error = vie_read_register(vm, vcpuid, reg, &val1); + if (error) + break; + + /* get the second operand */ + error = memread(vm, vcpuid, gpa, &val2, size, arg); + if (error) + break; + + /* perform the operation and write the result */ + nval = val1 - val2; + error = vie_update_register(vm, vcpuid, reg, nval, size); + break; + default: + break; + } + + if (!error) { + rflags2 = getcc(size, val1, val2); + error = vie_read_register(vm, vcpuid, VM_REG_GUEST_RFLAGS, + &rflags); + if (error) + return (error); + + rflags &= ~RFLAGS_STATUS_BITS; + rflags |= rflags2 & RFLAGS_STATUS_BITS; + error = vie_update_register(vm, vcpuid, VM_REG_GUEST_RFLAGS, + rflags, 8); + } + + return (error); +} + +static int emulate_push(void *vm, int vcpuid, uint64_t mmio_gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) @@ -865,6 +939,10 @@ error = emulate_or(vm, vcpuid, gpa, vie, memread, memwrite, memarg); break; + case VIE_OP_TYPE_SUB: + error = emulate_sub(vm, vcpuid, gpa, vie, + memread, memwrite, memarg); + break; default: error = EINVAL; break; ==== //depot/projects/smpng/sys/amd64/vmm/x86.c#11 (text+ko) ==== @@ -23,16 +23,17 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: head/sys/amd64/vmm/x86.c 266765 2014-05-27 19:04:38Z jhb $ + * $FreeBSD: head/sys/amd64/vmm/x86.c 270437 2014-08-24 01:10:06Z neel $ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/amd64/vmm/x86.c 266765 2014-05-27 19:04:38Z jhb $"); +__FBSDID("$FreeBSD: head/sys/amd64/vmm/x86.c 270437 2014-08-24 01:10:06Z neel $"); #include <sys/param.h> #include <sys/pcpu.h> #include <sys/systm.h> #include <sys/cpuset.h> +#include <sys/sysctl.h> #include <machine/clock.h> #include <machine/cpufunc.h> @@ -45,20 +46,49 @@ #include "vmm_host.h" #include "x86.h" +SYSCTL_DECL(_hw_vmm); +static SYSCTL_NODE(_hw_vmm, OID_AUTO, topology, CTLFLAG_RD, 0, NULL); + #define CPUID_VM_HIGH 0x40000000 static const char bhyve_id[12] = "bhyve bhyve "; static uint64_t bhyve_xcpuids; +/* + * The default CPU topology is a single thread per package. + */ +static u_int threads_per_core = 1; +SYSCTL_UINT(_hw_vmm_topology, OID_AUTO, threads_per_core, CTLFLAG_RDTUN, + &threads_per_core, 0, NULL); + +static u_int cores_per_package = 1; +SYSCTL_UINT(_hw_vmm_topology, OID_AUTO, cores_per_package, CTLFLAG_RDTUN, + &cores_per_package, 0, NULL); + +static int cpuid_leaf_b = 1; +SYSCTL_INT(_hw_vmm_topology, OID_AUTO, cpuid_leaf_b, CTLFLAG_RDTUN, + &cpuid_leaf_b, 0, NULL); + +/* + * Round up to the next power of two, if necessary, and then take log2. + * Returns -1 if argument is zero. + */ +static __inline int +log2(u_int x) +{ + + return (fls(x << (1 - powerof2(x))) - 1); +} + int x86_emulate_cpuid(struct vm *vm, int vcpu_id, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) { const struct xsave_limits *limits; uint64_t cr4; - int error, enable_invpcid; - unsigned int func, regs[4]; + int error, enable_invpcid, level, width, x2apic_id; + unsigned int func, regs[4], logical_cpus; enum x2apic_state x2apic_state; /* @@ -207,30 +237,31 @@ */ regs[3] &= ~CPUID_DS; - /* - * Disable multi-core. - */ + logical_cpus = threads_per_core * cores_per_package; regs[1] &= ~CPUID_HTT_CORES; - regs[3] &= ~CPUID_HTT; + regs[1] |= (logical_cpus & 0xff) << 16; + regs[3] |= CPUID_HTT; break; case CPUID_0000_0004: - do_cpuid(4, regs); + cpuid_count(*eax, *ecx, regs); - /* - * Do not expose topology. - * - * The maximum number of processor cores in - * this physical processor package and the - * maximum number of threads sharing this - * cache are encoded with "plus 1" encoding. - * Adding one to the value in this register - * field to obtains the actual value. - * - * Therefore 0 for both indicates 1 core per - * package and no cache sharing. - */ - regs[0] &= 0xffff8000; + if (regs[0] || regs[1] || regs[2] || regs[3]) { + regs[0] &= 0x3ff; + regs[0] |= (cores_per_package - 1) << 26; + /* + * Cache topology: + * - L1 and L2 are shared only by the logical + * processors in a single core. + * - L3 and above are shared by all logical + * processors in the package. + */ + logical_cpus = threads_per_core; + level = (regs[0] >> 5) & 0x7; + if (level >= 3) + logical_cpus *= cores_per_package; + regs[0] |= (logical_cpus - 1) << 14; + } break; case CPUID_0000_0007: @@ -284,10 +315,32 @@ /* * Processor topology enumeration */ - regs[0] = 0; - regs[1] = 0; - regs[2] = *ecx & 0xff; - regs[3] = vcpu_id; + if (*ecx == 0) { + logical_cpus = threads_per_core; + width = log2(logical_cpus); + level = CPUID_TYPE_SMT; + x2apic_id = vcpu_id; + } + + if (*ecx == 1) { + logical_cpus = threads_per_core * + cores_per_package; + width = log2(logical_cpus); + level = CPUID_TYPE_CORE; + x2apic_id = vcpu_id; + } + + if (!cpuid_leaf_b || *ecx >= 2) { + width = 0; + logical_cpus = 0; + level = 0; + x2apic_id = 0; + } + + regs[0] = width & 0x1f; + regs[1] = logical_cpus & 0xffff; + regs[2] = (level << 8) | (*ecx & 0xff); + regs[3] = x2apic_id; break; case CPUID_0000_000D: ==== //depot/projects/smpng/sys/boot/common/part.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/boot/common/part.c 263468 2014-03-21 09:29:01Z ae $"); +__FBSDID("$FreeBSD: head/sys/boot/common/part.c 270521 2014-08-25 07:15:14Z ae $"); #include <stand.h> #include <sys/param.h> @@ -212,8 +212,8 @@ return (-1); } } - ent = (struct gpt_ent *)tbl; - for (i = 0; i < cnt; i++, ent++) { + for (i = 0; i < cnt; i++) { + ent = (struct gpt_ent *)(tbl + i * hdr->hdr_entsz); uuid_letoh(&ent->ent_type); if (uuid_equal(&ent->ent_type, &gpt_uuid_unused, NULL)) continue; @@ -254,8 +254,8 @@ table->sectorsize); if (phdr != NULL) { /* Read the primary GPT table. */ - size = MIN(MAXTBLSZ, - phdr->hdr_entries * phdr->hdr_entsz / table->sectorsize); + size = MIN(MAXTBLSZ, (phdr->hdr_entries * phdr->hdr_entsz + + table->sectorsize - 1) / table->sectorsize); if (dread(dev, tbl, size, phdr->hdr_lba_table) == 0 && gpt_checktbl(phdr, tbl, size * table->sectorsize, table->sectors - 1) == 0) { @@ -287,8 +287,9 @@ hdr.hdr_entsz != phdr->hdr_entsz || hdr.hdr_crc_table != phdr->hdr_crc_table) { /* Read the backup GPT table. */ - size = MIN(MAXTBLSZ, phdr->hdr_entries * - phdr->hdr_entsz / table->sectorsize); + size = MIN(MAXTBLSZ, (phdr->hdr_entries * + phdr->hdr_entsz + table->sectorsize - 1) / + table->sectorsize); if (dread(dev, tbl, size, phdr->hdr_lba_table) == 0 && gpt_checktbl(phdr, tbl, size * table->sectorsize, table->sectors - 1) == 0) { @@ -302,10 +303,10 @@ table->type = PTABLE_NONE; goto out; } - ent = (struct gpt_ent *)tbl; size = MIN(hdr.hdr_entries * hdr.hdr_entsz, MAXTBLSZ * table->sectorsize); - for (i = 0; i < size / hdr.hdr_entsz; i++, ent++) { + for (i = 0; i < size / hdr.hdr_entsz; i++) { + ent = (struct gpt_ent *)(tbl + i * hdr.hdr_entsz); if (uuid_equal(&ent->ent_type, &gpt_uuid_unused, NULL)) continue; entry = malloc(sizeof(*entry)); ==== //depot/projects/smpng/sys/cam/ata/ata_xpt.c#25 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/cam/ata/ata_xpt.c 270249 2014-08-20 22:58:12Z imp $"); +__FBSDID("$FreeBSD: head/sys/cam/ata/ata_xpt.c 270327 2014-08-22 13:15:59Z imp $"); #include <sys/param.h> #include <sys/bus.h> @@ -458,18 +458,12 @@ 0, 0x02); break; case PROBE_SETAN: - /* - * Only ATAPI defines this bit to mean AEN, but remember - * what transport thinks about AEN. - */ - if ((softc->caps & CTS_SATA_CAPS_H_AN) && - periph->path->device->protocol == PROTO_ATAPI) + /* Remember what transport thinks about AEN. */ + if (softc->caps & CTS_SATA_CAPS_H_AN) path->device->inq_flags |= SID_AEN; else path->device->inq_flags &= ~SID_AEN; xpt_async(AC_GETDEV_CHANGED, path, NULL); - if (periph->path->device->protocol != PROTO_ATAPI) - break; cam_fill_ataio(ataio, 1, probedone, @@ -1057,7 +1051,8 @@ } /* FALLTHROUGH */ case PROBE_SETDMAAA: - if ((ident_buf->satasupport & ATA_SUPPORT_ASYNCNOTIF) && + if (path->device->protocol != PROTO_ATA && + (ident_buf->satasupport & ATA_SUPPORT_ASYNCNOTIF) && (!(softc->caps & CTS_SATA_CAPS_H_AN)) != (!(ident_buf->sataenabled & ATA_SUPPORT_ASYNCNOTIF))) { PROBE_SET_ACTION(softc, PROBE_SETAN); @@ -1178,7 +1173,7 @@ else caps = 0; /* Remember what transport thinks about AEN. */ - if (caps & CTS_SATA_CAPS_H_AN) + if ((caps & CTS_SATA_CAPS_H_AN) && path->device->protocol != PROTO_ATA) path->device->inq_flags |= SID_AEN; else path->device->inq_flags &= ~SID_AEN; ==== //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c 263620 2014-03-22 10:26:09Z bdrewery $"); +__FBSDID("$FreeBSD: head/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c 270759 2014-08-28 19:50:08Z smh $"); #include <sys/param.h> #include <sys/kernel.h> @@ -126,18 +126,47 @@ } SYSINIT(kmem_size_init, SI_SUB_KMEM, SI_ORDER_ANY, kmem_size_init, NULL); -uint64_t -kmem_size(void) +/* + * The return values from kmem_free_* are only valid once the pagedaemon + * has been initialised, before then they return 0. + * + * To ensure the returns are valid the caller can use a SYSINIT with + * subsystem set to SI_SUB_KTHREAD_PAGE and an order of at least + * SI_ORDER_SECOND. + */ +u_int +kmem_free_target(void) +{ + + return (vm_cnt.v_free_target); +} + +u_int +kmem_free_min(void) +{ + + return (vm_cnt.v_free_min); +} + +u_int +kmem_free_count(void) +{ + + return (vm_cnt.v_free_count); +} + +u_int +kmem_page_count(void) { - return (kmem_size_val); + return (vm_cnt.v_page_count); } uint64_t -kmem_used(void) +kmem_size(void) { - return (vmem_size(kmem_arena, VMEM_ALLOC)); + return (kmem_size_val); } static int ==== //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/kmem.h#10 (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/cddl/compat/opensolaris/sys/kmem.h 262329 2014-02-22 05:13:35Z markj $ + * $FreeBSD: head/sys/cddl/compat/opensolaris/sys/kmem.h 270759 2014-08-28 19:50:08Z smh $ */ #ifndef _OPENSOLARIS_SYS_KMEM_H_ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409080451.s884pHpl027211>