[Midnightbsd-cvs] src [10287] U trunk/share/man/man9: update man pages

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Jun 3 10:01:17 EDT 2018


Revision: 10287
          http://svnweb.midnightbsd.org/src/?rev=10287
Author:   laffer1
Date:     2018-06-03 10:01:16 -0400 (Sun, 03 Jun 2018)
Log Message:
-----------
update man pages

Modified Paths:
--------------
    trunk/share/man/man9/BUF_ISLOCKED.9
    trunk/share/man/man9/BUF_LOCK.9
    trunk/share/man/man9/BUF_LOCKFREE.9
    trunk/share/man/man9/BUF_LOCKINIT.9
    trunk/share/man/man9/BUF_RECURSED.9
    trunk/share/man/man9/BUF_TIMELOCK.9
    trunk/share/man/man9/BUF_UNLOCK.9
    trunk/share/man/man9/BUS_ADD_CHILD.9
    trunk/share/man/man9/BUS_BIND_INTR.9
    trunk/share/man/man9/BUS_CHILD_DELETED.9
    trunk/share/man/man9/BUS_CONFIG_INTR.9
    trunk/share/man/man9/BUS_DESCRIBE_INTR.9
    trunk/share/man/man9/BUS_NEW_PASS.9
    trunk/share/man/man9/BUS_PRINT_CHILD.9
    trunk/share/man/man9/BUS_READ_IVAR.9
    trunk/share/man/man9/BUS_SETUP_INTR.9
    trunk/share/man/man9/CTASSERT.9
    trunk/share/man/man9/DB_COMMAND.9
    trunk/share/man/man9/DECLARE_GEOM_CLASS.9
    trunk/share/man/man9/DECLARE_MODULE.9
    trunk/share/man/man9/DELAY.9
    trunk/share/man/man9/DEVICE_ATTACH.9
    trunk/share/man/man9/DEVICE_DETACH.9
    trunk/share/man/man9/DEVICE_IDENTIFY.9
    trunk/share/man/man9/DEVICE_PROBE.9
    trunk/share/man/man9/DEVICE_SHUTDOWN.9
    trunk/share/man/man9/DEV_MODULE.9
    trunk/share/man/man9/DRIVER_MODULE.9
    trunk/share/man/man9/EVENTHANDLER.9
    trunk/share/man/man9/KASSERT.9
    trunk/share/man/man9/LOCK_PROFILING.9
    trunk/share/man/man9/MD5.9
    trunk/share/man/man9/MODULE_DEPEND.9
    trunk/share/man/man9/MODULE_VERSION.9
    trunk/share/man/man9/Makefile
    trunk/share/man/man9/SYSCALL_MODULE.9
    trunk/share/man/man9/SYSINIT.9
    trunk/share/man/man9/VFS.9
    trunk/share/man/man9/VFS_CHECKEXP.9
    trunk/share/man/man9/VFS_FHTOVP.9
    trunk/share/man/man9/VFS_MOUNT.9
    trunk/share/man/man9/VFS_QUOTACTL.9
    trunk/share/man/man9/VFS_ROOT.9
    trunk/share/man/man9/VFS_SET.9
    trunk/share/man/man9/VFS_STATFS.9
    trunk/share/man/man9/VFS_SYNC.9
    trunk/share/man/man9/VFS_UNMOUNT.9
    trunk/share/man/man9/VFS_VGET.9
    trunk/share/man/man9/VOP_ACCESS.9
    trunk/share/man/man9/VOP_ACLCHECK.9
    trunk/share/man/man9/VOP_ADVLOCK.9
    trunk/share/man/man9/VOP_ATTRIB.9
    trunk/share/man/man9/VOP_BWRITE.9
    trunk/share/man/man9/VOP_CREATE.9
    trunk/share/man/man9/VOP_FSYNC.9
    trunk/share/man/man9/VOP_GETACL.9
    trunk/share/man/man9/VOP_GETEXTATTR.9
    trunk/share/man/man9/VOP_GETPAGES.9
    trunk/share/man/man9/VOP_INACTIVE.9
    trunk/share/man/man9/VOP_IOCTL.9
    trunk/share/man/man9/VOP_LINK.9
    trunk/share/man/man9/VOP_LISTEXTATTR.9
    trunk/share/man/man9/VOP_LOCK.9
    trunk/share/man/man9/VOP_LOOKUP.9
    trunk/share/man/man9/VOP_OPENCLOSE.9
    trunk/share/man/man9/VOP_PATHCONF.9
    trunk/share/man/man9/VOP_PRINT.9
    trunk/share/man/man9/VOP_RDWR.9
    trunk/share/man/man9/VOP_READDIR.9
    trunk/share/man/man9/VOP_READLINK.9
    trunk/share/man/man9/VOP_REALLOCBLKS.9
    trunk/share/man/man9/VOP_REMOVE.9
    trunk/share/man/man9/VOP_RENAME.9
    trunk/share/man/man9/VOP_REVOKE.9
    trunk/share/man/man9/VOP_SETACL.9
    trunk/share/man/man9/VOP_SETEXTATTR.9
    trunk/share/man/man9/VOP_STRATEGY.9
    trunk/share/man/man9/VOP_VPTOCNP.9
    trunk/share/man/man9/VOP_VPTOFH.9
    trunk/share/man/man9/accept_filter.9
    trunk/share/man/man9/accf_data.9
    trunk/share/man/man9/accf_dns.9
    trunk/share/man/man9/accf_http.9
    trunk/share/man/man9/acl.9
    trunk/share/man/man9/alq.9
    trunk/share/man/man9/altq.9
    trunk/share/man/man9/atomic.9
    trunk/share/man/man9/bios.9
    trunk/share/man/man9/boot.9
    trunk/share/man/man9/bpf.9
    trunk/share/man/man9/buf.9
    trunk/share/man/man9/buf_ring.9
    trunk/share/man/man9/bus_activate_resource.9
    trunk/share/man/man9/bus_adjust_resource.9
    trunk/share/man/man9/bus_alloc_resource.9
    trunk/share/man/man9/bus_child_present.9
    trunk/share/man/man9/bus_dma.9
    trunk/share/man/man9/bus_generic_attach.9
    trunk/share/man/man9/bus_generic_detach.9
    trunk/share/man/man9/bus_generic_new_pass.9
    trunk/share/man/man9/bus_generic_print_child.9
    trunk/share/man/man9/bus_generic_read_ivar.9
    trunk/share/man/man9/bus_generic_shutdown.9
    trunk/share/man/man9/bus_release_resource.9
    trunk/share/man/man9/bus_set_pass.9
    trunk/share/man/man9/bus_set_resource.9
    trunk/share/man/man9/bus_space.9
    trunk/share/man/man9/byteorder.9
    trunk/share/man/man9/cd.9
    trunk/share/man/man9/condvar.9
    trunk/share/man/man9/config_intrhook.9
    trunk/share/man/man9/contigmalloc.9
    trunk/share/man/man9/copy.9
    trunk/share/man/man9/cr_cansee.9
    trunk/share/man/man9/cr_seeothergids.9
    trunk/share/man/man9/cr_seeotheruids.9
    trunk/share/man/man9/critical_enter.9
    trunk/share/man/man9/crypto.9
    trunk/share/man/man9/dev_clone.9
    trunk/share/man/man9/devclass.9
    trunk/share/man/man9/devclass_find.9
    trunk/share/man/man9/devclass_get_count.9
    trunk/share/man/man9/devclass_get_device.9
    trunk/share/man/man9/devclass_get_devices.9
    trunk/share/man/man9/devclass_get_drivers.9
    trunk/share/man/man9/devclass_get_maxunit.9
    trunk/share/man/man9/devclass_get_name.9
    trunk/share/man/man9/devclass_get_softc.9
    trunk/share/man/man9/devfs_set_cdevpriv.9
    trunk/share/man/man9/device.9
    trunk/share/man/man9/device_add_child.9
    trunk/share/man/man9/device_delete_child.9
    trunk/share/man/man9/device_enable.9
    trunk/share/man/man9/device_find_child.9
    trunk/share/man/man9/device_get_children.9
    trunk/share/man/man9/device_get_devclass.9
    trunk/share/man/man9/device_get_driver.9
    trunk/share/man/man9/device_get_ivars.9
    trunk/share/man/man9/device_get_name.9
    trunk/share/man/man9/device_get_parent.9
    trunk/share/man/man9/device_get_softc.9
    trunk/share/man/man9/device_get_state.9
    trunk/share/man/man9/device_get_sysctl.9
    trunk/share/man/man9/device_get_unit.9
    trunk/share/man/man9/device_printf.9
    trunk/share/man/man9/device_probe_and_attach.9
    trunk/share/man/man9/device_quiet.9
    trunk/share/man/man9/device_set_desc.9
    trunk/share/man/man9/device_set_driver.9
    trunk/share/man/man9/device_set_flags.9
    trunk/share/man/man9/devstat.9
    trunk/share/man/man9/devtoname.9
    trunk/share/man/man9/disk.9
    trunk/share/man/man9/domain.9
    trunk/share/man/man9/drbr.9
    trunk/share/man/man9/driver.9
    trunk/share/man/man9/eventtimers.9
    trunk/share/man/man9/extattr.9
    trunk/share/man/man9/fail.9
    trunk/share/man/man9/fetch.9
    trunk/share/man/man9/firmware.9
    trunk/share/man/man9/g_access.9
    trunk/share/man/man9/g_attach.9
    trunk/share/man/man9/g_bio.9
    trunk/share/man/man9/g_consumer.9
    trunk/share/man/man9/g_data.9
    trunk/share/man/man9/g_event.9
    trunk/share/man/man9/g_geom.9
    trunk/share/man/man9/g_provider.9
    trunk/share/man/man9/g_provider_by_name.9
    trunk/share/man/man9/g_wither_geom.9
    trunk/share/man/man9/get_cyclecount.9
    trunk/share/man/man9/getnewvnode.9
    trunk/share/man/man9/groupmember.9
    trunk/share/man/man9/hash.9
    trunk/share/man/man9/hashinit.9
    trunk/share/man/man9/hexdump.9
    trunk/share/man/man9/hhook.9
    trunk/share/man/man9/ieee80211.9
    trunk/share/man/man9/ieee80211_amrr.9
    trunk/share/man/man9/ieee80211_beacon.9
    trunk/share/man/man9/ieee80211_bmiss.9
    trunk/share/man/man9/ieee80211_crypto.9
    trunk/share/man/man9/ieee80211_ddb.9
    trunk/share/man/man9/ieee80211_input.9
    trunk/share/man/man9/ieee80211_node.9
    trunk/share/man/man9/ieee80211_output.9
    trunk/share/man/man9/ieee80211_proto.9
    trunk/share/man/man9/ieee80211_radiotap.9
    trunk/share/man/man9/ieee80211_regdomain.9
    trunk/share/man/man9/ieee80211_scan.9
    trunk/share/man/man9/ieee80211_vap.9
    trunk/share/man/man9/ifnet.9
    trunk/share/man/man9/inittodr.9
    trunk/share/man/man9/insmntque.9
    trunk/share/man/man9/intro.9
    trunk/share/man/man9/ithread.9
    trunk/share/man/man9/kernacc.9
    trunk/share/man/man9/kernel_mount.9
    trunk/share/man/man9/khelp.9
    trunk/share/man/man9/kobj.9
    trunk/share/man/man9/kproc.9
    trunk/share/man/man9/kqueue.9
    trunk/share/man/man9/kthread.9
    trunk/share/man/man9/ktr.9
    trunk/share/man/man9/lock.9
    trunk/share/man/man9/locking.9
    trunk/share/man/man9/mac.9
    trunk/share/man/man9/make_dev.9
    trunk/share/man/man9/malloc.9
    trunk/share/man/man9/mbchain.9
    trunk/share/man/man9/mbpool.9
    trunk/share/man/man9/mbuf.9
    trunk/share/man/man9/mbuf_tags.9
    trunk/share/man/man9/mdchain.9
    trunk/share/man/man9/memguard.9
    trunk/share/man/man9/mi_switch.9
    trunk/share/man/man9/microseq.9
    trunk/share/man/man9/microtime.9
    trunk/share/man/man9/microuptime.9
    trunk/share/man/man9/mod_cc.9
    trunk/share/man/man9/module.9
    trunk/share/man/man9/mtx_pool.9
    trunk/share/man/man9/mutex.9
    trunk/share/man/man9/namei.9
    trunk/share/man/man9/netisr.9
    trunk/share/man/man9/osd.9
    trunk/share/man/man9/p_candebug.9
    trunk/share/man/man9/p_cansee.9
    trunk/share/man/man9/panic.9
    trunk/share/man/man9/pbuf.9
    trunk/share/man/man9/pci.9
    trunk/share/man/man9/pfil.9
    trunk/share/man/man9/pfind.9
    trunk/share/man/man9/pgfind.9
    trunk/share/man/man9/physio.9
    trunk/share/man/man9/pmap.9
    trunk/share/man/man9/pmap_activate.9
    trunk/share/man/man9/pmap_change_wiring.9
    trunk/share/man/man9/pmap_clear_modify.9
    trunk/share/man/man9/pmap_copy.9
    trunk/share/man/man9/pmap_enter.9
    trunk/share/man/man9/pmap_extract.9
    trunk/share/man/man9/pmap_growkernel.9
    trunk/share/man/man9/pmap_init.9
    trunk/share/man/man9/pmap_is_modified.9
    trunk/share/man/man9/pmap_is_prefaultable.9
    trunk/share/man/man9/pmap_map.9
    trunk/share/man/man9/pmap_mincore.9
    trunk/share/man/man9/pmap_object_init_pt.9
    trunk/share/man/man9/pmap_page_exists_quick.9
    trunk/share/man/man9/pmap_page_init.9
    trunk/share/man/man9/pmap_page_protect.9
    trunk/share/man/man9/pmap_pinit.9
    trunk/share/man/man9/pmap_qenter.9
    trunk/share/man/man9/pmap_release.9
    trunk/share/man/man9/pmap_remove.9
    trunk/share/man/man9/pmap_resident_count.9
    trunk/share/man/man9/pmap_zero_page.9
    trunk/share/man/man9/printf.9
    trunk/share/man/man9/prison_check.9
    trunk/share/man/man9/priv.9
    trunk/share/man/man9/pseudofs.9
    trunk/share/man/man9/psignal.9
    trunk/share/man/man9/random.9
    trunk/share/man/man9/random_harvest.9
    trunk/share/man/man9/redzone.9
    trunk/share/man/man9/refcount.9
    trunk/share/man/man9/resettodr.9
    trunk/share/man/man9/resource_int_value.9
    trunk/share/man/man9/rijndael.9
    trunk/share/man/man9/rman.9
    trunk/share/man/man9/rmlock.9
    trunk/share/man/man9/rtalloc.9
    trunk/share/man/man9/rtentry.9
    trunk/share/man/man9/runqueue.9
    trunk/share/man/man9/rwlock.9
    trunk/share/man/man9/sbuf.9
    trunk/share/man/man9/scheduler.9
    trunk/share/man/man9/securelevel_gt.9
    trunk/share/man/man9/selrecord.9
    trunk/share/man/man9/sema.9
    trunk/share/man/man9/sensor_attach.9
    trunk/share/man/man9/sf_buf.9
    trunk/share/man/man9/sglist.9
    trunk/share/man/man9/shm_map.9
    trunk/share/man/man9/signal.9
    trunk/share/man/man9/sleep.9
    trunk/share/man/man9/sleepqueue.9
    trunk/share/man/man9/socket.9
    trunk/share/man/man9/spl.9
    trunk/share/man/man9/stack.9
    trunk/share/man/man9/store.9
    trunk/share/man/man9/style.9
    trunk/share/man/man9/swi.9
    trunk/share/man/man9/sx.9
    trunk/share/man/man9/sysctl.9
    trunk/share/man/man9/sysctl_add_oid.9
    trunk/share/man/man9/sysctl_ctx_init.9
    trunk/share/man/man9/taskqueue.9
    trunk/share/man/man9/thread_exit.9
    trunk/share/man/man9/time.9
    trunk/share/man/man9/timeout.9
    trunk/share/man/man9/tvtohz.9
    trunk/share/man/man9/ucred.9
    trunk/share/man/man9/uidinfo.9
    trunk/share/man/man9/uio.9
    trunk/share/man/man9/unr.9
    trunk/share/man/man9/usbdi.9
    trunk/share/man/man9/utopia.9
    trunk/share/man/man9/vaccess.9
    trunk/share/man/man9/vaccess_acl_nfs4.9
    trunk/share/man/man9/vaccess_acl_posix1e.9
    trunk/share/man/man9/vcount.9
    trunk/share/man/man9/vflush.9
    trunk/share/man/man9/vfs_busy.9
    trunk/share/man/man9/vfs_getnewfsid.9
    trunk/share/man/man9/vfs_getopt.9
    trunk/share/man/man9/vfs_getvfs.9
    trunk/share/man/man9/vfs_mountedfrom.9
    trunk/share/man/man9/vfs_mountedon.9
    trunk/share/man/man9/vfs_rootmountalloc.9
    trunk/share/man/man9/vfs_suser.9
    trunk/share/man/man9/vfs_timestamp.9
    trunk/share/man/man9/vfs_unbusy.9
    trunk/share/man/man9/vfs_unmountall.9
    trunk/share/man/man9/vfsconf.9
    trunk/share/man/man9/vget.9
    trunk/share/man/man9/vgone.9
    trunk/share/man/man9/vhold.9
    trunk/share/man/man9/vinvalbuf.9
    trunk/share/man/man9/vm_fault_prefault.9
    trunk/share/man/man9/vm_map.9
    trunk/share/man/man9/vm_map_check_protection.9
    trunk/share/man/man9/vm_map_create.9
    trunk/share/man/man9/vm_map_delete.9
    trunk/share/man/man9/vm_map_entry_resize_free.9
    trunk/share/man/man9/vm_map_find.9
    trunk/share/man/man9/vm_map_findspace.9
    trunk/share/man/man9/vm_map_inherit.9
    trunk/share/man/man9/vm_map_init.9
    trunk/share/man/man9/vm_map_insert.9
    trunk/share/man/man9/vm_map_lock.9
    trunk/share/man/man9/vm_map_lookup.9
    trunk/share/man/man9/vm_map_madvise.9
    trunk/share/man/man9/vm_map_max.9
    trunk/share/man/man9/vm_map_protect.9
    trunk/share/man/man9/vm_map_remove.9
    trunk/share/man/man9/vm_map_simplify_entry.9
    trunk/share/man/man9/vm_map_stack.9
    trunk/share/man/man9/vm_map_submap.9
    trunk/share/man/man9/vm_map_sync.9
    trunk/share/man/man9/vm_map_wire.9
    trunk/share/man/man9/vm_page_aflag.9
    trunk/share/man/man9/vm_page_alloc.9
    trunk/share/man/man9/vm_page_bits.9
    trunk/share/man/man9/vm_page_cache.9
    trunk/share/man/man9/vm_page_deactivate.9
    trunk/share/man/man9/vm_page_dontneed.9
    trunk/share/man/man9/vm_page_free.9
    trunk/share/man/man9/vm_page_grab.9
    trunk/share/man/man9/vm_page_hold.9
    trunk/share/man/man9/vm_page_insert.9
    trunk/share/man/man9/vm_page_lookup.9
    trunk/share/man/man9/vm_page_rename.9
    trunk/share/man/man9/vm_page_wire.9
    trunk/share/man/man9/vm_set_page_size.9
    trunk/share/man/man9/vn_fullpath.9
    trunk/share/man/man9/vn_isdisk.9
    trunk/share/man/man9/vnode.9
    trunk/share/man/man9/vref.9
    trunk/share/man/man9/vrefcnt.9
    trunk/share/man/man9/vrele.9
    trunk/share/man/man9/vslock.9
    trunk/share/man/man9/watchdog.9
    trunk/share/man/man9/zero_copy.9
    trunk/share/man/man9/zone.9

Added Paths:
-----------
    trunk/share/man/man9/BUS_CHILD_DETACHED.9
    trunk/share/man/man9/SDT.9
    trunk/share/man/man9/VOP_ADVISE.9
    trunk/share/man/man9/VOP_ALLOCATE.9
    trunk/share/man/man9/bus_get_resource.9
    trunk/share/man/man9/casuword.9
    trunk/share/man/man9/counter.9
    trunk/share/man/man9/fpu_kern.9
    trunk/share/man/man9/memcchr.9
    trunk/share/man/man9/pget.9
    trunk/share/man/man9/pmap_unwire.9
    trunk/share/man/man9/vm_page_busy.9
    trunk/share/man/man9/vmem.9

Property Changed:
----------------
    trunk/share/man/man9/BUF_ISLOCKED.9
    trunk/share/man/man9/BUF_LOCK.9
    trunk/share/man/man9/BUF_LOCKFREE.9
    trunk/share/man/man9/BUF_LOCKINIT.9
    trunk/share/man/man9/BUF_RECURSED.9
    trunk/share/man/man9/BUF_TIMELOCK.9
    trunk/share/man/man9/BUF_UNLOCK.9
    trunk/share/man/man9/BUS_ADD_CHILD.9
    trunk/share/man/man9/BUS_BIND_INTR.9
    trunk/share/man/man9/BUS_CONFIG_INTR.9
    trunk/share/man/man9/BUS_DESCRIBE_INTR.9
    trunk/share/man/man9/BUS_NEW_PASS.9
    trunk/share/man/man9/BUS_PRINT_CHILD.9
    trunk/share/man/man9/BUS_READ_IVAR.9
    trunk/share/man/man9/BUS_SETUP_INTR.9
    trunk/share/man/man9/CTASSERT.9
    trunk/share/man/man9/DB_COMMAND.9
    trunk/share/man/man9/DECLARE_GEOM_CLASS.9
    trunk/share/man/man9/DECLARE_MODULE.9
    trunk/share/man/man9/DELAY.9
    trunk/share/man/man9/DEVICE_ATTACH.9
    trunk/share/man/man9/DEVICE_DETACH.9
    trunk/share/man/man9/DEVICE_IDENTIFY.9
    trunk/share/man/man9/DEVICE_PROBE.9
    trunk/share/man/man9/DEVICE_SHUTDOWN.9
    trunk/share/man/man9/DEV_MODULE.9
    trunk/share/man/man9/DRIVER_MODULE.9
    trunk/share/man/man9/EVENTHANDLER.9
    trunk/share/man/man9/KASSERT.9
    trunk/share/man/man9/LOCK_PROFILING.9
    trunk/share/man/man9/MD5.9
    trunk/share/man/man9/MODULE_DEPEND.9
    trunk/share/man/man9/MODULE_VERSION.9
    trunk/share/man/man9/SYSCALL_MODULE.9
    trunk/share/man/man9/SYSINIT.9
    trunk/share/man/man9/VFS.9
    trunk/share/man/man9/VFS_CHECKEXP.9
    trunk/share/man/man9/VFS_FHTOVP.9
    trunk/share/man/man9/VFS_LOCK_GIANT.9
    trunk/share/man/man9/VFS_MOUNT.9
    trunk/share/man/man9/VFS_QUOTACTL.9
    trunk/share/man/man9/VFS_ROOT.9
    trunk/share/man/man9/VFS_SET.9
    trunk/share/man/man9/VFS_STATFS.9
    trunk/share/man/man9/VFS_SYNC.9
    trunk/share/man/man9/VFS_UNMOUNT.9
    trunk/share/man/man9/VFS_VGET.9
    trunk/share/man/man9/VOP_ACCESS.9
    trunk/share/man/man9/VOP_ACLCHECK.9
    trunk/share/man/man9/VOP_ADVLOCK.9
    trunk/share/man/man9/VOP_ATTRIB.9
    trunk/share/man/man9/VOP_BWRITE.9
    trunk/share/man/man9/VOP_CREATE.9
    trunk/share/man/man9/VOP_FSYNC.9
    trunk/share/man/man9/VOP_GETACL.9
    trunk/share/man/man9/VOP_GETEXTATTR.9
    trunk/share/man/man9/VOP_GETPAGES.9
    trunk/share/man/man9/VOP_GETVOBJECT.9
    trunk/share/man/man9/VOP_INACTIVE.9
    trunk/share/man/man9/VOP_IOCTL.9
    trunk/share/man/man9/VOP_LINK.9
    trunk/share/man/man9/VOP_LISTEXTATTR.9
    trunk/share/man/man9/VOP_LOCK.9
    trunk/share/man/man9/VOP_LOOKUP.9
    trunk/share/man/man9/VOP_OPENCLOSE.9
    trunk/share/man/man9/VOP_PATHCONF.9
    trunk/share/man/man9/VOP_PRINT.9
    trunk/share/man/man9/VOP_RDWR.9
    trunk/share/man/man9/VOP_READDIR.9
    trunk/share/man/man9/VOP_READLINK.9
    trunk/share/man/man9/VOP_REALLOCBLKS.9
    trunk/share/man/man9/VOP_REMOVE.9
    trunk/share/man/man9/VOP_RENAME.9
    trunk/share/man/man9/VOP_REVOKE.9
    trunk/share/man/man9/VOP_SETACL.9
    trunk/share/man/man9/VOP_SETEXTATTR.9
    trunk/share/man/man9/VOP_STRATEGY.9
    trunk/share/man/man9/VOP_VPTOCNP.9
    trunk/share/man/man9/VOP_VPTOFH.9
    trunk/share/man/man9/accept_filter.9
    trunk/share/man/man9/accf_data.9
    trunk/share/man/man9/accf_dns.9
    trunk/share/man/man9/accf_http.9
    trunk/share/man/man9/acl.9
    trunk/share/man/man9/alq.9
    trunk/share/man/man9/altq.9
    trunk/share/man/man9/atomic.9
    trunk/share/man/man9/bios.9
    trunk/share/man/man9/boot.9
    trunk/share/man/man9/bpf.9
    trunk/share/man/man9/buf.9
    trunk/share/man/man9/buf_ring.9
    trunk/share/man/man9/bus_activate_resource.9
    trunk/share/man/man9/bus_adjust_resource.9
    trunk/share/man/man9/bus_alloc_resource.9
    trunk/share/man/man9/bus_child_present.9
    trunk/share/man/man9/bus_dma.9
    trunk/share/man/man9/bus_generic_attach.9
    trunk/share/man/man9/bus_generic_detach.9
    trunk/share/man/man9/bus_generic_new_pass.9
    trunk/share/man/man9/bus_generic_print_child.9
    trunk/share/man/man9/bus_generic_read_ivar.9
    trunk/share/man/man9/bus_generic_shutdown.9
    trunk/share/man/man9/bus_release_resource.9
    trunk/share/man/man9/bus_set_pass.9
    trunk/share/man/man9/bus_set_resource.9
    trunk/share/man/man9/bus_space.9
    trunk/share/man/man9/byteorder.9
    trunk/share/man/man9/cd.9
    trunk/share/man/man9/condvar.9
    trunk/share/man/man9/config_intrhook.9
    trunk/share/man/man9/contigmalloc.9
    trunk/share/man/man9/copy.9
    trunk/share/man/man9/cr_cansee.9
    trunk/share/man/man9/cr_seeothergids.9
    trunk/share/man/man9/cr_seeotheruids.9
    trunk/share/man/man9/critical_enter.9
    trunk/share/man/man9/crypto.9
    trunk/share/man/man9/dev_clone.9
    trunk/share/man/man9/devclass.9
    trunk/share/man/man9/devclass_find.9
    trunk/share/man/man9/devclass_get_count.9
    trunk/share/man/man9/devclass_get_device.9
    trunk/share/man/man9/devclass_get_devices.9
    trunk/share/man/man9/devclass_get_drivers.9
    trunk/share/man/man9/devclass_get_maxunit.9
    trunk/share/man/man9/devclass_get_name.9
    trunk/share/man/man9/devclass_get_softc.9
    trunk/share/man/man9/devfs_set_cdevpriv.9
    trunk/share/man/man9/device.9
    trunk/share/man/man9/device_add_child.9
    trunk/share/man/man9/device_delete_child.9
    trunk/share/man/man9/device_enable.9
    trunk/share/man/man9/device_find_child.9
    trunk/share/man/man9/device_get_children.9
    trunk/share/man/man9/device_get_devclass.9
    trunk/share/man/man9/device_get_driver.9
    trunk/share/man/man9/device_get_ivars.9
    trunk/share/man/man9/device_get_name.9
    trunk/share/man/man9/device_get_parent.9
    trunk/share/man/man9/device_get_softc.9
    trunk/share/man/man9/device_get_state.9
    trunk/share/man/man9/device_get_sysctl.9
    trunk/share/man/man9/device_get_unit.9
    trunk/share/man/man9/device_printf.9
    trunk/share/man/man9/device_probe_and_attach.9
    trunk/share/man/man9/device_quiet.9
    trunk/share/man/man9/device_set_desc.9
    trunk/share/man/man9/device_set_driver.9
    trunk/share/man/man9/device_set_flags.9
    trunk/share/man/man9/devstat.9
    trunk/share/man/man9/devtoname.9
    trunk/share/man/man9/disk.9
    trunk/share/man/man9/domain.9
    trunk/share/man/man9/drbr.9
    trunk/share/man/man9/driver.9
    trunk/share/man/man9/eventtimers.9
    trunk/share/man/man9/extattr.9
    trunk/share/man/man9/fail.9
    trunk/share/man/man9/fdclone.9
    trunk/share/man/man9/fetch.9
    trunk/share/man/man9/firmware.9
    trunk/share/man/man9/g_access.9
    trunk/share/man/man9/g_attach.9
    trunk/share/man/man9/g_bio.9
    trunk/share/man/man9/g_consumer.9
    trunk/share/man/man9/g_data.9
    trunk/share/man/man9/g_event.9
    trunk/share/man/man9/g_geom.9
    trunk/share/man/man9/g_provider.9
    trunk/share/man/man9/g_provider_by_name.9
    trunk/share/man/man9/g_wither_geom.9
    trunk/share/man/man9/get_cyclecount.9
    trunk/share/man/man9/getnewvnode.9
    trunk/share/man/man9/groupmember.9
    trunk/share/man/man9/hash.9
    trunk/share/man/man9/hashinit.9
    trunk/share/man/man9/hexdump.9
    trunk/share/man/man9/hhook.9
    trunk/share/man/man9/ieee80211.9
    trunk/share/man/man9/ieee80211_amrr.9
    trunk/share/man/man9/ieee80211_beacon.9
    trunk/share/man/man9/ieee80211_bmiss.9
    trunk/share/man/man9/ieee80211_crypto.9
    trunk/share/man/man9/ieee80211_ddb.9
    trunk/share/man/man9/ieee80211_input.9
    trunk/share/man/man9/ieee80211_node.9
    trunk/share/man/man9/ieee80211_output.9
    trunk/share/man/man9/ieee80211_proto.9
    trunk/share/man/man9/ieee80211_radiotap.9
    trunk/share/man/man9/ieee80211_regdomain.9
    trunk/share/man/man9/ieee80211_scan.9
    trunk/share/man/man9/ieee80211_vap.9
    trunk/share/man/man9/ifnet.9
    trunk/share/man/man9/inittodr.9
    trunk/share/man/man9/insmntque.9
    trunk/share/man/man9/intro.9
    trunk/share/man/man9/ithread.9
    trunk/share/man/man9/kernacc.9
    trunk/share/man/man9/kernel_mount.9
    trunk/share/man/man9/khelp.9
    trunk/share/man/man9/kobj.9
    trunk/share/man/man9/kproc.9
    trunk/share/man/man9/kqueue.9
    trunk/share/man/man9/kthread.9
    trunk/share/man/man9/ktr.9
    trunk/share/man/man9/lock.9
    trunk/share/man/man9/locking.9
    trunk/share/man/man9/mac.9
    trunk/share/man/man9/make_dev.9
    trunk/share/man/man9/malloc.9
    trunk/share/man/man9/mbchain.9
    trunk/share/man/man9/mbpool.9
    trunk/share/man/man9/mbuf.9
    trunk/share/man/man9/mbuf_tags.9
    trunk/share/man/man9/mdchain.9
    trunk/share/man/man9/memguard.9
    trunk/share/man/man9/mi_switch.9
    trunk/share/man/man9/microseq.9
    trunk/share/man/man9/microtime.9
    trunk/share/man/man9/microuptime.9
    trunk/share/man/man9/mod_cc.9
    trunk/share/man/man9/module.9
    trunk/share/man/man9/mtx_pool.9
    trunk/share/man/man9/mutex.9
    trunk/share/man/man9/namei.9
    trunk/share/man/man9/netisr.9
    trunk/share/man/man9/osd.9
    trunk/share/man/man9/p_candebug.9
    trunk/share/man/man9/p_cansee.9
    trunk/share/man/man9/panic.9
    trunk/share/man/man9/pbuf.9
    trunk/share/man/man9/pci.9
    trunk/share/man/man9/pfil.9
    trunk/share/man/man9/pfind.9
    trunk/share/man/man9/pgfind.9
    trunk/share/man/man9/physio.9
    trunk/share/man/man9/pmap.9
    trunk/share/man/man9/pmap_activate.9
    trunk/share/man/man9/pmap_change_wiring.9
    trunk/share/man/man9/pmap_clear_modify.9
    trunk/share/man/man9/pmap_copy.9
    trunk/share/man/man9/pmap_enter.9
    trunk/share/man/man9/pmap_extract.9
    trunk/share/man/man9/pmap_growkernel.9
    trunk/share/man/man9/pmap_init.9
    trunk/share/man/man9/pmap_is_modified.9
    trunk/share/man/man9/pmap_is_prefaultable.9
    trunk/share/man/man9/pmap_map.9
    trunk/share/man/man9/pmap_mincore.9
    trunk/share/man/man9/pmap_object_init_pt.9
    trunk/share/man/man9/pmap_page_exists_quick.9
    trunk/share/man/man9/pmap_page_init.9
    trunk/share/man/man9/pmap_page_protect.9
    trunk/share/man/man9/pmap_pinit.9
    trunk/share/man/man9/pmap_qenter.9
    trunk/share/man/man9/pmap_release.9
    trunk/share/man/man9/pmap_remove.9
    trunk/share/man/man9/pmap_resident_count.9
    trunk/share/man/man9/pmap_zero_page.9
    trunk/share/man/man9/printf.9
    trunk/share/man/man9/prison_check.9
    trunk/share/man/man9/priv.9
    trunk/share/man/man9/pseudofs.9
    trunk/share/man/man9/psignal.9
    trunk/share/man/man9/random.9
    trunk/share/man/man9/random_harvest.9
    trunk/share/man/man9/redzone.9
    trunk/share/man/man9/refcount.9
    trunk/share/man/man9/resettodr.9
    trunk/share/man/man9/resource_int_value.9
    trunk/share/man/man9/rijndael.9
    trunk/share/man/man9/rman.9
    trunk/share/man/man9/rmlock.9
    trunk/share/man/man9/rtalloc.9
    trunk/share/man/man9/rtentry.9
    trunk/share/man/man9/runqueue.9
    trunk/share/man/man9/rwlock.9
    trunk/share/man/man9/sbuf.9
    trunk/share/man/man9/scheduler.9
    trunk/share/man/man9/securelevel_gt.9
    trunk/share/man/man9/selrecord.9
    trunk/share/man/man9/sema.9
    trunk/share/man/man9/sensor_attach.9
    trunk/share/man/man9/sf_buf.9
    trunk/share/man/man9/sglist.9
    trunk/share/man/man9/shm_map.9
    trunk/share/man/man9/signal.9
    trunk/share/man/man9/sleep.9
    trunk/share/man/man9/sleepqueue.9
    trunk/share/man/man9/socket.9
    trunk/share/man/man9/spl.9
    trunk/share/man/man9/stack.9
    trunk/share/man/man9/store.9
    trunk/share/man/man9/style.9
    trunk/share/man/man9/swi.9
    trunk/share/man/man9/sx.9
    trunk/share/man/man9/sysctl.9
    trunk/share/man/man9/sysctl_add_oid.9
    trunk/share/man/man9/sysctl_ctx_init.9
    trunk/share/man/man9/taskqueue.9
    trunk/share/man/man9/thread_exit.9
    trunk/share/man/man9/time.9
    trunk/share/man/man9/timeout.9
    trunk/share/man/man9/tvtohz.9
    trunk/share/man/man9/ucred.9
    trunk/share/man/man9/uidinfo.9
    trunk/share/man/man9/uio.9
    trunk/share/man/man9/unr.9
    trunk/share/man/man9/usbdi.9
    trunk/share/man/man9/utopia.9
    trunk/share/man/man9/vaccess.9
    trunk/share/man/man9/vaccess_acl_nfs4.9
    trunk/share/man/man9/vaccess_acl_posix1e.9
    trunk/share/man/man9/vcount.9
    trunk/share/man/man9/vflush.9
    trunk/share/man/man9/vfs_busy.9
    trunk/share/man/man9/vfs_getnewfsid.9
    trunk/share/man/man9/vfs_getopt.9
    trunk/share/man/man9/vfs_getvfs.9
    trunk/share/man/man9/vfs_mount.9
    trunk/share/man/man9/vfs_mountedfrom.9
    trunk/share/man/man9/vfs_mountedon.9
    trunk/share/man/man9/vfs_rootmountalloc.9
    trunk/share/man/man9/vfs_suser.9
    trunk/share/man/man9/vfs_timestamp.9
    trunk/share/man/man9/vfs_unbusy.9
    trunk/share/man/man9/vfs_unmountall.9
    trunk/share/man/man9/vfsconf.9
    trunk/share/man/man9/vget.9
    trunk/share/man/man9/vgone.9
    trunk/share/man/man9/vhold.9
    trunk/share/man/man9/vinvalbuf.9
    trunk/share/man/man9/vm_fault_prefault.9
    trunk/share/man/man9/vm_map.9
    trunk/share/man/man9/vm_map_check_protection.9
    trunk/share/man/man9/vm_map_create.9
    trunk/share/man/man9/vm_map_delete.9
    trunk/share/man/man9/vm_map_entry_resize_free.9
    trunk/share/man/man9/vm_map_find.9
    trunk/share/man/man9/vm_map_findspace.9
    trunk/share/man/man9/vm_map_inherit.9
    trunk/share/man/man9/vm_map_init.9
    trunk/share/man/man9/vm_map_insert.9
    trunk/share/man/man9/vm_map_lock.9
    trunk/share/man/man9/vm_map_lookup.9
    trunk/share/man/man9/vm_map_madvise.9
    trunk/share/man/man9/vm_map_max.9
    trunk/share/man/man9/vm_map_protect.9
    trunk/share/man/man9/vm_map_remove.9
    trunk/share/man/man9/vm_map_simplify_entry.9
    trunk/share/man/man9/vm_map_stack.9
    trunk/share/man/man9/vm_map_submap.9
    trunk/share/man/man9/vm_map_sync.9
    trunk/share/man/man9/vm_map_wire.9
    trunk/share/man/man9/vm_page_aflag.9
    trunk/share/man/man9/vm_page_alloc.9
    trunk/share/man/man9/vm_page_bits.9
    trunk/share/man/man9/vm_page_cache.9
    trunk/share/man/man9/vm_page_deactivate.9
    trunk/share/man/man9/vm_page_dontneed.9
    trunk/share/man/man9/vm_page_free.9
    trunk/share/man/man9/vm_page_grab.9
    trunk/share/man/man9/vm_page_hold.9
    trunk/share/man/man9/vm_page_insert.9
    trunk/share/man/man9/vm_page_io.9
    trunk/share/man/man9/vm_page_lookup.9
    trunk/share/man/man9/vm_page_rename.9
    trunk/share/man/man9/vm_page_sleep_if_busy.9
    trunk/share/man/man9/vm_page_wakeup.9
    trunk/share/man/man9/vm_page_wire.9
    trunk/share/man/man9/vm_set_page_size.9
    trunk/share/man/man9/vn_fullpath.9
    trunk/share/man/man9/vn_isdisk.9
    trunk/share/man/man9/vnode.9
    trunk/share/man/man9/vref.9
    trunk/share/man/man9/vrefcnt.9
    trunk/share/man/man9/vrele.9
    trunk/share/man/man9/vslock.9
    trunk/share/man/man9/watchdog.9
    trunk/share/man/man9/zero_copy.9
    trunk/share/man/man9/zone.9

Modified: trunk/share/man/man9/BUF_ISLOCKED.9
===================================================================
--- trunk/share/man/man9/BUF_ISLOCKED.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_ISLOCKED.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2008 Attilio Rao <attilio at FreeBSD.org>
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_ISLOCKED.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd January 22, 2008
 .Dt BUF_ISLOCKED 9


Property changes on: trunk/share/man/man9/BUF_ISLOCKED.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_LOCK.9
===================================================================
--- trunk/share/man/man9/BUF_LOCK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_LOCK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_LOCK.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt BUF_LOCK 9


Property changes on: trunk/share/man/man9/BUF_LOCK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_LOCKFREE.9
===================================================================
--- trunk/share/man/man9/BUF_LOCKFREE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_LOCKFREE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_LOCKFREE.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt BUF_LOCKFREE 9


Property changes on: trunk/share/man/man9/BUF_LOCKFREE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_LOCKINIT.9
===================================================================
--- trunk/share/man/man9/BUF_LOCKINIT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_LOCKINIT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_LOCKINIT.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd January 6, 2005
 .Dt BUF_LOCKINIT 9


Property changes on: trunk/share/man/man9/BUF_LOCKINIT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_RECURSED.9
===================================================================
--- trunk/share/man/man9/BUF_RECURSED.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_RECURSED.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2008 Attilio Rao <attilio at FreeBSD.org>
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_RECURSED.9 204383 2010-02-27 01:17:44Z delphij $
 .\"
 .Dd January 22, 2008
 .Dt BUF_RECURSED 9


Property changes on: trunk/share/man/man9/BUF_RECURSED.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_TIMELOCK.9
===================================================================
--- trunk/share/man/man9/BUF_TIMELOCK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_TIMELOCK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_TIMELOCK.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt BUF_TIMELOCK 9


Property changes on: trunk/share/man/man9/BUF_TIMELOCK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUF_UNLOCK.9
===================================================================
--- trunk/share/man/man9/BUF_UNLOCK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUF_UNLOCK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUF_UNLOCK.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt BUF_UNLOCK 9


Property changes on: trunk/share/man/man9/BUF_UNLOCK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_ADD_CHILD.9
===================================================================
--- trunk/share/man/man9/BUS_ADD_CHILD.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_ADD_CHILD.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2004 M. Warner Losh.
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_ADD_CHILD.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd May 13, 2004
 .Dt BUS_ADD_CHILD 9


Property changes on: trunk/share/man/man9/BUS_ADD_CHILD.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_BIND_INTR.9
===================================================================
--- trunk/share/man/man9/BUS_BIND_INTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_BIND_INTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_BIND_INTR.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd October 14, 2009
 .Dt BUS_BIND_INTR 9


Property changes on: trunk/share/man/man9/BUS_BIND_INTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_CHILD_DELETED.9
===================================================================
--- trunk/share/man/man9/BUS_CHILD_DELETED.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_CHILD_DELETED.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2012 Advanced Computing Technologies LLC
+.\" Copyright (c) 2012 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_CHILD_DELETED.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd August 21, 2012
 .Dt BUS_CHILD_DELETED 9

Added: trunk/share/man/man9/BUS_CHILD_DETACHED.9
===================================================================
--- trunk/share/man/man9/BUS_CHILD_DETACHED.9	                        (rev 0)
+++ trunk/share/man/man9/BUS_CHILD_DETACHED.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,53 @@
+.\" $MidnightBSD$
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2012 Hudson River Trading LLC
+.\" Written by: John H. Baldwin <jhb at FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/BUS_CHILD_DETACHED.9 283927 2015-06-02 19:20:39Z jhb $
+.\"
+.Dd August 21, 2012
+.Dt BUS_CHILD_DETACHED 9
+.Os
+.Sh NAME
+.Nm BUS_CHILD_DETACHED
+.Nd "notify a bus device that a child was detached"
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/bus.h
+.Ft void
+.Fn BUS_CHILD_DETACHED "device_t dev" "device_t child"
+.Sh DESCRIPTION
+The
+.Fn BUS_CHILD_DETACHED
+method is invoked by the new-bus framework after a device is detached.
+A bus driver can provide an implementation of this method to
+reclaim any resources allocated on behalf of the child or
+to cleanup state not properly released by a
+.Xr DEVICE_DETACH 9
+method.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr DEVICE_DETACH 9


Property changes on: trunk/share/man/man9/BUS_CHILD_DETACHED.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_CONFIG_INTR.9
===================================================================
--- trunk/share/man/man9/BUS_CONFIG_INTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_CONFIG_INTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2003 Marcel Moolenaar
 .\" All rights reserved.
 .\"
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_CONFIG_INTR.9 139766 2005-01-06 17:08:51Z keramida $
 .\"
 .Dd January 6, 2005
 .Dt BUS_CONFIG_INTR 9


Property changes on: trunk/share/man/man9/BUS_CONFIG_INTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_DESCRIBE_INTR.9
===================================================================
--- trunk/share/man/man9/BUS_DESCRIBE_INTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_DESCRIBE_INTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_DESCRIBE_INTR.9 292418 2015-12-18 01:03:34Z jhb $
 .\"
-.Dd October 14, 2009
+.Dd December 9, 2015
 .Dt BUS_DESCRIBE_INTR 9
 .Os
 .Sh NAME
@@ -38,7 +39,7 @@
 .In sys/param.h
 .In sys/bus.h
 .Ft int
-.Fo BUS_BIND_INTR
+.Fo BUS_DESCRIBE_INTR
 .Fa "device_t dev" "device_t child" "struct resource *irq" "void *cookie"
 .Fa "const char *descr"
 .Fc


Property changes on: trunk/share/man/man9/BUS_DESCRIBE_INTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_NEW_PASS.9
===================================================================
--- trunk/share/man/man9/BUS_NEW_PASS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_NEW_PASS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_NEW_PASS.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd June 8, 2009
 .Dt BUS_NEW_PASS 9


Property changes on: trunk/share/man/man9/BUS_NEW_PASS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_PRINT_CHILD.9
===================================================================
--- trunk/share/man/man9/BUS_PRINT_CHILD.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_PRINT_CHILD.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_PRINT_CHILD.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd January 6, 2005
 .Dt BUS_PRINT_CHILD 9


Property changes on: trunk/share/man/man9/BUS_PRINT_CHILD.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_READ_IVAR.9
===================================================================
--- trunk/share/man/man9/BUS_READ_IVAR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_READ_IVAR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_READ_IVAR.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt BUS_READ_IVAR 9


Property changes on: trunk/share/man/man9/BUS_READ_IVAR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/BUS_SETUP_INTR.9
===================================================================
--- trunk/share/man/man9/BUS_SETUP_INTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/BUS_SETUP_INTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 Jeroen Ruigrok van der Werven
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/BUS_SETUP_INTR.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd November 3, 2010
 .Dt BUS_SETUP_INTR 9


Property changes on: trunk/share/man/man9/BUS_SETUP_INTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/CTASSERT.9
===================================================================
--- trunk/share/man/man9/CTASSERT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/CTASSERT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2003 Hiten M. Pandya
 .\"
 .\" All rights reserved.
@@ -24,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/CTASSERT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd September 5, 2008
 .Dt CTASSERT 9


Property changes on: trunk/share/man/man9/CTASSERT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DB_COMMAND.9
===================================================================
--- trunk/share/man/man9/DB_COMMAND.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DB_COMMAND.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2008 Guillaume Ballet
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DB_COMMAND.9 316255 2017-03-30 06:14:36Z ngie $
 .\"
 .Dd August 27, 2008
 .Dt DB_COMMAND 9
@@ -42,7 +43,6 @@
 .Fn DB_SHOW_COMMAND "command_name" "command_function"
 .Fn DB_SHOW_ALL_COMMAND "command_name" "command_function"
 .Sh DESCRIPTION
-.Pp
 The
 .Fn DB_COMMAND
 macro adds
@@ -82,7 +82,9 @@
 .Fa addr
 that the command must process.
 .It Fa modif
-A pointer to the string of modifiers. That is, a series of symbols used to pass some options to the command. For example, the
+A pointer to the string of modifiers.
+That is, a series of symbols used to pass some options to the command.
+For example, the
 .Sy examine
 command will display words in decimal form if it is passed the modifier "d".
 .El


Property changes on: trunk/share/man/man9/DB_COMMAND.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DECLARE_GEOM_CLASS.9
===================================================================
--- trunk/share/man/man9/DECLARE_GEOM_CLASS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DECLARE_GEOM_CLASS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DECLARE_GEOM_CLASS.9 235371 2012-05-12 20:41:40Z gjb $
 .\"
 .Dd August 13, 2007
 .Dt DECLARE_GEOM_CLASS 9


Property changes on: trunk/share/man/man9/DECLARE_GEOM_CLASS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DECLARE_MODULE.9
===================================================================
--- trunk/share/man/man9/DECLARE_MODULE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DECLARE_MODULE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DECLARE_MODULE.9 140173 2005-01-13 09:33:06Z ru $
 .\"
 .Dd January 6, 2005
 .Dt DECLARE_MODULE 9


Property changes on: trunk/share/man/man9/DECLARE_MODULE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DELAY.9
===================================================================
--- trunk/share/man/man9/DELAY.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DELAY.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000 Alfred Perlstein
 .\"
@@ -25,9 +26,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DELAY.9 249697 2013-04-20 12:36:53Z trasz $
 .\"
-.Dd November 21, 2000
+.Dd April 20, 2013
 .Dt DELAY 9
 .Os
 .Sh NAME
@@ -42,6 +43,8 @@
 Delay for
 .Fa delay
 microseconds (1/1000000th of a second).
+.Sh SEE ALSO
+.Xr pause 9
 .Sh AUTHORS
 This manual page was written by
 .An Alfred Perlstein .


Property changes on: trunk/share/man/man9/DELAY.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEVICE_ATTACH.9
===================================================================
--- trunk/share/man/man9/DEVICE_ATTACH.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEVICE_ATTACH.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEVICE_ATTACH.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd January 6, 2005
 .Dt DEVICE_ATTACH 9


Property changes on: trunk/share/man/man9/DEVICE_ATTACH.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEVICE_DETACH.9
===================================================================
--- trunk/share/man/man9/DEVICE_DETACH.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEVICE_DETACH.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEVICE_DETACH.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_DETACH 9


Property changes on: trunk/share/man/man9/DEVICE_DETACH.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEVICE_IDENTIFY.9
===================================================================
--- trunk/share/man/man9/DEVICE_IDENTIFY.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEVICE_IDENTIFY.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEVICE_IDENTIFY.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd May 13, 2004
 .Dt DEVICE_IDENTIFY 9


Property changes on: trunk/share/man/man9/DEVICE_IDENTIFY.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEVICE_PROBE.9
===================================================================
--- trunk/share/man/man9/DEVICE_PROBE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEVICE_PROBE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEVICE_PROBE.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd February 8, 2012
 .Dt DEVICE_PROBE 9


Property changes on: trunk/share/man/man9/DEVICE_PROBE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEVICE_SHUTDOWN.9
===================================================================
--- trunk/share/man/man9/DEVICE_SHUTDOWN.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEVICE_SHUTDOWN.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEVICE_SHUTDOWN.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd January 6, 2005
 .Dt DEVICE_SHUTDOWN 9


Property changes on: trunk/share/man/man9/DEVICE_SHUTDOWN.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DEV_MODULE.9
===================================================================
--- trunk/share/man/man9/DEV_MODULE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DEV_MODULE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DEV_MODULE.9 230330 2012-01-19 09:51:07Z ed $
 .\"
 .Dd January 19, 2012
 .Dt DEV_MODULE 9


Property changes on: trunk/share/man/man9/DEV_MODULE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/DRIVER_MODULE.9
===================================================================
--- trunk/share/man/man9/DRIVER_MODULE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/DRIVER_MODULE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Alexander Langer
@@ -26,13 +27,16 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/DRIVER_MODULE.9 239510 2012-08-21 17:58:39Z jhb $
 .\"
-.Dd August 27, 2011
+.Dd August 21, 2012
 .Dt DRIVER_MODULE 9
 .Os
 .Sh NAME
-.Nm DRIVER_MODULE
+.Nm DRIVER_MODULE ,
+.Nm DRIVER_MODULE_ORDERED ,
+.Nm EARLY_DRIVER_MODULE ,
+.Nm EARLY_DRIVER_MODULE_ORDERED
 .Nd kernel driver declaration macro
 .Sh SYNOPSIS
 .In sys/param.h
@@ -40,6 +44,9 @@
 .In sys/bus.h
 .In sys/module.h
 .Fn DRIVER_MODULE name busname "driver_t driver" "devclass_t devclass" "modeventhand_t evh" "void *arg"
+.Fn DRIVER_MODULE_ORDERED name busname "driver_t driver" "devclass_t devclass" "modeventhand_t evh" "void *arg" "int order"
+.Fn EARLY_DRIVER_MODULE name busname "driver_t driver" "devclass_t devclass" "modeventhand_t evh" "void *arg" "enum sysinit_elem_order order" "int pass"
+.Fn EARLY_DRIVER_MODULE_ORDERED name busname "driver_t driver" "devclass_t devclass" "modeventhand_t evh" "void *arg" "enum sysinit_elem_order order" "int pass"
 .Sh DESCRIPTION
 The
 .Fn DRIVER_MODULE
@@ -95,10 +102,50 @@
 is unused at this time and should be a
 .Dv NULL
 pointer.
+.Pp
+The
+.Fn DRIVER_MODULE_ORDERED
+macro allows a driver to be registered in a specific order.
+This can be useful if a single kernel module contains multiple drivers
+that are inter-dependent.
+The
+.Fa order
+argument should be one of the
+.Xr SYSINIT 9
+initialization ordering constants
+.Pq Dv SI_ORDER_* .
+The default order for a driver module is
+.Dv SI_ORDER_MIDDLE .
+Typically a module will specify an order of
+.Dv SI_ORDER_ANY
+for a single driver to ensure it is registered last.
+.Pp
+The
+.Fn EARLY_DRIVER_MODULE
+macro allows a driver to be registered for a specific pass level.
+The boot time probe and attach process makes multiple passes over the
+device tree.
+Certain critical drivers that provide basic services needed by other
+devices are attach during earlier passes.
+Most drivers are attached in a final general pass.
+A driver that attaches during an early pass must register for a specific
+pass level
+.Pq BUS_PASS_*
+via the
+.Fa pass
+argument.
+Once a driver is registered it is available to attach to devices for
+all subsequent passes.
+.Pp
+The
+.Fn EARLY_DRIVER_MODULE_ORDERED
+macro allows a driver to be registered both in a specific order and
+for a specific pass level.
 .Sh SEE ALSO
 .Xr device 9 ,
 .Xr driver 9 ,
-.Xr module 9
+.Xr module 9 ,
+.Xr SYSINIT 9
 .Sh AUTHORS
 This manual page was written by
 .An Alexander Langer Aq alex at FreeBSD.org .


Property changes on: trunk/share/man/man9/DRIVER_MODULE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/EVENTHANDLER.9
===================================================================
--- trunk/share/man/man9/EVENTHANDLER.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/EVENTHANDLER.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2004 Joseph Koshy
 .\" All rights reserved.
 .\"
@@ -21,9 +22,9 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/EVENTHANDLER.9 254813 2013-08-24 21:13:38Z markj $
 .\"
-.Dd January 7, 2005
+.Dd August 1, 2013
 .Dt EVENTHANDLER 9
 .Os
 .Sh NAME
@@ -197,6 +198,16 @@
 Callbacks invoked when a new network interface appears.
 .It Vt ifnet_departure_event
 Callbacks invoked when a network interface is taken down.
+.It Vt bpf_track
+Callbacks invoked when a BPF listener attaches to/detaches from network interface.
+.It Vt kld_load
+Callbacks invoked after a linker file has been loaded.
+.It Vt kld_unload
+Callbacks invoked after a linker file has been successfully unloaded.
+.It Vt kld_unload_try
+Callbacks invoked before a linker file is about to be unloaded.
+These callbacks may be used to return an error and prevent the unload from
+proceeding.
 .It Vt power_profile_change
 Callbacks invoked when the power profile of the system changes.
 .It Vt process_exec


Property changes on: trunk/share/man/man9/EVENTHANDLER.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/KASSERT.9
===================================================================
--- trunk/share/man/man9/KASSERT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/KASSERT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Jonathan M. Bresler
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/KASSERT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd January 14, 2000
 .Dt KASSERT 9


Property changes on: trunk/share/man/man9/KASSERT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/LOCK_PROFILING.9
===================================================================
--- trunk/share/man/man9/LOCK_PROFILING.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/LOCK_PROFILING.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2004 Dag-Erling Coïdan Smørgrav
 .\" Copyright (c) 2005 Robert N. M. Watson
@@ -27,9 +28,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/LOCK_PROFILING.9 232658 2012-03-07 14:50:14Z maxim $
 .\"
-.Dd November 11, 2006
+.Dd March 7, 2012
 .Dt LOCK_PROFILING 9
 .Os
 .Sh NAME
@@ -82,32 +83,6 @@
 This defaults to 0 (off).
 .It Va debug.lock.prof.reset
 Reset the current lock profiling buffers.
-.It Va debug.lock.prof.acquisitions
-The total number of lock acquisitions recorded.
-.It Va debug.lock.prof.records
-The total number of acquisition points recorded.
-Note that only active acquisition points (i.e., points that have been
-reached at least once) are counted.
-.It Va debug.lock.prof.maxrecords
-The maximum number of acquisition points the profiling code is capable
-of monitoring.
-Since it would not be possible to call
-.Xr malloc 9
-from within the lock profiling code, this is a static limit.
-The number of records can be changed with the
-.Dv LPROF_BUFFERS
-kernel option.
-.It Va debug.lock.prof.rejected
-The number of acquisition points that were ignored after the table
-filled up.
-.It Va debug.lock.prof.hashsize
-The size of the hash table used to map acquisition points to
-statistics records.
-The hash size can be changed with the
-.Dv LPROF_HASH_SIZE
-kernel option.
-.It Va debug.lock.prof.collisions
-The number of hash collisions in the acquisition point hash table.
 .It Va debug.lock.prof.stats
 The actual profiling statistics in plain text.
 The columns are as follows, from left to right:
@@ -138,6 +113,14 @@
 The name of the acquisition point, derived from the source file name
 and line number, followed by the name of the lock in parentheses.
 .El
+.It Va debug.lock.prof.rejected
+The number of acquisition points that were ignored after the table
+filled up.
+.It Va debug.lock.prof.skipspin
+Disable or enable the lock profiling code for the spin locks.
+This defaults to 0 (do profiling for the spin locks).
+.It Va debug.lock.prof.skipcount
+Do sampling approximately every N lock acquisitions.
 .El
 .Sh SEE ALSO
 .Xr sysctl 8 ,


Property changes on: trunk/share/man/man9/LOCK_PROFILING.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/MD5.9
===================================================================
--- trunk/share/man/man9/MD5.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/MD5.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$OpenBSD: md5.9,v 1.1 1996/04/17 21:40:14 mickey Exp $
 .\"
 .\" Copyright (c) 1996	Michael Shalayeff
@@ -28,7 +29,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/MD5.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .Dd April 17, 1996
 .Dt MD5 9
@@ -44,7 +45,7 @@
 .Ft void
 .Fn MD5Init "MD5_CTX *buf"
 .Ft void
-.Fn MD5Transform "u_int32_t buf[4]" "const unsigned char block[64]"
+.Fn MD5Transform "uint32_t buf[4]" "const unsigned char block[64]"
 .Sh DESCRIPTION
 The
 .Nm


Property changes on: trunk/share/man/man9/MD5.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/MODULE_DEPEND.9
===================================================================
--- trunk/share/man/man9/MODULE_DEPEND.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/MODULE_DEPEND.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/MODULE_DEPEND.9 140082 2005-01-11 20:56:03Z simon $
 .\"
 .Dd January 11, 2005
 .Dt MODULE_DEPEND 9


Property changes on: trunk/share/man/man9/MODULE_DEPEND.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/MODULE_VERSION.9
===================================================================
--- trunk/share/man/man9/MODULE_VERSION.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/MODULE_VERSION.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/MODULE_VERSION.9 88509 2001-12-26 23:14:04Z davidc $
 .\"
 .Dd March 11, 2001
 .Dt MODULE_VERSION 9


Property changes on: trunk/share/man/man9/MODULE_VERSION.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/Makefile
===================================================================
--- trunk/share/man/man9/Makefile	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/Makefile	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,8 @@
 # $MidnightBSD$
+# $FreeBSD: stable/10/share/man/man9/Makefile 321115 2017-07-18 08:28:14Z ngie $
 
+.include <bsd.own.mk>
+
 MAN=	accept_filter.9 \
 	accf_data.9 \
 	accf_dns.9 \
@@ -27,6 +30,7 @@
 	BUS_BIND_INTR.9 \
 	bus_child_present.9 \
 	BUS_CHILD_DELETED.9 \
+	BUS_CHILD_DETACHED.9 \
 	BUS_CONFIG_INTR.9 \
 	BUS_DESCRIBE_INTR.9 \
 	bus_dma.9 \
@@ -36,6 +40,7 @@
 	bus_generic_print_child.9 \
 	bus_generic_read_ivar.9 \
 	bus_generic_shutdown.9 \
+	bus_get_resource.9 \
 	BUS_NEW_PASS.9 \
 	BUS_PRINT_CHILD.9 \
 	BUS_READ_IVAR.9 \
@@ -45,11 +50,13 @@
 	BUS_SETUP_INTR.9 \
 	bus_space.9 \
 	byteorder.9 \
+	casuword.9 \
 	cd.9 \
 	condvar.9 \
 	config_intrhook.9 \
 	contigmalloc.9 \
 	copy.9 \
+	counter.9 \
 	cr_cansee.9 \
 	critical_enter.9 \
 	cr_seeothergids.9 \
@@ -108,9 +115,9 @@
 	eventtimers.9 \
 	extattr.9 \
 	fail.9 \
-	fdclone.9 \
 	fetch.9 \
 	firmware.9 \
+	fpu_kern.9 \
 	g_access.9 \
 	g_attach.9 \
 	g_bio.9 \
@@ -168,6 +175,7 @@
 	mbuf_tags.9 \
 	MD5.9 \
 	mdchain.9 \
+	memcchr.9 \
 	memguard.9 \
 	microseq.9 \
 	microtime.9 \
@@ -189,11 +197,11 @@
 	pci.9 \
 	pfil.9 \
 	pfind.9 \
+	pget.9 \
 	pgfind.9 \
 	physio.9 \
 	pmap.9 \
 	pmap_activate.9 \
-	pmap_change_wiring.9 \
 	pmap_clear_modify.9 \
 	pmap_copy.9 \
 	pmap_enter.9 \
@@ -213,6 +221,7 @@
 	pmap_release.9 \
 	pmap_remove.9 \
 	pmap_resident_count.9 \
+	pmap_unwire.9 \
 	pmap_zero_page.9 \
 	printf.9 \
 	prison_check.9 \
@@ -234,10 +243,10 @@
 	rwlock.9 \
 	sbuf.9 \
 	scheduler.9 \
+	SDT.9 \
 	securelevel_gt.9 \
 	selrecord.9 \
 	sema.9 \
-	sensor_attach.9 \
 	sf_buf.9 \
 	sglist.9 \
 	shm_map.9 \
@@ -265,7 +274,6 @@
 	uidinfo.9 \
 	uio.9 \
 	unr.9 \
-	usbdi.9 \
 	utopia.9 \
 	vaccess.9 \
 	vaccess_acl_nfs4.9 \
@@ -280,9 +288,7 @@
 	vfs_getnewfsid.9 \
 	vfs_getopt.9 \
 	vfs_getvfs.9 \
-	VFS_LOCK_GIANT.9 \
 	VFS_MOUNT.9 \
-	vfs_mount.9 \
 	vfs_mountedfrom.9 \
 	VFS_QUOTACTL.9 \
 	VFS_ROOT.9 \
@@ -324,6 +330,7 @@
 	vm_map_wire.9 \
 	vm_page_alloc.9 \
 	vm_page_bits.9 \
+	vm_page_busy.9 \
 	vm_page_cache.9 \
 	vm_page_deactivate.9 \
 	vm_page_dontneed.9 \
@@ -332,19 +339,19 @@
 	vm_page_grab.9 \
 	vm_page_hold.9 \
 	vm_page_insert.9 \
-	vm_page_io.9 \
 	vm_page_lookup.9 \
 	vm_page_rename.9 \
-	vm_page_sleep_if_busy.9 \
-	vm_page_wakeup.9 \
 	vm_page_wire.9 \
 	vm_set_page_size.9 \
+	vmem.9 \
 	vn_fullpath.9 \
 	vn_isdisk.9 \
 	vnode.9 \
 	VOP_ACCESS.9 \
 	VOP_ACLCHECK.9 \
+	VOP_ADVISE.9 \
 	VOP_ADVLOCK.9 \
+	VOP_ALLOCATE.9 \
 	VOP_ATTRIB.9 \
 	VOP_BWRITE.9 \
 	VOP_CREATE.9 \
@@ -352,7 +359,6 @@
 	VOP_GETACL.9 \
 	VOP_GETEXTATTR.9 \
 	VOP_GETPAGES.9 \
-	VOP_GETVOBJECT.9 \
 	VOP_INACTIVE.9 \
 	VOP_IOCTL.9 \
 	VOP_LINK.9 \
@@ -564,6 +570,9 @@
 MLINKS+=config_intrhook.9 config_intrhook_disestablish.9 \
 	config_intrhook.9 config_intrhook_establish.9
 MLINKS+=contigmalloc.9 contigfree.9
+MLINKS+=casuword.9 casueword.9 \
+	casuword.9 casueword32.9 \
+	casuword.9 casuword32.9
 MLINKS+=copy.9 copyin.9 \
 	copy.9 copyin_nofault.9 \
 	copy.9 copyinstr.9 \
@@ -570,6 +579,14 @@
 	copy.9 copyout.9 \
 	copy.9 copyout_nofault.9 \
 	copy.9 copystr.9
+MLINKS+=counter.9 counter_u64_alloc.9 \
+	counter.9 counter_u64_free.9 \
+	counter.9 counter_u64_add.9 \
+	counter.9 counter_enter.9 \
+	counter.9 counter_exit.9 \
+	counter.9 counter_u64_add_protected.9 \
+	counter.9 counter_u64_fetch.9 \
+	counter.9 counter_u64_zero.9
 MLINKS+=critical_enter.9 critical.9 \
 	critical_enter.9 critical_exit.9
 MLINKS+=crypto.9 crypto_dispatch.9 \
@@ -615,11 +632,13 @@
 MLINKS+=disk.9 disk_alloc.9 \
 	disk.9 disk_create.9 \
 	disk.9 disk_destroy.9 \
-	disk.9 disk_gone.9
+	disk.9 disk_gone.9 \
+	disk.9 disk_resize.9
 MLINKS+=domain.9 DOMAIN_SET.9 \
 	domain.9 domain_add.9 \
 	domain.9 pfctlinput.9 \
 	domain.9 pfctlinput2.9 \
+	domain.9 pffinddomain.9 \
 	domain.9 pffindproto.9 \
 	domain.9 pffindtype.9
 MLINKS+=drbr.9 drbr_free.9 \
@@ -630,6 +649,9 @@
 	drbr.9 drbr_empty.9 \
 	drbr.9 drbr_inuse.9 \
 	drbr.9 drbr_stats_update.9
+MLINKS+=DRIVER_MODULE.9 DRIVER_MODULE_ORDERED.9 \
+	DRIVER_MODULE.9 EARLY_DRIVER_MODULE.9 \
+	DRIVER_MODULE.9 EARLY_DRIVER_MODULE_ORDERED.9
 MLINKS+=EVENTHANDLER.9 EVENTHANDLER_DECLARE.9 \
 	EVENTHANDLER.9 EVENTHANDLER_DEREGISTER.9 \
 	EVENTHANDLER.9 eventhandler_deregister.9 \
@@ -653,7 +675,16 @@
 	fetch.9 fuword.9 \
 	fetch.9 fuword16.9 \
 	fetch.9 fuword32.9 \
-	fetch.9 fuword64.9
+	fetch.9 fuword64.9 \
+	fetch.9 fueword.9 \
+	fetch.9 fueword32.9 \
+	fetch.9 fueword64.9
+MLINKS+=fpu_kern.9 fpu_kern_alloc_ctx.9 \
+	fpu_kern.9 fpu_kern_free_ctx.9 \
+	fpu_kern.9 fpu_kern_enter.9 \
+	fpu_kern.9 fpu_kern_leave.9 \
+	fpu_kern.9 fpu_kern_thread.9 \
+	fpu_kern.9 is_fpu_kern_thread.9
 MLINKS+=g_attach.9 g_detach.9
 MLINKS+=g_bio.9 g_clone_bio.9 \
 	g_bio.9 g_destroy_bio.9 \
@@ -775,6 +806,8 @@
 	kqueue.9 knlist_destroy.9 \
 	kqueue.9 knlist_empty.9 \
 	kqueue.9 knlist_init.9 \
+	kqueue.9 knlist_init_mtx.9 \
+	kqueue.9 knlist_init_rw_reader.9 \
 	kqueue.9 knlist_remove.9 \
 	kqueue.9 knlist_remove_inevent.9 \
 	kqueue.9 knote_fdclose.9 \
@@ -818,7 +851,8 @@
 	make_dev.9 make_dev_alias_p.9 \
 	make_dev.9 make_dev_cred.9 \
 	make_dev.9 make_dev_credf.9 \
-	make_dev.9 make_dev_p.9
+	make_dev.9 make_dev_p.9 \
+	make_dev.9 make_dev_s.9
 MLINKS+=malloc.9 free.9 \
 	malloc.9 MALLOC_DECLARE.9 \
 	malloc.9 MALLOC_DEFINE.9 \
@@ -857,6 +891,7 @@
 	mbuf.9 m_cat.9 \
 	mbuf.9 MCHTYPE.9 \
 	mbuf.9 MCLGET.9 \
+	mbuf.9 m_collapse.9 \
 	mbuf.9 m_copyback.9 \
 	mbuf.9 m_copydata.9 \
 	mbuf.9 m_copym.9 \
@@ -866,12 +901,7 @@
 	mbuf.9 m_dup.9 \
 	mbuf.9 m_dup_pkthdr.9 \
 	mbuf.9 MEXTADD.9 \
-	mbuf.9 MEXT_ADD_REF.9 \
-	mbuf.9 MEXTFREE.9 \
-	mbuf.9 MEXT_IS_REF.9 \
-	mbuf.9 MEXT_REM_REF.9 \
 	mbuf.9 m_fixhdr.9 \
-	mbuf.9 MFREE.9 \
 	mbuf.9 m_free.9 \
 	mbuf.9 m_freem.9 \
 	mbuf.9 MGET.9 \
@@ -938,7 +968,9 @@
 	microuptime.9 getbinuptime.9 \
 	microuptime.9 getmicrouptime.9 \
 	microuptime.9 getnanouptime.9 \
-	microuptime.9 nanouptime.9
+	microuptime.9 getsbinuptime.9 \
+	microuptime.9 nanouptime.9 \
+	microuptime.9 sbinuptime.9
 MLINKS+=mi_switch.9 cpu_switch.9 \
 	mi_switch.9 cpu_throw.9
 MLINKS+=mtx_pool.9 mtx_pool_alloc.9 \
@@ -963,13 +995,15 @@
 	mutex.9 MTX_SYSINIT.9 \
 	mutex.9 mtx_trylock.9 \
 	mutex.9 mtx_trylock_flags.9 \
+	mutex.9 mtx_trylock_spin.9 \
+	mutex.9 mtx_trylock_spin_flags.9 \
 	mutex.9 mtx_unlock.9 \
 	mutex.9 mtx_unlock_flags.9 \
 	mutex.9 mtx_unlock_spin.9 \
 	mutex.9 mtx_unlock_spin_flags.9
 MLINKS+=namei.9 NDFREE.9 \
-	namei.9 NDHASGIANT.9 \
 	namei.9 NDINIT.9
+MLINKS+=panic.9 vpanic.9
 MLINKS+=pbuf.9 getpbuf.9 \
 	pbuf.9 relpbuf.9 \
 	pbuf.9 trypbuf.9
@@ -983,6 +1017,9 @@
 	pci.9 pci_find_cap.9 \
 	pci.9 pci_find_dbsf.9 \
 	pci.9 pci_find_device.9 \
+	pci.9 pci_find_extcap.9 \
+	pci.9 pci_find_htcap.9 \
+	pci.9 pci_find_pcie_root_port.9 \
 	pci.9 pci_get_max_read_req.9 \
 	pci.9 pci_get_powerstate.9 \
 	pci.9 pci_get_vpd_ident.9 \
@@ -989,6 +1026,8 @@
 	pci.9 pci_get_vpd_readonly.9 \
 	pci.9 pci_msi_count.9 \
 	pci.9 pci_msix_count.9 \
+	pci.9 pci_msix_pba_bar.9 \
+	pci.9 pci_msix_table_bar.9 \
 	pci.9 pci_pending_msix.9 \
 	pci.9 pci_read_config.9 \
 	pci.9 pci_release_msi.9 \
@@ -997,7 +1036,13 @@
 	pci.9 pci_save_state.9 \
 	pci.9 pci_set_powerstate.9 \
 	pci.9 pci_set_max_read_req.9 \
-	pci.9 pci_write_config.9
+	pci.9 pci_write_config.9 \
+	pci.9 pcie_adjust_config.9 \
+	pci.9 pcie_flr.9 \
+	pci.9 pcie_max_completion_timeout.9 \
+	pci.9 pcie_read_config.9 \
+	pci.9 pcie_wait_for_pending_transactions.9 \
+	pci.9 pcie_write_config.9
 MLINKS+=pfil.9 pfil_add_hook.9 \
 	pfil.9 pfil_hook_get.9 \
 	pfil.9 pfil_remove_hook.9
@@ -1035,7 +1080,6 @@
 	resource_int_value.9 resource_string_value.9
 MLINKS+=rman.9 rman_activate_resource.9 \
 	rman.9 rman_adjust_resource.9 \
-	rman.9 rman_await_resource.9 \
 	rman.9 rman_deactivate_resource.9 \
 	rman.9 rman_fini.9 \
 	rman.9 rman_first_free_region.9 \
@@ -1061,12 +1105,15 @@
 	rman.9 rman_set_bustag.9 \
 	rman.9 rman_set_rid.9 \
 	rman.9 rman_set_virtual.9
-MLINKS+=rmlock.9 rm_destroy.9 \
+MLINKS+=rmlock.9 rm_assert.9 \
+	rmlock.9 rm_destroy.9 \
 	rmlock.9 rm_init.9 \
+	rmlock.9 rm_init_flags.9 \
 	rmlock.9 rm_rlock.9 \
-	rmlock.9 rm_try_rlock.9 \
 	rmlock.9 rm_runlock.9 \
+	rmlock.9 rm_sleep.9 \
 	rmlock.9 RM_SYSINIT.9 \
+	rmlock.9 rm_try_rlock.9 \
 	rmlock.9 rm_wlock.9 \
 	rmlock.9 rm_wowned.9 \
 	rmlock.9 rm_wunlock.9
@@ -1089,6 +1136,7 @@
 	rwlock.9 rw_initialized.9 \
 	rwlock.9 rw_rlock.9 \
 	rwlock.9 rw_runlock.9 \
+	rwlock.9 rw_unlock.9 \
 	rwlock.9 rw_sleep.9 \
 	rwlock.9 RW_SYSINIT.9 \
 	rwlock.9 rw_try_rlock.9 \
@@ -1102,6 +1150,7 @@
 	sbuf.9 sbuf_bcpy.9 \
 	sbuf.9 sbuf_cat.9 \
 	sbuf.9 sbuf_clear.9 \
+	sbuf.9 sbuf_clear_flags.9 \
 	sbuf.9 sbuf_copyin.9 \
 	sbuf.9 sbuf_cpy.9 \
 	sbuf.9 sbuf_data.9 \
@@ -1109,6 +1158,8 @@
 	sbuf.9 sbuf_done.9 \
 	sbuf.9 sbuf_error.9 \
 	sbuf.9 sbuf_finish.9 \
+	sbuf.9 sbuf_get_flags.9 \
+	sbuf.9 sbuf_hexdump.9 \
 	sbuf.9 sbuf_len.9 \
 	sbuf.9 sbuf_new.9 \
 	sbuf.9 sbuf_new_for_sysctl.9 \
@@ -1115,6 +1166,7 @@
 	sbuf.9 sbuf_printf.9 \
 	sbuf.9 sbuf_putc.9 \
 	sbuf.9 sbuf_set_drain.9 \
+	sbuf.9 sbuf_set_flags.9 \
 	sbuf.9 sbuf_setpos.9 \
 	sbuf.9 sbuf_trim.9 \
 	sbuf.9 sbuf_vprintf.9
@@ -1128,6 +1180,11 @@
 	scheduler.9 sched_setup.9 \
 	scheduler.9 setrunnable.9 \
 	scheduler.9 updatepri.9
+MLINKS+=SDT.9 SDT_PROVIDER_DECLARE.9 \
+	SDT.9 SDT_PROVIDER_DEFINE.9 \
+	SDT.9 SDT_PROBE_DECLARE.9 \
+	SDT.9 SDT_PROBE_DEFINE.9 \
+	SDT.9 SDT_PROBE.9
 MLINKS+=securelevel_gt.9 securelevel_ge.9
 MLINKS+=selrecord.9 seldrain.9 \
 	selrecord.9 selwakeup.9
@@ -1144,6 +1201,7 @@
 	sf_buf.9 sf_buf_page.9
 MLINKS+=sglist.9 sglist_alloc.9 \
 	sglist.9 sglist_append.9 \
+	sglist.9 sglist_append_bio.9 \
 	sglist.9 sglist_append_mbuf.9 \
 	sglist.9 sglist_append_phys.9 \
 	sglist.9 sglist_append_uio.9 \
@@ -1188,9 +1246,13 @@
 	signal.9 SIG_STOPSIGMASK.9 \
 	signal.9 trapsignal.9
 MLINKS+=sleep.9 msleep.9 \
+	sleep.9 msleep_sbt.9 \
 	sleep.9 msleep_spin.9 \
+	sleep.9 msleep_spin_sbt.9 \
 	sleep.9 pause.9 \
+	sleep.9 pause_sbt.9 \
 	sleep.9 tsleep.9 \
+	sleep.9 tsleep_sbt.9 \
 	sleep.9 wakeup.9 \
 	sleep.9 wakeup_one.9
 MLINKS+=sleepqueue.9 init_sleepqueues.9 \
@@ -1198,13 +1260,12 @@
 	sleepqueue.9 sleepq_add.9 \
 	sleepqueue.9 sleepq_alloc.9 \
 	sleepqueue.9 sleepq_broadcast.9 \
-	sleepqueue.9 sleepq_calc_signal_retval.9 \
-	sleepqueue.9 sleepq_catch_signals.9 \
 	sleepqueue.9 sleepq_free.9 \
 	sleepqueue.9 sleepq_lookup.9 \
 	sleepqueue.9 sleepq_release.9 \
 	sleepqueue.9 sleepq_remove.9 \
 	sleepqueue.9 sleepq_set_timeout.9 \
+	sleepqueue.9 sleepq_set_timeout_sbt.9 \
 	sleepqueue.9 sleepq_signal.9 \
 	sleepqueue.9 sleepq_timedwait.9 \
 	sleepqueue.9 sleepq_timedwait_sig.9 \
@@ -1273,11 +1334,12 @@
 	sysctl.9 SYSCTL_NODE.9 \
 	sysctl.9 SYSCTL_OPAQUE.9 \
 	sysctl.9 SYSCTL_PROC.9 \
+	sysctl.9 SYSCTL_QUAD.9 \
 	sysctl.9 SYSCTL_STRING.9 \
 	sysctl.9 SYSCTL_STRUCT.9 \
 	sysctl.9 SYSCTL_UINT.9 \
 	sysctl.9 SYSCTL_ULONG.9 \
-	sysctl.9 SYSCTL_QUAD.9
+	sysctl.9 SYSCTL_UQUAD.9
 MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_LONG.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_NODE.9 \
@@ -1284,11 +1346,12 @@
 	sysctl_add_oid.9 SYSCTL_ADD_OID.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_OPAQUE.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_PROC.9 \
+	sysctl_add_oid.9 SYSCTL_ADD_QUAD.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_STRING.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_STRUCT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_UINT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_ULONG.9 \
-	sysctl_add_oid.9 SYSCTL_ADD_QUAD.9 \
+	sysctl_add_oid.9 SYSCTL_ADD_UQUAD.9 \
 	sysctl_add_oid.9 SYSCTL_CHILDREN.9 \
 	sysctl_add_oid.9 sysctl_move_oid.9 \
 	sysctl_add_oid.9 sysctl_remove_oid.9 \
@@ -1300,7 +1363,9 @@
 MLINKS+=SYSINIT.9 SYSUNINIT.9
 MLINKS+=taskqueue.9 TASK_INIT.9 \
 	taskqueue.9 TASK_INITIALIZER.9 \
+	taskqueue.9 taskqueue_block.9 \
 	taskqueue.9 taskqueue_cancel.9 \
+	taskqueue.9 taskqueue_cancel_timeout.9 \
 	taskqueue.9 taskqueue_create.9 \
 	taskqueue.9 taskqueue_create_fast.9 \
 	taskqueue.9 TASKQUEUE_DECLARE.9 \
@@ -1307,13 +1372,21 @@
 	taskqueue.9 TASKQUEUE_DEFINE.9 \
 	taskqueue.9 TASKQUEUE_DEFINE_THREAD.9 \
 	taskqueue.9 taskqueue_drain.9 \
+	taskqueue.9 taskqueue_drain_all.9 \
+	taskqueue.9 taskqueue_drain_timeout.9 \
 	taskqueue.9 taskqueue_enqueue.9 \
 	taskqueue.9 taskqueue_enqueue_fast.9 \
+	taskqueue.9 taskqueue_enqueue_timeout.9 \
 	taskqueue.9 TASKQUEUE_FAST_DEFINE.9 \
 	taskqueue.9 TASKQUEUE_FAST_DEFINE_THREAD.9 \
 	taskqueue.9 taskqueue_free.9 \
 	taskqueue.9 taskqueue_member.9 \
-	taskqueue.9 taskqueue_run.9
+	taskqueue.9 taskqueue_run.9 \
+	taskqueue.9 taskqueue_set_callback.9 \
+	taskqueue.9 taskqueue_start_threads.9 \
+	taskqueue.9 taskqueue_start_threads_pinned.9 \
+	taskqueue.9 taskqueue_unblock.9 \
+	taskqueue.9 TIMEOUT_TASK_INIT.9
 MLINKS+=time.9 boottime.9 \
 	time.9 time_second.9 \
 	time.9 time_uptime.9
@@ -1327,8 +1400,16 @@
 	timeout.9 callout_init_rw.9 \
 	timeout.9 callout_pending.9 \
 	timeout.9 callout_reset.9 \
+	timeout.9 callout_reset_on.9 \
+	timeout.9 callout_reset_sbt.9 \
+	timeout.9 callout_reset_sbt_curcpu.9 \
+	timeout.9 callout_reset_sbt_on.9 \
 	timeout.9 callout_schedule.9 \
+	timeout.9 callout_schedule_sbt.9 \
+	timeout.9 callout_schedule_sbt_curcpu.9 \
+	timeout.9 callout_schedule_sbt_on.9 \
 	timeout.9 callout_stop.9 \
+	timeout.9 callout_when.9 \
 	timeout.9 untimeout.9
 MLINKS+=ucred.9 crcopy.9 \
 	ucred.9 crdup.9 \
@@ -1343,6 +1424,9 @@
 	uidinfo.9 uihold.9
 MLINKS+=uio.9 uiomove.9 \
 	uio.9 uiomove_nofault.9
+
+.if ${MK_USB} != "no"
+MAN+=	usbdi.9
 MLINKS+=usbdi.9 usbd_do_request.9 \
 	usbdi.9 usbd_do_request_flags.9 \
 	usbdi.9 usbd_errstr.9 \
@@ -1394,6 +1478,7 @@
 	usbdi.9 usb_fifo_reset.9 \
 	usbdi.9 usb_fifo_softc.9 \
 	usbdi.9 usb_fifo_wakeup.9
+.endif
 MLINKS+=vcount.9 count_dev.9
 MLINKS+=vfsconf.9 vfs_modevent.9 \
 	vfsconf.9 vfs_register.9 \
@@ -1406,10 +1491,16 @@
 	vfs_getopt.9 vfs_setopt.9 \
 	vfs_getopt.9 vfs_setopt_part.9 \
 	vfs_getopt.9 vfs_setopts.9
-MLINKS+=VFS_LOCK_GIANT.9 VFS_UNLOCK_GIANT.9
 MLINKS+=vhold.9 vdrop.9 \
 	vhold.9 vdropl.9 \
 	vhold.9 vholdl.9
+MLINKS+=vmem.9 vmem_add.9 \
+	vmem.9 vmem_alloc.9 \
+	vmem.9 vmem_create.9 \
+	vmem.9 vmem_destroy.9 \
+	vmem.9 vmem_free.9 \
+	vmem.9 vmem_xalloc.9 \
+	vmem.9 vmem_xfree.9  
 MLINKS+=vm_map_lock.9 vm_map_lock_downgrade.9 \
 	vm_map_lock.9 vm_map_lock_read.9 \
 	vm_map_lock.9 vm_map_lock_upgrade.9 \
@@ -1430,6 +1521,21 @@
 	vm_page_bits.9 vm_page_test_dirty.9 \
 	vm_page_bits.9 vm_page_undirty.9 \
 	vm_page_bits.9 vm_page_zero_invalid.9
+MLINKS+=vm_page_busy.9 vm_page_busied.9 \
+	vm_page_busy.9 vm_page_busy_downgrade.9 \
+	vm_page_busy.9 vm_page_busy_sleep.9 \
+	vm_page_busy.9 vm_page_sbusied.9 \
+	vm_page_busy.9 vm_page_sbusy.9 \
+	vm_page_busy.9 vm_page_sleep_if_busy.9 \
+	vm_page_busy.9 vm_page_sunbusy.9 \
+	vm_page_busy.9 vm_page_trysbusy.9 \
+	vm_page_busy.9 vm_page_tryxbusy.9 \
+	vm_page_busy.9 vm_page_xbusied.9 \
+	vm_page_busy.9 vm_page_xbusy.9 \
+	vm_page_busy.9 vm_page_xunbusy.9 \
+	vm_page_busy.9 vm_page_assert_sbusied.9 \
+	vm_page_busy.9 vm_page_assert_unbusied.9 \
+	vm_page_busy.9 vm_page_assert_xbusied.9
 MLINKS+=vm_page_aflag.9 vm_page_aflag_clear.9 \
 	vm_page_aflag.9 vm_page_aflag_set.9 \
 	vm_page_aflag.9 vm_page_reference.9
@@ -1438,10 +1544,6 @@
 	vm_page_free.9 vm_page_try_to_free.9
 MLINKS+=vm_page_hold.9 vm_page_unhold.9
 MLINKS+=vm_page_insert.9 vm_page_remove.9
-MLINKS+=vm_page_io.9 vm_page_io_finish.9 \
-	vm_page_io.9 vm_page_io_start.9
-MLINKS+=vm_page_wakeup.9 vm_page_busy.9 \
-	vm_page_wakeup.9 vm_page_flash.9
 MLINKS+=vm_page_wire.9 vm_page_unwire.9
 MLINKS+=VOP_ACCESS.9 VOP_ACCESSX.9
 MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9 \
@@ -1450,8 +1552,6 @@
 	VOP_CREATE.9 VOP_MKNOD.9 \
 	VOP_CREATE.9 VOP_SYMLINK.9
 MLINKS+=VOP_GETPAGES.9 VOP_PUTPAGES.9
-MLINKS+=VOP_GETVOBJECT.9 VOP_CREATEVOBJECT.9 \
-	VOP_GETVOBJECT.9 VOP_DESTROYVOBJECT.9
 MLINKS+=VOP_INACTIVE.9 VOP_RECLAIM.9
 MLINKS+=VOP_LOCK.9 vn_lock.9 \
 	VOP_LOCK.9 VOP_ISLOCKED.9 \

Added: trunk/share/man/man9/SDT.9
===================================================================
--- trunk/share/man/man9/SDT.9	                        (rev 0)
+++ trunk/share/man/man9/SDT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,341 @@
+.\" $MidnightBSD$
+.\" Copyright (c) 2013 Mark Johnston <markj at freebsd.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/SDT.9 282444 2015-05-05 03:13:02Z markj $
+.\"
+.Dd April 18, 2015
+.Dt SDT 9
+.Os
+.Sh NAME
+.Nm SDT
+.Nd a DTrace framework for adding statically-defined tracing probes
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/queue.h
+.In sys/sdt.h
+.Fn SDT_PROVIDER_DECLARE prov
+.Fn SDT_PROVIDER_DEFINE prov
+.Fn SDT_PROBE_DECLARE prov mod func name
+.Fn SDT_PROBE_DEFINE prov mod func name
+.Fn SDT_PROBE_DEFINE0 prov mod func name
+.Fn SDT_PROBE_DEFINE1 prov mod func name arg0
+.Fn SDT_PROBE_DEFINE2 prov mod func name arg0 arg1
+.Fn SDT_PROBE_DEFINE3 prov mod func name arg0 arg1 arg2
+.Fn SDT_PROBE_DEFINE4 prov mod func name arg0 arg1 arg2 arg3
+.Fn SDT_PROBE_DEFINE5 prov mod func name arg0 arg1 arg2 arg3 arg4
+.Fn SDT_PROBE_DEFINE6 prov mod func name arg0 arg1 arg2 arg3 arg4 arg5
+.Fn SDT_PROBE_DEFINE7 prov mod func name arg0 arg1 arg2 arg3 arg4 arg5   \
+    arg6
+.Fn SDT_PROBE_DEFINE0_XLATE prov mod func name
+.Fn SDT_PROBE_DEFINE1_XLATE prov mod func name arg0 xarg0
+.Fn SDT_PROBE_DEFINE2_XLATE prov mod func name arg0 xarg0 arg1 xarg1
+.Fn SDT_PROBE_DEFINE3_XLATE prov mod func name arg0 xarg0 arg1 xarg1 \
+    arg2 xarg2
+.Fn SDT_PROBE_DEFINE4_XLATE prov mod func name arg0 xarg0 arg1 xarg1 \
+    arg2 xarg2 arg3 xarg3
+.Fn SDT_PROBE_DEFINE5_XLATE prov mod func name arg0 xarg0 arg1 xarg1 \
+    arg2 xarg2 arg3 xarg3 arg4 xarg4
+.Fn SDT_PROBE_DEFINE6_XLATE prov mod func name arg0 xarg0 arg1 xarg1 \
+    arg2 xarg2 arg3 xarg3 arg4 xarg4 arg5 xarg5
+.Fn SDT_PROBE_DEFINE7_XLATE prov mod func name arg0 xarg0 arg1 xarg1 \
+    arg2 xarg2 arg3 xarg3 arg4 xarg4 arg5 xarg5 arg6 xarg6
+.Fn SDT_PROBE0 prov mod func name
+.Fn SDT_PROBE1 prov mod func name arg0
+.Fn SDT_PROBE2 prov mod func name arg0 arg1
+.Fn SDT_PROBE3 prov mod func name arg0 arg1 arg2
+.Fn SDT_PROBE4 prov mod func name arg0 arg1 arg2 arg3
+.Fn SDT_PROBE5 prov mod func name arg0 arg1 arg2 arg3 arg4
+.Fn SDT_PROBE6 prov mod func name arg0 arg1 arg2 arg3 arg4 arg5
+.Fn SDT_PROBE7 prov mod func name arg0 arg1 arg2 arg3 arg4 arg5 arg6
+.Sh DESCRIPTION
+The
+.Nm
+macros allow programmers to define static trace points in kernel code.
+These trace points are used by the
+.Nm
+framework to create DTrace probes, allowing the code to be instrumented
+using
+.Xr dtrace 1 .
+By default,
+.Nm
+trace points are disabled and have no effect on the surrounding code.
+When a DTrace probe corresponding to a given trace point is enabled, threads
+that execute the trace point will call a handler and cause the probe to fire.
+Moreover, trace points can take arguments, making it possible to pass data
+to the DTrace framework when an enabled probe fires.
+.Pp
+Multiple trace points may correspond to a single DTrace probe, allowing
+programmers to create DTrace probes that correspond to logical system events
+rather than tying probes to specific code execution paths.
+For instance, a DTrace probe corresponding to the arrival of an IP packet into
+the network stack may be defined using two
+.Nm
+trace points: one for IPv4 packets and one for IPv6 packets.
+.Pp
+In addition to defining DTrace probes, the
+.Nm
+macros allow programmers to define new DTrace providers, making it possible to
+namespace logically-related probes.
+An example is FreeBSD's sctp provider, which contains
+.Nm
+probes for FreeBSD's
+.Xr sctp 4
+implementation.
+.Pp
+The
+.Fn SDT_PROVIDER_DECLARE
+and
+.Fn SDT_PROVIDER_DEFINE
+macros are used respectively to declare and define a DTrace provider named
+.Ar prov
+with the
+.Nm
+framework.
+A provider need only be defined once; however, the provider must be declared
+before defining any
+.Nm
+probes belonging to that provider.
+.Pp
+Similarly, the
+.Fn SDT_PROBE_DECLARE
+and
+.Fn SDT_PROBE_DEFINE*
+macros are used to declare and define DTrace probes using the
+.Nm
+framework.
+Once a probe has been defined, trace points for that probe may be added to
+kernel code.
+DTrace probe identifiers consist of a provider, module, function and name, all
+of which may be specified in the
+.Nm
+probe definition.
+Note that probes should not specify a module name: the module name of a probe is
+used to determine whether or not it should be destroyed when a kernel module is
+unloaded.
+See the
+.Sx BUGS
+section.
+Note in particular that probes must not be defined across multiple kernel
+modules.
+.Pp
+If
+.Ql -
+character (dash) is wanted in a probe name,
+then it should be represented as
+.Ql __
+(double underscore) in the probe
+.Ar name
+parameter passed to various
+.Fn SDT_*
+macros,
+because of technical reasons
+(a dash is not valid in C identifiers).
+.Pp
+The
+.Fn SDT_PROBE_DEFINE*
+macros also allow programmers to declare the types of the arguments that are
+passed to probes.
+This is optional; if the argument types are omitted (through use of the
+.Fn SDT_PROBE_DEFINE
+macro), users wishing to make use of the arguments will have to manually cast
+them to the correct types in their D scripts.
+It is strongly recommended that probe definitions include a declaration of their
+argument types.
+.Pp
+The
+.Fn SDT_PROBE_DEFINE*_XLATE
+macros are used for probes whose argument types are to be dynamically translated
+to the types specified by the corresponding
+.Ar xarg
+arguments.
+This is mainly useful when porting probe definitions from other operating
+systems.
+As seen by
+.Xr dtrace 1 ,
+the arguments of a probe defined using these macros will have types which match
+the
+.Ar xarg
+types in the probe definition.
+However, the arguments passed in at the trace point will have types matching the
+native argument types in the probe definition, and thus the native type is
+dynamically translated to the translated type.
+So long as an appropriate translator is defined in
+.Pa /usr/lib/dtrace ,
+scripts making use of the probe need not concern themselves with the underlying
+type of a given
+.Nm
+probe argument.
+.Pp
+The
+.Fn SDT_PROBE*
+macros are used to create
+.Nm
+trace points.
+They are meant to be added to executable code and can be used to instrument the
+code in which they are called.
+.Sh PROVIDERS
+A number of kernel DTrace providers are available.
+In general, these providers define stable interfaces and should be treated as
+such: existing D scripts may be broken if a probe is renamed or its arguments
+are modified.
+However, it is often useful to define ad-hoc
+.Nm
+probes for debugging a subsystem or driver.
+Similarly, a developer may wish to provide a group of
+.Nm
+probes without committing to their future stability.
+Such probes should be added to the
+.Ql sdt
+provider instead of defining a new provider.
+.Sh EXAMPLES
+The DTrace providers available on the current system can be listed with
+.Bd -literal -offset indent
+dtrace -l | sed 1d | awk '{print $2}' | sort -u
+.Ed
+.Pp
+A detailed list of the probes offered by a given provider can be obtained by
+specifying the provider using the
+.Fl P
+flag.
+For example, to view the probes and argument types for the
+.Ql sched
+provider, run
+.Bd -literal -offset indent
+dtrace -lv -P sched
+.Ed
+.Pp
+The following probe definition will create a DTrace probe called
+.Ql icmp:::receive-unreachable ,
+which would hypothetically be triggered when the kernel receives an ICMP packet
+of type Destination Unreachable:
+.Bd -literal -offset indent
+SDT_PROVIDER_DECLARE(icmp);
+
+SDT_PROBE_DEFINE1(icmp, , , receive__unreachable,
+    "struct icmp *");
+
+.Ed
+This particular probe would take a single argument: a pointer to the struct
+containing the ICMP header for the packet.
+Note that the module name of this probe is not specified.
+.Pp
+Consider a DTrace probe which fires when the network stack receives an IP
+packet.
+Such a probe would be defined by multiple tracepoints:
+.Bd -literal -offset indent
+SDT_PROBE_DEFINE3(ip, , , receive, "struct ifnet *",
+    "struct ip *", "struct ip6_hdr *");
+
+int
+ip_input(struct mbuf *m)
+{
+	struct ip *ip;
+	...
+	ip = mtod(m, struct ip *);
+	SDT_PROBE3(ip, , , receive, m->m_pkthdr.rcvif, ip, NULL);
+	...
+}
+
+int
+ip6_input(struct mbuf *m)
+{
+	struct ip6_hdr *ip6;
+	...
+	ip6 = mtod(m, struct ip6_hdr *);
+	SDT_PROBE3(ip, , , receive, m->m_pkthdr.rcvif, NULL, ip6);
+	...
+}
+
+.Ed
+In particular, the probe should fire when the kernel receives either an IPv4
+packet or an IPv6 packet.
+.Pp
+Consider the ICMP probe discussed above.
+We note that its second argument is of type
+.Ar struct icmp ,
+which is a type defined in the FreeBSD kernel to represent the ICMP header of
+an ICMP packet, defined in RFC 792.
+Linux has a corresponding type,
+.Ar struct icmphdr ,
+for the same purpose, but its field names differ from FreeBSD's
+.Ar struct icmp .
+Similarly, illumos defines the
+.Ar icmph_t
+type, again with different field names.
+Even with the
+.Ql icmp:::pkt-receive
+probes defined in all three operating systems,
+one would still have to write OS-specific scripts to extract a given field out
+of the ICMP header argument.
+Dynamically-translated types solve this problem: one can define an
+OS-independent
+.Xr c 7
+struct to represent an ICMP header, say
+.Ar struct icmp_hdr_dt ,
+and define translators from each of the three OS-specific types to
+.Ar struct icmp_hdr_dt ,
+all in the
+.Xr dtrace 1
+library path.
+Then the FreeBSD probe above can be defined with:
+.Bd -literal -offset indent
+SDT_PROBE_DEFINE1_XLATE(ip, , , receive, "struct icmp *",
+    "struct icmp_hdr_dt *");
+.Ed
+.Sh SEE ALSO
+.Xr dtrace 1
+.Sh AUTHORS
+.An -nosplit
+DTrace and the
+.Nm
+framework were originally ported to FreeBSD from Solaris by
+.An John Birrell Aq jb at FreeBSD.org .
+This manual page was written by
+.An Mark Johnston Aq markj at FreeBSD.org .
+.Sh BUGS
+The
+.Nm
+macros allow the module and function names of a probe to be specified as part of
+a probe definition.
+The DTrace framework uses the module name of probes to determine which probes
+should be destroyed when a kernel module is unloaded, so the module
+name of a probe should match the name of the module in which its defined.
+.Nm
+will set the module name properly if it is left unspecified in the probe
+definition; see the
+.Sx EXAMPLES
+section.
+.Pp
+One of the goals of the original
+.Nm
+implementation (and by extension, of FreeBSD's port) is that inactive
+.Nm
+probes should have no performance impact.
+This is unfortunately not the case;
+.Nm
+trace points will add a small but non-zero amount of latency to the code
+in which they are defined.
+A more sophisticated implementation of the probes will help alleviate this
+problem.


Property changes on: trunk/share/man/man9/SDT.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/SYSCALL_MODULE.9
===================================================================
--- trunk/share/man/man9/SYSCALL_MODULE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/SYSCALL_MODULE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/SYSCALL_MODULE.9 309396 2016-12-02 06:27:54Z julian $
 .\"
 .Dd January 7, 2005
 .Dt SYSCALL_MODULE 9
@@ -57,6 +58,10 @@
 which saves the offset in
 .Vt "struct sysent"
 where the syscall is allocated.
+If the location pointed to by
+.Fa offset
+holds a non 0 number it will be used if possible.
+If it holds 0 then one will be assigned.
 .It Fa new_sysent
 is a pointer to a structure that specifies the function implementing
 the syscall and the number of arguments this function needs (see
@@ -72,6 +77,17 @@
 .Fa evh
 event handler when it is called.
 .El
+.Pp
+The syscall number assigned to the module can be retrieved using the
+.Xr modstat 3
+and
+.Xr modfind 3
+library functions in libc.
+The MACRO
+.Fn SYSCALL_MODULE_HELPER
+includes 
+.Fn SYSCALL_MODULE
+and much of its boilerplate code.
 .Sh EXAMPLES
 A minimal example for a syscall module can be found in
 .Pa /usr/share/examples/kld/syscall/module/syscall.c .


Property changes on: trunk/share/man/man9/SYSCALL_MODULE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/SYSINIT.9
===================================================================
--- trunk/share/man/man9/SYSINIT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/SYSINIT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2003 Hiten M. Pandya
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/SYSINIT.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd December 1, 2010
 .Dt SYSINIT 9


Property changes on: trunk/share/man/man9/SYSINIT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS.9
===================================================================
--- trunk/share/man/man9/VFS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS.9 240378 2012-09-12 03:39:32Z kevlo $
 .\"
 .Dd February 9, 2010
 .Dt VFS 9
@@ -49,10 +50,12 @@
 .Xr VFS_INIT 9 ,
 .Xr VFS_MOUNT 9 ,
 .Xr VFS_QUOTACTL 9 ,
+.Xr VFS_SET 9 ,
 .Xr VFS_STATFS 9 ,
 .Xr VFS_SYNC 9 ,
 .Xr VFS_UNMOUNT 9 ,
 .Xr VFS_VGET 9 ,
+.Xr VOP_VPTOFH 9 ,
 .Xr vnode 9
 .Sh AUTHORS
 This manual page was written by


Property changes on: trunk/share/man/man9/VFS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_CHECKEXP.9
===================================================================
--- trunk/share/man/man9/VFS_CHECKEXP.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_CHECKEXP.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1999 Alfred Perlstein
 .\"
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_CHECKEXP.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd January 4, 2010
 .Dt VFS_CHECKEXP 9


Property changes on: trunk/share/man/man9/VFS_CHECKEXP.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_FHTOVP.9
===================================================================
--- trunk/share/man/man9/VFS_FHTOVP.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_FHTOVP.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_FHTOVP.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd January 4, 2010
 .Dt VFS_FHTOVP 9


Property changes on: trunk/share/man/man9/VFS_FHTOVP.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/VFS_LOCK_GIANT.9
===================================================================
--- trunk/share/man/man9/VFS_LOCK_GIANT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_LOCK_GIANT.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/VFS_LOCK_GIANT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_MOUNT.9
===================================================================
--- trunk/share/man/man9/VFS_MOUNT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_MOUNT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_MOUNT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_MOUNT 9


Property changes on: trunk/share/man/man9/VFS_MOUNT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_QUOTACTL.9
===================================================================
--- trunk/share/man/man9/VFS_QUOTACTL.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_QUOTACTL.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_QUOTACTL.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_QUOTACTL 9


Property changes on: trunk/share/man/man9/VFS_QUOTACTL.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_ROOT.9
===================================================================
--- trunk/share/man/man9/VFS_ROOT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_ROOT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_ROOT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_ROOT 9


Property changes on: trunk/share/man/man9/VFS_ROOT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_SET.9
===================================================================
--- trunk/share/man/man9/VFS_SET.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_SET.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_SET.9 247140 2013-02-21 22:21:45Z pluknet $
 .\"
-.Dd April 5, 2007
+.Dd February 21, 2013
 .Dt VFS_SET 9
 .Os
 .Sh NAME
@@ -80,30 +81,25 @@
 .Va vfs.usermount
 sysctl is set to
 .Dv 1 .
+.It Dv VFCF_SBDRY
+When in VFS method, the thread suspension is deferred to the user
+boundary upon arrival of stop action.
 .El
 .Sh PSEUDOCODE
 .Bd -literal
 /*
- * fill in the ones we use, and use the vfs_std for the rest.
+ * Fill in the fields for which we have special methods.
+ * The others are initially null.  This tells vfs to change them to
+ * pointers to vfs_std* functions during file system registration.
  */
 static struct vfsops myfs_vfsops = {
-        myfs_mount,
-        vfs_stdstart,
-        myfs_unmount,
-        myfs_root,
-        vfs_stdquotactl,
-        myfs_statfs,
-        vfs_stdsync,
-        vfs_stdvget,
-        vfs_stdfhtovp,
-        vfs_stdcheckexp,
-        vfs_stdvptofh,
-        vfs_stdinit,
-        vfs_stduninit,
-        vfs_stdextattrctl,
+        .vfs_mount =    myfs_mount,
+        .vfs_root =     myfs_root,
+        .vfs_statfs =   myfs_statfs,
+        .vfs_unmount =  myfs_unmount,
 };
 
-VFS_SET(myfs_vfsops, skelfs, 0);
+VFS_SET(myfs_vfsops, myfs, 0);
 .Ed
 .Sh SEE ALSO
 .Xr jail 2 ,


Property changes on: trunk/share/man/man9/VFS_SET.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_STATFS.9
===================================================================
--- trunk/share/man/man9/VFS_STATFS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_STATFS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_STATFS.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_STATFS 9


Property changes on: trunk/share/man/man9/VFS_STATFS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_SYNC.9
===================================================================
--- trunk/share/man/man9/VFS_SYNC.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_SYNC.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_SYNC.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_SYNC 9


Property changes on: trunk/share/man/man9/VFS_SYNC.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_UNMOUNT.9
===================================================================
--- trunk/share/man/man9/VFS_UNMOUNT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_UNMOUNT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_UNMOUNT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd May 23, 2009
 .Dt VFS_UNMOUNT 9


Property changes on: trunk/share/man/man9/VFS_UNMOUNT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VFS_VGET.9
===================================================================
--- trunk/share/man/man9/VFS_VGET.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VFS_VGET.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VFS_VGET.9 210669 2010-07-31 10:01:15Z joel $
 .\"
 .Dd January 7, 2005
 .Dt VFS_VGET 9


Property changes on: trunk/share/man/man9/VFS_VGET.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_ACCESS.9
===================================================================
--- trunk/share/man/man9/VOP_ACCESS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_ACCESS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\" -*- nroff -*-
 .\"
@@ -27,7 +28,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ACCESS.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd September 18, 2009
 .Dt VOP_ACCESS 9


Property changes on: trunk/share/man/man9/VOP_ACCESS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_ACLCHECK.9
===================================================================
--- trunk/share/man/man9/VOP_ACLCHECK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_ACLCHECK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ACLCHECK.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd December 23, 1999
 .Dt VOP_ACLCHECK 9


Property changes on: trunk/share/man/man9/VOP_ACLCHECK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/VOP_ADVISE.9
===================================================================
--- trunk/share/man/man9/VOP_ADVISE.9	                        (rev 0)
+++ trunk/share/man/man9/VOP_ADVISE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,92 @@
+.\" $MidnightBSD$
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2013 Hudson River Trading LLC
+.\" Written by: John H. Baldwin <jhb at FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ADVISE.9 288411 2015-09-30 03:36:41Z markj $
+.\"
+.Dd September 26, 2015
+.Dt VOP_ADVISE 9
+.Os
+.Sh NAME
+.Nm VOP_ADVISE
+.Nd apply advice about use of file data
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/vnode.h
+.Ft int
+.Fn VOP_ADVISE "struct vnode *vp" "off_t start" "off_t end" "int advice"
+.Sh DESCRIPTION
+This call applies advice for a range of a file's data.
+It is used to implement the
+.Xr posix_fadvise
+system call.
+.Pp
+Its arguments are:
+.Bl -tag -width offset
+.It Fa vp
+The vnode of the file.
+.It Fa start
+The start of the range of file data.
+.It Fa end
+The end of the range of file data.
+A value of
+.Dv OFF_MAX
+indicates that the advice is to be applied up to the end of the file.
+.It Fa advice
+The type of operation to apply to the file data.
+Possible values are:
+.Bl -tag -width POSIX_FADV_WILLNEED
+.It Dv POSIX_FADV_WILLNEED
+Initiate an asynchronous read of the file data if it is not already resident.
+.It Dv POSIX_FADV_DONTNEED
+Decrease the in-memory priority of clean file data or discard clean file data.
+.El
+.El
+.Pp
+If the
+.Fa start
+and
+.Fa end
+offsets are both zero,
+then the operation should be applied to the entire file.
+Note that this call is advisory only and may perform the requested
+operation on a subset of the requested range
+.Pq including not performing it at all
+and still return success.
+.Sh LOCKS
+The file should be unlocked on entry.
+.Sh RETURN VALUES
+Zero is returned if the call is successful, otherwise an appropriate
+error code is returned.
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EINVAL
+An invalid value was given for
+.Fa advice .
+.El
+.Sh SEE ALSO
+.Xr vnode 9


Property changes on: trunk/share/man/man9/VOP_ADVISE.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_ADVLOCK.9
===================================================================
--- trunk/share/man/man9/VOP_ADVLOCK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_ADVLOCK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ADVLOCK.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd June 30, 1999
 .Dt VOP_ADVLOCK 9


Property changes on: trunk/share/man/man9/VOP_ADVLOCK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/VOP_ALLOCATE.9
===================================================================
--- trunk/share/man/man9/VOP_ALLOCATE.9	                        (rev 0)
+++ trunk/share/man/man9/VOP_ALLOCATE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,85 @@
+.\" $MidnightBSD$
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2013 Hudson River Trading LLC
+.\" Written by: John H. Baldwin <jhb at FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ALLOCATE.9 283927 2015-06-02 19:20:39Z jhb $
+.\"
+.Dd October 3, 2013
+.Dt VOP_ALLOCATE 9
+.Os
+.Sh NAME
+.Nm VOP_ALLOCATE
+.Nd allocate storage for a file
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/vnode.h
+.Ft int
+.Fn VOP_ALLOCATE "struct vnode *vp" "off_t *offset" "off_t *len"
+.Sh DESCRIPTION
+This call allocates storage for a range of offsets in a file.
+It is used to implement the
+.Xr posix_fallocate
+system call.
+.Pp
+Its arguments are:
+.Bl -tag -width offset
+.It Fa vp
+The vnode of the file.
+.It Fa offset
+The start of the range to allocate storage for in the file.
+.It Fa len
+The length of the range to allocate storage for in the file.
+.El
+.Pp
+The
+.Fa offset
+and
+.Fa len
+arguments are updated to reflect the portion of the range that
+still needs to be allocated on return.
+A partial allocation is considered a successful operation.
+The file's contents are not changed.
+.Sh LOCKS
+The file should be exclusively locked on entry and will still be locked on exit.
+.Sh RETURN VALUES
+Zero is returned if the call is successful, otherwise an appropriate
+error code is returned.
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EFBIG
+An attempt was made to write a file that exceeds the process's file size
+limit or the maximum file size.
+.It Bq Er ENOSPC
+The file system is full.
+.It Bq Er EPERM
+An append-only flag is set on the file, but the caller is attempting to
+write before the current end of file.
+.El
+.Sh SEE ALSO
+.Xr vnode 9 ,
+.Xr VOP_READ 9 ,
+.Xr VOP_WRITE 9


Property changes on: trunk/share/man/man9/VOP_ALLOCATE.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_ATTRIB.9
===================================================================
--- trunk/share/man/man9/VOP_ATTRIB.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_ATTRIB.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_ATTRIB.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd August 29, 2008
 .Dt VOP_ATTRIB 9


Property changes on: trunk/share/man/man9/VOP_ATTRIB.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_BWRITE.9
===================================================================
--- trunk/share/man/man9/VOP_BWRITE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_BWRITE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_BWRITE.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_BWRITE 9


Property changes on: trunk/share/man/man9/VOP_BWRITE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_CREATE.9
===================================================================
--- trunk/share/man/man9/VOP_CREATE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_CREATE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_CREATE.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_CREATE 9


Property changes on: trunk/share/man/man9/VOP_CREATE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_FSYNC.9
===================================================================
--- trunk/share/man/man9/VOP_FSYNC.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_FSYNC.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_FSYNC.9 256123 2013-10-07 20:29:31Z jhb $
 .\"
 .Dd July 24, 1996
 .Dt VOP_FSYNC 9
@@ -65,15 +66,6 @@
 .It Fa td
 The calling thread.
 .El
-.Pp
-The argument
-.Fa waitfor
-is either
-.Dv MNT_WAIT
-or
-.Dv MNT_NOWAIT
-and specifies whether or not the function should wait for the writes
-to finish before returning.
 .Sh LOCKS
 The file should be locked on entry.
 .Sh RETURN VALUES


Property changes on: trunk/share/man/man9/VOP_FSYNC.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_GETACL.9
===================================================================
--- trunk/share/man/man9/VOP_GETACL.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_GETACL.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_GETACL.9 235319 2012-05-12 03:46:43Z gjb $
 .\"
 .Dd December 23, 1999
 .Dt VOP_GETACL 9


Property changes on: trunk/share/man/man9/VOP_GETACL.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_GETEXTATTR.9
===================================================================
--- trunk/share/man/man9/VOP_GETEXTATTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_GETEXTATTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999, 2000, 2001, 2003 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_GETEXTATTR.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd December 23, 1999
 .Dt VOP_GETEXTATTR 9


Property changes on: trunk/share/man/man9/VOP_GETEXTATTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_GETPAGES.9
===================================================================
--- trunk/share/man/man9/VOP_GETPAGES.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_GETPAGES.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -27,7 +28,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_GETPAGES.9 254138 2013-08-09 11:11:11Z attilio $
 .\"
 .Dd September 27, 2003
 .Dt VOP_GETPAGES 9
@@ -102,7 +103,7 @@
 call
 .Xr vm_object_pip_wakeup 9
 and
-.Xr vm_page_io_finish 9
+.Xr vm_page_sunbusy 9
 to clear the busy flag and awaken any other threads waiting for this page,
 in addition to calling
 .Xr vm_page_undirty 9 .
@@ -139,7 +140,7 @@
 .Fn VOP_GETPAGES
 may either activate a page (if its wanted bit is set)
 or deactivate it (otherwise), and finally call
-.Xr vm_page_wakeup 9
+.Xr vm_page_xunbusy 9
 to arouse any threads currently waiting for the page to be faulted in.
 .Sh RETURN VALUES
 If it successfully reads
@@ -156,9 +157,9 @@
 .Sh SEE ALSO
 .Xr vm_object_pip_wakeup 9 ,
 .Xr vm_page_free 9 ,
-.Xr vm_page_io_finish 9 ,
+.Xr vm_pagge_sunbusy 9 ,
 .Xr vm_page_undirty 9 ,
-.Xr vm_page_wakeup 9 ,
+.Xr vm_page_xunbusy 9 ,
 .Xr vnode 9
 .Sh AUTHORS
 This manual page was written by


Property changes on: trunk/share/man/man9/VOP_GETPAGES.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/VOP_GETVOBJECT.9
===================================================================
--- trunk/share/man/man9/VOP_GETVOBJECT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_GETVOBJECT.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/VOP_GETVOBJECT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_INACTIVE.9
===================================================================
--- trunk/share/man/man9/VOP_INACTIVE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_INACTIVE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,9 +27,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_INACTIVE.9 269285 2014-07-30 04:00:23Z kib $
 .\"
-.Dd July 24, 1996
+.Dd July 27, 2014
 .Dt VOP_INACTIVE 9
 .Os
 .Sh NAME
@@ -63,17 +64,14 @@
 Any file system specific resources associated with the vnode should be
 freed.
 .Sh LOCKS
-For VOP_INACTIVE, the
+For both
+.Fn VOP_INACTIVE
+and
+.Fn VOP_RECLAIM ,
+the
 .Fa vp
-will be locked on entry.
-Your VOP_INACTIVE code
-must unlock the
-.Fa vp
-prior to returning.
-.Pp
-For VOP_RECLAIM, the
-.Fa vp
-will not be locked on entry and should be left unlocked on return.
+will be exclusively locked on entry, and must be left exclusively
+locked on return.
 .Sh SEE ALSO
 .Xr vnode 9
 .Sh AUTHORS


Property changes on: trunk/share/man/man9/VOP_INACTIVE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_IOCTL.9
===================================================================
--- trunk/share/man/man9/VOP_IOCTL.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_IOCTL.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_IOCTL.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_IOCTL 9


Property changes on: trunk/share/man/man9/VOP_IOCTL.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_LINK.9
===================================================================
--- trunk/share/man/man9/VOP_LINK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_LINK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_LINK.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_LINK 9


Property changes on: trunk/share/man/man9/VOP_LINK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_LISTEXTATTR.9
===================================================================
--- trunk/share/man/man9/VOP_LISTEXTATTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_LISTEXTATTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2003 Network Associates Technology, Inc.
 .\" All rights reserved.
@@ -28,7 +29,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_LISTEXTATTR.9 211397 2010-08-16 15:18:30Z joel $
 .\"
 .Dd August 19, 2005
 .Dt VOP_LISTEXTATTR 9


Property changes on: trunk/share/man/man9/VOP_LISTEXTATTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_LOCK.9
===================================================================
--- trunk/share/man/man9/VOP_LOCK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_LOCK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_LOCK.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd February 25, 2008
 .Dt VOP_LOCK 9


Property changes on: trunk/share/man/man9/VOP_LOCK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_LOOKUP.9
===================================================================
--- trunk/share/man/man9/VOP_LOOKUP.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_LOOKUP.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_LOOKUP.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd November 24, 1997
 .Dt VOP_LOOKUP 9


Property changes on: trunk/share/man/man9/VOP_LOOKUP.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_OPENCLOSE.9
===================================================================
--- trunk/share/man/man9/VOP_OPENCLOSE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_OPENCLOSE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_OPENCLOSE.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd December 2, 2009
 .Dt VOP_OPEN 9


Property changes on: trunk/share/man/man9/VOP_OPENCLOSE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_PATHCONF.9
===================================================================
--- trunk/share/man/man9/VOP_PATHCONF.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_PATHCONF.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_PATHCONF.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_PATHCONF 9


Property changes on: trunk/share/man/man9/VOP_PATHCONF.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_PRINT.9
===================================================================
--- trunk/share/man/man9/VOP_PRINT.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_PRINT.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_PRINT.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_PRINT 9


Property changes on: trunk/share/man/man9/VOP_PRINT.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_RDWR.9
===================================================================
--- trunk/share/man/man9/VOP_RDWR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_RDWR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_RDWR.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_RDWR 9


Property changes on: trunk/share/man/man9/VOP_RDWR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_READDIR.9
===================================================================
--- trunk/share/man/man9/VOP_READDIR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_READDIR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_READDIR.9 216566 2010-12-19 18:07:10Z pjd $
 .\"
 .Dd July 24, 1996
 .Dt VOP_READDIR 9


Property changes on: trunk/share/man/man9/VOP_READDIR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_READLINK.9
===================================================================
--- trunk/share/man/man9/VOP_READLINK.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_READLINK.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_READLINK.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_READLINK 9


Property changes on: trunk/share/man/man9/VOP_READLINK.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_REALLOCBLKS.9
===================================================================
--- trunk/share/man/man9/VOP_REALLOCBLKS.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_REALLOCBLKS.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_REALLOCBLKS.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_REALLOCBLKS 9


Property changes on: trunk/share/man/man9/VOP_REALLOCBLKS.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_REMOVE.9
===================================================================
--- trunk/share/man/man9/VOP_REMOVE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_REMOVE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_REMOVE.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_REMOVE 9


Property changes on: trunk/share/man/man9/VOP_REMOVE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_RENAME.9
===================================================================
--- trunk/share/man/man9/VOP_RENAME.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_RENAME.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_RENAME.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_RENAME 9


Property changes on: trunk/share/man/man9/VOP_RENAME.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_REVOKE.9
===================================================================
--- trunk/share/man/man9/VOP_REVOKE.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_REVOKE.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2002 Networks Associates Technology, Inc.
@@ -32,7 +33,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_REVOKE.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd February 5, 2002
 .Dt VOP_REVOKE 9


Property changes on: trunk/share/man/man9/VOP_REVOKE.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_SETACL.9
===================================================================
--- trunk/share/man/man9/VOP_SETACL.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_SETACL.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_SETACL.9 235319 2012-05-12 03:46:43Z gjb $
 .\"
 .Dd December 23, 1999
 .Dt VOP_SETACL 9


Property changes on: trunk/share/man/man9/VOP_SETACL.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_SETEXTATTR.9
===================================================================
--- trunk/share/man/man9/VOP_SETEXTATTR.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_SETEXTATTR.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_SETEXTATTR.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd December 23, 1999
 .Dt VOP_SETEXTATTR 9


Property changes on: trunk/share/man/man9/VOP_SETEXTATTR.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_STRATEGY.9
===================================================================
--- trunk/share/man/man9/VOP_STRATEGY.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_STRATEGY.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_STRATEGY.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VOP_STRATEGY 9


Property changes on: trunk/share/man/man9/VOP_STRATEGY.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_VPTOCNP.9
===================================================================
--- trunk/share/man/man9/VOP_VPTOCNP.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_VPTOCNP.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2008 Joe Marcus Clarke
@@ -26,9 +27,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_VPTOCNP.9 280498 2015-03-25 09:54:07Z dchagin $
 .\"
-.Dd November 19, 2011
+.Dd March 8, 2015
 .Dt VOP_VPTOCNP 9
 .Os
 .Sh NAME
@@ -36,9 +37,10 @@
 .Nd translate a vnode to its component name
 .Sh SYNOPSIS
 .In sys/param.h
+.In sys/ucred.h
 .In sys/vnode.h
 .Ft int
-.Fn VOP_VPTOCNP "struct vnode *vp" "struct vnode **dvp" "char *buf" "int *buflen"
+.Fn VOP_VPTOCNP "struct vnode *vp" "struct vnode **dvp" "struct ucred *cred" "char *buf" "int *buflen"
 .Sh DESCRIPTION
 This translates a vnode into its component name, and writes that name to
 the head of the buffer specified by
@@ -49,6 +51,8 @@
 .It Fa dvp
 The vnode of the parent directory of
 .Fa vp .
+.It Fa cred
+The caller credentials.
 .It Fa buf
 The buffer into which to prepend the component name.
 .It Fa buflen
@@ -59,7 +63,8 @@
 .Nm
 scans through
 .Fa vp Ns 's
-parent directory looking for a dirent with a matching file number.  If
+parent directory looking for a dirent with a matching file number.
+If
 .Fa vp
 is not a directory, then
 .Nm


Property changes on: trunk/share/man/man9/VOP_VPTOCNP.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/VOP_VPTOFH.9
===================================================================
--- trunk/share/man/man9/VOP_VPTOFH.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/VOP_VPTOFH.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/VOP_VPTOFH.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd February 16, 2007
 .Dt VOP_VPTOFH 9


Property changes on: trunk/share/man/man9/VOP_VPTOFH.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/accept_filter.9
===================================================================
--- trunk/share/man/man9/accept_filter.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/accept_filter.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000 Alfred Perlstein
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/accept_filter.9 206622 2010-04-14 19:08:06Z uqs $
 .\" "
 .Dd June 25, 2000
 .Dt ACCEPT_FILTER 9


Property changes on: trunk/share/man/man9/accept_filter.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/accf_data.9
===================================================================
--- trunk/share/man/man9/accf_data.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/accf_data.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000 Alfred Perlstein
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/accf_data.9 206622 2010-04-14 19:08:06Z uqs $
 .\" "
 .Dd November 15, 2000
 .Dt ACCF_DATA 9


Property changes on: trunk/share/man/man9/accf_data.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/accf_dns.9
===================================================================
--- trunk/share/man/man9/accf_dns.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/accf_dns.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2008 David Malone
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/accf_dns.9 206622 2010-04-14 19:08:06Z uqs $
 .\" "
 .Dd July 16, 2008
 .Dt ACCF_DNS 9


Property changes on: trunk/share/man/man9/accf_dns.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/accf_http.9
===================================================================
--- trunk/share/man/man9/accf_http.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/accf_http.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000 Alfred Perlstein
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/accf_http.9 206622 2010-04-14 19:08:06Z uqs $
 .\" "
 .Dd November 15, 2000
 .Dt ACCF_HTTP 9


Property changes on: trunk/share/man/man9/accf_http.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/acl.9
===================================================================
--- trunk/share/man/man9/acl.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/acl.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999-2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/acl.9 290893 2015-11-15 23:54:34Z ngie $
 .\"
-.Dd September 18, 2009
+.Dd September 4, 2015
 .Dt ACL 9
 .Os
 .Sh NAME
@@ -203,7 +204,13 @@
 .It Dv ACL_ENTRY_DIRECTORY_INHERIT
 .It Dv ACL_ENTRY_NO_PROPAGATE_INHERIT
 .It Dv ACL_ENTRY_INHERIT_ONLY
+.It Dv ACL_ENTRY_INHERITED
 .El
+The
+.Dv ACL_ENTRY_INHERITED
+flag is set on an ACE that has been inherited from its parent.
+It may also be set programmatically, and is valid on both files
+and directories.
 .El
 .Sh SEE ALSO
 .Xr acl 3 ,


Property changes on: trunk/share/man/man9/acl.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/alq.9
===================================================================
--- trunk/share/man/man9/alq.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/alq.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Hiten Pandya <hmp at FreeBSD.org>
 .\" Copyright (c) 2009-2010 The FreeBSD Foundation
@@ -29,7 +30,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/alq.9 316247 2017-03-30 06:06:49Z ngie $
 .\"
 .Dd April 26, 2010
 .Dt ALQ 9
@@ -360,8 +361,8 @@
 .Fn alq_getn
 (variable length queues) or
 .Fn alq_get
-(fixed length queues) to avoid the extra memory copy. Note that a queue
-remains locked between calls to
+(fixed length queues) to avoid the extra memory copy.
+Note that a queue remains locked between calls to
 .Fn alq_getn
 or
 .Fn alq_get


Property changes on: trunk/share/man/man9/alq.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/altq.9
===================================================================
--- trunk/share/man/man9/altq.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/altq.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: altq.9,v 1.8 2002/05/28 11:41:45 wiz Exp $
 .\"	$OpenBSD: altq.9,v 1.4 2001/07/12 12:41:42 itojun Exp $
 .\"
@@ -26,9 +27,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/altq.9 331512 2018-03-25 01:17:40Z sevan $
 .\"
-.Dd August 25, 2004
+.Dd March 20, 2018
 .Dt ALTQ 9
 .Os
 .\"
@@ -596,4 +597,8 @@
 .Sh HISTORY
 The
 .Nm
-system first appeared in March 1997.
+system first appeared in March 1997 and found home in the KAME project
+(http://www.kame.net).
+It was imported to
+.Fx
+in 5.3 .


Property changes on: trunk/share/man/man9/altq.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/atomic.9
===================================================================
--- trunk/share/man/man9/atomic.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/atomic.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -21,9 +22,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/atomic.9 302108 2016-06-23 02:21:37Z sephe $
 .\"
-.Dd September 27, 2005
+.Dd May 12, 2016
 .Dt ATOMIC 9
 .Os
 .Sh NAME
@@ -62,9 +63,15 @@
 .Fn atomic_subtract_[acq_|rel_]<type> "volatile <type> *p" "<type> v"
 .Ft void
 .Fn atomic_store_rel_<type> "volatile <type> *p" "<type> v"
+.Ft <type>
+.Fn atomic_swap_<type> "volatile <type> *p" "<type> v"
+.Ft int
+.Fn atomic_testandclear_<type> "volatile <type> *p" "u_int v"
+.Ft int
+.Fn atomic_testandset_<type> "volatile <type> *p" "u_int v"
 .Sh DESCRIPTION
-Each of the atomic operations is guaranteed to be atomic in the presence of
-interrupts.
+Each of the atomic operations is guaranteed to be atomic across multiple
+threads and in the presence of interrupts.
 They can be used to implement reference counts or as building blocks for more
 advanced synchronization primitives such as mutexes.
 .Ss Types
@@ -104,67 +111,94 @@
 .El
 .Pp
 These must not be used in MI code because the instructions to implement them
-efficiently may not be available.
-.Ss Memory Barriers
-Memory barriers are used to guarantee the order of data accesses in
-two ways.
-First, they specify hints to the compiler to not re-order or optimize the
-operations.
-Second, on architectures that do not guarantee ordered data accesses,
-special instructions or special variants of instructions are used to indicate
-to the processor that data accesses need to occur in a certain order.
-As a result, most of the atomic operations have three variants in order to
-include optional memory barriers.
-The first form just performs the operation without any explicit barriers.
-The second form uses a read memory barrier, and the third variant uses a write
-memory barrier.
+efficiently might not be available.
+.Ss Acquire and Release Operations
+By default, a thread's accesses to different memory locations might not be
+performed in
+.Em program order ,
+that is, the order in which the accesses appear in the source code.
+To optimize the program's execution, both the compiler and processor might
+reorder the thread's accesses.
+However, both ensure that their reordering of the accesses is not visible to
+the thread.
+Otherwise, the traditional memory model that is expected by single-threaded
+programs would be violated.
+Nonetheless, other threads in a multithreaded program, such as the
+.Fx
+kernel, might observe the reordering.
+Moreover, in some cases, such as the implementation of synchronization between
+threads, arbitrary reordering might result in the incorrect execution of the
+program.
+To constrain the reordering that both the compiler and processor might perform
+on a thread's accesses, the thread should use atomic operations with
+.Em acquire
+and
+.Em release
+semantics.
 .Pp
-The second variant of each operation includes a read memory barrier.
-This barrier ensures that the effects of this operation are completed before the
-effects of any later data accesses.
-As a result, the operation is said to have acquire semantics as it acquires a
-pseudo-lock requiring further operations to wait until it has completed.
-To denote this, the suffix
+Most of the atomic operations on memory have three variants.
+The first variant performs the operation without imposing any ordering
+constraints on memory accesses to other locations.
+The second variant has acquire semantics, and the third variant has release
+semantics.
+In effect, operations with acquire and release semantics establish one-way
+barriers to reordering.
+.Pp
+When an atomic operation has acquire semantics, the effects of the operation
+must have completed before any subsequent load or store (by program order) is
+performed.
+Conversely, acquire semantics do not require that prior loads or stores have
+completed before the atomic operation is performed.
+To denote acquire semantics, the suffix
 .Dq Li _acq
 is inserted into the function name immediately prior to the
 .Dq Li _ Ns Aq Fa type
 suffix.
-For example, to subtract two integers ensuring that any later writes will
-happen after the subtraction is performed, use
+For example, to subtract two integers ensuring that subsequent loads and
+stores happen after the subtraction is performed, use
 .Fn atomic_subtract_acq_int .
 .Pp
-The third variant of each operation includes a write memory barrier.
-This ensures that all effects of all previous data accesses are completed
-before this operation takes place.
-As a result, the operation is said to have release semantics as it releases
-any pending data accesses to be completed before its operation is performed.
-To denote this, the suffix
+When an atomic operation has release semantics, the effects of all prior
+loads or stores (by program order) must have completed before the operation
+is performed.
+Conversely, release semantics do not require that the effects of the
+atomic operation must have completed before any subsequent load or store is
+performed.
+To denote release semantics, the suffix
 .Dq Li _rel
 is inserted into the function name immediately prior to the
 .Dq Li _ Ns Aq Fa type
 suffix.
-For example, to add two long integers ensuring that all previous
-writes will happen first, use
+For example, to add two long integers ensuring that all prior loads and
+stores happen before the addition, use
 .Fn atomic_add_rel_long .
 .Pp
-A practical example of using memory barriers is to ensure that data accesses
-that are protected by a lock are all performed while the lock is held.
-To achieve this, one would use a read barrier when acquiring the lock to
-guarantee that the lock is held before any protected operations are performed.
-Finally, one would use a write barrier when releasing the lock to ensure that
-all of the protected operations are completed before the lock is released.
+The one-way barriers provided by acquire and release operations allow the
+implementations of common synchronization primitives to express their
+ordering requirements without also imposing unnecessary ordering.
+For example, for a critical section guarded by a mutex, an acquire operation
+when the mutex is locked and a release operation when the mutex is unlocked
+will prevent any loads or stores from moving outside of the critical
+section.
+However, they will not prevent the compiler or processor from moving loads
+or stores into the critical section, which does not violate the semantics of
+a mutex.
 .Ss Multiple Processors
-The current set of atomic operations do not necessarily guarantee atomicity
-across multiple processors.
-To guarantee atomicity across processors, not only does the individual
-operation need to be atomic on the processor performing the operation, but
-the result of the operation needs to be pushed out to stable storage and the
-caches of all other processors on the system need to invalidate any cache
-lines that include the affected memory region.
-On the
+In multiprocessor systems, the atomicity of the atomic operations on memory
+depends on support for cache coherence in the underlying architecture.
+In general, cache coherence on the default memory type,
+.Dv VM_MEMATTR_DEFAULT ,
+is guaranteed by all architectures that are supported by
+.Fx .
+For example, cache coherence is guaranteed on write-back memory by the
+.Tn amd64
+and
 .Tn i386
-architecture, the cache coherency model requires that the hardware perform
-this task, thus the atomic operations are atomic across multiple processors.
+architectures.
+However, on some architectures, cache coherence might not be enabled on all
+memory types.
+To determine if cache coherence is enabled for a non-default memory type,
+consult the architecture's documentation.
 On the
 .Tn ia64
 architecture, coherency is only guaranteed for pages that are configured to
@@ -184,9 +218,9 @@
 .Bd -literal -compact
 if (*dst == old) {
 	*dst = new;
-	return 1;
+	return (1);
 } else
-	return 0;
+	return (0);
 .Ed
 .El
 .Pp
@@ -203,7 +237,7 @@
 .Bd -literal -compact
 tmp = *p;
 *p += v;
-return tmp;
+return (tmp);
 .Ed
 .El
 .Pp
@@ -216,9 +250,9 @@
 .Dq Li 32
 and do not have any variants with memory barriers at this time.
 .Bl -hang
-.It Fn atomic_load addr
+.It Fn atomic_load p
 .Bd -literal -compact
-return (*addr)
+return (*p);
 .Ed
 .El
 .Pp
@@ -226,11 +260,11 @@
 .Fn atomic_load
 functions are only provided with acquire memory barriers.
 .Bl -hang
-.It Fn atomic_readandclear addr
+.It Fn atomic_readandclear p
 .Bd -literal -compact
-temp = *addr;
-*addr = 0;
-return (temp);
+tmp = *p;
+*p = 0;
+return (tmp);
 .Ed
 .El
 .Pp
@@ -243,8 +277,7 @@
 .Dq Li 8 ,
 and
 .Dq Li 16
-and do
-not have any variants with memory barriers at this time.
+and do not have any variants with memory barriers at this time.
 .Bl -hang
 .It Fn atomic_set p v
 .Bd -literal -compact
@@ -263,7 +296,55 @@
 The
 .Fn atomic_store
 functions are only provided with release memory barriers.
+.Bl -hang
+.It Fn atomic_swap p v
+.Bd -literal -compact
+tmp = *p;
+*p = v;
+return (tmp);
+.Ed
+.El
 .Pp
+The
+.Fn atomic_swap
+functions are not implemented for the types
+.Dq Li char ,
+.Dq Li short ,
+.Dq Li ptr ,
+.Dq Li 8 ,
+and
+.Dq Li 16
+and do not have any variants with memory barriers at this time.
+.Bl -hang
+.It Fn atomic_testandclear p v
+.Bd -literal -compact
+bit = 1 << (v % (sizeof(*p) * NBBY));
+tmp = (*p & bit) != 0;
+*p &= ~bit;
+return (tmp);
+.Ed
+.El
+.Bl -hang
+.It Fn atomic_testandset p v
+.Bd -literal -compact
+bit = 1 << (v % (sizeof(*p) * NBBY));
+tmp = (*p & bit) != 0;
+*p |= bit;
+return (tmp);
+.Ed
+.El
+.Pp
+The
+.Fn atomic_testandset
+and
+.Fn atomic_testandclear
+functions are only implemented for the types
+.Dq Li int ,
+.Dq Li long
+and
+.Dq Li 32
+and do not have any variants with memory barriers at this time.
+.Pp
 The type
 .Dq Li 64
 is currently not implemented for any of the atomic operations on the
@@ -275,15 +356,19 @@
 .Sh RETURN VALUES
 The
 .Fn atomic_cmpset
-function
-returns the result of the compare operation.
+function returns the result of the compare operation.
 The
 .Fn atomic_fetchadd ,
 .Fn atomic_load ,
+.Fn atomic_readandclear ,
 and
-.Fn atomic_readandclear
-functions
-return the value at the specified address.
+.Fn atomic_swap
+functions return the value at the specified address.
+The
+.Fn atomic_testandset
+and
+.Fn atomic_testandclear
+function returns the result of the test operation.
 .Sh EXAMPLES
 This example uses the
 .Fn atomic_cmpset_acq_ptr
@@ -354,3 +439,12 @@
 .Fn atomic_fetchadd
 operations were added in
 .Fx 6.0 .
+The
+.Fn atomic_swap
+and
+.Fn atomic_testandset
+operations were added in
+.Fx 10.0 .
+.Fn atomic_testandclear
+operation was added in
+.Fx 11.0 .


Property changes on: trunk/share/man/man9/atomic.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bios.9
===================================================================
--- trunk/share/man/man9/bios.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bios.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,4 +1,5 @@
 .\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bios.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .\" Copyright (c) 1997 Michael Smith
 .\" All rights reserved.
@@ -40,8 +41,8 @@
 .In machine/param.h
 .In machine/pmap.h
 .In machine/pc/bios.h
-.Ft u_int32_t
-.Fn bios_sigsearch "u_int32_t start" "u_char *sig" "int siglen" "int paralen" "int sigofs"
+.Ft uint32_t
+.Fn bios_sigsearch "uint32_t start" "u_char *sig" "int siglen" "int paralen" "int sigofs"
 .Ft int
 .Fn bios32_SDlookup "struct bios32_SDentry *ent"
 .Ft int


Property changes on: trunk/share/man/man9/bios.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/boot.9
===================================================================
--- trunk/share/man/man9/boot.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/boot.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: boot.9,v 1.2 1996/09/24 07:01:26 ghudson Exp $
 .\"
 .\" Copyright (c) 1997
@@ -32,7 +33,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/boot.9 131530 2004-07-03 18:29:24Z ru $
 .\"
 .Dd February 14, 1997
 .Dt BOOT 9


Property changes on: trunk/share/man/man9/boot.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bpf.9
===================================================================
--- trunk/share/man/man9/bpf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bpf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2004 FreeBSD Inc.
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bpf.9 235744 2012-05-21 22:13:48Z melifaro $
 .\"
-.Dd December 13, 2006
+.Dd May 11, 2012
 .Dt BPF 9
 .Os
 .\"
@@ -246,9 +247,31 @@
 function
 returns 0 when the program is not a valid filter program.
 .\"
+.Sh EVENT HANDLERS
+.Nm
+invokes
+.Fa bpf_track
+.Xr EVENTHANDLER 9
+event each time listener attaches to or detaches from an interface.
+Pointer to
+.Pq Vt "struct ifnet *"
+is passed as the first argument, interface
+.Fa dlt
+follows. Last argument indicates listener is attached (1) or
+detached (0).
+Note that handler is invoked with
+.Nm
+global lock held, which implies restriction on sleeping and calling
+.Nm
+subsystem inside
+.Xr EVENTHANDLER 9
+dispatcher.
+Note that handler is not called for write-only listeners.
+.\"
 .Sh SEE ALSO
 .Xr tcpdump 1 ,
-.Xr bpf 4
+.Xr bpf 4 ,
+.Xr EVENTHANDLER 9
 .\"
 .Sh HISTORY
 The Enet packet filter was created in 1980 by Mike Accetta and


Property changes on: trunk/share/man/man9/bpf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/buf.9
===================================================================
--- trunk/share/man/man9/buf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/buf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1998
 .\"	The Regents of the University of California.  All rights reserved.
 .\"
@@ -29,7 +30,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/buf.9 155619 2006-02-13 21:34:19Z joel $
 .\"
 .Dd December 22, 1998
 .Dt BUF 9


Property changes on: trunk/share/man/man9/buf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/buf_ring.9
===================================================================
--- trunk/share/man/man9/buf_ring.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/buf_ring.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2009 Bitgravity Inc
 .\" Written by: Kip Macy <kmacy at FreeBSD.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/buf_ring.9 316233 2017-03-30 05:50:51Z ngie $
 .\"
-.Dd January 30, 2012
+.Dd September 27, 2012
 .Dt BUF_RING 9
 .Os
 .Sh NAME
@@ -33,13 +34,12 @@
 .Nm buf_ring_alloc ,
 .Nm buf_ring_free ,
 .Nm buf_ring_enqueue ,
-.Nm buf_ring_enqueue_bytes ,
 .Nm buf_ring_dequeue_mc ,
 .Nm buf_ring_dequeue_sc ,
 .Nm buf_ring_count ,
 .Nm buf_ring_empty ,
 .Nm buf_ring_full ,
-.Nm buf_ring_peek ,
+.Nm buf_ring_peek
 .Nd multi-producer, {single, multi}-consumer lock-less ring buffer
 .Sh SYNOPSIS
 .In sys/param.h
@@ -50,8 +50,6 @@
 .Fn buf_ring_free "struct buf_ring *br" "struct malloc_type *type"
 .Ft int
 .Fn buf_ring_enqueue "struct buf_ring *br" "void *buf"
-.Ft int
-.Fn buf_ring_enqueue_bytes "struct buf_ring *br" "void *buf" "int bytes"
 .Ft void *
 .Fn buf_ring_dequeue_mc "struct buf_ring *br"
 .Ft void *
@@ -91,12 +89,6 @@
 function is used to enqueue a buffer to a buf_ring.
 .Pp
 The
-.Fn buf_ring_enqueue_bytes
-function is used to enqueue a buffer to a buf_ring and increment the
-number of bytes enqueued by
-.Fa bytes .
-.Pp
-The
 .Fn buf_ring_dequeue_mc
 function is a multi-consumer safe way of dequeueing elements from a buf_ring.
 .Pp
@@ -134,9 +126,7 @@
 .Sh RETURN VALUES
 The
 .Fn buf_ring_enqueue
-and
-.Fn buf_ring_enqueue_bytes
-functions return
+function return
 .Er ENOBUFS
 if there are no available slots in the buf_ring.
 .Sh HISTORY


Property changes on: trunk/share/man/man9/buf_ring.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_activate_resource.9
===================================================================
--- trunk/share/man/man9/bus_activate_resource.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_activate_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_activate_resource.9 115418 2003-05-30 21:13:32Z ru $
 .\"
 .Dd March 28, 2003
 .Dt BUS_ACTIVATE_RESOURCE 9


Property changes on: trunk/share/man/man9/bus_activate_resource.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_adjust_resource.9
===================================================================
--- trunk/share/man/man9/bus_adjust_resource.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_adjust_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2011 Advanced Computing Technologies LLC
+.\" Copyright (c) 2011 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_adjust_resource.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd April 29, 2011
 .Dt BUS_ADJUST_RESOURCE 9


Property changes on: trunk/share/man/man9/bus_adjust_resource.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_alloc_resource.9
===================================================================
--- trunk/share/man/man9/bus_alloc_resource.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_alloc_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_alloc_resource.9 316219 2017-03-30 05:16:37Z ngie $
 .\"
 .Dd May 18, 2000
 .Dt BUS_ALLOC_RESOURCE 9
@@ -33,7 +34,7 @@
 .Os
 .Sh NAME
 .Nm bus_alloc_resource ,
-.Nm bus_alloc_resource_any
+.Nm bus_alloc_resource_any ,
 .Nd allocate resources from a parent bus
 .Sh SYNOPSIS
 .In sys/param.h


Property changes on: trunk/share/man/man9/bus_alloc_resource.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_child_present.9
===================================================================
--- trunk/share/man/man9/bus_child_present.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_child_present.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_child_present.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd March 27, 2003
 .Dt BUS_CHILD_PRESENT 9


Property changes on: trunk/share/man/man9/bus_child_present.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_dma.9
===================================================================
--- trunk/share/man/man9/bus_dma.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_dma.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2002, 2003 Hiten M. Pandya.
 .\" All rights reserved.
 .\"
@@ -37,13 +38,6 @@
 .\" 2. Redistributions in binary form must reproduce the above copyright
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgment:
-.\" 	This product includes software developed by the NetBSD
-.\" 	Foundation, Inc. and its contributors.
-.\" 4. Neither the name of The NetBSD Foundation nor the names of its
-.\"    contributors may be used to endorse or promote products derived
-.\"    from this software without specific prior written permission.
 .\"
 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -57,10 +51,10 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_dma.9 263687 2014-03-24 13:48:04Z emaste $
 .\" $NetBSD: bus_dma.9,v 1.25 2002/10/14 13:43:16 wiz Exp $
 .\"
-.Dd May 12, 2009
+.Dd July 17, 2013
 .Dt BUS_DMA 9
 .Os
 .Sh NAME
@@ -70,6 +64,8 @@
 .Nm bus_dmamap_create ,
 .Nm bus_dmamap_destroy ,
 .Nm bus_dmamap_load ,
+.Nm bus_dmamap_load_bio ,
+.Nm bus_dmamap_load_ccb ,
 .Nm bus_dmamap_load_mbuf ,
 .Nm bus_dmamap_load_mbuf_sg ,
 .Nm bus_dmamap_load_uio ,
@@ -82,7 +78,7 @@
 .In machine/bus.h
 .Ft int
 .Fn bus_dma_tag_create "bus_dma_tag_t parent" "bus_size_t alignment" \
-"bus_size_t boundary" "bus_addr_t lowaddr" "bus_addr_t highaddr" \
+"bus_addr_t boundary" "bus_addr_t lowaddr" "bus_addr_t highaddr" \
 "bus_dma_filter_t *filtfunc" "void *filtfuncarg" "bus_size_t maxsize" \
 "int nsegments" "bus_size_t maxsegsz" "int flags" "bus_dma_lock_t *lockfunc" \
 "void *lockfuncarg" "bus_dma_tag_t *dmat"
@@ -97,6 +93,14 @@
 "bus_size_t buflen" "bus_dmamap_callback_t *callback" "void *callback_arg" \
 "int flags"
 .Ft int
+.Fn bus_dmamap_load_bio "bus_dma_tag_t dmat" "bus_dmamap_t map" \
+"struct bio *bio" "bus_dmamap_callback_t *callback" "void *callback_arg" \
+"int flags"
+.Ft int
+.Fn bus_dmamap_load_ccb "bus_dma_tag_t dmat" "bus_dmamap_t map" \
+"union ccb *ccb" "bus_dmamap_callback_t *callback" "void *callback_arg" \
+"int flags"
+.Ft int
 .Fn bus_dmamap_load_mbuf "bus_dma_tag_t dmat" "bus_dmamap_t map" \
 "struct mbuf *mbuf" "bus_dmamap_callback2_t *callback" "void *callback_arg" \
 "int flags"
@@ -199,7 +203,10 @@
 the load of a
 .Vt bus_dmamap_t
 via
-.Fn bus_dmamap_load .
+.Fn bus_dmamap_load ,
+.Fn bus_dmamap_load_bio
+or
+.Fn bus_dmamap_load_ccb .
 Callbacks are of the format:
 .Bl -tag -width indent
 .It Ft void
@@ -624,6 +631,49 @@
 A mapping could not be achieved within the segment constraints provided
 in the tag even though the requested allocation size was less than maxsize.
 .El
+.It Fn bus_dmamap_load_bio "dmat" "map" "bio" "callback" "callback_arg" "flags"
+This is a variation of
+.Fn bus_dmamap_load
+which maps buffers pointed to by
+.Fa bio
+for DMA transfers.
+.Fa bio
+may point to either a mapped or unmapped buffer.
+.It Fn bus_dmamap_load_ccb "dmat" "map" "ccb" "callback" "callback_arg" "flags"
+This is a variation of
+.Fn bus_dmamap_load
+which maps data pointed to by
+.Fa ccb
+for DMA transfers.
+The data for
+.Fa ccb
+may be any of the following types:
+.Bl -tag -width ".Er CAM_DATA_SG_PADDR"
+.It CAM_DATA_VADDR
+The data is a single KVA buffer.
+.It CAM_DATA_PADDR
+The data is a single bus address range.
+.It CAM_DATA_SG
+The data is a scatter/gather list of KVA buffers.
+.It CAM_DATA_SG_PADDR
+The data is a scatter/gather list of bus address ranges.
+.It CAM_DATA_BIO
+The data is contained in a
+.Vt struct bio
+attached to the CCB.
+.El
+.Pp
+.Fn bus_dmamap_load_ccb
+supports the following CCB XPT function codes:
+.Pp
+.Bl -item -offset indent -compact
+.It
+XPT_ATA_IO
+.It
+XPT_CONT_TARGET_IO
+.It
+XPT_SCSI_IO
+.El
 .It Fn bus_dmamap_load_mbuf "dmat" "map" "mbuf" "callback2" "callback_arg" \
 "flags"
 This is a variation of
@@ -898,12 +948,16 @@
 .It
 .Fn bus_dmamap_load
 .It
-.Fn bus_dmamap_load_uio
+.Fn bus_dmamap_load_bio
 .It
+.Fn bus_dmamap_load_ccb
+.It
 .Fn bus_dmamap_load_mbuf
 .It
 .Fn bus_dmamap_load_mbuf_sg
 .It
+.Fn bus_dmamap_load_uio
+.It
 .Fn bus_dmamap_unload
 .It
 .Fn bus_dmamap_sync


Property changes on: trunk/share/man/man9/bus_dma.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_attach.9
===================================================================
--- trunk/share/man/man9/bus_generic_attach.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_attach.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_attach.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt BUS_GENERIC_ATTACH 9


Property changes on: trunk/share/man/man9/bus_generic_attach.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_detach.9
===================================================================
--- trunk/share/man/man9/bus_generic_detach.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_detach.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_detach.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt BUS_GENERIC_DETACH 9


Property changes on: trunk/share/man/man9/bus_generic_detach.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_new_pass.9
===================================================================
--- trunk/share/man/man9/bus_generic_new_pass.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_new_pass.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_new_pass.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd June 8, 2009
 .Dt BUS_GENERIC_NEW_PASS 9


Property changes on: trunk/share/man/man9/bus_generic_new_pass.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_print_child.9
===================================================================
--- trunk/share/man/man9/bus_generic_print_child.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_print_child.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_print_child.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd June 16, 1998
 .Dt BUS_GENERIC_PRINT_CHILD 9


Property changes on: trunk/share/man/man9/bus_generic_print_child.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_read_ivar.9
===================================================================
--- trunk/share/man/man9/bus_generic_read_ivar.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_read_ivar.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_read_ivar.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt BUS_GENERIC_READ_IVAR 9


Property changes on: trunk/share/man/man9/bus_generic_read_ivar.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_generic_shutdown.9
===================================================================
--- trunk/share/man/man9/bus_generic_shutdown.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_generic_shutdown.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_generic_shutdown.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt BUS_GENERIC_SHUTDOWN 9


Property changes on: trunk/share/man/man9/bus_generic_shutdown.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/bus_get_resource.9
===================================================================
--- trunk/share/man/man9/bus_get_resource.9	                        (rev 0)
+++ trunk/share/man/man9/bus_get_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,95 @@
+.\" $MidnightBSD$
+.\"
+.\" Copyright (c) 2008
+.\"	The DragonFly Project.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in
+.\"    the documentation and/or other materials provided with the
+.\"    distribution.
+.\" 3. Neither the name of The DragonFly Project nor the names of its
+.\"    contributors may be used to endorse or promote products derived
+.\"    from this software without specific, prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
+.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $DragonFly: src/share/man/man9/bus_get_resource.9,v 1.1 2008/11/09 09:48:41 swildner Exp $
+.\" $FreeBSD: stable/10/share/man/man9/bus_get_resource.9 289045 2015-10-08 18:01:14Z bdrewery $
+.\"
+.Dd September 26, 2015
+.Dt BUS_GET_RESOURCE 9
+.Os
+.Sh NAME
+.Nm bus_get_resource
+.Nd "read a resource range/value with a given resource ID"
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/bus.h
+.In sys/rman.h
+.Ft int
+.Fo bus_get_resource
+.Fa "device_t dev" "int type" "int rid" "u_long *startp" "u_long *countp"
+.Fc
+.Sh DESCRIPTION
+The
+.Fn bus_get_resource
+function reads the range or value of the resource
+.Fa type , rid
+pair and stores it in the
+.Fa startp
+and
+.Fa countp
+arguments.
+.Pp
+The arguments are as follows:
+.Bl -tag -width ".Fa startp"
+.It Fa dev
+The device to read the resource from.
+.It Fa type
+The type of resource you want to read.
+It is one of:
+.Pp
+.Bl -tag -width ".Dv SYS_RES_MEMORY" -compact
+.It Dv SYS_RES_IRQ
+for IRQs
+.It Dv SYS_RES_DRQ
+for ISA DMA lines
+.It Dv SYS_RES_MEMORY
+for I/O memory
+.It Dv SYS_RES_IOPORT
+for I/O ports
+.El
+.It Fa rid
+A bus-specific handle that identifies the resource being read.
+.It Fa startp
+A pointer to the start address of this resource.
+.It Fa countp
+A pointer to the length of the resource.
+For example, the size of the memory in bytes.
+.El
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an error is returned.
+.Sh SEE ALSO
+.Xr bus_set_resource 9 ,
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This manual page was written by
+.An Sascha Wildner .


Property changes on: trunk/share/man/man9/bus_get_resource.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/bus_release_resource.9
===================================================================
--- trunk/share/man/man9/bus_release_resource.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_release_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_release_resource.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd May 18, 2000
 .Dt BUS_RELEASE_RESOURCE 9


Property changes on: trunk/share/man/man9/bus_release_resource.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_set_pass.9
===================================================================
--- trunk/share/man/man9/bus_set_pass.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_set_pass.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,7 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_set_pass.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd June 8, 2009
 .Dt BUS_SET_PASS 9


Property changes on: trunk/share/man/man9/bus_set_pass.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_set_resource.9
===================================================================
--- trunk/share/man/man9/bus_set_resource.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_set_resource.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_set_resource.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd March 29, 2003
 .Dt BUS_SET_RESOURCE 9


Property changes on: trunk/share/man/man9/bus_set_resource.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/bus_space.9
===================================================================
--- trunk/share/man/man9/bus_space.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/bus_space.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" $NetBSD: bus_space.9,v 1.9 1999/03/06 22:09:29 mycroft Exp $
 .\"
 .\" Copyright (c) 2005 M. Warner Losh.  All Rights Reserved.
@@ -36,13 +37,6 @@
 .\" 2. Redistributions in binary form must reproduce the above copyright
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgment:
-.\" 	This product includes software developed by the NetBSD
-.\" 	Foundation, Inc. and its contributors.
-.\" 4. Neither the name of The NetBSD Foundation nor the names of its
-.\"    contributors may be used to endorse or promote products derived
-.\"    from this software without specific prior written permission.
 .\"
 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -56,7 +50,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/bus_space.9 263687 2014-03-24 13:48:04Z emaste $
 .\"
 .Dd June 13, 2005
 .Dt BUS_SPACE 9
@@ -167,35 +161,35 @@
 .Fo bus_space_free
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t size"
 .Fc
-.Ft u_int8_t
+.Ft uint8_t
 .Fo bus_space_read_1
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int16_t
+.Ft uint16_t
 .Fo bus_space_read_2
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int32_t
+.Ft uint32_t
 .Fo bus_space_read_4
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int64_t
+.Ft uint64_t
 .Fo bus_space_read_8
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int8_t
+.Ft uint8_t
 .Fo bus_space_read_stream_1
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int16_t
+.Ft uint16_t
 .Fo bus_space_read_stream_2
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int32_t
+.Ft uint32_t
 .Fo bus_space_read_stream_4
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
-.Ft u_int64_t
+.Ft uint64_t
 .Fo bus_space_read_stream_8
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle" "bus_size_t offset"
 .Fc
@@ -202,42 +196,42 @@
 .Ft void
 .Fo bus_space_write_1
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int8_t value"
+.Fa "bus_size_t offset" "uint8_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_2
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int16_t value"
+.Fa "bus_size_t offset" "uint16_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_4
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int32_t value"
+.Fa "bus_size_t offset" "uint32_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_8
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int64_t value"
+.Fa "bus_size_t offset" "uint64_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_stream_1
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int8_t value"
+.Fa "bus_size_t offset" "uint8_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_stream_2
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int16_t value"
+.Fa "bus_size_t offset" "uint16_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_stream_4
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int32_t value"
+.Fa "bus_size_t offset" "uint32_t value"
 .Fc
 .Ft void
 .Fo bus_space_write_stream_8
 .Fa "bus_space_tag_t space" "bus_space_handle_t handle"
-.Fa "bus_size_t offset" "u_int64_t value"
+.Fa "bus_size_t offset" "uint64_t value"
 .Fc
 .Ft void
 .Fo bus_space_barrier
@@ -247,97 +241,97 @@
 .Ft void
 .Fo bus_space_read_region_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_region_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_region_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
@@ -391,193 +385,193 @@
 .Ft void
 .Fo bus_space_set_region_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_region_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_read_multi_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_write_multi_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t *datap"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t *datap"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_stream_1
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int8_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint8_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_stream_2
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int16_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint16_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_stream_4
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int32_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint32_t value"
 .Fa "bus_size_t count"
 .Fc
 .Ft void
 .Fo bus_space_set_multi_stream_8
 .Fa "bus_space_tag_t space"
-.Fa "bus_space_handle_t handle" "bus_size_t offset" "u_int64_t value"
+.Fa "bus_space_handle_t handle" "bus_size_t offset" "uint64_t value"
 .Fa "bus_size_t count"
 .Fc
 .Sh DESCRIPTION


Property changes on: trunk/share/man/man9/bus_space.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/byteorder.9
===================================================================
--- trunk/share/man/man9/byteorder.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/byteorder.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2002 Mike Barcroft <mike at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/byteorder.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd April 29, 2002
 .Dt BYTEORDER 9
@@ -123,7 +124,7 @@
 .Fn htobe32 ,
 and
 .Fn htobe64
-functions return a integer in the system's native
+functions return an integer in the system's native
 byte order converted to big endian byte order.
 The return value will be the same as the argument on big endian systems.
 .Pp


Property changes on: trunk/share/man/man9/byteorder.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/casuword.9
===================================================================
--- trunk/share/man/man9/casuword.9	                        (rev 0)
+++ trunk/share/man/man9/casuword.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,96 @@
+.\" $MidnightBSD$
+.\" Copyright (c) 2014 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" Part of this documentation was written by
+.\" Konstantin Belousov <kib at FreeBSD.org> under sponsorship
+.\" from the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/casuword.9 274648 2014-11-18 12:53:32Z kib $
+.\"
+.Dd October 21, 2014
+.Dt CASU 9
+.Os
+.Sh NAME
+.Nm casueword ,
+.Nm casueword32 ,
+.Nm casuword ,
+.Nm casuword32
+.Nd fetch, compare and store data from user-space
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/systm.h
+.Ft int
+.Fn casueword "volatile u_long *base" "u_long oldval" "u_long *oldvalp" "u_long newval"
+.Ft int
+.Fn casueword32 "volatile uint32_t *base" "uint32_t oldval" "uint32_t *oldvalp" "uint32_t newval"
+.Ft u_long
+.Fn casuword "volatile u_long *base" "u_long oldval" "u_long newval"
+.Ft uint32_t
+.Fn casuword32 "volatile uint32_t *base" "uint32_t oldval" "uint32_t newval"
+.Sh DESCRIPTION
+The
+.Nm
+functions are designed to perform atomic compare-and-swap operation on
+the value in the usermode memory of the current process.
+.Pp
+The
+.Nm
+routines reads the value from user memory with address
+.Pa base ,
+and compare the value read with
+.Pa oldval .
+If the values are equal,
+.Pa newval
+is written to the
+.Pa *base .
+In case of
+.Fn casueword32
+and
+.Fn casueword ,
+old value is stored into the (kernel-mode) variable pointed by
+.Pa *oldvalp .
+The userspace value must be naturally aligned.
+.Pp
+The callers of
+.Fn casuword
+and
+.Fn casuword32
+functions cannot distinguish between -1 read from
+userspace and function failure.
+.Sh RETURN VALUES
+The
+.Fn casuword
+and
+.Fn casuword32
+functions return the data fetched or -1 on failure.
+The
+.Fn casueword
+and
+.Fn casueword32
+functions return 0 on success and -1 on failure.
+.Sh SEE ALSO
+.Xr atomic 9 ,
+.Xr fetch 9 ,
+.Xr store 9


Property changes on: trunk/share/man/man9/casuword.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/cd.9
===================================================================
--- trunk/share/man/man9/cd.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/cd.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1997
 .\"	John-Mark Gurney.  All rights reserved.
 .\"
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/cd.9 237937 2012-07-01 19:40:51Z schweikh $
 .\"
 .Dd September 2, 2003
 .Dt CD 9
@@ -57,7 +58,7 @@
 The following is a list of quirks that the driver recognize.
 .Bl -tag -width CD_Q_BCD_TRACKS
 .It Dv CD_Q_NO_TOUCH
-This flag tell the driver not to probe the drive at attach time to see if
+This flag tells the driver not to probe the drive at attach time to see if
 there is a disk in the drive and find out what size it is.
 This flag is currently unimplemented in the CAM
 .Nm


Property changes on: trunk/share/man/man9/cd.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/condvar.9
===================================================================
--- trunk/share/man/man9/condvar.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/condvar.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2000 Jason Evans <jasone at FreeBSD.org>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/condvar.9 247812 2013-03-04 19:10:39Z davide $
 .\"
-.Dd June 5, 2007
+.Dd February 19, 2013
 .Dt CONDVAR 9
 .Os
 .Sh NAME
@@ -37,7 +38,9 @@
 .Nm cv_wait_sig ,
 .Nm cv_wait_unlock ,
 .Nm cv_timedwait ,
+.Nm cv_timedwait_sbt ,
 .Nm cv_timedwait_sig ,
+.Nm cv_timedwait_sig_sbt ,
 .Nm cv_signal ,
 .Nm cv_broadcast ,
 .Nm cv_broadcastpri ,
@@ -60,7 +63,13 @@
 .Ft int
 .Fn cv_timedwait "struct cv *cvp" "lock" "int timo"
 .Ft int
+.Fn cv_timedwait_sbt "struct cv *cvp" "lock" "sbintime_t sbt" \
+"sbintime_t pr" "int flags"
+.Ft int
 .Fn cv_timedwait_sig "struct cv *cvp" "lock" "int timo"
+.Ft int
+.Fn cv_timedwait_sig_sbt "struct cv *cvp" "lock" "sbintime_t sbt" \
+"sbintime_t pr" "int flags"
 .Ft void
 .Fn cv_signal "struct cv *cvp"
 .Ft void
@@ -191,6 +200,25 @@
 .Fn cv_signal
 or
 .Fn cv_broadcast .
+.Pp
+.Fn cv_timedwait_sbt
+and
+.Fn cv_timedwait_sig_sbt
+functions take
+.Fa sbt
+argument instead of
+.Fa timo .
+It allows to specify relative or absolute unblock time with higher resolution
+in form of
+.Vt sbintime_t .
+The parameter
+.Fa pr
+allows to specify wanted absolute event precision.
+The parameter
+.Fa flags
+allows to pass additional
+.Fn callout_reset_sbt
+flags.
 .Sh RETURN VALUES
 If successful,
 .Fn cv_wait_sig ,
@@ -230,4 +258,5 @@
 .Xr rwlock 9 ,
 .Xr sema 9 ,
 .Xr sleep 9 ,
-.Xr sx 9
+.Xr sx 9 ,
+.Xr timeout 9


Property changes on: trunk/share/man/man9/condvar.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/config_intrhook.9
===================================================================
--- trunk/share/man/man9/config_intrhook.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/config_intrhook.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2006 M. Warner Losh <imp at FreeBSD.org>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/config_intrhook.9 165213 2006-12-14 14:33:13Z mpp $
 .\"
 .Dd September 24, 2006
 .Dt CONFIG_INTRHOOK 9


Property changes on: trunk/share/man/man9/config_intrhook.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/contigmalloc.9
===================================================================
--- trunk/share/man/man9/contigmalloc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/contigmalloc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Joseph Koshy
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/contigmalloc.9 232359 2012-03-01 20:19:21Z jhb $
 .\"
 .Dd July 19, 2007
 .Dt CONTIGMALLOC 9
@@ -42,7 +43,7 @@
 .Fa "vm_paddr_t low"
 .Fa "vm_paddr_t high"
 .Fa "unsigned long alignment"
-.Fa "unsigned long boundary"
+.Fa "vm_paddr_t boundary"
 .Fc
 .Ft void
 .Fo contigfree


Property changes on: trunk/share/man/man9/contigmalloc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/copy.9
===================================================================
--- trunk/share/man/man9/copy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/copy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp $
 .\"
 .\" Copyright (c) 1996 Jason R. Thorpe.
@@ -32,7 +33,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/copy.9 223890 2011-07-09 15:24:12Z kib $
 .\"
 .Dd July 9, 2011
 .Dt COPY 9


Property changes on: trunk/share/man/man9/copy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/counter.9
===================================================================
--- trunk/share/man/man9/counter.9	                        (rev 0)
+++ trunk/share/man/man9/counter.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,202 @@
+.\" $MidnightBSD$
+.\"-
+.\" Copyright (c) 2013 Gleb Smirnoff <glebius at FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/counter.9 299386 2016-05-10 20:12:27Z wblock $
+.\"
+.Dd February 7, 2014
+.Dt COUNTER 9
+.Os
+.Sh NAME
+.Nm counter
+.Nd "SMP-friendly kernel counter implementation"
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/systm.h
+.In sys/counter.h
+.Ft counter_u64_t
+.Fn counter_u64_alloc "int wait"
+.Ft void
+.Fn counter_u64_free "counter_u64_t c"
+.Ft void
+.Fn counter_u64_add "counter_u64_t c" "int64_t v"
+.Ft void
+.Fn counter_enter
+.Ft void
+.Fn counter_exit
+.Ft void
+.Fn counter_u64_add_protected "counter_u64_t c" "int64_t v"
+.Ft uint64_t
+.Fn counter_u64_fetch "counter_u64_t c"
+.Ft void
+.Fn counter_u64_zero "counter_u64_t c"
+.In sys/sysctl.h
+.Fn SYSCTL_COUNTER_U64 parent nbr name access ptr descr
+.Fn SYSCTL_ADD_COUNTER_U64 ctx parent nbr name access ptr descr
+.Sh DESCRIPTION
+.Nm
+is a generic facility to create counters
+that can be utilized for any purpose (such as collecting statistical
+data).
+A
+.Nm
+is guaranteed to be lossless when several kernel threads do simultaneous
+updates.
+However,
+.Nm
+does not block the calling thread,
+also no
+.Xr atomic 9
+operations are used for the update, therefore the counters
+can be used in any non-interrupt context.
+Moreover,
+.Nm
+has special optimisations for SMP environments, making
+.Nm
+update faster than simple arithmetic on the global variable.
+Thus
+.Nm
+is considered suitable for accounting in the performance-critical
+code paths.
+.Bl -tag -width indent
+.It Fn counter_u64_alloc how
+Allocate a new 64-bit unsigned counter.
+The
+.Fa wait
+argument is the
+.Xr malloc 9
+wait flag, should be either
+.Va M_NOWAIT
+or
+.Va M_WAITOK .
+If
+.Va M_NOWAIT
+is specified the operation may fail.
+.It Fn counter_u64_free c
+Free the previously allocated counter
+.Fa c .
+.It Fn counter_u64_add c v
+Add
+.Fa v
+to
+.Fa c .
+The KPI does not guarantee any protection from wraparound.
+.It Fn counter_enter
+Enter mode that would allow to safely update several counters via
+.Fn counter_u64_add_protected .
+On some machines this expands to
+.Xr critical 9
+section, while on other is a nop.
+See
+.Sx IMPLEMENTATION DETAILS .
+.It Fn counter_exit
+Exit mode for updating several counters.
+.It Fn counter_u64_add_protected c v
+Same as
+.Fn counter_u64_add ,
+but should be preceded by
+.Fn counter_enter .
+.It Fn counter_u64_fetch c
+Take a snapshot of counter
+.Fa c .
+The data obtained is not guaranteed to reflect the real cumulative
+value for any moment.
+.It Fn counter_u64_zero c
+Clear the counter
+.Fa c
+and set it to zero.
+.It Fn SYSCTL_COUNTER_U64 parent nbr name access ptr descr
+Declare a static
+.Xr sysctl
+oid that would represent a
+.Nm .
+The
+.Fa ptr
+argument should be a pointer to allocated
+.Vt counter_u64_t .
+A read of the oid returns value obtained through
+.Fn counter_u64_fetch .
+Any write to the oid zeroes it.
+.It Fn SYSCTL_ADD_COUNTER_U64 ctx parent nbr name access ptr descr
+Create a
+.Xr sysctl
+oid that would represent a
+.Nm .
+The
+.Fa ptr
+argument should be a pointer to allocated
+.Vt counter_u64_t .
+A read of the oid returns value obtained through
+.Fn counter_u64_fetch .
+Any write to the oid zeroes it.
+.El
+.Sh IMPLEMENTATION DETAILS
+On all architectures
+.Nm
+is implemented using per-CPU data fields that are specially aligned
+in memory, to avoid inter-CPU bus traffic due to shared use
+of the variables between CPUs.
+These are allocated using
+.Va UMA_ZONE_PCPU
+.Xr uma 9
+zone.
+The update operation only touches the field that is private to current CPU.
+Fetch operation loops through all per-CPU fields and obtains a snapshot
+sum of all fields.
+.Pp
+On amd64 a
+.Nm counter
+update is implemented as a single instruction without lock semantics,
+operating on the private data for the current CPU,
+which is safe against preemption and interrupts.
+.Pp
+On i386 architecture, when machine supports the cmpxchg8 instruction,
+this instruction is used.
+The multi-instruction sequence provides the same guarantees as the
+amd64 single-instruction implementation.
+.Pp
+On some architectures updating a counter require a
+.Xr critical 9
+section.
+.Sh SEE ALSO
+.Xr atomic 9 ,
+.Xr critical 9 ,
+.Xr locking 9 ,
+.Xr malloc 9 ,
+.Xr sysctl 9 ,
+.Xr uma 9
+.Sh HISTORY
+The
+.Nm
+facility first appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+facility was written by
+.An Gleb Smirnoff
+and
+.An Konstantin Belousov .


Property changes on: trunk/share/man/man9/counter.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/cr_cansee.9
===================================================================
--- trunk/share/man/man9/cr_cansee.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/cr_cansee.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2006 Ceri Davies <ceri at FreeBSD.org>
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/cr_cansee.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd November 19, 2006
 .Dt CR_CANSEE 9


Property changes on: trunk/share/man/man9/cr_cansee.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/cr_seeothergids.9
===================================================================
--- trunk/share/man/man9/cr_seeothergids.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/cr_seeothergids.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Joseph Koshy <jkoshy at FreeBSD.org>
 .\"
@@ -25,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/cr_seeothergids.9 208291 2010-05-19 08:57:53Z uqs $
 .\"
 .Dd November 11, 2003
 .Dt CR_SEEOTHERGIDS 9


Property changes on: trunk/share/man/man9/cr_seeothergids.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/cr_seeotheruids.9
===================================================================
--- trunk/share/man/man9/cr_seeotheruids.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/cr_seeotheruids.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Joseph Koshy <jkoshy at FreeBSD.org>
 .\"
@@ -25,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/cr_seeotheruids.9 208291 2010-05-19 08:57:53Z uqs $
 .\"
 .Dd November 11, 2003
 .Dt CR_SEEOTHERUIDS 9


Property changes on: trunk/share/man/man9/cr_seeotheruids.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/critical_enter.9
===================================================================
--- trunk/share/man/man9/critical_enter.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/critical_enter.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001,2002 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/critical_enter.9 150978 2005-10-05 19:48:21Z jhb $
 .\"
 .Dd October 5, 2005
 .Dt CRITICAL_ENTER 9


Property changes on: trunk/share/man/man9/critical_enter.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/crypto.9
===================================================================
--- trunk/share/man/man9/crypto.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/crypto.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$OpenBSD: crypto.9,v 1.19 2002/07/16 06:31:57 angelos Exp $
 .\"
 .\" The author of this manual page is Angelos D. Keromytis (angelos at cis.upenn.edu)
@@ -15,7 +16,7 @@
 .\" MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
 .\" PURPOSE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/crypto.9 233510 2012-03-26 15:18:14Z joel $
 .\"
 .Dd September 19, 2007
 .Dt CRYPTO 9
@@ -26,29 +27,29 @@
 .Sh SYNOPSIS
 .In opencrypto/cryptodev.h
 .Ft int32_t
-.Fn crypto_get_driverid u_int8_t
+.Fn crypto_get_driverid uint8_t
 .Ft int
-.Fn crypto_register u_int32_t int u_int16_t u_int32_t "int \*[lp]*\*[rp]\*[lp]void *, u_int32_t *, struct cryptoini *\*[rp]" "int \*[lp]*\*[rp]\*[lp]void *, u_int64_t\*[rp]" "int \*[lp]*\*[rp]\*[lp]void *, struct cryptop *\*[rp]" "void *"
+.Fn crypto_register uint32_t int uint16_t uint32_t "int \*[lp]*\*[rp]\*[lp]void *, uint32_t *, struct cryptoini *\*[rp]" "int \*[lp]*\*[rp]\*[lp]void *, uint64_t\*[rp]" "int \*[lp]*\*[rp]\*[lp]void *, struct cryptop *\*[rp]" "void *"
 .Ft int
-.Fn crypto_kregister u_int32_t int u_int32_t "int \*[lp]*\*[rp]\*[lp]void *, struct cryptkop *\*[rp]" "void *"
+.Fn crypto_kregister uint32_t int uint32_t "int \*[lp]*\*[rp]\*[lp]void *, struct cryptkop *\*[rp]" "void *"
 .Ft int
-.Fn crypto_unregister u_int32_t int
+.Fn crypto_unregister uint32_t int
 .Ft int
-.Fn crypto_unregister_all u_int32_t
+.Fn crypto_unregister_all uint32_t
 .Ft void
 .Fn crypto_done "struct cryptop *"
 .Ft void
 .Fn crypto_kdone "struct cryptkop *"
 .Ft int
-.Fn crypto_newsession "u_int64_t *" "struct cryptoini *" int
+.Fn crypto_newsession "uint64_t *" "struct cryptoini *" int
 .Ft int
-.Fn crypto_freesession u_int64_t
+.Fn crypto_freesession uint64_t
 .Ft int
 .Fn crypto_dispatch "struct cryptop *"
 .Ft int
 .Fn crypto_kdispatch "struct cryptkop *"
 .Ft int
-.Fn crypto_unblock u_int32_t int
+.Fn crypto_unblock uint32_t int
 .Ft "struct cryptop *"
 .Fn crypto_getreq int
 .Ft void
@@ -64,7 +65,7 @@
 	int                cri_klen;
 	int                cri_mlen;
 	caddr_t            cri_key;
-	u_int8_t           cri_iv[EALG_MAX_BLOCK_LEN];
+	uint8_t            cri_iv[EALG_MAX_BLOCK_LEN];
 	struct cryptoini  *cri_next;
 };
 
@@ -83,7 +84,7 @@
 
 struct cryptop {
 	TAILQ_ENTRY(cryptop) crp_next;
-	u_int64_t          crp_sid;
+	uint64_t           crp_sid;
 	int                crp_ilen;
 	int                crp_olen;
 	int                crp_etype;
@@ -108,7 +109,7 @@
         u_int              krp_status;     /* return status */
         u_short            krp_iparams;    /* # of input parameters */
         u_short            krp_oparams;    /* # of output parameters */
-	u_int32_t	   krp_hid;
+        uint32_t           krp_hid;
         struct crparam     krp_param[CRK_MAXPARAM];
         int               (*krp_callback)(struct cryptkop *);
 };
@@ -450,7 +451,7 @@
 The various fields in the
 .Vt cryptkop
 structure are:
-.Bl -tag -width ".Va krp_callback'
+.Bl -tag -width ".Va krp_callback"
 .It Va krp_op
 Operation code, such as
 .Dv CRK_MOD_EXP .
@@ -524,10 +525,10 @@
 .Bl -item -compact
 .It
 .Ft int
-.Fn \*[lp]*newsession\*[rp] "void *" "u_int32_t *" "struct cryptoini *" ;
+.Fn \*[lp]*newsession\*[rp] "void *" "uint32_t *" "struct cryptoini *" ;
 .It
 .Ft int
-.Fn \*[lp]*freesession\*[rp] "void *" "u_int64_t" ;
+.Fn \*[lp]*freesession\*[rp] "void *" "uint64_t" ;
 .It
 .Ft int
 .Fn \*[lp]*process\*[rp] "void *" "struct cryptop *" ;


Property changes on: trunk/share/man/man9/crypto.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/dev_clone.9
===================================================================
--- trunk/share/man/man9/dev_clone.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/dev_clone.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2008 Konstantin Belousov
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/dev_clone.9 186714 2009-01-03 10:37:38Z brueffer $
 .\"
 .Dd January 3, 2009
 .Dt DEV_CLONE 9


Property changes on: trunk/share/man/man9/dev_clone.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass.9
===================================================================
--- trunk/share/man/man9/devclass.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVCLASS 9


Property changes on: trunk/share/man/man9/devclass.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_find.9
===================================================================
--- trunk/share/man/man9/devclass_find.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_find.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_find.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVCLASS_FIND 9


Property changes on: trunk/share/man/man9/devclass_find.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_count.9
===================================================================
--- trunk/share/man/man9/devclass_get_count.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_count.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2004 Nate Lawson
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_count.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd December 5, 2004
 .Dt DEVCLASS_GET_COUNT 9


Property changes on: trunk/share/man/man9/devclass_get_count.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_device.9
===================================================================
--- trunk/share/man/man9/devclass_get_device.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_device.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_device.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVCLASS_GET_DEVICE 9


Property changes on: trunk/share/man/man9/devclass_get_device.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_devices.9
===================================================================
--- trunk/share/man/man9/devclass_get_devices.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_devices.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_devices.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd May 19, 2005
 .Dt DEVCLASS_GET_DEVICES 9


Property changes on: trunk/share/man/man9/devclass_get_devices.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_drivers.9
===================================================================
--- trunk/share/man/man9/devclass_get_drivers.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_drivers.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2005 Nate Lawson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_drivers.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd May 19, 2005
 .Dt DEVCLASS_GET_DRIVERS 9


Property changes on: trunk/share/man/man9/devclass_get_drivers.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_maxunit.9
===================================================================
--- trunk/share/man/man9/devclass_get_maxunit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_maxunit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_maxunit.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd September 10, 2010
 .Dt DEVCLASS_GET_MAXUNIT 9


Property changes on: trunk/share/man/man9/devclass_get_maxunit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_name.9
===================================================================
--- trunk/share/man/man9/devclass_get_name.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_name.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_name.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVCLASS_GET_NAME 9


Property changes on: trunk/share/man/man9/devclass_get_name.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devclass_get_softc.9
===================================================================
--- trunk/share/man/man9/devclass_get_softc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devclass_get_softc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devclass_get_softc.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVCLASS_GET_SOFTC 9


Property changes on: trunk/share/man/man9/devclass_get_softc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devfs_set_cdevpriv.9
===================================================================
--- trunk/share/man/man9/devfs_set_cdevpriv.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devfs_set_cdevpriv.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2008 Konstantin Belousov
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devfs_set_cdevpriv.9 294612 2016-01-23 01:02:28Z jhb $
 .\"
-.Dd September 8, 2008
+.Dd December 2, 2015
 .Dt DEVFS_CDEVPRIV 9
 .Os
 .Sh NAME
@@ -36,12 +37,12 @@
 .In sys/param.h
 .In sys/conf.h
 .Bd -literal
-typedef	void (*cdevpriv_dtr_t)(void *data);
+typedef	void d_priv_dtor_t(void *data);
 .Ed
 .Ft int
 .Fn devfs_get_cdevpriv "void **datap"
 .Ft int
-.Fn devfs_set_cdevpriv "void *priv" "cdevpriv_dtr_t dtr"
+.Fn devfs_set_cdevpriv "void *priv" "d_priv_dtor_t *dtr"
 .Ft void
 .Fn devfs_clear_cdevpriv "void"
 .Sh DESCRIPTION
@@ -79,6 +80,10 @@
 callback is called, with private data supplied
 .Va data
 argument.
+The
+.Fn devfs_clear_cdevpriv
+function will be also be called if the open callback
+function returns an error code.
 .Pp
 On the last filedescriptor close, system automatically arranges
 .Fn devfs_clear_cdevpriv
@@ -112,8 +117,7 @@
 .Sh SEE ALSO
 .Xr open 2 ,
 .Xr close 2 ,
-.Xr devfs 5 ,
-.Xr kern_openat 9
+.Xr devfs 5
 .Sh HISTORY
 The
 .Fn devfs_cdevpriv


Property changes on: trunk/share/man/man9/devfs_set_cdevpriv.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device.9
===================================================================
--- trunk/share/man/man9/device.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE 9


Property changes on: trunk/share/man/man9/device.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_add_child.9
===================================================================
--- trunk/share/man/man9/device_add_child.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_add_child.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_add_child.9 162250 2006-09-12 15:48:22Z imp $
 .\"
 .Dd September 12, 2006
 .Dt DEVICE_ADD_CHILD 9


Property changes on: trunk/share/man/man9/device_add_child.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_delete_child.9
===================================================================
--- trunk/share/man/man9/device_delete_child.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_delete_child.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_delete_child.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_DELETE_CHILD 9


Property changes on: trunk/share/man/man9/device_delete_child.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_enable.9
===================================================================
--- trunk/share/man/man9/device_enable.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_enable.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_enable.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_ENABLE 9


Property changes on: trunk/share/man/man9/device_enable.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_find_child.9
===================================================================
--- trunk/share/man/man9/device_find_child.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_find_child.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_find_child.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd February 8, 2005
 .Dt DEVICE_FIND_CHILD 9


Property changes on: trunk/share/man/man9/device_find_child.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_children.9
===================================================================
--- trunk/share/man/man9/device_get_children.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_children.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_children.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 23, 2008
 .Dt DEVICE_GET_CHILDREN 9


Property changes on: trunk/share/man/man9/device_get_children.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_devclass.9
===================================================================
--- trunk/share/man/man9/device_get_devclass.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_devclass.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_devclass.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_GET_DEVCLASS 9


Property changes on: trunk/share/man/man9/device_get_devclass.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_driver.9
===================================================================
--- trunk/share/man/man9/device_get_driver.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_driver.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_driver.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_GET_DRIVER 9


Property changes on: trunk/share/man/man9/device_get_driver.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_ivars.9
===================================================================
--- trunk/share/man/man9/device_get_ivars.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_ivars.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_ivars.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_GET_IVARS 9


Property changes on: trunk/share/man/man9/device_get_ivars.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_name.9
===================================================================
--- trunk/share/man/man9/device_get_name.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_name.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_name.9 122173 2003-11-06 15:54:32Z des $
 .\"
 .Dd April 21, 2003
 .Dt DEVICE_GET_NAME 9


Property changes on: trunk/share/man/man9/device_get_name.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_parent.9
===================================================================
--- trunk/share/man/man9/device_get_parent.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_parent.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_parent.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd April 21, 2003
 .Dt DEVICE_GET_PARENT 9


Property changes on: trunk/share/man/man9/device_get_parent.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_softc.9
===================================================================
--- trunk/share/man/man9/device_get_softc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_softc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_softc.9 152569 2005-11-18 10:56:28Z ru $
 .\"
 .Dd August 2, 2005
 .Dt DEVICE_GET_SOFTC 9


Property changes on: trunk/share/man/man9/device_get_softc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_state.9
===================================================================
--- trunk/share/man/man9/device_get_state.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_state.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_state.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_GET_STATE 9


Property changes on: trunk/share/man/man9/device_get_state.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_sysctl.9
===================================================================
--- trunk/share/man/man9/device_get_sysctl.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_sysctl.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2006 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_sysctl.9 223259 2011-06-18 13:03:06Z bz $
 .\"
 .Dd June 18, 2011
 .Dt DEVICE_GET_SYSCTL 9


Property changes on: trunk/share/man/man9/device_get_sysctl.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_get_unit.9
===================================================================
--- trunk/share/man/man9/device_get_unit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_get_unit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_get_unit.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_GET_UNIT 9


Property changes on: trunk/share/man/man9/device_get_unit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_printf.9
===================================================================
--- trunk/share/man/man9/device_printf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_printf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_printf.9 115418 2003-05-30 21:13:32Z ru $
 .\"
 .Dd April 21, 2003
 .Dt DEVICE_PRINTF 9


Property changes on: trunk/share/man/man9/device_printf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_probe_and_attach.9
===================================================================
--- trunk/share/man/man9/device_probe_and_attach.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_probe_and_attach.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_probe_and_attach.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_PROBE_AND_ATTACH 9


Property changes on: trunk/share/man/man9/device_probe_and_attach.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_quiet.9
===================================================================
--- trunk/share/man/man9/device_quiet.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_quiet.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_quiet.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 21, 1999
 .Dt DEVICE_QUIET 9


Property changes on: trunk/share/man/man9/device_quiet.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_set_desc.9
===================================================================
--- trunk/share/man/man9/device_set_desc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_set_desc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_set_desc.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd June 16, 1998
 .Dt DEVICE_SET_DESC 9


Property changes on: trunk/share/man/man9/device_set_desc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_set_driver.9
===================================================================
--- trunk/share/man/man9/device_set_driver.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_set_driver.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_set_driver.9 166611 2007-02-09 21:12:21Z brueffer $
 .\"
 .Dd April 21, 2003
 .Dt DEVICE_SET_DRIVER 9


Property changes on: trunk/share/man/man9/device_set_driver.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/device_set_flags.9
===================================================================
--- trunk/share/man/man9/device_set_flags.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/device_set_flags.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1999 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/device_set_flags.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .Dd September 6, 1999
 .Dt DEVICE_GET_FLAGS 9
@@ -39,8 +40,8 @@
 .In sys/param.h
 .In sys/bus.h
 .Ft void
-.Fn device_set_flags "device_t dev" "u_int32_t flags"
-.Ft u_int32_t
+.Fn device_set_flags "device_t dev" "uint32_t flags"
+.Ft uint32_t
 .Fn device_get_flags "device_t dev"
 .Sh DESCRIPTION
 Each device supports a set of driver-dependent flags which are often


Property changes on: trunk/share/man/man9/device_set_flags.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devstat.9
===================================================================
--- trunk/share/man/man9/devstat.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devstat.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1998, 1999 Kenneth D. Merry.
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devstat.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .Dd May 22, 1998
 .Dt DEVSTAT 9
@@ -45,7 +46,7 @@
 .Fa "struct devstat *ds"
 .Fa "const char *dev_name"
 .Fa "int unit_number"
-.Fa "u_int32_t block_size"
+.Fa "uint32_t block_size"
 .Fa "devstat_support_flags flags"
 .Fa "devstat_type_flags device_type"
 .Fa "devstat_priority priority"
@@ -57,7 +58,7 @@
 .Ft void
 .Fo devstat_end_transaction
 .Fa "struct devstat *ds"
-.Fa "u_int32_t bytes"
+.Fa "uint32_t bytes"
 .Fa "devstat_tag_type tag_type"
 .Fa "devstat_trans_flags flags"
 .Fc


Property changes on: trunk/share/man/man9/devstat.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/devtoname.9
===================================================================
--- trunk/share/man/man9/devtoname.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/devtoname.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1999 Chris Costello
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/devtoname.9 231376 2012-02-10 11:20:13Z ed $
 .\"
 .Dd February 10, 2012
 .Dt DEVTONAME 9


Property changes on: trunk/share/man/man9/devtoname.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/disk.9
===================================================================
--- trunk/share/man/man9/disk.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/disk.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Robert N. M. Watson
 .\" All rights reserved.
@@ -25,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/disk.9 242359 2012-10-30 13:05:50Z trasz $
 .\"
-.Dd February 18, 2004
+.Dd October 30, 2012
 .Dt DISK 9
 .Os
 .Sh NAME
@@ -43,6 +44,8 @@
 .Fn disk_gone "struct disk *disk"
 .Ft void
 .Fn disk_destroy "struct disk *disk"
+.Ft int
+.Fn disk_resize "struct disk *disk" "int flags"
 .Sh DESCRIPTION
 The disk storage API permits kernel device drivers providing access to
 disk-like storage devices to advertise the device to other kernel
@@ -67,6 +70,13 @@
 fill in the fields and call
 .Fn disk_create
 when the device is ready to service requests.
+.Fn disk_resize
+can be called by the driver after modifying
+.Va d_mediasize
+to notify GEOM about the disk capacity change.
+The
+.Fa flags
+field should be set to either M_WAITOK, or M_NOWAIT.
 .Fn disk_gone
 orphans all of the providers associated with the drive, setting an error
 condition of ENXIO in each one.


Property changes on: trunk/share/man/man9/disk.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/domain.9
===================================================================
--- trunk/share/man/man9/domain.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/domain.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/domain.9 243967 2012-12-07 02:29:32Z kevlo $
 .\"
-.Dd February 23, 2012
+.Dd December 7, 2012
 .Dt DOMAIN 9
 .Os
 .Sh NAME
@@ -33,6 +34,7 @@
 .Nm domain_add ,
 .Nm pfctlinput ,
 .Nm pfctlinput2 ,
+.Nm pffinddomain ,
 .Nm pffindproto ,
 .Nm pffindtype ,
 .Nm DOMAIN_SET
@@ -48,6 +50,8 @@
 .Fn pfctlinput "int cmd" "struct sockaddr *sa"
 .Ft void
 .Fn pfctlinput2 "int cmd" "struct sockaddr *sa" "void *ctlparam"
+.Ft struct domain *
+.Fn pffinddomain "int family"
 .Ft struct protosw *
 .Fn pffindproto "int family" "int protocol" "int type"
 .Ft struct protosw *
@@ -67,6 +71,8 @@
 	char	*dom_name;
 	void	(*dom_init)		/* initialize domain data structures */
 		(void);
+	void	(*dom_destroy)		/* cleanup structures / state */
+		(void);
 	int	(*dom_externalize)	/* externalize access rights */
 		(struct mbuf *, struct mbuf **);
 	void	(*dom_dispose)		/* dispose of internalized rights */
@@ -75,8 +81,13 @@
 	struct	domain *dom_next;
 	int	(*dom_rtattach)		/* initialize routing table */
 		(void **, int);
+	int	(*dom_rtdetach)		/* clean up routing table */
+		(void **, int);
 	int	dom_rtoffset;		/* an arg to rtattach, in bits */
 	int	dom_maxrtkey;		/* for routing layer */
+	void	*(*dom_ifattach)(struct ifnet *);
+	void	(*dom_ifdetach)(struct ifnet *, void *);
+					/* af-dependent data on ifnet */
 };
 .Ed
 .Pp
@@ -96,6 +107,7 @@
 	pr_ctloutput_t *pr_ctloutput;	/* control output (from above) */
 /* utility hooks */
 	pr_init_t *pr_init;
+	pr_destroy_t *pr_destroy;
 	pr_fasttimo_t *pr_fasttimo;	/* fast timeout (200ms) */
 	pr_slowtimo_t *pr_slowtimo;	/* slow timeout (500ms) */
 	pr_drain_t *pr_drain;		/* flush any excess space possible */
@@ -168,6 +180,12 @@
 no reference counting system in place to determine if there are any
 active references from sockets within that domain.
 .Pp
+.Fn pffinddomain
+finds a domain by family.
+If the domain cannot be found,
+.Dv NULL
+is returned.
+.Pp
 .Fn pffindtype
 and
 .Fn pffindproto


Property changes on: trunk/share/man/man9/domain.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/drbr.9
===================================================================
--- trunk/share/man/man9/drbr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/drbr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2009 Bitgravity Inc
 .\" Written by: Kip Macy <kmacy@@FreeBSD.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/drbr.9 241064 2012-09-30 07:51:57Z joel $
 .\"
-.Dd January 30, 2012
+.Dd September 27, 2012
 .Dt DRBR 9
 .Os
 .Sh NAME
@@ -37,7 +38,6 @@
 .Nm drbr_flush ,
 .Nm drbr_empty ,
 .Nm drbr_inuse ,
-.Nm drbr_stats_update ,
 .Nd network driver interface to buf_ring
 .Sh SYNOPSIS
 .In sys/param.h
@@ -57,8 +57,6 @@
 .Fn drbr_empty "struct ifnet *ifp" "struct buf_ring *br"
 .Ft int
 .Fn drbr_inuse "struct ifnet *ifp" "struct buf_ring *br"
-.Ft void
-.Fn drbr_stats_update "struct ifnet *ifp" "int len" "int mflags"
 .Sh DESCRIPTION
 The
 .Nm
@@ -122,10 +120,6 @@
 .Fn drbr_dequeue
 is actually called.
 Provided the tx queue lock is held there will not be less.
-.Pp
-The
-.Fn drbr_stats_update
-function updates the number of bytes and the number of multicast packets sent.
 .Sh RETURN VALUES
 The
 .Fn drbr_enqueue


Property changes on: trunk/share/man/man9/drbr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/driver.9
===================================================================
--- trunk/share/man/man9/driver.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/driver.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1998 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/driver.9 227829 2011-11-22 19:31:43Z marius $
 .\"
 .Dd November 22, 2011
 .Dt DRIVER 9


Property changes on: trunk/share/man/man9/driver.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/eventtimers.9
===================================================================
--- trunk/share/man/man9/eventtimers.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/eventtimers.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,6 @@
+.\" $MidnightBSD$
 .\"
-.\" Copyright (c) 2011 Alexander Motin <mav at FreeBSD.org>
+.\" Copyright (c) 2011-2013 Alexander Motin <mav at FreeBSD.org>
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,9 +23,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/eventtimers.9 266347 2014-05-17 20:10:12Z ian $
 .\"
-.Dd December 14, 2011
+.Dd April 2, 2014
 .Dt EVENTTIMERS 9
 .Os
 .Sh NAME
@@ -36,7 +37,7 @@
 struct eventtimer;
 
 typedef int et_start_t(struct eventtimer *et,
-    struct bintime *first, struct bintime *period);
+    sbintime_t first, sbintime_t period);
 typedef int et_stop_t(struct eventtimer *et);
 typedef void et_event_cb_t(struct eventtimer *et, void *arg);
 typedef int et_deregister_cb_t(struct eventtimer *et, void *arg);
@@ -52,9 +53,9 @@
 #define ET_FLAGS_POW2DIV	16
 	int			et_quality;
 	int			et_active;
-	u_int64_t		et_frequency;
-	struct bintime		et_min_period;
-	struct bintime		et_max_period;
+	uint64_t		et_frequency;
+	sbintime_t		et_min_period;
+	sbintime_t		et_max_period;
 	et_start_t		*et_start;
 	et_stop_t		*et_stop;
 	et_event_cb_t		*et_event_cb;
@@ -68,6 +69,8 @@
 .Fn et_register "struct eventtimer *et"
 .Ft int
 .Fn et_deregister "struct eventtimer *et"
+.Ft void
+.Fn et_change_frequency "struct eventtimer *et" "uint64_t newfreq"
 .Fn ET_LOCK
 .Fn ET_UNLOCK
 .Ft struct eventtimer *
@@ -75,7 +78,7 @@
 .Ft int
 .Fn et_init "struct eventtimer *et" "et_event_cb_t *event" "et_deregister_cb_t *deregister" "void *arg"
 .Ft int
-.Fn et_start "struct eventtimer *et" "struct bintime *first" "struct bintime *period"
+.Fn et_start "struct eventtimer *et" "sbintime_t first" "sbintime_t period"
 .Ft int
 .Fn et_stop "struct eventtimer *et"
 .Ft int
@@ -176,6 +179,21 @@
 .Pp
 Driver may deregister its functionality by calling
 .Fn et_deregister .
+.Pp
+If the frequency of the clock hardware can change while it is 
+running (for example, during power-saving modes), the driver must call
+.Fn et_change_frequency
+on each change.
+If the given event timer is the active timer,
+.Fn et_change_frequency
+stops the timer on all CPUs, updates 
+.Va et->frequency ,
+then restarts the timer on all CPUs so that all
+current events are rescheduled using the new frequency.
+If the given timer is not currently active,
+.Fn et_change_frequency
+simply updates
+.Va et->frequency .
 .Sh CONSUMER API
 .Fn et_find
 allows consumer to find available event timer, optionally matching specific


Property changes on: trunk/share/man/man9/eventtimers.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/extattr.9
===================================================================
--- trunk/share/man/man9/extattr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/extattr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999, 2000, 2001, 2003 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/extattr.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd December 23, 1999
 .Dt EXTATTR 9


Property changes on: trunk/share/man/man9/extattr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/fail.9
===================================================================
--- trunk/share/man/man9/fail.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/fail.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Isilon Inc http://www.isilon.com/
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/fail.9 235373 2012-05-12 20:46:19Z gjb $
 .\"
 .Dd May 10, 2009
 .Dt FAIL 9
@@ -165,7 +166,6 @@
 A pid can optionally be specified.
 The fail point term is only executed when invoked by a process with a
 matching p_pid.
-.Pp
 .Sh EXAMPLES
 .Bl -tag -width Sy
 .It Sy sysctl debug.fail_point.foobar="2.1%return(5)"


Property changes on: trunk/share/man/man9/fail.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/fdclone.9
===================================================================
--- trunk/share/man/man9/fdclone.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/fdclone.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/fdclone.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/fetch.9
===================================================================
--- trunk/share/man/man9/fetch.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/fetch.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: fetch.9,v 1.2 1996/01/09 21:59:24 perry Exp $
 .\"
 .\" Copyright (c) 1996 Jason R. Thorpe.
@@ -32,9 +33,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/fetch.9 274648 2014-11-18 12:53:32Z kib $
 .\"
-.Dd October 5, 2009
+.Dd October 29, 2014
 .Dt FETCH 9
 .Os
 .Sh NAME
@@ -44,22 +45,30 @@
 .Nm fuword ,
 .Nm fuword16 ,
 .Nm fuword32 ,
-.Nm fuword64
+.Nm fuword64 ,
+.Nm fueword ,
+.Nm fueword32 ,
+.Nm fueword64
 .Nd fetch data from user-space
 .Sh SYNOPSIS
 .In sys/types.h
-.In sys/time.h
 .In sys/systm.h
 .Ft int
-.Fn fubyte "const void *base"
+.Fn fubyte "volatile const void *base"
 .Ft long
-.Fn fuword "const void *base"
+.Fn fuword "volatile const void *base"
 .Ft int
-.Fn fuword16 "void *base"
+.Fn fuword16 "volatile const void *base"
 .Ft int32_t
-.Fn fuword32 "const void *base"
+.Fn fuword32 "volatile const void *base"
 .Ft int64_t
-.Fn fuword64 "const void *base"
+.Fn fuword64 "volatile const void *base"
+.Ft long
+.Fn fueword "volatile const void *base" "long *val"
+.Ft int32_t
+.Fn fueword32 "volatile const void *base" "int32_t *val"
+.Ft int64_t
+.Fn fueword64 "volatile const void *base" "int64_t *val"
 .In sys/resourcevar.h
 .Ft int
 .Fn fuswintr "void *base"
@@ -66,21 +75,26 @@
 .Sh DESCRIPTION
 The
 .Nm
-functions are designed to copy small amounts of data from user-space.
+functions are designed to copy small amounts of data from user-space
+of the current process.
+If read is successful, it is performed atomically.
+The data read must be naturally aligned.
 .Pp
 The
 .Nm
 routines provide the following functionality:
-.Bl -tag -width "fuswintr()"
+.Bl -tag -width "fueword32()"
 .It Fn fubyte
 Fetches a byte of data from the user-space address
 .Pa base .
+The byte read is zero-extended into the results variable.
 .It Fn fuword
-Fetches a word of data from the user-space address
+Fetches a word of data (long) from the user-space address
 .Pa base .
 .It Fn fuword16
 Fetches 16 bits of data from the user-space address
 .Pa base .
+The half-word read is zero-extended into the results variable.
 .It Fn fuword32
 Fetches 32 bits of data from the user-space address
 .Pa base .
@@ -91,11 +105,46 @@
 Fetches a short word of data from the user-space address
 .Pa base .
 This function is safe to call during an interrupt context.
+.It Fn fueword
+Fetches a word of data (long) from the user-space address
+.Pa base
+and stores the result in the variable pointed by
+.Pa val .
+.It Fn fueword32
+Fetches 32 bits of data from the user-space address
+.Pa base
+and stores the result in the variable pointed by
+.Pa val .
+.It Fn fueword64
+Fetches 64 bits of data from the user-space address
+.Pa base
+and stores the result in the variable pointed by
+.Pa val .
 .El
+.Pp
+The callers of
+.Fn fuword ,
+.Fn fuword32
+and
+.Fn fuword64
+functions cannot distinguish between -1 read from
+userspace and function failure.
 .Sh RETURN VALUES
 The
-.Nm
+.Fn fubyte ,
+.Fn fuword ,
+.Fn fuword16 ,
+.Fn fuword32 ,
+.Fn fuword64 ,
+and
+.Fn fuswintr
 functions return the data fetched or -1 on failure.
+The
+.Fn fueword ,
+.Fn fueword32
+and
+.Fn fueword64
+functions return 0 on success and -1 on failure.
 .Sh SEE ALSO
 .Xr copy 9 ,
 .Xr store 9


Property changes on: trunk/share/man/man9/fetch.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/firmware.9
===================================================================
--- trunk/share/man/man9/firmware.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/firmware.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2006 Max Laier <mlaier at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -21,7 +22,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/firmware.9 256114 2013-10-07 16:49:53Z jmg $
 .\"
 .Dd August 2, 2008
 .Dt FIRMWARE 9
@@ -254,8 +255,8 @@
 .Pp
 Note that generating the firmware modules in this way requires
 the availability of the following tools:
-.Xr awk ,
-.Xr make ,
+.Xr awk 1 ,
+.Xr make 1 ,
 the compiler and the linker.
 .Sh SEE ALSO
 .Xr kld 4 ,


Property changes on: trunk/share/man/man9/firmware.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/fpu_kern.9
===================================================================
--- trunk/share/man/man9/fpu_kern.9	                        (rev 0)
+++ trunk/share/man/man9/fpu_kern.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,196 @@
+.\" $MidnightBSD$
+.\" Copyright (c) 2014
+.\"	Konstantin Belousov <kib at FreeBSD.org>.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/fpu_kern.9 299386 2016-05-10 20:12:27Z wblock $
+.\"
+.Dd June 23, 2014
+.Dt FPU_KERN 9
+.Os
+.Sh NAME
+.Nm fpu_kern
+.Nd "facility to use the FPU in the kernel"
+.Sh SYNOPSIS
+.Ft struct fpu_kern_ctx *
+.Fn fpu_kern_alloc_ctx "u_int flags"
+.Ft void
+.Fn fpu_kern_free_ctx "struct fpu_kern_ctx *ctx"
+.Ft int
+.Fn fpu_kern_enter "struct thread *td" "struct fpu_kern_ctx *ctx" "u_int flags"
+.Ft int
+.Fn fpu_kern_leave "struct thread *td" "struct fpu_kern_ctx *ctx"
+.Ft int
+.Fn fpu_kern_thread "u_int flags"
+.Ft int
+.Fn is_fpu_kern_thread "u_int flags"
+.Sh DESCRIPTION
+The
+.Nm
+family of functions allows the use of FPU hardware in kernel code.
+Modern FPUs are not limited to providing hardware implementation for
+floating point arithmetic; they offer advanced accelerators for cryptography
+and other computational-intensive algorithms.
+These facilities share registers with the FPU hardware.
+.Pp
+Typical kernel code does not need access to the FPU.
+Saving a large register file on each entry to the kernel would waste
+time.
+When kernel code uses the FPU, the current FPU state must be saved to
+avoid corrupting the user-mode state, and vice versa.
+.Pp
+The management of the save and restore is automatic.
+The processor catches accesses to the FPU registers
+when the non-current context tries to access them.
+Explicit calls are required for the allocation of the save area and
+the notification of the start and end of the code using the FPU.
+.Pp
+The
+.Fn fpu_kern_alloc_ctx
+function allocates the memory used by
+.Nm
+to track the use of the FPU hardware state and the related software state.
+The
+.Fn fpu_kern_alloc_ctx
+function requires the
+.Fa flags
+argument, which currently accepts the following flags:
+.Bl -tag -width ".Dv FPU_KERN_NOWAIT" -offset indent
+.It Dv FPU_KERN_NOWAIT
+Do not wait for the available memory if the request could not be satisfied
+without sleep.
+.It 0
+No special handling is required.
+.El
+.Pp
+The function returns the allocated context area, or
+.Va NULL
+if the allocation failed.
+.Pp
+The
+.Fn fpu_kern_free_ctx
+function frees the context previously allocated by
+.Fn fpu_kern_alloc_ctx .
+.Pp
+The
+.Fn fpu_kern_enter
+function designates the start of the region of kernel code where the
+use of the FPU is allowed.
+Its arguments are:
+.Bl -tag -width ".Fa ctx" -offset indent
+.It Fa td
+Currently must be
+.Va curthread .
+.It Fa ctx
+The context save area previously allocated by
+.Fn fpu_kern_alloc_ctx
+and not currently in use by another call to
+.Fn fpu_kern_enter .
+.It Fa flags
+This argument currently accepts the following flags:
+.Bl -tag -width ".Dv FPU_KERN_NORMAL" -offset indent
+.It Dv FPU_KERN_NORMAL
+Indicates that the caller intends to access the full FPU state.
+Must be specified currently.
+.It Dv FPU_KERN_KTHR
+Indicates that no saving of the current FPU state should be performed,
+if the thread called
+.Xr fpu_kern_thread 9
+function.
+This is intended to minimize code duplication in callers which
+could be used from both kernel thread and syscall contexts.
+The
+.Fn fpu_kern_leave
+function correctly handles such contexts.
+.El
+.El
+.Pp
+The function does not sleep or block.
+It could cause the
+.Nm Device Not Available
+exception during execution, and on the first FPU access after the
+function returns, as well as after each context switch
+(see Intel Software Developer Manual for the reference).
+Currently, no errors are defined which can be returned by
+.Fn fpu_kern_enter
+to the caller.
+.Pp
+The
+.Fn fpu_kern_leave
+function ends the region started by
+.Fn fpu_kern_enter .
+The uses of FPU in the kernel after the call to
+.Fn fpu_kern_leave
+are erroneous until the next call to
+.Fn fpu_kern_enter
+is performed.
+The function takes the
+.Fa td
+thread argument, which currently must be
+.Va curthread ,
+and the
+.Fa ctx
+context pointer, previously passed to
+.Fn fpu_kern_enter .
+After the function returns, the context may be freed or reused
+by other invocation of
+.Fn fpu_kern_enter .
+There are no errors defined for the function, it always returns 0.
+.Pp
+The
+.Fn fpu_kern_thread
+function provides an optimization for threads which never leave to
+the usermode.
+Such thread can reuse the usermode save area for the FPU state,
+which is allowed by the function call.
+There is no flags defined for the function, and no error states
+that the function returns.
+.Pp
+The
+.Fn is_fpu_kern_thread
+function returns the boolean indicating whether the current thread
+entered the mode enabled by
+.Fn fpu_kern_thread .
+There is currently no flags defined for the function, the return
+value is true if the current thread have the permanent FPU save area,
+and false otherwise.
+.Sh NOTES
+The
+.Nm
+is currently implemented only for the i386 and amd64 architectures.
+.Pp
+There is no way to handle floating point exceptions raised from
+kernel mode.
+.Pp
+The unused
+.Fa flags
+arguments
+to the
+.Nm
+functions are to be extended to allow specification of the
+set of the FPU hardware state used by the code region.
+This would allow optimizations of saving and restoring the state.
+.Sh AUTHORS
+The
+.Nm
+facitily and this manual page were written by
+.An Konstantin Belousov Aq Mt kib at FreeBSD.org .


Property changes on: trunk/share/man/man9/fpu_kern.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/g_access.9
===================================================================
--- trunk/share/man/man9/g_access.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_access.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_access.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd January 16, 2004
 .Dt G_ACCESS 9


Property changes on: trunk/share/man/man9/g_access.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_attach.9
===================================================================
--- trunk/share/man/man9/g_attach.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_attach.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_attach.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd January 16, 2004
 .Dt G_ATTACH 9


Property changes on: trunk/share/man/man9/g_attach.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_bio.9
===================================================================
--- trunk/share/man/man9/g_bio.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_bio.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004-2006 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,9 +23,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_bio.9 292201 2015-12-14 11:38:43Z brueffer $
 .\"
-.Dd November 1, 2006
+.Dd December 7, 2015
 .Dt G_BIO 9
 .Os
 .Sh NAME
@@ -253,7 +254,7 @@
 	/* Ok, schedule it down. */
 	/*
 	 * The consumer can be obtained from
-	 * LIST_FIRST(&bp->bio_to->geom->consumers) as well,
+	 * LIST_FIRST(&bp->bio_to->geom->consumer) as well,
 	 * if there is only one in our geom.
 	 */
 	g_io_request(cbp, sc->ex_consumer);


Property changes on: trunk/share/man/man9/g_bio.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_consumer.9
===================================================================
--- trunk/share/man/man9/g_consumer.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_consumer.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_consumer.9 156806 2006-03-17 13:13:18Z des $
 .\"
 .Dd January 16, 2004
 .Dt G_CONSUMER 9


Property changes on: trunk/share/man/man9/g_consumer.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_data.9
===================================================================
--- trunk/share/man/man9/g_data.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_data.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004-2005 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_data.9 141997 2005-02-16 22:24:15Z pjd $
 .\"
 .Dd January 16, 2004
 .Dt G_DATA 9


Property changes on: trunk/share/man/man9/g_data.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_event.9
===================================================================
--- trunk/share/man/man9/g_event.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_event.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_event.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd January 16, 2004
 .Dt G_EVENT 9


Property changes on: trunk/share/man/man9/g_event.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_geom.9
===================================================================
--- trunk/share/man/man9/g_geom.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_geom.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_geom.9 211397 2010-08-16 15:18:30Z joel $
 .\"
 .Dd January 16, 2004
 .Dt G_GEOM 9


Property changes on: trunk/share/man/man9/g_geom.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_provider.9
===================================================================
--- trunk/share/man/man9/g_provider.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_provider.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_provider.9 131689 2004-07-06 08:21:12Z ru $
 .\"
 .Dd January 16, 2004
 .Dt G_PROVIDER 9


Property changes on: trunk/share/man/man9/g_provider.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_provider_by_name.9
===================================================================
--- trunk/share/man/man9/g_provider_by_name.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_provider_by_name.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_provider_by_name.9 131689 2004-07-06 08:21:12Z ru $
 .\"
 .Dd January 16, 2004
 .Dt G_PROVIDER_BY_NAME 9


Property changes on: trunk/share/man/man9/g_provider_by_name.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/g_wither_geom.9
===================================================================
--- trunk/share/man/man9/g_wither_geom.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/g_wither_geom.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/g_wither_geom.9 211397 2010-08-16 15:18:30Z joel $
 .\"
 .Dd January 16, 2004
 .Dt G_WITHER_GEOM 9


Property changes on: trunk/share/man/man9/g_wither_geom.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/get_cyclecount.9
===================================================================
--- trunk/share/man/man9/get_cyclecount.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/get_cyclecount.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 Mark R V Murray
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/get_cyclecount.9 306378 2016-09-27 19:00:22Z pluknet $
 .\"
 .Dd March 15, 2011
 .Dt GET_CYCLECOUNT 9
@@ -34,7 +35,7 @@
 .In sys/param.h
 .In sys/systm.h
 .In machine/cpu.h
-.Ft u_int64_t
+.Ft uint64_t
 .Fn get_cyclecount "void"
 .Sh DESCRIPTION
 The
@@ -77,7 +78,6 @@
 processors use the
 .Li TSC
 register.
-.Pp
 The
 .Tn IA64
 processors use the


Property changes on: trunk/share/man/man9/get_cyclecount.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/getnewvnode.9
===================================================================
--- trunk/share/man/man9/getnewvnode.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/getnewvnode.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/getnewvnode.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd November 21, 2001
 .Dt GETNEWVNODE 9


Property changes on: trunk/share/man/man9/getnewvnode.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/groupmember.9
===================================================================
--- trunk/share/man/man9/groupmember.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/groupmember.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/groupmember.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt GROUPMEMBER 9


Property changes on: trunk/share/man/man9/groupmember.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/hash.9
===================================================================
--- trunk/share/man/man9/hash.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/hash.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 Tobias Weingartner
 .\" All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"     $OpenBSD: hash.9,v 1.5 2003/04/17 05:08:39 jmc Exp $
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/hash.9 299386 2016-05-10 20:12:27Z wblock $
 .\"
-.Dd April 3, 2007
+.Dd September 4, 2012
 .Dt HASH 9
 .Os
 .Sh NAME
@@ -36,7 +37,9 @@
 .Nm hash32_str ,
 .Nm hash32_strn ,
 .Nm hash32_stre ,
-.Nm hash32_strne
+.Nm hash32_strne ,
+.Nm jenkins_hash32 ,
+.Nm jenkins_hash
 .Nd general kernel hashing functions
 .Sh SYNOPSIS
 .In sys/hash.h
@@ -50,6 +53,10 @@
 .Fn hash32_stre "const void *buf" "int end" "const char **ep" "uint32_t hash"
 .Ft uint32_t
 .Fn hash32_strne "const void *buf" "size_t len" "int end" "const char **ep" "uint32_t hash"
+.Ft uint32_t
+.Fn jenkins_hash "const void *buf" "size_t len" "uint32_t hash"
+.Ft uint32_t
+.Fn jenkins_hash32 "const uint32_t *buf" "size_t count" "uint32_t hash"
 .Sh DESCRIPTION
 The
 .Fn hash32
@@ -107,6 +114,23 @@
 .Dv NULL ,
 it is set to the point in the buffer at which the hash function
 terminated hashing.
+.Pp
+The
+.Fn jenkins_hash
+function has same semantics as the
+.Fn hash32_buf ,
+but provides more advanced hashing algorithm with better distribution.
+.Pp
+The
+.Fn jenkins_hash32
+uses same hashing algorithm as the
+.Fn jenkins_hash
+function, but works only on
+.Ft uint32_t
+sized arrays, thus is simpler and faster.
+It accepts an array of
+.Ft uint32_t
+values in its first argument and size of this array in the second argument.
 .Sh RETURN VALUES
 The
 .Fn hash32
@@ -150,12 +174,24 @@
 .Sh HISTORY
 The
 .Nm
-functions were first committed to
+functions first appeared in
 .Nx 1.6 .
+The current implementation of
+.Nm hash32
+functions was first committed to
+.Ox 3.2 ,
+and later imported to
+.Fx 6.1 .
 The
-.Ox
-versions were written and massaged for
-.Ox 2.3
-by Tobias Weingartner,
-and finally committed for
-.Ox 3.2 .
+.Nm jenkins_hash
+functions were added in
+.Fx 10.0 .
+.Sh AUTHORS
+The
+.Nm hash32
+functions were written by
+.An Tobias Weingartner .
+The
+.Nm jenkins_hash
+functions was written by
+Bob Jenkins .


Property changes on: trunk/share/man/man9/hash.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/hashinit.9
===================================================================
--- trunk/share/man/man9/hashinit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/hashinit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Joseph Koshy
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/hashinit.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd October 10, 2004
 .Dt HASHINIT 9


Property changes on: trunk/share/man/man9/hashinit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/hexdump.9
===================================================================
--- trunk/share/man/man9/hexdump.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/hexdump.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2003 Scott Long
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/hexdump.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd December 7, 2003
 .Dt HEXDUMP 9


Property changes on: trunk/share/man/man9/hexdump.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/hhook.9
===================================================================
--- trunk/share/man/man9/hhook.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/hhook.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2010-2011 The FreeBSD Foundation
 .\" All rights reserved.
@@ -28,9 +29,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/hhook.9 252052 2013-06-21 03:37:35Z lstewart $
 .\"
-.Dd February 15, 2011
+.Dd June 21, 2013
 .Dt HHOOK 9
 .Os
 .Sh NAME
@@ -380,9 +381,3 @@
 .An David Hayes Aq david.hayes at ieee.org
 and
 .An Lawrence Stewart Aq lstewart at FreeBSD.org .
-.Sh BUGS
-The framework does not currently support registering hook points in subsystems
-which have not been virtualised with VIMAGE.
-Fairly minimal internal changes to the
-.Nm
-implementation are required to address this.


Property changes on: trunk/share/man/man9/hhook.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211.9
===================================================================
--- trunk/share/man/man9/ieee80211.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd April 28, 2010
 .Dt IEEE80211 9


Property changes on: trunk/share/man/man9/ieee80211.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_amrr.9
===================================================================
--- trunk/share/man/man9/ieee80211_amrr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_amrr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_amrr.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE8021_AMRR 9


Property changes on: trunk/share/man/man9/ieee80211_amrr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_beacon.9
===================================================================
--- trunk/share/man/man9/ieee80211_beacon.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_beacon.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_beacon.9 197300 2009-09-18 00:33:47Z brueffer $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_BEACON 9


Property changes on: trunk/share/man/man9/ieee80211_beacon.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_bmiss.9
===================================================================
--- trunk/share/man/man9/ieee80211_bmiss.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_bmiss.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_bmiss.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_BMISS 9


Property changes on: trunk/share/man/man9/ieee80211_bmiss.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_crypto.9
===================================================================
--- trunk/share/man/man9/ieee80211_crypto.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_crypto.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Bruce M. Simpson <bms at spc.org>
 .\" Copyright (c) 2004 Darron Broad <darron at kewl.org>
@@ -24,8 +25,8 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
-.\" $Id: ieee80211_crypto.9,v 1.2 2012-12-29 23:19:06 laffer1 Exp $
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_crypto.9 262007 2014-02-17 01:36:53Z kevlo $
+.\" $Id: ieee80211_crypto.9,v 1.3 2004/03/04 10:42:56 bruce Exp $
 .\"
 .Dd March 29, 2010
 .Dt IEEE80211_CRYPTO 9
@@ -127,7 +128,7 @@
 cipher modules register their services using
 .Fn ieee80211_crypto_register
 and supply a template that describes their operation.
-This 
+This
 .Vt ieee80211_cipher
 structure defines protocol-related state such as the number of bytes
 of space in the 802.11 header to reserve/remove during encap/decap
@@ -153,7 +154,7 @@
 .Sh CRYPTO KEY MANAGEMENT
 The
 .Nm net80211
-layer implements a per-vap 4-element 
+layer implements a per-vap 4-element
 .Dq global key table
 and a per-station
 .Dq unicast key
@@ -235,8 +236,8 @@
 For receive, drivers mark frames with the
 .Dv M_WEP
 mbuf flag to indicate the hardware has decrypted the payload.
-If frames have the 
-.Dv IEEE80211_FC1_WEP
+If frames have the
+.Dv IEEE80211_FC1_PROTECTED
 bit marked in their 802.11 header and are not tagged with
 .Dv M_WEP
 then decryption is done in software.


Property changes on: trunk/share/man/man9/ieee80211_crypto.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_ddb.9
===================================================================
--- trunk/share/man/man9/ieee80211_ddb.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_ddb.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_ddb.9 213573 2010-10-08 12:40:16Z uqs $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_DDB 9


Property changes on: trunk/share/man/man9/ieee80211_ddb.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_input.9
===================================================================
--- trunk/share/man/man9/ieee80211_input.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_input.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Bruce M. Simpson <bms at spc.org>
 .\" Copyright (c) 2004 Darron Broad <darron at kewl.org>
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_input.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_INPUT 9


Property changes on: trunk/share/man/man9/ieee80211_input.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_node.9
===================================================================
--- trunk/share/man/man9/ieee80211_node.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_node.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Bruce M. Simpson <bms at spc.org>
 .\" Copyright (c) 2004 Darron Broad <darron at kewl.org>
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_node.9 238542 2012-07-17 02:05:39Z kevlo $
 .\"
 .Dd April 28, 2010
 .Dt IEEE80211_NODE 9
@@ -185,7 +186,7 @@
 {
         struct iwi_node *in;
 
-        in = malloc(sizeof (struct iwi_node), M_80211_NODE,
+        in = malloc(sizeof(struct iwi_node), M_80211_NODE,
 		M_NOWAIT | M_ZERO);
         if (in == NULL)
                 return NULL;


Property changes on: trunk/share/man/man9/ieee80211_node.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_output.9
===================================================================
--- trunk/share/man/man9/ieee80211_output.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_output.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Bruce M. Simpson <bms at spc.org>
 .\" Copyright (c) 2004 Darron Broad <darron at kewl.org>
@@ -24,8 +25,8 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
-.\" $Id: ieee80211_output.9,v 1.2 2012-12-29 23:19:06 laffer1 Exp $
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_output.9 233648 2012-03-29 05:02:12Z eadler $
+.\" $Id: ieee80211_output.9,v 1.5 2004/03/04 12:31:18 bruce Exp $
 .\"
 .Dd March 29, 2010
 .Dt IEEE80211_OUTPUT 9


Property changes on: trunk/share/man/man9/ieee80211_output.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_proto.9
===================================================================
--- trunk/share/man/man9/ieee80211_proto.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_proto.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_proto.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_PROTO 9


Property changes on: trunk/share/man/man9/ieee80211_proto.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_radiotap.9
===================================================================
--- trunk/share/man/man9/ieee80211_radiotap.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_radiotap.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004	Bruce M. Simpson <bms at spc.org>,
 .\"			Darron Broad <darron at kewl.org>,
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_radiotap.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_RADIOTAP 9


Property changes on: trunk/share/man/man9/ieee80211_radiotap.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_regdomain.9
===================================================================
--- trunk/share/man/man9/ieee80211_regdomain.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_regdomain.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_regdomain.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE80211_REGDOMAIN 9


Property changes on: trunk/share/man/man9/ieee80211_regdomain.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_scan.9
===================================================================
--- trunk/share/man/man9/ieee80211_scan.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_scan.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_scan.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd March 29, 2010
 .Dt IEEE80211_SCAN 9


Property changes on: trunk/share/man/man9/ieee80211_scan.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ieee80211_vap.9
===================================================================
--- trunk/share/man/man9/ieee80211_vap.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ieee80211_vap.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ieee80211_vap.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd August 4, 2009
 .Dt IEEE8021_VAP 9


Property changes on: trunk/share/man/man9/ieee80211_vap.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ifnet.9
===================================================================
--- trunk/share/man/man9/ifnet.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ifnet.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- Nroff -*-
 .\" Copyright 1996, 1997 Massachusetts Institute of Technology
 .\"
@@ -26,9 +27,9 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ifnet.9 316239 2017-03-30 06:00:30Z ngie $
 .\"
-.Dd July 3, 2011
+.Dd March 22, 2017
 .Dt IFNET 9
 .Os
 .Sh NAME
@@ -66,21 +67,26 @@
 .Fn if_allmulti "struct ifnet *ifp" "int amswitch"
 .Ft "struct ifnet *"
 .Fn ifunit "const char *name"
+.Ft "struct ifnet *"
+.Fn ifunit_ref "const char *name"
 .Ft void
 .Fn if_up "struct ifnet *ifp"
 .\"
 .Ss "Interface Address Functions"
 .Ft "struct ifaddr *"
+.Fn ifaddr_byindex "u_short idx"
+.Ft "struct ifaddr *"
 .Fn ifa_ifwithaddr "struct sockaddr *addr"
 .Ft "struct ifaddr *"
 .Fn ifa_ifwithdstaddr "struct sockaddr *addr"
 .Ft "struct ifaddr *"
-.Fn ifa_ifwithnet "struct sockaddr *addr"
+.Fn ifa_ifwithnet "struct sockaddr *addr" "int ignore_ptp"
 .Ft "struct ifaddr *"
 .Fn ifaof_ifpforaddr "struct sockaddr *addr" "struct ifnet *ifp"
 .Ft void
-.Fn ifafree "struct ifaddr *ifa"
-.Fn IFAFREE "struct ifaddr *ifa"
+.Fn ifa_ref "struct ifaddr *ifa"
+.Ft void
+.Fn ifa_free "struct ifaddr *ifa"
 .\"
 .Ss "Interface Multicast Address Functions"
 .Ft int
@@ -88,7 +94,7 @@
 .Ft int
 .Fn if_delmulti "struct ifnet *ifp" "struct sockaddr *sa"
 .Ft "struct ifmultiaddr *"
-.Fn ifmaof_ifpforaddr "struct sockaddr *addr" "struct ifnet *ifp"
+.Fn if_findmulti "struct ifnet *ifp" "struct sockaddr *sa"
 .Ss "Output queue macros"
 .Fn IF_DEQUEUE "struct ifqueue *ifq" "struct mbuf *m"
 .\"
@@ -98,7 +104,7 @@
 .Ft int
 .Fo \*(lp*if_output\*(rp
 .Fa "struct ifnet *ifp" "struct mbuf *m"
-.Fa "struct sockaddr *dst" "struct rtentry *rt"
+.Fa "const struct sockaddr *dst" "struct route *ro"
 .Fc
 .Ft void
 .Fn \*(lp*if_start\*(rp "struct ifnet *ifp"
@@ -107,10 +113,8 @@
 .Ft void
 .Fn \*(lp*if_qflush\*(rp "struct ifnet *ifp"
 .Ft int
-.Fn \*(lp*if_ioctl\*(rp "struct ifnet *ifp" "int cmd" "caddr_t data"
+.Fn \*(lp*if_ioctl\*(rp "struct ifnet *ifp" "u_long cmd" "caddr_t data"
 .Ft void
-.Fn \*(lp*if_watchdog\*(rp "struct ifnet *ifp"
-.Ft void
 .Fn \*(lp*if_init\*(rp "void *if_softc"
 .Ft int
 .Fo \*(lp*if_resolvemulti\*(rp
@@ -119,12 +123,12 @@
 .Ss "struct ifaddr member function"
 .Ft void
 .Fo \*(lp*ifa_rtrequest\*(rp
-.Fa "int cmd" "struct rtentry *rt" "struct sockaddr *dst"
+.Fa "int cmd" "struct rtentry *rt" "struct rt_addrinfo *info"
 .Fc
 .\"
 .Ss "Global Variables"
 .Vt extern struct ifnethead ifnet ;
-.Vt extern struct ifaddr **ifnet_addrs ;
+.\" extern struct ifindex_entry *ifindex_table ;
 .Vt extern int if_index ;
 .Vt extern int ifqmaxlen ;
 .Sh DATA STRUCTURES
@@ -178,23 +182,23 @@
 Each interface structure
 contains an
 .Vt if_data
-structure, which contains statistics and identifying information used
-by management programs, and which is exported to user programs by way
-of the
-.Xr ifmib 4
-branch of the
-.Xr sysctl 3
-MIB.
+structure used for statistics and information.
 Each interface also has a
 .Li TAILQ
 of interface addresses, described by
 .Vt ifaddr
-structures; the head of the queue is always an
+structures.
+An
 .Dv AF_LINK
 address
 (see
 .Xr link_addr 3 )
-describing the link layer implemented by the interface (if any).
+describing the link layer implemented by the interface (if any)
+is accessed by the
+.Fn ifaddr_byindex
+function or
+.Va if_addr
+structure.
 (Some trivial interfaces do not provide any link layer addresses;
 this structure, while still present, serves only to identify the
 interface name and index.)
@@ -226,6 +230,18 @@
 A pointer to the common data for the interface's layer 2 protocol.
 (Initialized by
 .Fn if_alloc . )
+.It Va if_vnet
+.Pq Vt "struct vnet *"
+A pointer to the virtual network stack instance.
+(Initialized by
+.Fn if_attach . )
+.It Va if_home_vnet
+.Pq Vt "struct vnet *"
+A pointer to the parent virtual network stack, where this
+.Vt "struct ifnet"
+originates from.
+(Initialized by
+.Fn if_attach . )
 .It Va if_link
 .Pq Fn TAILQ_ENTRY ifnet
 .Xr queue 3
@@ -256,6 +272,11 @@
 (Initialized by driver
 (usually via
 .Fn if_initname ) . )
+.It Va if_refcount
+.Pq Vt u_int
+The reference count.
+(Initialized by
+.Fn if_alloc . )
 .It Va if_addrhead
 .Pq Vt "struct ifaddrhead"
 The head of the
@@ -268,6 +289,13 @@
 reference-count the
 .Dv IFF_PROMISC
 flag.
+.It Va if_carp
+.Pq Vt "struct carp_if *"
+A pointer to the CARP interface structure,
+.Xr carp 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
 .It Va if_bpf
 .Pq Vt "struct bpf_if *"
 Opaque per-interface data for the packet filter,
@@ -285,6 +313,13 @@
 .Xr link_addr 3 ) .
 (Initialized by
 .Fn if_alloc . )
+.It Va if_vlantrunk
+.Pq Vt struct ifvlantrunk *
+A pointer to 802.1Q trunk structure,
+.Xr vlan 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
 .It Va if_flags
 .Pq Vt int
 Flags describing operational parameters of this interface (see below).
@@ -299,17 +334,6 @@
 .It Va if_capenable
 .Pq Vt int
 Flags describing the enabled capabilities of the interface (see below).
-.\" .It Va if_ipending
-.\" Interrupt-pending bits for polled operation:
-.\" .Dv IFI_XMIT
-.\" (transmit complete interrupt)
-.\" and
-.\" .Dv IFI_RECV
-.\" (received packet ready interrupt).
-.\" See the
-.\" .Sx Polling
-.\" section, below.
-.\" (Manipulated by driver.)
 .It Va if_linkmib
 .Pq Vt "void *"
 A pointer to an interface-specific MIB structure exported by
@@ -326,20 +350,113 @@
 below.
 (Initialized by driver, manipulated by both driver and generic
 code.)
+.It Va if_multiaddrs
+.Pq Vt struct ifmultihead
+The head of the
+.Xr queue 3
+.Li TAILQ
+containing the list of multicast addresses assigned to this interface.
+.It Va if_amcount
+.Pq Vt int
+A number of multicast requests on this interface, used to
+reference-count the
+.Dv IFF_ALLMULTI
+flag.
+.It Va if_addr
+.Pq Vt "struct ifaddr *"
+A pointer to the link-level interface address.
+(Initialized by
+.Fn if_alloc . )
+.\" .It Va if_llsoftc
+.\" .Pq Vt "void *"
+.\" The purpose of the field is unclear.
 .It Va if_snd
-.Pq Vt "struct ifqueue"
+.Pq Vt "struct ifaltq"
 The output queue.
 (Manipulated by driver.)
-.\".It Va if_poll_slowq
-.\".Pq Vt "struct ifqueue *"
-.\"A pointer to the input queue for devices which do not support polling
-.\"well.
-.\"See the
-.\".Sx Polling
-.\"section, below.
-.\"(Initialized by driver.)
+.It Va if_broadcastaddr
+.Pq Vt "const u_int8_t *"
+A link-level broadcast bytestring for protocols with variable address
+length.
+.It Va if_bridge
+.Pq Vt "void *"
+A pointer to the bridge interface structure,
+.Xr if_bridge 4 .
+(Initialized by the driver-specific
+.Fn if_ioctl
+routine.)
+.It Va if_label
+.Pq Vt "struct label *"
+A pointer to the MAC Framework label structure,
+.Xr mac 4 .
+(Initialized by
+.Fn if_alloc . )
+.It Va if_afdata
+.Pq Vt "void *"
+An address family dependent data region.
+.It Va if_afdata_initialized
+.Pq Vt int
+Used to track the current state of address family initialization.
+.It Va if_afdata_lock
+.Pq Vt "struct rwlock"
+An
+.Xr rwlock 9
+lock used to protect
+.Va if_afdata
+internals.
+.It Va if_linktask
+.Pq Vt "struct task"
+A
+.Xr taskqueue 9
+task scheduled for link state change events of the interface.
+.It Va if_addr_lock
+.Pq Vt "struct rwlock"
+An
+.Xr rwlock 9
+lock used to protect interface-related address lists.
+.It Va if_clones
+.Pq Fn LIST_ENTRY ifnet
+.Xr queue 3
+macro glue for the list of clonable network interfaces.
+.It Va if_groups
+.Pq Fn TAILQ_HEAD ", ifg_list"
+The head of the
+.Xr queue 3
+.Li TAILQ
+containing the list of groups per interface.
+.It Va if_pf_kif
+.Pq Vt "void *"
+A pointer to the structure used for interface abstraction by
+.Xr pf 4 .
+.It Va if_lagg
+.Pq Vt "void *"
+A pointer to the
+.Xr lagg 4
+interface structure.
+.It Va if_alloctype
+.Pq Vt u_char
+The type of the interface as it was at the time of its allocation.
+It is used to cache the type passed to
+.Fn if_alloc ,
+but unlike
+.Va if_type ,
+it would not be changed by drivers.
 .El
 .Pp
+References to
+.Vt ifnet
+structures are gained by calling the
+.Fn if_ref
+function and released by calling the
+.Fn if_rele
+function.
+They are used to allow kernel code walking global interface lists
+to release the
+.Vt ifnet
+lock yet keep the
+.Vt ifnet
+structure stable.
+.Pp
 There are in addition a number of function pointers which the driver
 must initialize to complete its interface with the generic interface
 layer:
@@ -364,21 +481,21 @@
 .Dv ENOBUFS
 if the devices software and hardware queues are both full.
 This function must be installed after
-.Fn if_attach 
+.Fn if_attach
 to override the default implementation.
 This function is exposed in order to allow drivers to manage their own queues
 and to reduce the latency caused by a frequently gratuitous enqueue / dequeue
 pair to ifq.
-The suggested internal software queueing mechanism is buf_ring.
+The suggested internal software queuing mechanism is buf_ring.
 .It Fn if_qflush
 Free mbufs in internally managed queues when the interface is marked down.
-This function must be installed after 
-.Fn if_attach 
+This function must be installed after
+.Fn if_attach
 to override the default implementation.
 This function is exposed in order to allow drivers to manage their own queues
 and to reduce the latency caused by a frequently gratuitous enqueue / dequeue
 pair to ifq.
-The suggested internal software queueing mechanism is buf_ring.
+The suggested internal software queuing mechanism is buf_ring.
 .It Fn if_start
 Start queued output on an interface.
 This function is exposed in
@@ -394,10 +511,6 @@
 does not literally mean that output is active, but rather that the
 device's internal output queue is full.) Please note that this function
 will soon be deprecated.
-.It Fn if_done
-Not used.
-We are not even sure what it was ever for.
-The prototype is faked.
 .It Fn if_ioctl
 Process interface-related
 .Xr ioctl 2
@@ -412,13 +525,6 @@
 See the description of
 .Fn ifioctl
 below for more information.
-.\" .It Fn if_poll_recv
-.\" .It Fn if_poll_xmit
-.\" .It Fn if_poll_slowinput
-.\" .It Fn if_poll_intren
-.\" See the
-.\" .Sx Polling
-.\" section, below.
 .It Fn if_init
 Initialize and bring up the hardware,
 e.g., reset the chip and enable the receiver unit.
@@ -478,6 +584,14 @@
 The interface is point-to-point;
 .Dq broadcast
 address is actually the address of the other end.
+.It Dv IFF_SMART
+.Aq S*
+The interface manages its own routes, rather than using the generic
+code in
+.Fn if_up
+and
+.Fn if_down .
+This is probably useful for serial lines.
 .It Dv IFF_DRV_RUNNING
 .Aq D*
 The interface has been configured and dynamic resources were
@@ -514,14 +628,31 @@
 .It Dv IFF_MULTICAST
 .Aq S*
 This interface supports multicast.
-.It Dv IFF_POLLING
+.It Dv IFF_CANTCONFIG
+.Aq S*
+The interface is not configurable in a meaningful way.
+Primarily useful for
+.Dv IFT_USB
+interfaces registered at the interface list.
+.It Dv IFF_MONITOR
+.Aq D
+This interface blocks transmission of packets and discards incoming
+packets after BPF processing.
+Used to monitor network traffic but not interact
+with the network in question.
+.It Dv IFF_STATICARP
+.Aq D
+Used to enable/disable ARP requests on this interface.
+.It Dv IFF_DYING
 .Aq D*
-The interface is in
-.Xr polling 4
-mode.
-See
-.Sx Interface Capabilities Flags
-for details.
+Set when the
+.Vt ifnet
+structure of this interface is being released and still has
+.Va if_refcount
+references.
+.It Dv IFF_RENAMING
+.Aq D*
+Set when this interface is being renamed.
 .El
 .Ss "Interface Capabilities Flags"
 Interface capabilities are specialized features an interface may
@@ -555,13 +686,7 @@
 .Xr ioctl 2 .
 .Pp
 The following capabilities are currently supported by the system:
-.Bl -tag -width ".Dv IFCAP_VLAN_HWTAGGING" -offset indent
-.It Dv IFCAP_NETCONS
-This interface can be a network console.
-.It Dv IFCAP_POLLING
-This interface supports
-.Xr polling 4 .
-See below for details.
+.Bl -tag -width ".Dv IFCAP_POLLING_NOCOUNT" -offset indent
 .It Dv IFCAP_RXCSUM
 This interface can do checksum validation on receiving data.
 Some interfaces do not have sufficient buffer storage to store frames
@@ -573,9 +698,8 @@
 .It Dv IFCAP_HWCSUM
 A shorthand for
 .Pq Dv IFCAP_RXCSUM | IFCAP_TXCSUM .
-.It Dv IFCAP_VLAN_HWTAGGING
-This interface can do VLAN tagging on output and
-demultiplex frames by their VLAN tag on input.
+.It Dv IFCAP_NETCONS
+This interface can be a network console.
 .It Dv IFCAP_VLAN_MTU
 The
 .Xr vlan 4
@@ -585,22 +709,35 @@
 interfaces below 1500 bytes.
 This implies the ability of this interface to cope with frames somewhat
 longer than permitted by the Ethernet specification.
+.It Dv IFCAP_VLAN_HWTAGGING
+This interface can do VLAN tagging on output and
+demultiplex frames by their VLAN tag on input.
 .It Dv IFCAP_JUMBO_MTU
 This Ethernet interface can transmit and receive frames up to
 9000 bytes long.
+.It Dv IFCAP_POLLING
+This interface supports
+.Xr polling 4 .
+See below for details.
+.It Dv IFCAP_VLAN_HWCSUM
+This interface can do checksum calculation on both transmitting
+and receiving data on
+.Xr vlan 4
+interfaces (implies
+.Dv IFCAP_HWCSUM ) .
 .It Dv IFCAP_TSO4
-This Ethernet interface supports TCP Segmentation offloading.
+This Ethernet interface supports TCP4 Segmentation offloading.
 .It Dv IFCAP_TSO6
 This Ethernet interface supports TCP6 Segmentation offloading.
 .It Dv IFCAP_TSO
-A shorthand for 
+A shorthand for
 .Pq Dv IFCAP_TSO4 | IFCAP_TSO6 .
 .It Dv IFCAP_TOE4
 This Ethernet interface supports TCP offloading.
 .It Dv IFCAP_TOE6
 This Ethernet interface supports TCP6 offloading.
-.It Dv ICAP_TOE
-A Shorthand for 
+.It Dv IFCAP_TOE
+A shorthand for
 .Pq Dv IFCAP_TOE4 | IFCAP_TOE6 .
 .It Dv IFCAP_WOL_UCAST
 This Ethernet interface supports waking up on any Unicast packet.
@@ -613,6 +750,27 @@
 .It Dv IFCAP_WOL
 A shorthand for
 .Pq Dv IFCAP_WOL_UCAST | IFCAP_WOL_MCAST | IFCAP_WOL_MAGIC .
+.It Dv IFCAP_TOE4
+This Ethernet interface supports TCP4 Offload Engine.
+.It Dv IFCAP_TOE6
+This Ethernet interface supports TCP6 Offload Engine.
+.It Dv IFCAP_TOE
+A shorthand for
+.Pq Dv IFCAP_TOE4 | IFCAP_TOE6 .
+.It Dv IFCAP_VLAN_HWFILTER
+This interface supports frame filtering in hardware on
+.Xr vlan 4
+interfaces.
+.It Dv IFCAP_POLLING_NOCOUNT
+The return value for the number of processed packets should be
+skipped for this interface.
+.It Dv IFCAP_VLAN_HWTSO
+This interface supports TCP Segmentation offloading on
+.Xr vlan 4
+interfaces (implies
+.Dv IFCAP_TSO ) .
+.It Dv IFCAP_LINKSTATE
+This Ethernet interface supports dynamic link state changes.
 .El
 .Pp
 The ability of advanced network interfaces to offload certain
@@ -638,18 +796,6 @@
 The interface will compute TCP checksums.
 .It Dv CSUM_UDP
 The interface will compute UDP checksums.
-.It Dv CSUM_IP_FRAGS
-The interface can compute a TCP or UDP checksum for a packet
-fragmented by the host CPU.
-Makes sense only along with
-.Dv CSUM_TCP
-or
-.Dv CSUM_UDP .
-.It Dv CSUM_FRAGMENT
-The interface will do the fragmentation of IP packets if necessary.
-The host CPU does not need to care about MTU on this interface
-as long as a packet to transmit through it is an IP one and it
-does not exceed the size of the hardware buffer.
 .El
 .Pp
 An interface notifies the TCP/IP module about the tasks
@@ -668,20 +814,7 @@
 .Xr polling 4
 mode involves several flags in different
 global variables and per-interface fields.
-First, there is a system-wide
-.Xr sysctl 8
-master switch named
-.Va kern.polling.enable ,
-which can toggle
-.Xr polling 4
-globally.
-If that variable is set to non-zero,
-.Xr polling 4
-will be used on those devices where it is enabled individually.
-Otherwise,
-.Xr polling 4
-will not be used in the system.
-Second, the capability flag
+The capability flag
 .Dv IFCAP_POLLING
 set in interface's
 .Va if_capabilities
@@ -691,29 +824,29 @@
 If set in
 .Va if_capabilities ,
 the same flag can be marked or cleared in the interface's
-.Va if_capenable ,
+.Va if_capenable
+within
+.Fn ifioctl ,
 thus initiating switch of the interface to
 .Xr polling 4
 mode or interrupt
 mode, respectively.
-The actual mode change will occur at an implementation-specific moment
-in the future, e.g., during the next interrupt or
+The actual mode change is managed by the driver-specific
+.Fn if_ioctl
+routine.
+The
 .Xr polling 4
-cycle.
-And finally, if the mode transition has been successful, the flag
-.Dv IFF_POLLING
-is marked or cleared in the interface's
-.Va if_flags
-to indicate the current mode of the interface.
+handler returns the number of packets processed.
 .Ss The Vt if_data Ss Structure
-In
-.Bx 4.4 ,
-a subset of the interface information believed to be of interest to
-management stations was segregated from the
-.Vt ifnet
-structure and moved into its own
+The
 .Vt if_data
-structure to facilitate its use by user programs.
+structure contains statistics and identifying information used
+by management programs, and which is exported to user programs by way
+of the
+.Xr ifmib 4
+branch of the
+.Xr sysctl 3
+MIB.
 The following elements of the
 .Vt if_data
 structure are initialized by the interface and are not expected to change
@@ -749,18 +882,6 @@
 sufficient space to prepend a link-layer header without allocating an
 additional
 .Vt mbuf .
-.\" (See
-.\" .Xr mbuf 9 . )
-.\" .It Va ifi_recvquota
-.\" .Pq Vt u_char
-.\" Number of packets the interface is permitted to receive at one time
-.\" when in polled mode.
-.\" .It Va ifi_xmitquota
-.\" .Pq Vt u_char
-.\" Number of packets the interface is permitted to queue for transmission
-.\" at one time when in polled mode.
-.\" There is some controversy over
-.\" whether such a restriction makes any sense at all.
 .It Va ifi_datalen
 .Pq Vt u_char
 Length of the
@@ -841,18 +962,6 @@
 Rarely implemented.
 .It Va ifi_noproto
 Number of packets received for unknown network-layer protocol.
-.\" .It Va ifi_recvtiming
-.\" Amount of time, in microseconds, spent to receive an average packet on
-.\" this interface.
-.\" See the
-.\" .Sx Polling
-.\" section, below.
-.\" .It Va ifi_xmittiming
-.\" Amount of time, in microseconds, spent to service a transmit-complete
-.\" interrupt on this interface.
-.\" See the
-.\" .Sx Polling
-.\" section, below.
 .It Va ifi_lastchange
 .Pq Vt "struct timeval"
 The time of the last administrative change to the interface (as required
@@ -895,6 +1004,8 @@
 .Pq Dq Tn PLIP
 .It Dv IFT_ATM
 Asynchronous Transfer Mode
+.It Dv IFT_USB
+USB Interface
 .El
 .Ss Interface Link States
 The following link states are currently defined:
@@ -978,35 +1089,29 @@
 .Pp
 References to
 .Vt ifaddr
-structures are gained manually, by incrementing the
-.Va ifa_refcnt
-member.
-References are released by calling either the
-.Fn ifafree
-function or the
-.Fn IFAFREE
-macro.
+structures are gained by calling the
+.Fn ifa_ref
+function and released by calling the
+.Fn ifa_free
+function.
 .Pp
 .Fn ifa_rtrequest
 is a pointer to a function which receives callouts from the routing
 code
 .Pq Fn rtrequest
-to perform link-layer-specific actions upon requests to add, resolve,
+to perform link-layer-specific actions upon requests to add,
 or delete routes.
 The
 .Fa cmd
 argument indicates the request in question:
-.Dv RTM_ADD , RTM_RESOLVE ,
+.Dv RTM_ADD ,
 or
 .Dv RTM_DELETE .
 The
 .Fa rt
 argument is the route in question; the
-.Fa dst
-argument is the specific destination being manipulated
-for
-.Dv RTM_RESOLVE ,
-or a null pointer otherwise.
+.Fa info
+argument contains the specific destination being manipulated.
 .Sh FUNCTIONS
 The functions provided by the generic interface code can be divided
 into two groups: those which manipulate interfaces, and those which
@@ -1066,8 +1171,11 @@
 .Vt ifaddr
 structure to be the first element in that list.
 (A pointer to
-this address structure is saved in the global array
-.Va ifnet_addrs . )
+this address structure is saved in the
+.Vt ifnet
+structure and shall be accessed by the
+.Fn ifaddr_byindex
+function.)
 The
 .Fa ifp
 must have been allocated by
@@ -1132,6 +1240,17 @@
 .Vt ifnet
 pointer for the interface named
 .Fa name .
+.It Fn ifunit_ref
+Return a reference-counted (via
+.Fn ifa_ref )
+.Vt ifnet
+pointer for the interface named
+.Fa name .
+This is the preferred function over
+.Fn ifunit .
+The caller is responsible for releasing the reference with
+.Fn if_rele
+when it is finished with the ifnet.
 .It Fn ifioctl
 Process the ioctl request
 .Fa cmd ,
@@ -1245,10 +1364,8 @@
 .Fn if_delmulti
 function is called to perform the operation; qq.v.
 .Pp
-.It Dv SIOCSIFDSTADDR
-.It Dv SIOCSIFADDR
-.It Dv SIOCSIFBRDADDR
-.It Dv SIOCSIFNETMASK
+.It Dv SIOCAIFADDR
+.It Dv SIOCDIFADDR
 The socket's protocol control routine is called to implement the
 requested action.
 .Pp
@@ -1296,6 +1413,9 @@
 address whose remote address is
 .Fa addr
 if one is found.
+If
+.Fa ignore_ptp
+is true, skip point-to-point interface addresses.
 .Pp
 .Fn ifaof_ifpforaddr
 returns the most specific address configured on interface
@@ -1309,6 +1429,10 @@
 .Fa addr
 will be returned.
 .Pp
+.Fn ifaddr_byindex
+returns the link-level address of the interface with the given index
+.Fa idx .
+.Pp
 All of these functions return a null pointer if no such address can be
 found.
 .Ss "Interface Multicast Address Functions"
@@ -1316,7 +1440,7 @@
 .Fn if_addmulti ,
 .Fn if_delmulti ,
 and
-.Fn ifmaof_ifpforaddr
+.Fn if_findmulti
 functions provide support for requesting and relinquishing multicast
 group memberships, and for querying an interface's membership list,
 respectively.
@@ -1373,11 +1497,11 @@
 standard error number on failure.
 .Pp
 The
-.Fn ifmaof_ifpforaddr
+.Fn if_findmulti
 function examines the membership list of interface
 .Fa ifp
 for an address matching
-.Fa addr ,
+.Fa sa ,
 and returns a pointer to that
 .Vt "struct ifmultiaddr"
 if one is found, else it returns a null pointer.


Property changes on: trunk/share/man/man9/ifnet.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/inittodr.9
===================================================================
--- trunk/share/man/man9/inittodr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/inittodr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp $
 .\"
 .\" Copyright (c) 1994 Christopher G. Demetriou
@@ -29,7 +30,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/inittodr.9 121385 2003-10-23 02:33:03Z hmp $
 .\"
 .Dd March 22, 1997
 .Dt INITTODR 9


Property changes on: trunk/share/man/man9/inittodr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/insmntque.9
===================================================================
--- trunk/share/man/man9/insmntque.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/insmntque.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (C) 2008 Chad David <davidc at acns.ab.ca>.
 .\" All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/insmntque.9 209031 2010-06-11 06:03:47Z uqs $
 .\"
 .Dd September 8, 2008
 .Dt INSMNTQUE 9


Property changes on: trunk/share/man/man9/insmntque.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/intro.9
===================================================================
--- trunk/share/man/man9/intro.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/intro.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1983, 1991, 1993
 .\"	The Regents of the University of California.  All rights reserved.
 .\"
@@ -29,7 +30,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/intro.9 141846 2005-02-13 22:25:33Z ru $
 .\"
 .Dd December 13, 1995
 .Dt INTRO 9


Property changes on: trunk/share/man/man9/intro.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ithread.9
===================================================================
--- trunk/share/man/man9/ithread.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ithread.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ithread.9 217074 2011-01-06 21:14:34Z jhb $
 .\"
 .Dd August 25, 2006
 .Dt ITHREAD 9


Property changes on: trunk/share/man/man9/ithread.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kernacc.9
===================================================================
--- trunk/share/man/man9/kernacc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kernacc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: access.9,v 1.1 1996/06/16 10:38:35 pk Exp $
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -27,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kernacc.9 204604 2010-03-02 21:50:36Z joel $
 .\"
 .Dd June 16, 1996
 .Dt KERNACC 9


Property changes on: trunk/share/man/man9/kernacc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kernel_mount.9
===================================================================
--- trunk/share/man/man9/kernel_mount.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kernel_mount.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Tom Rhodes
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kernel_mount.9 269498 2014-08-04 03:59:48Z gjb $
 .\"
 .Dd December 13, 2004
 .Dt KERNEL_MOUNT 9
@@ -153,12 +154,12 @@
 
 	if (data == NULL)
 		return (EINVAL);
-	error = copyin(data, &args, sizeof args);
+	error = copyin(data, &args, sizeof(args));
 	if (error)
 		return (error);
 
 	ma = mount_argsu(ma, "from", args.fspec, MAXPATHLEN);
-	ma = mount_arg(ma, "export", &args.export, sizeof args.export);
+	ma = mount_arg(ma, "export", &args.export, sizeof(args.export));
 	ma = mount_argf(ma, "uid", "%d", args.uid);
 	ma = mount_argf(ma, "gid", "%d", args.gid);
 	ma = mount_argf(ma, "mask", "%d", args.mask);
@@ -194,8 +195,7 @@
 .Ed
 .Sh SEE ALSO
 .Xr VFS 9 ,
-.Xr VFS_MOUNT 9 ,
-.Xr vfs_mount 9
+.Xr VFS_MOUNT 9
 .Sh HISTORY
 The
 .Fn kernel_mount


Property changes on: trunk/share/man/man9/kernel_mount.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/khelp.9
===================================================================
--- trunk/share/man/man9/khelp.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/khelp.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2010-2011 The FreeBSD Foundation
 .\" All rights reserved.
@@ -28,7 +29,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/khelp.9 222286 2011-05-25 14:13:53Z ru $
 .\"
 .Dd February 15, 2011
 .Dt KHELP 9


Property changes on: trunk/share/man/man9/khelp.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kobj.9
===================================================================
--- trunk/share/man/man9/kobj.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kobj.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kobj.9 227537 2011-11-15 20:11:03Z marius $
 .\"
 .Dd November 14, 2011
 .Dt KOBJ 9


Property changes on: trunk/share/man/man9/kobj.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kproc.9
===================================================================
--- trunk/share/man/man9/kproc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kproc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001
 .\"	The Regents of the University of California.  All rights reserved.
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kproc.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd October 19, 2007
 .Dt KPROC 9


Property changes on: trunk/share/man/man9/kproc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kqueue.9
===================================================================
--- trunk/share/man/man9/kqueue.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kqueue.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,4 +1,5 @@
-.\" Copyright 2006 John-Mark Gurney
+.\" $MidnightBSD$
+.\" Copyright 2006,2011 John-Mark Gurney
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kqueue.9 297560 2016-04-04 16:41:35Z wblock $
 .\"
-.Dd December 28, 2006
+.Dd March 26, 2012
 .Dt KQUEUE 9
 .Os
 .Sh NAME
@@ -31,8 +32,9 @@
 .Nm kqueue_add_filteropts , kqueue_del_filteropts ,
 .Nm kqfd_register ,
 .Nm knote_fdclose ,
+.Nm knlist_init , knlist_init_mtx , knlist_init_rw_reader ,
 .Nm knlist_add , knlist_remove , knlist_remove_inevent , knlist_empty ,
-.Nm knlist_init , knlist_destroy , knlist_clear , knlist_delete ,
+.Nm knlist_clear , knlist_delete , knlist_destroy ,
 .Nm KNOTE_LOCKED , KNOTE_UNLOCKED
 .Nd "event delivery subsystem"
 .Sh SYNOPSIS
@@ -46,14 +48,6 @@
 .Ft void
 .Fn knote_fdclose "struct thread *td" "int fd"
 .Ft void
-.Fn knlist_add "struct knlist *knl" "struct knote *kn" "int islocked"
-.Ft void
-.Fn knlist_remove "struct knlist *knl" "struct knote *kn" "int islocked"
-.Ft void
-.Fn knlist_remove_inevent "struct knlist *knl" "struct knote *kn"
-.Ft int
-.Fn knlist_empty "struct knlist *knl"
-.Ft void
 .Fo knlist_init
 .Fa "struct knlist *knl"
 .Fa "void *lock"
@@ -62,12 +56,24 @@
 .Fa "int \*[lp]*kl_locked\*[rp]\*[lp]void *\*[rp]"
 .Fc
 .Ft void
-.Fn knlist_destroy "struct knlist *knl"
+.Fn knlist_init_mtx "struct knlist *knl" "struct mtx *lock"
 .Ft void
+.Fn knlist_init_rw_reader "struct knlist *knl" "struct rwlock *lock"
+.Ft void
+.Fn knlist_add "struct knlist *knl" "struct knote *kn" "int islocked"
+.Ft void
+.Fn knlist_remove "struct knlist *knl" "struct knote *kn" "int islocked"
+.Ft void
+.Fn knlist_remove_inevent "struct knlist *knl" "struct knote *kn"
+.Ft int
+.Fn knlist_empty "struct knlist *knl"
+.Ft void
 .Fn knlist_clear "struct knlist *knl" "int islocked"
 .Ft void
 .Fn knlist_delete "struct knlist *knl" "struct thread *td" "int islocked"
 .Ft void
+.Fn knlist_destroy "struct knlist *knl"
+.Ft void
 .Fn KNOTE_LOCKED "struct knlist *knl" "long hint"
 .Ft void
 .Fn KNOTE_UNLOCKED "struct knlist *knl" "long hint"
@@ -135,7 +141,8 @@
 .Va kn_status
 in the
 .Vt knote .
-The function shall return 0 on success, or appropriate error for the failure.
+The function shall return 0 on success, or appropriate error for the failure,
+such as when the object is being destroyed, or does not exist.
 During
 .Va f_attach ,
 it is valid to change the
@@ -155,7 +162,13 @@
 if the
 .Vt knote
 has not already been detached by a call to
-.Fn knlist_remove .
+.Fn knlist_remove ,
+.Fn knlist_remove_inevent
+or
+.Fn knlist_delete .
+The list
+.Fa lock
+will not be held when this function is called.
 .It Va f_event
 The
 .Va f_event
@@ -247,58 +260,135 @@
 is not required, but is commonly used.
 If used, the
 .Vt knlist
-must be initialized with the
+must be initialized with either
+.Fn knlist_init ,
+.Fn knlist_init_mtx
+or
+.Fn knlist_init_rw_reader .
+The
+.Vt knlist
+structure may be embedded into the object structure.
+The
+.Fa lock
+will be held over
+.Va f_event
+calls.
+.Pp
+For the
 .Fn knlist_init
-function.
-If
+function, if
 .Fa lock
 is
 .Dv NULL ,
-an internal lock will be used and the remaining arguments will be ignored.
-The
+a shared global lock will be used and the remaining arguments must be
+.Dv NULL .
+The function pointers
 .Fa kl_lock , kl_unlock
 and
 .Fa kl_locked
-functions will be used to manipulate a
+will be used to manipulate the argument
 .Fa lock .
-If the argument is
+If any of the function pointers are
 .Dv NULL ,
-default routines operating on
-.Vt "struct mtx *"
-will be used.
-The
+a function operating on
+.Dv MTX_DEF
+style
+.Xr mutex 9
+locks will be used instead.
+.Pp
+The function
+.Fn knlist_init_mtx
+may be used to initialize a
 .Vt knlist
-structure may be embedded into the object structure.
-The
+when
 .Fa lock
-will be held over calls to
-.Va f_event .
-If
-.Dv NULL
-is passed for the mutex, a private mutex will be used.
+is a
+.Dv MTX_DEF
+style
+.Xr mutex 9
+lock.
+.Pp
 The function
+.Fn knlist_init_rw_reader
+may be used to initialize a
+.Vt knlist
+when
+.Fa lock
+is a
+.Xr rwlock 9
+read lock.
+Lock is acquired via
+.Fn rw_rlock
+function.
+.Pp
+The function
 .Fn knlist_empty
-requires that a
+returns true when there are no
+.Vt knotes
+on the list.
+The function requires that the
 .Fa lock
-be held.
+be held when called.
+.Pp
 The function
 .Fn knlist_clear
-is used to remove all
+removes all
 .Vt knotes
-associated with the list.
+from the list.
 The
 .Fa islocked
-argument declares if
+argument declares if the
 .Fa lock
 has been acquired.
 All
 .Vt knotes
-will be marked as detached, and
+will have
 .Dv EV_ONESHOT
-will be set so that the
+set so that the
 .Vt knote
-will be deleted after the next scan.
+will be returned and removed durning the next scan.
 The
+.Va f_detach
+function will be called when the
+.Vt knote
+is deleted durning the next scan.
+This function must not be used when
+.Va f_isfd
+is set in
+.Vt "struct filterops" ,
+as the
+.Fa td
+argument of
+.Fn fdrop
+will be
+.Dv NULL .
+.Pp
+The function
+.Fn knlist_delete
+removes and deletes all
+.Vt knotes
+on the list.
+The function
+.Va f_detach
+will not be called, and the
+.Vt knote
+will not be returned on the next scan.
+Using this function could leak userland resources if a process uses the
+.Vt knote
+to track resources.
+.Pp
+Both the
+.Fn knlist_clear
+and
+.Fn knlist_delete
+functions may sleep.
+They also may release the
+.Fa lock
+to wait for other
+.Vt knotes
+to drain.
+.Pp
+The
 .Fn knlist_destroy
 function is used to destroy a
 .Vt knlist .
@@ -314,7 +404,9 @@
 A
 .Vt knlist
 may be emptied by calling
-.Fn knlist_clear .
+.Fn knlist_clear
+or
+.Fn knlist_delete .
 .Pp
 The macros
 .Fn KNOTE_LOCKED
@@ -333,7 +425,7 @@
 .Fn KNOTE_LOCKED
 must be used if the lock associated with the
 .Fa knl
-passed in is held.
+is held.
 The function
 .Fn KNOTE_UNLOCKED
 will acquire the lock before iterating over the list of


Property changes on: trunk/share/man/man9/kqueue.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/kthread.9
===================================================================
--- trunk/share/man/man9/kthread.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/kthread.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001
 .\"	The Regents of the University of California.  All rights reserved.
 .\"
@@ -23,9 +24,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/kthread.9 269935 2014-08-13 12:41:31Z gavin $
 .\"
-.Dd January 24, 2010
+.Dd July 15, 2014
 .Dt KTHREAD 9
 .Os
 .Sh NAME
@@ -275,7 +276,7 @@
 	    bufdaemonthread, SHUTDOWN_PRI_LAST);
 	...
 	for (;;) {
-		kthread_suspend_check(bufdaemonthread);
+		kthread_suspend_check();
 		...
 	}
 }


Property changes on: trunk/share/man/man9/kthread.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ktr.9
===================================================================
--- trunk/share/man/man9/ktr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ktr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ktr.9 185474 2008-11-30 13:18:35Z kib $
 .\"
 .Dd November 30, 2008
 .Dt KTR 9


Property changes on: trunk/share/man/man9/ktr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/lock.9
===================================================================
--- trunk/share/man/man9/lock.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/lock.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2002 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/lock.9 299386 2016-05-10 20:12:27Z wblock $
 .\"
-.Dd June 16, 2009
+.Dd November 2, 2014
 .Dt LOCK 9
 .Os
 .Sh NAME
@@ -60,20 +61,20 @@
 .Ft void
 .Fn lockmgr_disown "struct lock *lkp"
 .Ft void
-.Fn lockmgr_printinfo "struct lock *lkp"
+.Fn lockmgr_printinfo "const struct lock *lkp"
 .Ft int
-.Fn lockmgr_recursed "struct lock *lkp"
+.Fn lockmgr_recursed "const struct lock *lkp"
 .Ft int
 .Fn lockmgr_rw "struct lock *lkp" "u_int flags" "struct rwlock *ilk"
 .Ft int
-.Fn lockmgr_waiters "struct lock *lkp"
+.Fn lockmgr_waiters "const struct lock *lkp"
 .Ft int
-.Fn lockstatus "struct lock *lkp"
+.Fn lockstatus "const struct lock *lkp"
 .Pp
 .Cd "options INVARIANTS"
 .Cd "options INVARIANT_SUPPORT"
 .Ft void
-.Fn lockmgr_assert "struct lock *lkp" "int what"
+.Fn lockmgr_assert "const struct lock *lkp" "int what"
 .Sh DESCRIPTION
 The
 .Fn lockinit
@@ -145,7 +146,7 @@
 A pointer to the lock to manipulate.
 .It Fa flags
 Flags indicating what action is to be taken.
-.Bl -tag -width ".Dv LK_CANRECURSE"
+.Bl -tag -width ".Dv LK_NODDLKTREAT"
 .It Dv LK_SHARED
 Acquire a shared lock.
 If an exclusive lock is currently held,
@@ -164,11 +165,17 @@
 .Xr panic 9 .
 .It Dv LK_UPGRADE
 Upgrade a shared lock to an exclusive lock.
-If this call fails, the shared lock is lost.
+If this call fails, the shared lock is lost, even if the
+.Dv LK_NOWAIT
+flag is specified.
 During the upgrade, the shared lock could
 be temporarily dropped.
 Attempts to upgrade an exclusive lock will cause a
 .Xr panic 9 .
+.It Dv LK_TRYUPGRADE
+Try to upgrade a shared lock to an exclusive lock.
+The failure to upgrade does not result in the dropping
+of the shared lock ownership.
 .It Dv LK_RELEASE
 Release the lock.
 Releasing a lock that is not held can cause a
@@ -193,6 +200,29 @@
 For every lock there must be a release.
 .It Dv LK_INTERLOCK
 Unlock the interlock (which should be locked already).
+.It Dv LK_NODDLKTREAT
+Normally,
+.Fn lockmgr
+postpones serving further shared requests for shared-locked lock if there is
+exclusive waiter, to avoid exclusive lock starvation.
+But, if the thread requesting the shared lock already owns a shared lockmgr
+lock, the request is granted even in presence of the parallel exclusive lock
+request, which is done to avoid deadlocks with recursive shared acquisition.
+.Pp
+The
+.Dv LK_NODDLKTREAT
+flag can only be used by code which requests shared non-recursive lock.
+The flag allows exclusive requests to preempt the current shared request
+even if the current thread owns shared locks.
+This is safe since shared lock is guaranteed to not recurse, and is used
+when thread is known to held unrelated shared locks, to not cause
+unnecessary starvation.  An example is
+.Dv vp
+locking in VFS
+.Xr lookup 9 ,
+when
+.Dv dvp
+is already locked.
 .El
 .It Fa ilk
 An interlock mutex for controlling group access to the lock.
@@ -302,7 +332,6 @@
 Assert that the current thread does not have a recursed lock on
 .Fa lkp .
 .El
-.Pp
 .Sh RETURN VALUES
 The
 .Fn lockmgr
@@ -334,7 +363,9 @@
 was requested and another thread had already requested a lock upgrade.
 .It Bq Er EBUSY
 .Dv LK_NOWAIT
-was set, and a sleep would have been required.
+was set, and a sleep would have been required, or
+.Dv LK_TRYUPGRADE
+operation was not able to upgrade the lock.
 .It Bq Er ENOLCK
 .Dv LK_SLEEPFAIL
 was set and


Property changes on: trunk/share/man/man9/lock.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/locking.9
===================================================================
--- trunk/share/man/man9/locking.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/locking.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2007 Julian Elischer  (julian -  freebsd org )
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/locking.9 285965 2015-07-28 17:06:13Z kib $
 .\"
-.Dd May 25, 2012
+.Dd July 5, 2015
 .Dt LOCKING 9
 .Os
 .Sh NAME
@@ -33,44 +34,51 @@
 .Sh DESCRIPTION
 The
 .Em FreeBSD
-kernel is written to run across multiple CPUs and as such requires
-several different synchronization primitives to allow the developers
-to safely access and manipulate the many data types required.
+kernel is written to run across multiple CPUs and as such provides
+several different synchronization primitives to allow developers
+to safely access and manipulate many data types.
 .Ss Mutexes
-Mutexes (also called "sleep mutexes") are the most commonly used
+Mutexes (also called "blocking mutexes") are the most commonly used
 synchronization primitive in the kernel.
-Thread acquires (locks) a mutex before accessing data shared with other
+A thread acquires (locks) a mutex before accessing data shared with other
 threads (including interrupt threads), and releases (unlocks) it afterwards.
-If the mutex cannot be acquired, the thread requesting it will sleep.
+If the mutex cannot be acquired, the thread requesting it will wait.
+Mutexes are adaptive by default, meaning that
+if the owner of a contended mutex is currently running on another CPU,
+then a thread attempting to acquire the mutex will spin rather than yielding
+the processor.
 Mutexes fully support priority propagation.
 .Pp
 See
 .Xr mutex 9
 for details.
-.Ss Spin mutexes
-Spin mutexes are variation of basic mutexes; the main difference between
-the two is that spin mutexes never sleep - instead, they spin, waiting
-for the thread holding the lock, which runs on another CPU, to release it.
-Differently from ordinary mutex, spin mutexes disable interrupts when acquired.
-Since disabling interrupts is expensive, they are also generally slower.
-Spin mutexes should be used only when necessary, e.g. to protect data shared
+.Ss Spin Mutexes
+Spin mutexes are a variation of basic mutexes; the main difference between
+the two is that spin mutexes never block.
+Instead, they spin while waiting for the lock to be released.
+To avoid deadlock, a thread that holds a spin mutex must never yield its CPU.
+Unlike ordinary mutexes, spin mutexes disable interrupts when acquired.
+Since disabling interrupts can be expensive, they are generally slower to
+acquire and release.
+Spin mutexes should be used only when absolutely necessary,
+e.g. to protect data shared
 with interrupt filter code (see
 .Xr bus_setup_intr 9
-for details).
-.Ss Pool mutexes
-With most synchronization primitives, such as mutexes, programmer must
-provide a piece of allocated memory to hold the primitive.
+for details),
+or for scheduler internals.
+.Ss Mutex Pools
+With most synchronization primitives, such as mutexes, the programmer must
+provide memory to hold the primitive.
 For example, a mutex may be embedded inside the structure it protects.
-Pool mutex is a variant of mutex without this requirement - to lock or unlock
-a pool mutex, one uses address of the structure being protected with it,
-not the mutex itself.
-Pool mutexes are seldom used.
+Mutex pools provide a preallocated set of mutexes to avoid this
+requirement.
+Note that mutexes from a pool may only be used as leaf locks.
 .Pp
 See
 .Xr mtx_pool 9
 for details.
-.Ss Reader/writer locks
-Reader/writer locks allow shared access to protected data by multiple threads,
+.Ss Reader/Writer Locks
+Reader/writer locks allow shared access to protected data by multiple threads
 or exclusive access by a single thread.
 The threads with shared access are known as
 .Em readers
@@ -82,26 +90,16 @@
 Reader/writer locks can be treated as mutexes (see above and
 .Xr mutex 9 )
 with shared/exclusive semantics.
-More specifically, regular mutexes can be
-considered to be equivalent to a write-lock on an
-.Em rw_lock.
-The
-.Em rw_lock
-locks have priority propagation like mutexes, but priority
-can be propagated only to an exclusive holder.
+Reader/writer locks support priority propagation like mutexes,
+but priority is propagated only to an exclusive holder.
 This limitation comes from the fact that shared owners
 are anonymous.
-Another important property is that shared holders of
-.Em rw_lock
-can recurse, but exclusive locks are not allowed to recurse.
-This ability should not be used lightly and
-.Em may go away.
 .Pp
 See
 .Xr rwlock 9
 for details.
-.Ss Read-mostly locks
-Mostly reader locks are similar to
+.Ss Read-Mostly Locks
+Read-mostly locks are similar to
 .Em reader/writer
 locks but optimized for very infrequent write locking.
 .Em Read-mostly
@@ -113,21 +111,41 @@
 See
 .Xr rmlock 9
 for details.
+.Ss Sleepable Read-Mostly Locks
+Sleepable read-mostly locks are a variation on read-mostly locks.
+Threads holding an exclusive lock may sleep,
+but threads holding a shared lock may not.
+Priority is propagated to shared owners but not to exclusive owners.
 .Ss Shared/exclusive locks
 Shared/exclusive locks are similar to reader/writer locks; the main difference
-between them is that shared/exclusive locks may be held during unbounded sleep
-(and may thus perform an unbounded sleep).
-They are inherently less efficient than mutexes, reader/writer locks
-and read-mostly locks.
-They don't support priority propagation.
-They should be considered to be closely related to
-.Xr sleep 9 .
-In fact it could in some cases be
-considered a conditional sleep.
+between them is that shared/exclusive locks may be held during unbounded sleep.
+Acquiring a contested shared/exclusive lock can perform an unbounded sleep.
+These locks do not support priority propagation.
 .Pp
 See
 .Xr sx 9
 for details.
+.Ss Lockmanager locks
+Lockmanager locks are sleepable shared/exclusive locks used mostly in
+.Xr VFS 9
+.Po
+as a
+.Xr vnode 9
+lock
+.Pc
+and in the buffer cache
+.Po
+.Xr BUF_LOCK 9
+.Pc .
+They have features other lock types do not have such as sleep
+timeouts, blocking upgrades,
+writer starvation avoidance, draining, and an interlock mutex,
+but this makes them complicated both to use and to implement;
+for this reason, they should be avoided.
+.Pp
+See
+.Xr lock 9
+for details.
 .Ss Counting semaphores
 Counting semaphores provide a mechanism for synchronizing access
 to a pool of resources.
@@ -140,43 +158,21 @@
 .Xr sema 9
 for details.
 .Ss Condition variables
-Condition variables are used in conjunction with mutexes to wait for
-conditions to occur.
-A thread must hold the mutex before calling the
-.Fn cv_wait* ,
+Condition variables are used in conjunction with locks to wait for
+a condition to become true.
+A thread must hold the associated lock before calling one of the
+.Fn cv_wait ,
 functions.
-When a thread waits on a condition, the mutex
-is atomically released before the thread is blocked, then reacquired
-before the function call returns.
+When a thread waits on a condition, the lock
+is atomically released before the thread yields the processor
+and reacquired before the function call returns.
+Condition variables may be used with blocking mutexes,
+reader/writer locks, read-mostly locks, and shared/exclusive locks.
 .Pp
 See
 .Xr condvar 9
 for details.
-.Ss Giant
-Giant is an instance of a mutex, with some special characteristics:
-.Bl -enum
-.It
-It is recursive.
-.It
-Drivers and filesystems can request that Giant be locked around them
-by not marking themselves MPSAFE.
-Note that infrastructure to do this is slowly going away as non-MPSAFE
-drivers either became properly locked or disappear.
-.It
-Giant must be locked first before other locks.
-.It
-It is OK to hold Giant while performing unbounded sleep; in such case,
-Giant will be dropped before sleeping and picked up after wakeup.
-.It
-There are places in the kernel that drop Giant and pick it back up
-again.
-Sleep locks will do this before sleeping.
-Parts of the network or VM code may do this as well, depending on the
-setting of a sysctl.
-This means that you cannot count on Giant keeping other code from
-running if your code sleeps, even if you want it to.
-.El
-.Ss Sleep/wakeup
+.Ss Sleep/Wakeup
 The functions
 .Fn tsleep ,
 .Fn msleep ,
@@ -185,7 +181,12 @@
 .Fn wakeup ,
 and
 .Fn wakeup_one
-handle event-based thread blocking.
+also handle event-based thread blocking.
+Unlike condition variables,
+arbitrary addresses may be used as wait channels and a dedicated
+structure does not need to be allocated.
+However, care must be taken to ensure that wait channel addresses are
+unique to an event.
 If a thread must wait for an external event, it is put to sleep by
 .Fn tsleep ,
 .Fn msleep ,
@@ -205,9 +206,10 @@
 All threads sleeping on a single
 .Fa chan
 are woken up later by
-.Fn wakeup ,
-often called from inside an interrupt routine, to indicate that the
-resource the thread was blocking on is available now.
+.Fn wakeup
+.Pq often called from inside an interrupt routine
+to indicate that the
+event the thread was blocking on has occurred.
 .Pp
 Several of the sleep functions including
 .Fn msleep ,
@@ -223,126 +225,171 @@
 flag, then the lock will not be reacquired before returning.
 The lock is used to ensure that a condition can be checked atomically,
 and that the current thread can be suspended without missing a
-change to the condition, or an associated wakeup.
+change to the condition or an associated wakeup.
 In addition, all of the sleep routines will fully drop the
 .Va Giant
 mutex
-(even if recursed)
+.Pq even if recursed
 while the thread is suspended and will reacquire the
 .Va Giant
-mutex before the function returns.
+mutex
+.Pq restoring any recursion
+before the function returns.
 .Pp
+The
+.Fn pause
+function is a special sleep function that waits for a specified
+amount of time to pass before the thread resumes execution.
+This sleep cannot be terminated early by either an explicit
+.Fn wakeup
+or a signal.
+.Pp
 See
 .Xr sleep 9
 for details.
-.Pp
-.Ss Lockmanager locks
-Shared/exclusive locks, used mostly in
-.Xr VFS 9 ,
-in particular as a
-.Xr vnode 9
-lock.
-They have features other lock types don't have, such as sleep timeout,
-writer starvation avoidance, draining, and interlock mutex, but this makes them
-complicated to implement; for this reason, they are deprecated.
-.Pp
-See
-.Xr lock 9
-for details.
+.Ss Giant
+Giant is a special mutex used to protect data structures that do not
+yet have their own locks.
+Since it provides semantics akin to the old
+.Xr spl 9
+interface,
+Giant has special characteristics:
+.Bl -enum
+.It
+It is recursive.
+.It
+Drivers can request that Giant be locked around them
+by not marking themselves MPSAFE.
+Note that infrastructure to do this is slowly going away as non-MPSAFE
+drivers either became properly locked or disappear.
+.It
+Giant must be locked before other non-sleepable locks.
+.It
+Giant is dropped during unbounded sleeps and reacquired after wakeup.
+.It
+There are places in the kernel that drop Giant and pick it back up
+again.
+Sleep locks will do this before sleeping.
+Parts of the network or VM code may do this as well.
+This means that you cannot count on Giant keeping other code from
+running if your code sleeps, even if you want it to.
+.El
 .Sh INTERACTIONS
-The primitives interact and have a number of rules regarding how
+The primitives can interact and have a number of rules regarding how
 they can and can not be combined.
-Many of these rules are checked using the
-.Xr witness 4
-code.
-.Ss Bounded vs. unbounded sleep
-The following primitives perform bounded sleep: mutexes, pool mutexes,
-reader/writer locks and read-mostly locks.
+Many of these rules are checked by
+.Xr witness 4 .
+.Ss Bounded vs. Unbounded Sleep
+In a bounded sleep
+.Po also referred to as
+.Dq blocking
+.Pc
+the only resource needed to resume execution of a thread
+is CPU time for the owner of a lock that the thread is waiting to acquire.
+In an unbounded sleep
+.Po
+often referred to as simply
+.Dq sleeping
+.Pc
+a thread waits for an external event or for a condition
+to become true.
+In particular,
+a dependency chain of threads in bounded sleeps should always make forward
+progress,
+since there is always CPU time available.
+This requires that no thread in a bounded sleep is waiting for a lock held
+by a thread in an unbounded sleep.
+To avoid priority inversions,
+a thread in a bounded sleep lends its priority to the owner of the lock
+that it is waiting for.
 .Pp
-The following primitives block (perform unbounded sleep): shared/exclusive locks,
-counting semaphores, condition variables, sleep/wakeup and lockmanager locks.
+The following primitives perform bounded sleeps:
+mutexes, reader/writer locks and read-mostly locks.
 .Pp
-It is an error to do any operation that could result in any kind of sleep while
-holding spin mutex.
+The following primitives perform unbounded sleeps:
+sleepable read-mostly locks, shared/exclusive locks, lockmanager locks,
+counting semaphores, condition variables, and sleep/wakeup.
+.Ss General Principles
+.Bl -bullet
+.It
+It is an error to do any operation that could result in yielding the processor
+while holding a spin mutex.
+.It
+It is an error to do any operation that could result in unbounded sleep
+while holding any primitive from the 'bounded sleep' group.
+For example, it is an error to try to acquire a shared/exclusive lock while
+holding a mutex, or to try to allocate memory with M_WAITOK while holding a
+reader/writer lock.
 .Pp
-As a general rule, it is an error to do any operation that could result
-in unbounded sleep while holding any primitive from the 'bounded sleep' group.
-For example, it is an error to try to acquire shared/exclusive lock while
-holding mutex, or to try to allocate memory with M_WAITOK while holding
-read-write lock.
-.Pp
-As a special case, it is possible to call
+Note that the lock passed to one of the
 .Fn sleep
 or
-.Fn mtx_sleep
-while holding a single mutex.
-It will atomically drop that mutex and reacquire it as part of waking up.
-This is often a bad idea because it generally relies on the programmer having
-good knowledge of all of the call graph above the place where
-.Fn mtx_sleep
-is being called and assumptions the calling code has made.
-Because the lock gets dropped during sleep, one must re-test all
-the assumptions that were made before, all the way up the call graph to the
-place where the lock was acquired.
-.Pp
-It is an error to do any operation that could result in any kind of sleep when
-running inside an interrupt filter.
-.Pp
+.Fn cv_wait
+functions is dropped before the thread enters the unbounded sleep and does
+not violate this rule.
+.It
+It is an error to do any operation that could result in yielding of
+the processor when running inside an interrupt filter.
+.It
 It is an error to do any operation that could result in unbounded sleep when
 running inside an interrupt thread.
+.El
 .Ss Interaction table
 The following table shows what you can and can not do while holding
-one of the synchronization primitives discussed:
-.Bl -column ".Ic xxxxxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXX" -offset indent
-.It Xo
-.Em "You have: You want:" Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock Ta sleep
-.Xc
-.It spin mtx  Ta \&ok-1 Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no-3
-.It mutex     Ta \&ok Ta \&ok-1 Ta \&no Ta \&ok Ta \&ok Ta \&no-3
-.It sx        Ta \&ok Ta \&ok Ta \&ok-2 Ta \&ok Ta \&ok Ta \&ok-4
-.It rwlock    Ta \&ok Ta \&ok Ta \&no Ta \&ok-2 Ta \&ok Ta \&no-3
-.It rmlock    Ta \&ok Ta \&ok Ta \&no-5 Ta \&ok Ta \&ok-2 Ta \&no-5
+one of the locking primitives discussed.  Note that
+.Dq sleep
+includes
+.Fn sema_wait ,
+.Fn sema_timedwait ,
+any of the
+.Fn cv_wait
+functions,
+and any of the
+.Fn sleep
+functions.
+.Bl -column ".Ic xxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXX" -offset 3n
+.It Em "       You want:" Ta spin mtx Ta mutex/rw Ta rmlock Ta sleep rm Ta sx/lk Ta sleep
+.It Em "You have:     " Ta -------- Ta -------- Ta ------ Ta -------- Ta ------ Ta ------
+.It spin mtx  Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no-1
+.It mutex/rw  Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no-1
+.It rmlock    Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no-1
+.It sleep rm  Ta \&ok Ta \&ok Ta \&ok Ta \&ok-2 Ta \&ok-2 Ta \&ok-2/3
+.It sx        Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok-3
+.It lockmgr   Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok
 .El
 .Pp
 .Em *1
-Recursion is defined per lock.
-Lock order is important.
+There are calls that atomically release this primitive when going to sleep
+and reacquire it on wakeup
+.Po
+.Fn mtx_sleep ,
+.Fn rw_sleep ,
+.Fn msleep_spin ,
+etc.
+.Pc .
 .Pp
 .Em *2
-Readers can recurse though writers can not.
-Lock order is important.
+These cases are only allowed while holding a write lock on a sleepable
+read-mostly lock.
 .Pp
 .Em *3
-There are calls that atomically release this primitive when going to sleep
-and reacquire it on wakeup (e.g.
-.Fn mtx_sleep ,
-.Fn rw_sleep
-and
-.Fn msleep_spin ) .
-.Pp
-.Em *4
-Though one can sleep holding an sx lock, one can also use
-.Fn sx_sleep
-which will atomically release this primitive when going to sleep and
+Though one can sleep while holding this lock,
+one can also use a
+.Fn sleep
+function to atomically release this primitive when going to sleep and
 reacquire it on wakeup.
 .Pp
-.Em *5
-.Em Read-mostly
-locks can be initialized to support sleeping while holding a write lock.
-See
-.Xr rmlock 9
-for details.
+Note that non-blocking try operations on locks are always permitted.
 .Ss Context mode table
 The next table shows what can be used in different contexts.
 At this time this is a rather easy to remember table.
-.Bl -column ".Ic Xxxxxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXX" -offset indent
-.It Xo
-.Em "Context:"  Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock Ta sleep
-.Xc
+.Bl -column ".Ic Xxxxxxxxxxxxxxxxxxx" ".Xr XXXXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXXX" ".Xr XXXXXXXXX" ".Xr XXXXXX" -offset 3n
+.It Em "Context:"  Ta spin mtx Ta mutex/rw Ta rmlock Ta sleep rm Ta sx/lk Ta sleep
 .It interrupt filter:  Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no
-.It interrupt thread:  Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&ok Ta \&no
-.It callout:    Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&no Ta \&no
-.It syscall:    Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok
+.It interrupt thread:  Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no
+.It callout:    Ta \&ok Ta \&ok Ta \&ok Ta \&no Ta \&no Ta \&no
+.It direct callout:  Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no
+.It system call:    Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok
 .El
 .Sh SEE ALSO
 .Xr witness 4 ,
@@ -355,6 +402,7 @@
 .Xr sema 9 ,
 .Xr sleep 9 ,
 .Xr sx 9 ,
+.Xr timeout 9 ,
 .Xr BUS_SETUP_INTR 9 ,
 .Xr LOCK_PROFILING 9
 .Sh HISTORY


Property changes on: trunk/share/man/man9/locking.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mac.9
===================================================================
--- trunk/share/man/man9/mac.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mac.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1999-2002 Robert N. M. Watson
 .\" Copyright (c) 2002-2004 Networks Associates Technology, Inc.
@@ -31,9 +32,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mac.9 286189 2015-08-02 09:34:03Z trasz $
 .\"
-.Dd July 10, 2006
+.Dd July 25, 2015
 .Dt MAC 9
 .Os
 .Sh NAME
@@ -62,14 +63,6 @@
 Both consumers of the API (normal kernel services) and security modules
 must be aware of the semantics of the API calls, particularly with respect
 to synchronization primitives (such as locking).
-.Ss Note on Appropriateness for Production Use
-The
-.Tn TrustedBSD
-MAC Framework included in
-.Fx 5.0
-is considered experimental, and should not be deployed in production
-environments without careful consideration of the risks associated with
-the use of experimental operating system features.
 .Ss Kernel Objects Supported by the Framework
 The MAC framework manages labels on a variety of types of in-kernel
 objects, including process credentials, vnodes, devfs_dirents, mount
@@ -232,13 +225,6 @@
 and
 .An Tim Robbins .
 .Sh BUGS
-See the earlier section in this document concerning appropriateness
-for production use.
-The
-.Tn TrustedBSD
-MAC Framework is considered experimental in
-.Fx .
-.Pp
 While the MAC Framework design is intended to support the containment of
 the root user, not all attack channels are currently protected by entry
 point checks.


Property changes on: trunk/share/man/man9/mac.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/make_dev.9
===================================================================
--- trunk/share/man/man9/make_dev.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/make_dev.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1999 Chris Costello
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/make_dev.9 296755 2016-03-12 19:08:58Z bdrewery $
 .\"
-.Dd May 3, 2011
+.Dd March 2, 2016
 .Dt MAKE_DEV 9
 .Os
 .Sh NAME
@@ -32,6 +33,7 @@
 .Nm make_dev_cred ,
 .Nm make_dev_credf ,
 .Nm make_dev_p ,
+.Nm make_dev_s ,
 .Nm make_dev_alias ,
 .Nm make_dev_alias_p ,
 .Nm destroy_dev ,
@@ -45,16 +47,10 @@
 .Sh SYNOPSIS
 .In sys/param.h
 .In sys/conf.h
-.Ft struct cdev *
-.Fn make_dev "struct cdevsw *cdevsw" "int unit" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
-.Ft struct cdev *
-.Fn make_dev_cred "struct cdevsw *cdevsw" "int unit" "struct ucred *cr" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
-.Ft struct cdev *
-.Fn make_dev_credf "int flags" "struct cdevsw *cdevsw" "int unit" "struct ucred *cr" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
+.Ft void
+.Fn make_dev_args_init "struct make_dev_args *args"
 .Ft int
-.Fn make_dev_p "int flags" "struct cdev **cdev" "struct cdevsw *devsw" "struct ucred *cr" "uid_t uid" "gid_t gid" "int mode" "const char *fmt" ...
-.Ft struct cdev *
-.Fn make_dev_alias "struct cdev *pdev" "const char *fmt" ...
+.Fn make_dev_s "struct make_dev_args *args" "struct cdev **cdev" "const char *fmt" ...
 .Ft int
 .Fn make_dev_alias_p "int flags" "struct cdev **cdev" "struct cdev *pdev" "const char *fmt" ...
 .Ft void
@@ -67,12 +63,26 @@
 .Fn destroy_dev_drain "struct cdevsw *csw"
 .Ft void
 .Fn dev_depends "struct cdev *pdev" "struct cdev *cdev"
+.Pp
+LEGACY INTERFACES
+.Ft struct cdev *
+.Fn make_dev "struct cdevsw *cdevsw" "int unit" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
+.Ft struct cdev *
+.Fn make_dev_cred "struct cdevsw *cdevsw" "int unit" "struct ucred *cr" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
+.Ft struct cdev *
+.Fn make_dev_credf "int flags" "struct cdevsw *cdevsw" "int unit" "struct ucred *cr" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
+.Ft int
+.Fn make_dev_p "int flags" "struct cdev **cdev" "struct cdevsw *devsw" "struct ucred *cr" "uid_t uid" "gid_t gid" "int mode" "const char *fmt" ...
+.Ft struct cdev *
+.Fn make_dev_alias "struct cdev *pdev" "const char *fmt" ...
 .Sh DESCRIPTION
 The
-.Fn make_dev_credf
+.Fn make_dev_s
 function creates a
 .Fa cdev
-structure for a new device.
+structure for a new device, which is returned into the
+.Fa cdev
+argument.
 It also notifies
 .Xr devfs 5
 of the presence of the new device, that causes corresponding nodes
@@ -80,10 +90,34 @@
 Besides this, a
 .Xr devctl 4
 notification is sent.
-The device will be owned by
-.Va uid ,
+The function takes the structure
+.Va struct make_dev_args args ,
+which specifies the parameters for the device creation:
+.Pp
+.Bd -literal -offset indent -compact
+struct make_dev_args {
+	size_t		 mda_size;
+	int		 mda_flags;
+	struct cdevsw	*mda_devsw;
+	struct ucred	*mda_cr;
+	uid_t		 mda_uid;
+	gid_t		 mda_gid;
+	int		 mda_mode;
+	int		 mda_unit;
+	void		*mda_si_drv1;
+	void		*mda_si_drv2;
+};
+.Ed
+Before use and filling with the desired values, the structure must be
+initialized by the
+.Fn make_dev_args_init
+function, which ensures that future kernel interface expansion does
+not affect driver source code or binary interface.
+.Pp
+The created device will be owned by
+.Va args.mda_uid ,
 with the group ownership as
-.Va gid .
+.Va args.mda_gid .
 The name is the expansion of
 .Va fmt
 and following arguments as
@@ -97,7 +131,7 @@
 .Ql /
 characters to denote subdirectories.
 The permissions of the file specified in
-.Va perms
+.Va args.mda_mode
 are defined in
 .In sys/stat.h :
 .Pp
@@ -126,29 +160,28 @@
 .Ed
 .Pp
 The
-.Va cr
+.Va args.mda_cr
 argument specifies credentials that will be stored in the
 .Fa si_cred
 member of the initialized
 .Fa struct cdev .
+.Pp
 The
-.Va flags
+.Va args.mda_flags
 argument alters the operation of
-.Fn make_dev_credf
-or
-.Fn make_dev_p .
+.Fn make_dev_s.
 The following values are currently accepted:
 .Pp
-.Bl -tag -width "MAKEDEV_CHECKNAME" -compact -offset indent
-.It MAKEDEV_REF
+.Bl -tag -width "It Dv MAKEDEV_CHECKNAME" -compact -offset indent
+.It Dv MAKEDEV_REF
 reference the created device
-.It MAKEDEV_NOWAIT
+.It Dv MAKEDEV_NOWAIT
 do not sleep, the call may fail
-.It MAKEDEV_WAITOK
+.It Dv MAKEDEV_WAITOK
 allow the function to sleep to satisfy malloc
-.It MAKEDEV_ETERNAL
+.It Dv MAKEDEV_ETERNAL
 created device will be never destroyed
-.It MAKEDEV_CHECKNAME
+.It Dv MAKEDEV_CHECKNAME
 return an error if the device name is invalid or already exists
 .El
 .Pp
@@ -189,10 +222,49 @@
 flag for the code that can be compiled into kernel or loaded
 (and unloaded) as loadable module.
 .Pp
-A panic will occur if the MAKEDEV_CHECKNAME flag is not specified
+A panic will occur if the
+.Dv MAKEDEV_CHECKNAME
+flag is not specified
 and the device name is invalid or already exists.
 .Pp
 The
+.Fn make_dev_p
+use of the form
+.Bd -literal -offset indent
+struct cdev *dev;
+int res;
+res = make_dev_p(flags, &dev, cdevsw, cred, uid, gid, perms, name);
+.Ed
+is equivalent to the code
+.Bd -literal -offset indent
+struct cdev *dev;
+struct make_dev_args args;
+int res;
+
+make_dev_args_init(&args);
+args.mda_flags = flags;
+args.mda_devsw = cdevsw;
+args.mda_cred = cred;
+args.mda_uid = uid;
+args.mda_gid = gid;
+args.mda_mode = perms;
+res = make_dev_s(&args, &dev, name);
+.Ed
+.Pp
+Similarly, the
+.Fn make_dev_credf
+function call is equivalent to
+.Bd -literal -offset indent
+	(void) make_dev_s(&args, &dev, name);
+.Ed
+In other words,
+.Fn make_dev_credf
+does not allow the caller to obtain the return value, and in
+kernels compiled with the
+.Va INVARIANTS
+options, the function asserts that the device creation succeeded.
+.Pp
+The
 .Fn make_dev_cred
 function is equivalent to the call
 .Bd -literal -offset indent
@@ -207,15 +279,7 @@
 .Ed
 .Pp
 The
-.Fn make_dev_p
-function is similar to
-.Fn make_dev_credf
-but it may return an error number and takes a pointer to the resulting
-.Ft *cdev
-as an argument.
-.Pp
-The
-.Fn make_dev_alias
+.Fn make_dev_alias_p
 function takes the returned
 .Ft cdev
 from
@@ -222,23 +286,24 @@
 .Fn make_dev
 and makes another (aliased) name for this device.
 It is an error to call
-.Fn make_dev_alias
+.Fn make_dev_alias_p
 prior to calling
 .Fn make_dev .
 .Pp
-.Fn make_dev_alias_p
+The
+.Fn make_dev_alias
 function is similar to
 .Fn make_dev_alias
-but it takes a pointer to the resulting
+but it returns the resulting aliasing
 .Ft *cdev
-as an argument and may return an error.
+and may not return an error.
 .Pp
 The
 .Fa cdev
 returned by
-.Fn make_dev
+.Fn make_dev_s
 and
-.Fn make_dev_alias
+.Fn make_dev_alias_p
 has two fields,
 .Fa si_drv1
 and
@@ -245,7 +310,24 @@
 .Fa si_drv2 ,
 that are available to store state.
 Both fields are of type
-.Ft void * .
+.Ft void * ,
+and can be initialized simultaneously with the
+.Va cdev
+allocation by filling
+.Va args.mda_si_drv1
+and
+.Va args.mda_si_drv2
+members of the
+.Fn make_dev_s
+argument structure, or filled after the
+.Va cdev
+is allocated, if using legacy interfaces.
+In the latter case, the driver should handle the race of
+accessing uninitialized
+.Va si_drv1
+and
+.Va si_drv2
+itself.
 These are designed to replace the
 .Fa unit
 argument to
@@ -331,8 +413,10 @@
 is actually finished for all of them.
 .Sh RETURN VALUES
 If successful,
+.Fn make_dev_s
+and
 .Fn make_dev_p
-will return 0, otherwise it will return an error.
+will return 0, otherwise they will return an error.
 If successful,
 .Fn make_dev_credf
 will return a valid
@@ -341,10 +425,11 @@
 .Dv NULL .
 .Sh ERRORS
 The
+.Fn make_dev_s ,
 .Fn make_dev_p
 and
 .Fn make_dev_alias_p
-call will fail and the device will be not registered if:
+calls will fail and the device will be not registered if:
 .Bl -tag -width Er
 .It Bq Er ENOMEM
 The
@@ -364,16 +449,18 @@
 .Qq ..
 path component or ends with
 .Ql / .
+.It Bq Er EINVAL
+The
+.Dv MAKEDEV_CHECKNAME
+flag was specified and the provided device name contains invalid characters.
 .It Bq Er EEXIST
 The
 .Dv MAKEDEV_CHECKNAME
 flag was specified and the provided device name already exists.
 .El
-.Pp
 .Sh SEE ALSO
 .Xr devctl 4 ,
 .Xr devfs 5 ,
-.Xr destroy_dev_drain 9 ,
 .Xr dev_clone 9
 .Sh HISTORY
 The
@@ -400,3 +487,7 @@
 .Fn make_dev_p
 first appeared in
 .Fx 8.2 .
+The function
+.Fn make_dev_s
+first appeared in
+.Fx 11.0 .


Property changes on: trunk/share/man/man9/make_dev.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/malloc.9
===================================================================
--- trunk/share/man/man9/malloc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/malloc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,9 +28,9 @@
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/malloc.9 328276 2018-01-23 04:37:31Z kp $
 .\"
-.Dd January 28, 2012
+.Dd January 10, 2018
 .Dt MALLOC 9
 .Os
 .Sh NAME
@@ -45,6 +46,8 @@
 .In sys/malloc.h
 .Ft void *
 .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags"
+.Ft void *
+.Fn mallocarray "size_t nmemb" "size_t size" "struct malloc_type *type" "int flags"
 .Ft void
 .Fn free "void *addr" "struct malloc_type *type"
 .Ft void *
@@ -64,6 +67,14 @@
 .Fa size .
 .Pp
 The
+.Fn mallocarray
+function allocates uninitialized memory in kernel address space for an
+array of
+.Fa nmemb
+entries whose size is specified by
+.Fa size .
+.Pp
+The
 .Fn free
 function releases memory at address
 .Fa addr
@@ -144,6 +155,7 @@
 to sleep to wait for resources to be released by other processes.
 The
 .Fn malloc ,
+.Fn mallocarray ,
 .Fn realloc ,
 and
 .Fn reallocf
@@ -152,14 +164,20 @@
 if
 .Dv M_WAITOK
 is specified.
+if the multiplication of
+.Fa nmemb
+and
+.Fa size
+would cause an integer overflow, the
+.Fn mallocarray
+function induces a panic.
 .It Dv M_USE_RESERVE
-Indicates that the system can dig into its reserve in order to obtain the
-requested memory.
-This option used to be called
-.Dv M_KERNEL
-but has been renamed to something more obvious.
-This option has been deprecated and is slowly being removed from the kernel,
-and so should not be used with any new programming.
+Indicates that the system can use its reserve of memory to satisfy the
+request.
+This option should only be used in combination with
+.Dv M_NOWAIT
+when an allocation failure cannot be tolerated by the caller without
+catastrophic effects on the system.
 .El
 .Pp
 Exactly one of either
@@ -197,7 +215,7 @@
 /* sys/something/foo_subr.c */
 
 \&...
-buf = malloc(sizeof *buf, M_FOOBUF, M_NOWAIT);
+buf = malloc(sizeof(*buf), M_FOOBUF, M_NOWAIT);
 
 .Ed
 .Pp
@@ -209,12 +227,6 @@
 .In sys/types.h )
 and
 .In sys/kernel.h .
-.Sh IMPLEMENTATION NOTES
-The memory allocator allocates memory in chunks that have size a power
-of two for requests up to the size of a page of memory.
-For larger requests, one or more pages is allocated.
-While it should not be relied upon, this information may be useful for
-optimizing the efficiency of memory use.
 .Pp
 Programmers should be careful not to confuse the malloc flags
 .Dv M_NOWAIT
@@ -256,6 +268,12 @@
 .Xr vnode 9
 interlock, will cause a LOR (Lock Order Reversal) due to the
 intertwining of VM Objects and Vnodes.
+.Sh IMPLEMENTATION NOTES
+The memory allocator allocates memory in chunks that have size a power
+of two for requests up to the size of a page of memory.
+For larger requests, one or more pages is allocated.
+While it should not be relied upon, this information may be useful for
+optimizing the efficiency of memory use.
 .Sh RETURN VALUES
 The
 .Fn malloc ,


Property changes on: trunk/share/man/man9/malloc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mbchain.9
===================================================================
--- trunk/share/man/man9/mbchain.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mbchain.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Boris Popov
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mbchain.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .Dd February 20, 2001
 .Dt MBCHAIN 9
@@ -66,15 +67,15 @@
 .Ft caddr_t
 .Fn mb_reserve "struct mbchain *mbp" "int size"
 .Ft int
-.Fn mb_put_uint8 "struct mbchain *mbp" "u_int8_t x"
+.Fn mb_put_uint8 "struct mbchain *mbp" "uint8_t x"
 .Ft int
-.Fn mb_put_uint16be "struct mbchain *mbp" "u_int16_t x"
+.Fn mb_put_uint16be "struct mbchain *mbp" "uint16_t x"
 .Ft int
-.Fn mb_put_uint16le "struct mbchain *mbp" "u_int16_t x"
+.Fn mb_put_uint16le "struct mbchain *mbp" "uint16_t x"
 .Ft int
-.Fn mb_put_uint32be "struct mbchain *mbp" "u_int32_t x"
+.Fn mb_put_uint32be "struct mbchain *mbp" "uint32_t x"
 .Ft int
-.Fn mb_put_uint32le "struct mbchain *mbp" "u_int32_t x"
+.Fn mb_put_uint32le "struct mbchain *mbp" "uint32_t x"
 .Ft int
 .Fn mb_put_int64be "struct mbchain *mbp" "int64_t x"
 .Ft int


Property changes on: trunk/share/man/man9/mbchain.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mbpool.9
===================================================================
--- trunk/share/man/man9/mbpool.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mbpool.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2003
 .\"	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
 .\" 	All rights reserved.
@@ -25,7 +26,7 @@
 .\"
 .\" Author: Hartmut Brandt <harti at FreeBSD.org>
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mbpool.9 208027 2010-05-13 12:07:55Z uqs $
 .\"
 .Dd July 15, 2003
 .Dt MBPOOL 9


Property changes on: trunk/share/man/man9/mbpool.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mbuf.9
===================================================================
--- trunk/share/man/man9/mbuf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mbuf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 FreeBSD Inc.
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mbuf.9 289963 2015-10-25 22:55:19Z ngie $
 .\"
-.Dd April 18, 2011
+.Dd March 11, 2015
 .Dt MBUF 9
 .Os
 .\"
@@ -51,8 +52,6 @@
 .Fa "short flags"
 .Fa "int type"
 .Fc
-.Fn MEXTFREE "struct mbuf *mbuf"
-.Fn MFREE "struct mbuf *mbuf" "struct mbuf *successor"
 .\"
 .Ss Mbuf utility macros
 .Fn mtod "struct mbuf *mbuf" "type"
@@ -136,6 +135,8 @@
 .Ft struct mbuf *
 .Fn m_defrag "struct mbuf *m0" "int how"
 .Ft struct mbuf *
+.Fn m_collapse "struct mbuf *m0" "int how" "int maxfrags"
+.Ft struct mbuf *
 .Fn m_unshare "struct mbuf *m0" "int how"
 .\"
 .Sh DESCRIPTION
@@ -331,10 +332,9 @@
 .Dv MINCLSIZE ,
 which is the smallest amount of data to put into an
 .Vt mbuf cluster .
-It is equal to the sum of
-.Dv MLEN
-and
-.Dv MHLEN .
+It is equal to
+.Dv MHLEN
+plus one.
 It is typically preferable to store data into the data region of an
 .Vt mbuf ,
 if size permits, as opposed to allocating a separate
@@ -707,7 +707,7 @@
 .Vt mbuf clusters ,
 so
 .Fa len
-must be less than
+must be less than or equal to
 .Dv MHLEN .
 .\"
 .It Fn m_pulldown mbuf offset len offsetp
@@ -975,6 +975,20 @@
 This function is especially useful in network drivers, where
 certain long mbuf chains must be shortened before being added
 to TX descriptor lists.
+.It Fn m_collapse m0 how maxfrags
+Defragment an mbuf chain, returning a chain of at most
+.Fa maxfrags
+mbufs and clusters.
+If allocation fails or the chain cannot be collapsed as requested,
+.Dv NULL
+will be returned, with the original chain possibly modified.
+As with
+.Fn m_defrag ,
+.Fa how
+should be one of
+.Dv M_WAITOK
+or
+.Dv M_NOWAIT .
 .It Fn m_unshare m0 how
 Create a version of the specified mbuf chain whose
 contents can be safely modified without affecting other users.
@@ -1064,45 +1078,6 @@
 set by the TCP/IP module to the checksum of the pseudo header
 defined by the TCP and UDP specifications.
 .Pp
-For outbound packets which have been fragmented
-by the host CPU, the following will also be true,
-regardless of the checksum flag settings:
-.Bl -bullet -offset indent
-.It
-all fragments will have the flag
-.Dv M_FRAG
-set in their
-.Va m_flags
-field;
-.It
-the first and the last fragments in the chain will have
-.Dv M_FIRSTFRAG
-or
-.Dv M_LASTFRAG
-set in their
-.Va m_flags ,
-correspondingly;
-.It
-the first fragment in the chain will have the total number
-of fragments contained in its
-.Va csum_data
-field.
-.El
-.Pp
-The last rule for fragmented packets takes precedence over the one
-for a TCP or UDP checksum.
-Nevertheless, offloading a TCP or UDP checksum is possible for a
-fragmented packet if the flag
-.Dv CSUM_IP_FRAGS
-is set in the field
-.Va ifnet.if_data.ifi_hwassist
-associated with the network interface.
-However, in this case the interface is expected to figure out
-the location of the checksum field within the sequence of fragments
-by itself because
-.Va csum_data
-contains a fragment count instead of a checksum offset value.
-.Pp
 On input, an interface indicates the actions it has performed
 on a packet by setting one or more of the following flags in
 .Va csum_flags
@@ -1148,22 +1123,6 @@
 calculated over any valid packet will be
 .Li 0xFFFF
 as long as the original checksum field is included.
-.Pp
-For inbound packets which are IP fragments, all
-.Va csum_data
-fields will be summed during reassembly to obtain the final checksum
-value passed to an upper layer in the
-.Va csum_data
-field of the reassembled packet.
-The
-.Va csum_flags
-fields of all fragments will be consolidated using logical AND
-to obtain the final value for
-.Va csum_flags .
-Thus, in order to successfully
-offload checksum computation for fragmented data,
-all fragments should have the same value of
-.Va csum_flags .
 .Sh STRESS TESTING
 When running a kernel compiled with the option
 .Dv MBUF_STRESS_TEST ,


Property changes on: trunk/share/man/man9/mbuf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mbuf_tags.9
===================================================================
--- trunk/share/man/man9/mbuf_tags.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mbuf_tags.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,7 +1,8 @@
+.\" $MidnightBSD$
 .\"	$OpenBSD: mbuf_tags.9,v 1.18 2003/12/08 07:07:35 mcbride Exp $
 .\"
 .\" The authors of this manual page are Angelos D. Keromytis
-.\" (angelos at cis.upenn.edu), Gleb Smirnoff <glebius at cell.sick.ru>, and
+.\" (angelos at cis.upenn.edu), Gleb Smirnoff <glebius at FreeBSD.org>, and
 .\" Robert Watson <rwatson at FreeBSD.org>
 .\"
 .\" Copyright (c) 2004 Robert N. M. Watson
@@ -18,7 +19,7 @@
 .\" MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
 .\" PURPOSE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mbuf_tags.9 246751 2013-02-13 07:32:09Z glebius $
 .\"
 .Dd January 12, 2008
 .Dt MBUF_TAGS 9
@@ -29,7 +30,7 @@
 .Sh SYNOPSIS
 .In sys/mbuf.h
 .Ft "struct m_tag *"
-.Fn m_tag_alloc "u_int32_t cookie" "int type" "int len" "int wait"
+.Fn m_tag_alloc "uint32_t cookie" "int type" "int len" "int wait"
 .Ft "struct m_tag *"
 .Fn m_tag_copy "struct m_tag *t" "int how"
 .Ft int
@@ -51,7 +52,7 @@
 .Ft void
 .Fn m_tag_init "struct mbuf *m"
 .Ft struct m_tag *
-.Fn m_tag_locate "struct mbuf *m" "u_int32_t cookie" "int type" "struct m_tag *t"
+.Fn m_tag_locate "struct mbuf *m" "uint32_t cookie" "int type" "struct m_tag *t"
 .Ft "struct m_tag *"
 .Fn m_tag_next "struct mbuf *m" "struct m_tag *t"
 .Ft void
@@ -100,9 +101,9 @@
 .Bd -literal
 struct m_tag {
 	SLIST_ENTRY(m_tag)	m_tag_link;	/* List of packet tags */
-	u_int16_t		m_tag_id;	/* Tag ID */
-	u_int16_t		m_tag_len;	/* Length of data */
-	u_int32_t		m_tag_cookie;	/* ABI/Module ID */
+	uint16_t		m_tag_id;	/* Tag ID */
+	uint16_t		m_tag_len;	/* Length of data */
+	uint32_t		m_tag_cookie;	/* ABI/Module ID */
 	void			(*m_tag_free)(struct m_tag *);
 };
 .Ed


Property changes on: trunk/share/man/man9/mbuf_tags.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mdchain.9
===================================================================
--- trunk/share/man/man9/mdchain.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mdchain.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 Boris Popov
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mdchain.9 231564 2012-02-12 18:29:56Z ed $
 .\"
 .Dd February 28, 2001
 .Dt MDCHAIN 9
@@ -63,19 +64,19 @@
 .Ft int
 .Fn md_next_record "struct mdchain *mdp"
 .Ft int
-.Fn md_get_uint8 "struct mdchain *mdp" "u_int8_t *x"
+.Fn md_get_uint8 "struct mdchain *mdp" "uint8_t *x"
 .Ft int
-.Fn md_get_uint16 "struct mdchain *mdp" "u_int16_t *x"
+.Fn md_get_uint16 "struct mdchain *mdp" "uint16_t *x"
 .Ft int
-.Fn md_get_uint16be "struct mdchain *mdp" "u_int16_t *x"
+.Fn md_get_uint16be "struct mdchain *mdp" "uint16_t *x"
 .Ft int
-.Fn md_get_uint16le "struct mdchain *mdp" "u_int16_t *x"
+.Fn md_get_uint16le "struct mdchain *mdp" "uint16_t *x"
 .Ft int
-.Fn md_get_uint32 "struct mdchain *mdp" "u_int32_t *x"
+.Fn md_get_uint32 "struct mdchain *mdp" "uint32_t *x"
 .Ft int
-.Fn md_get_uint32be "struct mdchain *mdp" "u_int32_t *x"
+.Fn md_get_uint32be "struct mdchain *mdp" "uint32_t *x"
 .Ft int
-.Fn md_get_uint32le "struct mdchain *mdp" "u_int32_t *x"
+.Fn md_get_uint32le "struct mdchain *mdp" "uint32_t *x"
 .Ft int
 .Fn md_get_int64 "struct mdchain *mdp" "int64_t *x"
 .Ft int
@@ -193,8 +194,8 @@
 .Bd -literal
 struct mdchain *mdp;
 struct mbuf *m;
-u_int16_t length;
-u_int8_t byte;
+uint16_t length;
+uint8_t byte;
 
 receive(so, &m);
 md_initm(mdp, m);


Property changes on: trunk/share/man/man9/mdchain.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/memcchr.9
===================================================================
--- trunk/share/man/man9/memcchr.9	                        (rev 0)
+++ trunk/share/man/man9/memcchr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,60 @@
+.\" $MidnightBSD$
+.\" Copyright (c) 2012 Ed Schouten <ed at FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/memcchr.9 229206 2012-01-01 20:59:42Z ed $
+.\"
+.Dd January 1, 2012
+.Dt MEMCCHR 9
+.Os
+.Sh NAME
+.Nm memcchr
+.Nd locate the complement of a byte in byte string
+.Sh SYNOPSIS
+.In sys/libkern.h
+.Ft void *
+.Fn memcchr "const void *b" "int c" "size_t len"
+.Sh DESCRIPTION
+The
+.Fn memcchr
+function locates the first occurrence of a byte unequal to
+.Fa c
+(converted to an
+.Vt "unsigned char" )
+in string
+.Fa b .
+.Sh RETURN VALUES
+The
+.Fn memcchr
+function returns a pointer to the byte located, or NULL if no such byte
+exists within
+.Fa len
+bytes.
+.Sh SEE ALSO
+.Xr memchr 3
+.Sh HISTORY
+The
+.Fn memcchr
+function first appeared in
+.Fx 10.0 .


Property changes on: trunk/share/man/man9/memcchr.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/memguard.9
===================================================================
--- trunk/share/man/man9/memguard.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/memguard.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2005 Christian Brueffer
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/memguard.9 316245 2017-03-30 06:06:09Z ngie $
 .\"
-.Dd August 2, 2010
+.Dd March 22, 2017
 .Dt MEMGUARD 9
 .Os
 .Sh NAME
@@ -39,7 +40,6 @@
 These problems are more and more common and likely with
 multithreaded kernels where race conditions are more prevalent.
 .Pp
-Currently,
 .Nm
 can take over
 .Fn malloc ,
@@ -47,8 +47,19 @@
 and
 .Fn free
 for a single malloc type.
+Alternatively
 .Nm
-can also guard all allocations larger than
+can take over
+.Fn uma_zalloc ,
+.Fn uma_zalloc_arg
+and
+.Fn uma_free
+for a single
+.Xr uma 9
+zone.
+Also
+.Nm
+can guard all allocations larger than
 .Dv PAGE_SIZE ,
 and can guard a random fraction of all allocations.
 There is also a knob to prevent allocations smaller than a specified
@@ -72,7 +83,10 @@
 .Pp
 Where
 .Ar memory_type
-is a short description of the memory type to monitor.
+can be either a short description of the memory type to monitor,
+either name of
+.Xr uma 9
+zone.
 Only allocations from that
 .Ar memory_type
 made after
@@ -86,13 +100,28 @@
 .Xr sysctl 8
 is set.
 Existing guarded allocations will still be properly released by
-.Xr free 9 .
+either
+.Xr free 9
+or
+.Xr uma_zfree 9 ,
+depending on what kind of allocation was taken over.
 .Pp
-The short description of a
+To determine short description of a
 .Xr malloc 9
-type is the second argument to
-.Xr MALLOC_DEFINE 9 ,
-so one has to find it in the kernel source.
+type one can either take it from the first column of
+.Xr vmstat 8 Fl m
+output, or to find it in the kernel source.
+It is the second argument to
+.Xr MALLOC_DEFINE 9
+macro.
+To determine name of
+.Xr uma 9
+zone one can either take it from the first column of
+.Xr vmstat 8 Fl z
+output, or to find it in the kernel source.
+It is the first argument to the
+.Xr uma_zcreate 9
+function.
 .Pp
 The
 .Va vm.memguard.divisor
@@ -142,12 +171,24 @@
 .Va vm.memguard.options
 has the 2 bit set.
 This option is off by default.
+By default
+.Nm
+does not guard
+.Xr uma 9
+zones that have been initialized with the
+.Dv UMA_ZONE_NOFREE
+flag set, since it can produce false positives on them.
+However, this safety measure can be turned off by setting bit 3
+of the
+.Va vm.memguard.options
+tunable.
 .Sh SEE ALSO
 .Xr sysctl 8 ,
 .Xr vmstat 8 ,
 .Xr contigmalloc 9 ,
 .Xr malloc 9 ,
-.Xr redzone 9
+.Xr redzone 9 ,
+.Xr uma 9
 .Sh HISTORY
 .Nm
 first appeared in
@@ -161,8 +202,20 @@
 .An Christian Brueffer Aq brueffer at FreeBSD.org .
 Additions have been made by
 .An Matthew Fleming Aq mdf at FreeBSD.org
+and
+.An Gleb Smirnoff Aq glebius at FreeBSD.org
 to both the implementation and the documentation.
 .Sh BUGS
-Currently, it is not possible to override UMA
-.Xr zone 9
-allocations.
+It is not possible to guard allocations that really expect themselves to be
+allocated from
+.Xr uma 9 ,
+utilizing additional interfaces apart from
+.Fn uma_zalloc
+and
+.Fn uma_free ,
+for example
+.Fn uma_find_refcnt .
+For the moment of writing only
+.Xr mbuf 9
+cluster zones belong to that kind of allocations.
+Attempt to guard them would lead to kernel panic.


Property changes on: trunk/share/man/man9/memguard.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mi_switch.9
===================================================================
--- trunk/share/man/man9/mi_switch.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mi_switch.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: ctxsw.9,v 1.2 1996/12/02 00:11:31 tls Exp $
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -27,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mi_switch.9 242992 2012-11-13 19:21:51Z pluknet $
 .\"
 .Dd November 24, 1996
 .Dt MI_SWITCH 9


Property changes on: trunk/share/man/man9/mi_switch.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/microseq.9
===================================================================
--- trunk/share/man/man9/microseq.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/microseq.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1998, 1999, Nicolas Souchu
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/microseq.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd June 6, 1998
 .Dt MICROSEQ 9


Property changes on: trunk/share/man/man9/microseq.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/microtime.9
===================================================================
--- trunk/share/man/man9/microtime.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/microtime.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 Kelly Yancey
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/microtime.9 151284 2005-10-13 16:01:28Z jhb $
 .\"
 .Dd September 16, 2004
 .Dt MICROTIME 9


Property changes on: trunk/share/man/man9/microtime.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/microuptime.9
===================================================================
--- trunk/share/man/man9/microuptime.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/microuptime.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 Kelly Yancey
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/microuptime.9 253660 2013-07-25 20:53:15Z brooks $
 .\"
-.Dd September 16, 2004
+.Dd July 25, 2013
 .Dt MICROUPTIME 9
 .Os
 .Sh NAME
@@ -33,7 +34,9 @@
 .Nm microuptime ,
 .Nm getmicrouptime ,
 .Nm nanouptime ,
-.Nm getnanouptime
+.Nm getnanouptime ,
+.Nm sbinuptime ,
+.Nm getsbinuptime
 .Nd get the time elapsed since boot
 .Sh SYNOPSIS
 .In sys/time.h
@@ -49,6 +52,10 @@
 .Fn nanouptime "struct timespec *ts"
 .Ft void
 .Fn getnanouptime "struct timespec *tsp"
+.Ft sbintime_t
+.Fn sbinuptime "void"
+.Ft sbintime_t
+.Fn getsbinuptime "void"
 .Sh DESCRIPTION
 The
 .Fn binuptime
@@ -71,12 +78,19 @@
 .Fn getnanouptime
 functions store the elapsed time as a
 .Vt "struct timespec" .
+The
+.Fn sbinuptime
+and
+.Fn getsbinuptime
+functions return the time elapsed since boot as a
+.Vt "sbintime_t" .
 .Pp
 The
 .Fn binuptime ,
 .Fn microuptime ,
+.Fn nanouptime ,
 and
-.Fn nanouptime
+.Fn sbinuptime
 functions
 always query the timecounter to return the current time as precisely as
 possible.
@@ -83,8 +97,9 @@
 Whereas
 .Fn getbinuptime ,
 .Fn getmicrouptime ,
+.Fn getnanouptime ,
 and
-.Fn getnanouptime
+.Fn getsbinuptime
 functions are abstractions which return a less precise, but
 faster to obtain, time.
 .Pp
@@ -91,8 +106,9 @@
 The intent of the
 .Fn getbinuptime ,
 .Fn getmicrouptime ,
+.Fn getnanouptime ,
 and
-.Fn getnanouptime
+.Fn getsbinuptime
 functions is to enforce the user's preference for timer accuracy versus
 execution time.
 .Sh SEE ALSO


Property changes on: trunk/share/man/man9/microuptime.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mod_cc.9
===================================================================
--- trunk/share/man/man9/mod_cc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mod_cc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2008-2009 Lawrence Stewart <lstewart at FreeBSD.org>
 .\" Copyright (c) 2010-2011 The FreeBSD Foundation
@@ -29,7 +30,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mod_cc.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd September 15, 2011
 .Dt MOD_CC 9


Property changes on: trunk/share/man/man9/mod_cc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/module.9
===================================================================
--- trunk/share/man/man9/module.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/module.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Alexander Langer
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/module.9 241471 2012-10-12 01:31:02Z kevlo $
 .\"
 .Dd July 19, 2007
 .Dt MODULE 9
@@ -99,7 +100,7 @@
 static moduledata_t mod_data= {
         "foo",
         foo_handler,
-        0
+	NULL
 };
 
 MODULE_VERSION(foo, 1);


Property changes on: trunk/share/man/man9/module.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mtx_pool.9
===================================================================
--- trunk/share/man/man9/mtx_pool.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mtx_pool.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2002 Garrett Rooney <rooneg at electricjellyfish.net>.
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/mtx_pool.9 203549 2010-02-06 14:10:45Z trasz $
 .\"
 .Dd February 6, 2010
 .Dt MTX_POOL 9


Property changes on: trunk/share/man/man9/mtx_pool.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/mutex.9
===================================================================
--- trunk/share/man/man9/mutex.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/mutex.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1998 Berkeley Software Design, Inc. All rights reserved.
 .\"
@@ -25,10 +26,10 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	from BSDI $Id: mutex.9,v 1.3 2012-12-29 23:19:06 laffer1 Exp $
-.\" $MidnightBSD$
+.\"	from BSDI $Id: mutex.4,v 1.1.2.3 1998/04/27 22:53:13 ewv Exp $
+.\" $FreeBSD: stable/10/share/man/man9/mutex.9 323870 2017-09-21 19:24:11Z marius $
 .\"
-.Dd December 21, 2006
+.Dd July 18, 2016
 .Dt MUTEX 9
 .Os
 .Sh NAME
@@ -41,6 +42,8 @@
 .Nm mtx_lock_spin_flags ,
 .Nm mtx_trylock ,
 .Nm mtx_trylock_flags ,
+.Nm mtx_trylock_spin ,
+.Nm mtx_trylock_spin_flags ,
 .Nm mtx_unlock ,
 .Nm mtx_unlock_spin ,
 .Nm mtx_unlock_flags ,
@@ -73,6 +76,10 @@
 .Ft int
 .Fn mtx_trylock_flags "struct mtx *mutex" "int flags"
 .Ft void
+.Fn mtx_trylock_spin "struct mtx *mutex"
+.Ft int
+.Fn mtx_trylock_spin_flags "struct mtx *mutex" "int flags"
+.Ft void
 .Fn mtx_unlock "struct mtx *mutex"
 .Ft void
 .Fn mtx_unlock_spin "struct mtx *mutex"
@@ -83,16 +90,16 @@
 .Ft int
 .Fn mtx_sleep "void *chan" "struct mtx *mtx" "int priority" "const char *wmesg" "int timo"
 .Ft int
-.Fn mtx_initialized "struct mtx *mutex"
+.Fn mtx_initialized "const struct mtx *mutex"
 .Ft int
-.Fn mtx_owned "struct mtx *mutex"
+.Fn mtx_owned "const struct mtx *mutex"
 .Ft int
-.Fn mtx_recursed "struct mtx *mutex"
+.Fn mtx_recursed "const struct mtx *mutex"
 .Pp
 .Cd "options INVARIANTS"
 .Cd "options INVARIANT_SUPPORT"
 .Ft void
-.Fn mtx_assert "struct mtx *mutex" "int what"
+.Fn mtx_assert "const struct mtx *mutex" "int what"
 .In sys/kernel.h
 .Fn MTX_SYSINIT "name" "struct mtx *mtx" "const char *description" "int opts"
 .Sh DESCRIPTION
@@ -177,13 +184,17 @@
 or
 .Dv MTX_SPIN
 but not both.
+If the kernel has been compiled with
+.Cd "option INVARIANTS" ,
+.Fn mtx_init
+will assert that the
+.Fa mutex
+has not been initialized multiple times without intervening calls to
+.Fn mtx_destroy
+unless the
+.Dv MTX_NEW
+option is specified.
 See below for additional initialization options.
-It is not permissible to pass the same
-.Fa mutex
-to
-.Fn mtx_init
-multiple times without intervening calls to
-.Fn mtx_destroy .
 .Pp
 The
 .Fn mtx_lock
@@ -225,8 +236,10 @@
 lock, respectively, and also accept a
 .Fa flags
 argument.
-In both cases, the only flag presently available for lock acquires is
-.Dv MTX_QUIET .
+In both cases, the only flags presently available for lock acquires are
+.Dv MTX_QUIET
+and
+.Dv MTX_RECURSE .
 If the
 .Dv MTX_QUIET
 bit is turned on in the
@@ -235,29 +248,41 @@
 .Dv KTR_LOCK
 tracing is being done,
 it will be silenced during the lock acquire.
+If the
+.Dv MTX_RECURSE
+bit is turned on in the
+.Fa flags
+argument, then the mutex can be acquired recursively.
 .Pp
 The
 .Fn mtx_trylock
-attempts to acquire the
+and
+.Fn mtx_trylock_spin
+functions attempt to acquire a
 .Dv MTX_DEF
-mutex pointed to by
+or
+.Dv MTX_SPIN
+mutex, respectively, pointed to by
 .Fa mutex .
-If the mutex cannot be immediately acquired
-.Fn mtx_trylock
-will return 0,
-otherwise the mutex will be acquired
-and a non-zero value will be returned.
+If the mutex cannot be immediately acquired, the functions will return 0,
+otherwise the mutex will be acquired and a non-zero value will be returned.
 .Pp
 The
 .Fn mtx_trylock_flags
-function has the same behavior as
+and
+.Fn mtx_trylock_spin_flags
+functions have the same behavior as
 .Fn mtx_trylock
-but should be used when the caller desires to pass in a
+and
+.Fn mtx_trylock_spin
+respectively, but should be used when the caller desires to pass in a
 .Fa flags
 value.
 Presently, the only valid value in the
 .Fn mtx_trylock
-case is
+and
+.Fn mtx_trylock_spin
+cases is
 .Dv MTX_QUIET ,
 and its effects are identical to those described for
 .Fn mtx_lock
@@ -436,6 +461,13 @@
 .It Dv MTX_RECURSE
 Specifies that the initialized mutex is allowed to recurse.
 This bit must be present if the mutex is permitted to recurse.
+.Pp
+Note that neither
+.Fn mtx_trylock
+nor
+.Fn mtx_trylock_spin
+support recursion;
+that is, attempting to acquire an already-owned mutex fails.
 .It Dv MTX_QUIET
 Do not log any mutex operations for this lock.
 .It Dv MTX_NOWITNESS
@@ -446,6 +478,8 @@
 Witness should not log messages about duplicate locks being acquired.
 .It Dv MTX_NOPROFILE
 Do not profile this lock.
+.It Dv MTX_NEW
+Do not check for double-init.
 .El
 .Ss Lock and Unlock Flags
 The flags passed to the
@@ -521,3 +555,7 @@
 .Bsx 4.1
 and
 .Fx 5.0 .
+The
+.Fn mtx_trylock_spin
+function was added in
+.Fx 12.0 .


Property changes on: trunk/share/man/man9/mutex.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/namei.9
===================================================================
--- trunk/share/man/man9/namei.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/namei.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1998, 1999 Eivind Eklund
 .\" Copyright (c) 2003 Hiten M. Pandya
@@ -31,9 +32,9 @@
 .\" If you integrate this manpage in another OS, I'd appreciate a note
 .\"	- eivind at FreeBSD.org
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/namei.9 283251 2015-05-21 16:44:31Z bdrewery $
 .\"
-.Dd March 1, 2012
+.Dd May 6, 2015
 .Dt NAMEI 9
 .Os
 .Sh NAME
@@ -40,7 +41,6 @@
 .Nm namei ,
 .Nm NDINIT ,
 .Nm NDFREE ,
-.Nm NDHASGIANT
 .Nd pathname translation and lookup operations
 .Sh SYNOPSIS
 .In sys/param.h
@@ -55,8 +55,6 @@
 .Fc
 .Ft void
 .Fn NDFREE "struct nameidata *ndp" "const uint flags"
-.Ft int
-.Fn NDHASGIANT "struct nameidata *ndp"
 .Sh DESCRIPTION
 The
 .Nm
@@ -73,16 +71,6 @@
 depending on whether the
 .Dv LOCKLEAF
 flag was specified or not.
-If the
-.Va Giant
-lock is required,
-.Nm
-will acquire it if the caller indicates it is
-.Dv MPSAFE ,
-in which case the caller must later release
-.Va Giant
-based on the results of
-.Fn NDHASGIANT .
 .Pp
 The
 .Fn NDINIT
@@ -168,19 +156,6 @@
 function to return the parent (directory) vnode in an unlocked state.
 The parent vnode must be released separately by using
 .Xr vrele 9 .
-.It Dv MPSAFE
-With this flag set,
-.Fn namei
-will conditionally acquire
-.Va Giant
-if it is required by a traversed file system.
-MPSAFE callers should pass the results of
-.Fn NDHASGIANT
-to
-.Xr VFS_UNLOCK_GIANT
-in order to conditionally release
-.Va Giant
-if necessary.
 .It Dv NOCACHE
 Avoid
 .Fn namei
@@ -196,10 +171,6 @@
 will follow the symbolic link if the last part
 of the path supplied is a symbolic link (i.e., it will return a vnode
 for whatever the link points at, instead for the link itself).
-.It Dv NOOBJ
-Do not call
-.Fn vfs_object_create
-for the returned vnode, even though it meets required criteria for VM support.
 .It Dv NOFOLLOW
 Do not follow symbolic links (pseudo).
 This flag is not looked for by the actual code, which looks for
@@ -358,7 +329,6 @@
 .Xr uio 9 ,
 .Xr uma 9 ,
 .Xr VFS 9 ,
-.Xr VFS_UNLOCK_GIANT 9 ,
 .Xr vnode 9 ,
 .Xr vput 9 ,
 .Xr vref 9
@@ -380,6 +350,3 @@
 and
 .Dv LOCKLEAF
 are used, it is necessary to resort to recursive locking.
-.Pp
-Non-MPSAFE file systems exist, requiring callers to conditionally unlock
-.Va Giant .


Property changes on: trunk/share/man/man9/namei.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/netisr.9
===================================================================
--- trunk/share/man/man9/netisr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/netisr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2009 Robert N. M. Watson
 .\" All rights reserved.
@@ -25,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/netisr.9 282781 2015-05-11 20:26:35Z hiren $
 .\"
-.Dd February 22, 2010
+.Dd May 11, 2015
 .Dt NETISR 9
 .Os
 .Sh NAME
@@ -50,7 +51,7 @@
 .Ft void
 .Fn netisr_clearqdrops "const struct netisr_handler *nhp"
 .Ft void
-.Fn netisr_getqdrops "const struct netisr_handler *nhp" "u_int64_t *qdropsp"
+.Fn netisr_getqdrops "const struct netisr_handler *nhp" "uint64_t *qdropsp"
 .Ft void
 .Fn netisr_getqlimit "const struct netisr_handler *nhp" "u_int *qlimitp"
 .Ft int
@@ -83,7 +84,7 @@
 .Nm
 supports multi-processor execution of handlers, and relies on a combination
 of source ordering and protocol-specific ordering and work-placement
-policies to decide how do distribute work across one or more worker
+policies to decide how to distribute work across one or more worker
 threads.
 Registering protocols will declare one of three policies:
 .Bl -tag -width NETISR_POLICY_SOURCE


Property changes on: trunk/share/man/man9/netisr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/osd.9
===================================================================
--- trunk/share/man/man9/osd.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/osd.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2010 Lawrence Stewart <lstewart at FreeBSD.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/osd.9 298834 2016-04-30 04:01:22Z jamie $
 .\"
-.Dd January 5, 2011
+.Dd March 30, 2016
 .Dt OSD 9
 .Os
 .Sh NAME
@@ -33,6 +34,9 @@
 .Nm osd_register ,
 .Nm osd_deregister ,
 .Nm osd_set ,
+.Nm osd_reserve ,
+.Nm osd_set_reserved ,
+.Nm osd_free_reserved ,
 .Nm osd_get ,
 .Nm osd_del ,
 .Nm osd_call ,
@@ -63,6 +67,22 @@
 .Fa "void *value"
 .Fc
 .Ft void *
+.Fo osd_reserve
+.Fa "u_int slot"
+.Fc
+.Ft int
+.Fo osd_set_reserved
+.Fa "u_int type"
+.Fa "struct osd *osd"
+.Fa "u_int slot"
+.Fa "void *rsv"
+.Fa "void *value"
+.Fc
+.Ft void
+.Fo osd_free_reserved
+.Fa "void *rsv"
+.Fc
+.Ft void *
 .Fo osd_get
 .Fa "u_int type"
 .Fa "struct osd *osd"
@@ -198,6 +218,15 @@
 .Fa osd .
 .Pp
 The
+.Fn osd_set_reserved
+function does the same as
+.Fn osd_set ,
+but with an extra argument
+.Fa rsv
+that is internal-use memory previously allocated via
+.Fn osd_reserve .
+.Pp
+The
 .Fn osd_get
 function returns the data pointer associated with a kernel data structure's
 .Vt struct osd
@@ -324,6 +353,24 @@
 .Xr realloc 9
 calls.
 .Pp
+It is possible for
+.Fn osd_set
+to fail to allocate this array.  To ensure that such allocation succeeds,
+.Fn osd_reserve
+may be called (in a non-blocking context), and it will pre-allocate the
+memory via
+.Xr malloc 9
+with M_WAITOK.
+Then this pre-allocated memory is passed to
+.Fn osd_set_reserved ,
+which will use it if necessary or otherwise discard it.
+The memory may also be explicitly discarded by calling
+.Fn osd_free_reserved .
+As this method always allocates memory whether or not it is ultimately needed,
+it should be used only rarely, such as in the unlikely event that
+.Fn osd_set
+fails.
+.Pp
 The
 .Nm
 API is geared towards slot identifiers storing pointers to the same underlying
@@ -359,15 +406,27 @@
 returns the slot identifier for the newly registered data type.
 .Pp
 .Fn osd_set
-returns zero on success or ENOMEM if the specified type/slot identifier pair
+and
+.Fn osd_set_reserved
+return zero on success or ENOMEM if the specified type/slot identifier pair
 triggered an internal
 .Xr realloc 9
-which failed.
+which failed
+.Fn ( osd_set_reserved
+will always succeed when
+.Fa rsv
+is non-NULL).
 .Pp
 .Fn osd_get
 returns the data pointer for the specified type/slot identifier pair, or NULL if
 the slot has not been initialised yet.
 .Pp
+.Fn osd_reserve
+returns a pointer suitable for passing to
+.Fn osd_set_reserved
+or
+.Fn osd_free_reserved .
+.Pp
 .Fn osd_call
 returns zero if no method is run or the method for each slot runs successfully.
 If a method for a slot returns non-zero,


Property changes on: trunk/share/man/man9/osd.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/p_candebug.9
===================================================================
--- trunk/share/man/man9/p_candebug.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/p_candebug.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Joseph Koshy <jkoshy at FreeBSD.org>
 .\"
@@ -25,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/p_candebug.9 208291 2010-05-19 08:57:53Z uqs $
 .\"
 .Dd November 19, 2006
 .Dt P_CANDEBUG 9


Property changes on: trunk/share/man/man9/p_candebug.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/p_cansee.9
===================================================================
--- trunk/share/man/man9/p_cansee.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/p_cansee.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Joseph Koshy <jkoshy at FreeBSD.org>
 .\" Copyright (c) 2006 Ceri Davies <ceri at FreeBSD.org>
@@ -24,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/p_cansee.9 208291 2010-05-19 08:57:53Z uqs $
 .\"
 .Dd November 19, 2006
 .Dt P_CANSEE 9


Property changes on: trunk/share/man/man9/p_cansee.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/panic.9
===================================================================
--- trunk/share/man/man9/panic.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/panic.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"     $NetBSD: panic.9,v 1.2 1996/10/09 17:20:04 explorer Exp $
 .\"
 .\" Copyright (c) 1996 Michael Graff.
@@ -29,9 +30,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/panic.9 283676 2015-05-29 04:01:39Z markj $
 .\"
-.Dd August 11, 1995
+.Dd April 23, 2015
 .Dt PANIC 9
 .Os
 .Sh NAME
@@ -42,10 +43,14 @@
 .In sys/systm.h
 .Ft void
 .Fn panic "const char *fmt" ...
+.Ft void
+.Fn vpanic "const char *fmt" "va_list ap"
 .Sh DESCRIPTION
 The
 .Fn panic
-function terminates the running system.
+and
+.Fn vpanic
+functions terminate the running system.
 The message
 .Fa fmt
 is a


Property changes on: trunk/share/man/man9/panic.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pbuf.9
===================================================================
--- trunk/share/man/man9/pbuf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pbuf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pbuf.9 119964 2003-09-10 19:24:35Z ru $
 .\"
 .Dd July 9, 2001
 .Dt PBUF 9


Property changes on: trunk/share/man/man9/pbuf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pci.9
===================================================================
--- trunk/share/man/man9/pci.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pci.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2005 Bruce M Simpson <bms at FreeBSD.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pci.9 306520 2016-09-30 18:47:34Z jhb $
 .\"
-.Dd March 5, 2012
+.Dd September 1, 2016
 .Dt PCI 9
 .Os
 .Sh NAME
@@ -40,6 +41,10 @@
 .Nm pci_find_cap ,
 .Nm pci_find_dbsf ,
 .Nm pci_find_device ,
+.Nm pci_find_extcap ,
+.Nm pci_find_htcap ,
+.Nm pci_find_pcie_root_port ,
+.Nm pci_get_max_payload ,
 .Nm pci_get_max_read_req ,
 .Nm pci_get_powerstate ,
 .Nm pci_get_vpd_ident ,
@@ -46,6 +51,8 @@
 .Nm pci_get_vpd_readonly ,
 .Nm pci_msi_count ,
 .Nm pci_msix_count ,
+.Nm pci_msix_pba_bar ,
+.Nm pci_msix_table_bar ,
 .Nm pci_pending_msix ,
 .Nm pci_read_config ,
 .Nm pci_release_msi ,
@@ -54,7 +61,13 @@
 .Nm pci_save_state ,
 .Nm pci_set_max_read_req ,
 .Nm pci_set_powerstate ,
-.Nm pci_write_config
+.Nm pci_write_config ,
+.Nm pcie_adjust_config ,
+.Nm pcie_flr ,
+.Nm pcie_get_max_completion_timeout ,
+.Nm pcie_read_config ,
+.Nm pcie_wait_for_pending_transactions ,
+.Nm pcie_write_config
 .Nd PCI bus interface
 .Sh SYNOPSIS
 .In sys/bus.h
@@ -81,6 +94,14 @@
 .Ft device_t
 .Fn pci_find_device "uint16_t vendor" "uint16_t device"
 .Ft int
+.Fn pci_find_extcap "device_t dev" "int capability" "int *capreg"
+.Ft int
+.Fn pci_find_htcap "device_t dev" "int capability" "int *capreg"
+.Ft device_t
+.Fn pci_find_pcie_root_port "device_t dev"
+.Ft int
+.Fn pci_get_max_payload "device_t dev"
+.Ft int
 .Fn pci_get_max_read_req "device_t dev"
 .Ft int
 .Fn pci_get_powerstate "device_t dev"
@@ -93,6 +114,10 @@
 .Ft int
 .Fn pci_msix_count "device_t dev"
 .Ft int
+.Fn pci_msix_pba_bar "device_t dev"
+.Ft int
+.Fn pci_msix_table_bar "device_t dev"
+.Ft int
 .Fn pci_pending_msix "device_t dev" "u_int index"
 .Ft uint32_t
 .Fn pci_read_config "device_t dev" "int reg" "int width"
@@ -110,6 +135,24 @@
 .Fn pci_set_powerstate "device_t dev" "int state"
 .Ft void
 .Fn pci_write_config "device_t dev" "int reg" "uint32_t val" "int width"
+.Ft uint32_t
+.Fo pcie_adjust_config
+.Fa "device_t dev"
+.Fa "int reg"
+.Fa "uint32_t mask"
+.Fa "uint32_t val"
+.Fa "int width"
+.Fc
+.Ft bool
+.Fn pcie_flr "device_t dev" "u_int max_delay" "bool force"
+.Ft int
+.Fn pcie_get_max_completion_timeout "device_t dev"
+.Ft uint32_t
+.Fn pcie_read_config "device_t dev" "int reg" "int width"
+.Ft bool
+.Fn pcie_wait_for_pending_transactions "device_t dev" "u_int max_delay"
+.Ft void
+.Fn pcie_write_config "device_t dev" "int reg" "uint32_t val" "int width"
 .Sh DESCRIPTION
 The
 .Nm
@@ -146,6 +189,48 @@
 .Fa width
 specifying the size of the access.
 .Pp
+The
+.Fn pcie_adjust_config
+function is used to modify the value of a register in the PCI-express
+capability register set of device
+.Fa dev .
+The offset
+.Fa reg
+specifies a relative offset in the register set with
+.Fa width
+specifying the size of the access.
+The new value of the register is computed by modifying bits set in
+.Fa mask
+to the value in
+.Fa val .
+Any bits not specified in
+.Fa mask
+are preserved.
+The previous value of the register is returned.
+.Pp
+The
+.Fn pcie_read_config
+function is used to read the value of a register in the PCI-express
+capability register set of device
+.Fa dev .
+The offset
+.Fa reg
+specifies a relative offset in the register set with
+.Fa width
+specifying the size of the access.
+.Pp
+The
+.Fn pcie_write_config
+function is used to write the value
+.Fa val
+to a register in the PCI-express capability register set of device
+.Fa dev .
+The offset
+.Fa reg
+specifies a relative offset in the register set with
+.Fa width
+specifying the size of the access.
+.Pp
 .Em NOTE :
 Device drivers should only use these functions for functionality that
 is not available via another
@@ -225,6 +310,59 @@
 returns an error.
 .Pp
 The
+.Fn pci_find_extcap
+function is used to locate the first instance of a PCI-express
+extended capability register set for the device
+.Fa dev .
+The extended capability to locate is specified by ID via
+.Fa capability .
+Constant macros of the form
+.Dv PCIZ_xxx
+for standard extended capability IDs are defined in
+.In dev/pci/pcireg.h .
+If the extended capability is found, then
+.Fa *capreg
+is set to the offset in configuration space of the extended capability
+register set, and
+.Fn pci_find_extcap
+returns zero.
+If the extended capability is not found or the device is not a
+PCI-express device,
+.Fn pci_find_extcap
+returns an error.
+.Pp
+The
+.Fn pci_find_htcap
+function is used to locate the first instance of a HyperTransport capability
+register set for the device
+.Fa dev .
+The capability to locate is specified by type via
+.Fa capability .
+Constant macros of the form
+.Dv PCIM_HTCAP_xxx
+for standard HyperTransport capability types are defined in
+.In dev/pci/pcireg.h .
+If the capability is found, then
+.Fa *capreg
+is set to the offset in configuration space of the capability register set,
+and
+.Fn pci_find_htcap
+returns zero.
+If the capability is not found or the device is not a HyperTransport device,
+.Fn pci_find_htcap
+returns an error.
+.Pp
+The
+.Fn pci_find_pcie_root_port
+function walks up the PCI device hierarchy to locate the PCI-express root
+port upstream of
+.Fa dev .
+If a root port is not found,
+.Fn pci_find_pcie_root_port
+returns
+.Dv NULL .
+.Pp
+The
 .Fn pci_get_vpd_ident
 function is used to fetch a device's Vital Product Data
 .Pq VPD
@@ -265,6 +403,51 @@
 then
 .Fn pci_get_vpd_readonly
 returns an error.
+.Pp
+The
+.Fn pcie_get_max_completion_timeout
+function returns the maximum completion timeout configured for the device
+.Fa dev
+in microseconds.
+If the
+.Fa dev
+device is not a PCI-express device,
+.Fn pcie_get_max_completion_timeout
+returns zero.
+When completion timeouts are disabled for
+.Fa dev ,
+this function returns the maxmimum timeout that would be used if timeouts
+were enabled.
+.Pp
+The
+.Fn pcie_wait_for_pending_transactions
+function waits for any pending transactions initiated by the
+.Fa dev
+device to complete.
+The function checks for pending transactions by polling the transactions
+pending flag in the PCI-express device status register.
+It returns
+.Dv true
+once the transaction pending flag is clear.
+If transactions are still pending after
+.Fa max_delay
+milliseconds,
+.Fn pcie_wait_for_pending_transactions
+returns
+.Dv false .
+If
+.Fa max_delay
+is set to zero,
+.Fn pcie_wait_for_pending_transactions
+performs a single check;
+otherwise,
+this function may sleep while polling the transactions pending flag.
+.Nm pcie_wait_for_pending_transactions
+returns
+.Dv true
+if
+.Fa dev
+is not a PCI-express device.
 .Ss Device Configuration
 The
 .Fn pci_enable_busmaster
@@ -311,6 +494,16 @@
 .Xr bus_activate_resource 9 .
 .Pp
 The
+.Fn pci_get_max_payload
+function returns the current maximum TLP payload size in bytes for a
+PCI-express device.
+If the
+.Fa dev
+device is not a PCI-express device,
+.Fn pci_get_max_payload
+returns zero.
+.Pp
+The
 .Fn pci_get_max_read_req
 function returns the current maximum read request size in bytes for a
 PCI-express device.
@@ -403,6 +596,51 @@
 then the device will be transitioned to
 .Dv PCI_POWERSTATE_D0
 before any config registers are restored.
+.Pp
+The
+.Fn pcie_flr
+function requests a Function Level Reset
+.Pq FLR
+of
+.Fa dev .
+If
+.Fa dev
+is not a PCI-express device or does not support Function Level Resets via
+the PCI-express device control register,
+.Dv false
+is returned.
+Pending transactions are drained by disabling busmastering and calling
+.Fn pcie_wait_for_pending_transactions
+before resetting the device.
+The
+.Fa max_delay
+argument specifies the maximum timeout to wait for pending transactions as
+described for
+.Fn pcie_wait_for_pending_transactions .
+If
+.Fn pcie_wait_for_pending_transactions
+fails with a timeout and
+.Fa force
+is
+.Dv false ,
+busmastering is re-enabled and
+.Dv false
+is returned.
+If
+.Fn pcie_wait_for_pending_transactions
+fails with a timeout and
+.Fa force
+is
+.Dv true ,
+the device is reset despite the timeout.
+After the reset has been requested,
+.Nm pcie_flr
+sleeps for at least 100 milliseconds before returning
+.Dv true .
+Note that
+.Nm pcie_flr
+does not save and restore any state around the reset.
+The caller should save and restore state as needed.
 .Ss Message Signaled Interrupts
 Message Signaled Interrupts
 .Pq MSI
@@ -436,13 +674,13 @@
 but not both.
 .Pp
 The
-.Fn pci_count_msi
+.Fn pci_msi_count
 function returns the maximum number of MSI messages supported by the
 device
 .Fa dev .
 If the device does not support MSI,
 then
-.Fn pci_count_msi
+.Fn pci_msi_count
 returns zero.
 .Pp
 The
@@ -489,16 +727,47 @@
 function returns zero on success and an error on failure.
 .Pp
 The
-.Fn pci_count_msix
+.Fn pci_msix_count
 function returns the maximum number of MSI-X messages supported by the
 device
 .Fa dev .
 If the device does not support MSI-X,
 then
-.Fn pci_count_msix
+.Fn pci_msix_count
 returns zero.
 .Pp
 The
+.Fn pci_msix_pba_bar
+function returns the offset in configuration space of the Base Address Register
+.Pq BAR
+containing the MSI-X Pending Bit Array (PBA) for device
+.Fa dev .
+The returned value can be used as the resource ID with
+.Xr bus_alloc_resource 9
+and
+.Xr bus_release_resource 9
+to allocate the BAR.
+If the device does not support MSI-X,
+then
+.Fn pci_msix_pba_bar
+returns -1.
+.Pp
+The
+.Fn pci_msix_table_bar
+function returns the offset in configuration space of the BAR
+containing the MSI-X vector table for device
+.Fa dev .
+The returned value can be used as the resource ID with
+.Xr bus_alloc_resource 9
+and
+.Xr bus_release_resource 9
+to allocate the BAR.
+If the device does not support MSI-X,
+then
+.Fn pci_msix_table_bar
+returns -1.
+.Pp
+The
 .Fn pci_alloc_msix
 function attempts to allocate
 .Fa *count
@@ -529,7 +798,7 @@
 .Fa *count
 messages allocated to the first
 .Fa *count
-table indicies.
+table indices.
 If
 .Fn pci_alloc_msix
 is not able to allocate any messages,
@@ -537,12 +806,21 @@
 Unlike MSI,
 MSI-X does not require message counts that are powers of two.
 .Pp
+The BARs containing the MSI-X vector table and PBA must be
+allocated via
+.Xr bus_alloc_resource 9
+before calling
+.Fn pci_alloc_msix
+and must not be released until after calling
+.Fn pci_release_msi .
+Note that the vector table and PBA may be stored in the same BAR or in
+different BARs.
+.Pp
 The
 .Fn pci_pending_msix
 function examines the
 .Fa dev
-device's Pending Bit Array
-.Pq PBA
+device's PBA
 to determine the pending status of the MSI-X message at table index
 .Fa index .
 If the indicated message is pending,
@@ -615,11 +893,6 @@
 The
 .Fn pci_remap_msix
 function will fail if this condition is not met.
-.Sh IMPLEMENTATION NOTES
-The
-.Vt pci_addr_t
-type varies according to the size of the PCI bus address
-space on the target architecture.
 .Sh SEE ALSO
 .Xr pci 4 ,
 .Xr pciconf 8 ,
@@ -657,3 +930,6 @@
 but to the device number assigned by the combination of the PCI IDSEL
 mechanism and the platform firmware.
 This should be taken note of when working with the kernel PCI code.
+.Pp
+The PCI bus driver should allocate the MSI-X vector table and PBA internally
+as necessary rather than requiring the caller to do so.


Property changes on: trunk/share/man/man9/pci.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pfil.9
===================================================================
--- trunk/share/man/man9/pfil.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pfil.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: pfil.9,v 1.22 2003/07/01 13:04:06 wiz Exp $
 .\"
 .\" Copyright (c) 1996 Matthew R. Green
@@ -26,9 +27,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pfil.9 254825 2013-08-25 06:58:51Z joel $
 .\"
-.Dd September 29, 2004
+.Dd August 23, 2013
 .Dt PFIL 9
 .Os
 .Sh NAME
@@ -36,10 +37,13 @@
 .Nm pfil_head_register ,
 .Nm pfil_head_unregister ,
 .Nm pfil_head_get ,
-.Nm pfil_hook_get ,
 .Nm pfil_add_hook ,
 .Nm pfil_remove_hook ,
-.Nm pfil_run_hooks
+.Nm pfil_run_hooks ,
+.Nm pfil_rlock ,
+.Nm pfil_runlock ,
+.Nm pfil_wlock ,
+.Nm pfil_wunlock
 .Nd packet filter interface
 .Sh SYNOPSIS
 .In sys/param.h
@@ -46,6 +50,8 @@
 .In sys/mbuf.h
 .In net/if.h
 .In net/pfil.h
+.Bd -literal
+typedef int (*pfil_func_t)(void *arg, struct mbuf **mp, struct ifnet *, int dir, struct inpcb);
 .Ft int
 .Fn pfil_head_register "struct pfil_head *head"
 .Ft int
@@ -52,16 +58,21 @@
 .Fn pfil_head_unregister "struct pfil_head *head"
 .Ft "struct pfil_head *"
 .Fn pfil_head_get "int af" "u_long dlt"
-.Ft "struct packet_filter_hook *"
-.Fn pfil_hook_get "int dir" "struct pfil_head *head"
 .Ft void
-.Fn pfil_add_hook "int (*func)()" "void *arg" "int flags" "struct pfil_head *"
+.Fn pfil_add_hook "pfil_func_t" "void *arg" "int flags" "struct pfil_head *"
 .Ft void
-.Fn pfil_remove_hook "int (*func)()" "void *arg" "int flags" "struct pfil_head *"
+.Fn pfil_remove_hook "pfil_func_t" "void *arg" "int flags" "struct pfil_head *"
 .Ft int
-.Fn (*func) "void *arg" "struct mbuf **mp" "struct ifnet *" "int dir" "struct inpcb *"
-.Ft int
 .Fn pfil_run_hooks "struct pfil_head *head" "struct mbuf **mp" "struct ifnet *" "int dir" "struct inpcb *"
+.Ft void
+.Fn pfil_rlock "struct pfil_head *" "struct rm_priotracker *"
+.Ft void
+.Fn pfil_runlock "struct pfil_head *" "struct rm_priotracker *"
+.Ft void
+.Fn pfil_wlock "struct pfil_head *"
+.Ft void
+.Fn pfil_wunlock "struct pfil_head *"
+.Ed
 .Sh DESCRIPTION
 The
 .Nm
@@ -86,6 +97,16 @@
 .Xr bpf 4
 DLT constant indicating what kind of header is present on the packet
 at the filtering point.
+Each filtering point uses common per-VNET rmlock by default.
+This can be changed by specifying
+.Vt PFIL_FLAG_PRIVATE_LOCK
+as
+.Vt "flags"
+field in the
+.Vt pfil_head
+structure.
+Note that specifying private lock can break filters sharing the same
+ruleset and/or state between different data link types.
 Filtering points may be unregistered with the
 .Fn pfil_head_unregister
 function.
@@ -122,6 +143,42 @@
 if the processing is to continue.
 If the packet processing is to stop, it is the responsibility of the
 filter to free the packet.
+.Pp
+Every filter hook is called with
+.Nm
+read lock held.
+All heads uses the same lock within the same VNET instance.
+Packet filter can use this lock instead of own locking model to
+improve performance.
+Since
+.Nm
+uses
+.Xr rmlock 9
+.Fn pfil_rlock
+and
+.Fn pfil_runlock
+require
+.Va struct rm_priotracker
+to be passed as argument.
+Filter can acquire and release writer lock via
+.Fn pfil_wlock
+and
+.Fn pfil_wunlock
+functions.
+See
+.Xr rmlock 9
+for more details.
+.Sh FILTERING POINTS
+Currently, filtering points are implemented for the following link types:
+.Pp
+.Bl -tag -width "AF_INET6" -offset XXX -compact
+.It AF_INET
+IPv4 packets.
+.It AF_INET6
+IPv6 packets.
+.It AF_LINK
+Link-layer packets.
+.El
 .Sh RETURN VALUES
 If successful,
 .Fn pfil_head_get
@@ -145,7 +202,8 @@
 might sleep!
 .Sh SEE ALSO
 .Xr bpf 4 ,
-.Xr if_bridge 4
+.Xr if_bridge 4 ,
+.Xr rmlock 9
 .Sh HISTORY
 The
 .Nm
@@ -181,29 +239,10 @@
 .Pp
 Fine-grained locking was added in
 .Fx 5.2 .
+.Nm
+lock export was added in
+.Fx 10.0 .
 .Sh BUGS
-The
-.Fn pfil_hook_get
-function
-is only safe for internal use.
-.Pp
-.Fx
-implements only hooks for
-.Dv AF_INET
-and
-.Dv AF_INET6 .
-Packets diverted through these hooks have data in
-host byte order contrary to the above statements.
-.Pp
-The
-.Xr if_bridge 4
-diverts
-.Dv AF_INET
-and
-.Dv AF_INET6
-traffic according to its sysctl settings, but contrary to the above
-statements, the data is provided in host byte order.
-.Pp
 When a
 .Vt pfil_head
 is being modified, no traffic is diverted


Property changes on: trunk/share/man/man9/pfil.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pfind.9
===================================================================
--- trunk/share/man/man9/pfind.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pfind.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 Evan Sarmiento.
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pfind.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 11, 2001
 .Dt PFIND 9


Property changes on: trunk/share/man/man9/pfind.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/pget.9
===================================================================
--- trunk/share/man/man9/pget.9	                        (rev 0)
+++ trunk/share/man/man9/pget.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,108 @@
+.\" $MidnightBSD$
+.\" Copyright (c) 2011 Sergey Kandaurov
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/pget.9 265928 2014-05-12 19:42:16Z pluknet $
+.\"
+.Dd May 3, 2014
+.Dt PGET 9
+.Os
+.Sh NAME
+.Nm pget
+.Nd locate a process by number
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/proc.h
+.Ft int
+.Fn pget "pid_t pid" "int flags" "struct proc **pp"
+.Sh DESCRIPTION
+This function
+takes a
+.Fa pid
+as its argument,
+which can be either a process or thread id,
+and fills a pointer to the
+.Vt proc
+structure in
+.Fa *pp .
+In the latter case, a process owning the specified thread is looked for.
+The operation is performed by invoking the
+.Xr pfind 9
+function.
+The found process is returned locked.
+For the
+.Dv PGET_HOLD
+case, it is returned unlocked (but held).
+The
+.Fn pget
+function can
+perform additional manipulations, depending on a
+.Fa flags
+argument.
+.Pp
+The
+.Fa flags
+argument is the logical OR of some subset of:
+.Bl -tag -width ".Dv PGET_NOTINEXEC"
+.It Dv PGET_HOLD
+If set, the found process will be held and unlocked.
+.It Dv PGET_CANSEE
+If set, the found process will be checked for its visibility.
+See
+.Xr p_cansee 9 .
+.It Dv PGET_CANDEBUG
+If set, the found process will be checked for its debuggability.
+See
+.Xr p_candebug 9 .
+.It Dv PGET_ISCURRENT
+If set, the found process will be checked that it matches the current
+process context.
+.It Dv PGET_NOTWEXIT
+If set, the found process will be checked that it does not have the process
+flag
+.Dv P_WEXIT
+set.
+.It Dv PGET_NOTINEXEC
+If set, the found process will be checked that it does not have the process
+flag
+.Dv P_INEXEC
+set.
+.It Dv PGET_NOTID
+If set,
+.Fa pid
+is not assumed as a thread id for values larger than
+.Dv PID_MAX .
+.It Dv PGET_WANTREAD
+If set, the found process will be checked that the caller may get
+a read access to its structure.
+A shorthand for
+.Pq Dv PGET_HOLD | PGET_CANDEBUG | PGET_NOTWEXIT .
+.El
+.Sh RETURN VALUES
+If the process is found in the specified way, then zero is returned,
+otherwise an appropriate error code is returned.
+.Sh SEE ALSO
+.Xr p_candebug 9 ,
+.Xr p_cansee 9 ,
+.Xr pfind 9


Property changes on: trunk/share/man/man9/pget.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/pgfind.9
===================================================================
--- trunk/share/man/man9/pgfind.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pgfind.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 Evan Sarmiento.
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pgfind.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd August 8, 2001
 .Dt PGFIND 9


Property changes on: trunk/share/man/man9/pgfind.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/physio.9
===================================================================
--- trunk/share/man/man9/physio.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/physio.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: physio.9,v 1.2 1996/11/11 00:05:12 lukem Exp $
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -27,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/physio.9 230330 2012-01-19 09:51:07Z ed $
 .\"
 .Dd January 19, 2012
 .Dt PHYSIO 9


Property changes on: trunk/share/man/man9/physio.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap.9
===================================================================
--- trunk/share/man/man9/pmap.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap.9 270920 2014-09-01 07:58:15Z kib $
 .\"
-.Dd July 21, 2003
+.Dd July 18, 2014
 .Dt PMAP 9
 .Os
 .Sh NAME
@@ -89,7 +90,6 @@
 .Sh SEE ALSO
 .Xr pmap 9 ,
 .Xr pmap_activate 9 ,
-.Xr pmap_change_wiring 9 ,
 .Xr pmap_clear_modify 9 ,
 .Xr pmap_clear_reference 9 ,
 .Xr pmap_copy 9 ,
@@ -120,6 +120,7 @@
 .Xr pmap_remove_pages 9 ,
 .Xr pmap_resident_count 9 ,
 .Xr pmap_ts_modified 9 ,
+.Xr pmap_unwire 9 ,
 .Xr pmap_wired_count 9 ,
 .Xr pmap_zero_area 9 ,
 .Xr pmap_zero_idle 9 ,


Property changes on: trunk/share/man/man9/pmap.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_activate.9
===================================================================
--- trunk/share/man/man9/pmap_activate.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_activate.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_activate.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_ACTIVATE 9


Property changes on: trunk/share/man/man9/pmap_activate.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_change_wiring.9
===================================================================
--- trunk/share/man/man9/pmap_change_wiring.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_change_wiring.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_change_wiring.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_CHANGE_WIRING 9


Property changes on: trunk/share/man/man9/pmap_change_wiring.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_clear_modify.9
===================================================================
--- trunk/share/man/man9/pmap_clear_modify.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_clear_modify.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_clear_modify.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_CLEAR_MODIFY 9


Property changes on: trunk/share/man/man9/pmap_clear_modify.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_copy.9
===================================================================
--- trunk/share/man/man9/pmap_copy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_copy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_copy.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_COPY 9


Property changes on: trunk/share/man/man9/pmap_copy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_enter.9
===================================================================
--- trunk/share/man/man9/pmap_enter.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_enter.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,7 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
+.\" Copyright (c) 2014 The FreeBSD Foundation
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -23,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_enter.9 278149 2015-02-03 11:45:01Z kib $
 .\"
-.Dd July 21, 2003
+.Dd January 27, 2015
 .Dt PMAP_ENTER 9
 .Os
 .Sh NAME
@@ -35,34 +37,129 @@
 .In sys/param.h
 .In vm/vm.h
 .In vm/pmap.h
-.Ft void
+.Ft int
 .Fo pmap_enter
-.Fa "pmap_t pmap" "vm_offset_t va" "vm_page_t p" "vm_prot_t prot"
-.Fa "boolean_t wired"
+.Fa "pmap_t pmap" "vm_offset_t va" "vm_page_t m" "vm_prot_t prot"
+.Fa "u_int flags" "int8_t psind"
 .Fc
 .Sh DESCRIPTION
 The
 .Fn pmap_enter
-function inserts the given physical page
-.Fa p ,
-into the physical map
-.Fa pmap ,
-at the virtual address
-.Fa va ,
+function creates a mapping in the physical map
+.Fa pmap
+from the virtual address
+.Fa va
+to the physical page
+.Fa m
 with the protection
 .Fa prot .
-If
-.Fa wired
-is
-.Dv TRUE ,
-then increment the wired count for the page as soon as the mapping
-is inserted into
-.Fa pmap .
-.Sh IMPLEMENTATION NOTES
-This routine MAY NOT lazy-evaluate the entry; it is required by
-specification to make the requested entry at the time it is called.
+Any previous mapping at the virtual address
+.Fa va
+is destroyed.
+.Pp
+The
+.Fa flags
+argument may have the following values:
+.Bl -tag -width ".Dv PMAP_ENTER_NOSLEEP"
+.It Dv VM_PROT_READ
+A read access to the given virtual address triggered the call.
+.It Dv VM_PROT_WRITE
+A write access to the given virtual address triggered the call.
+.It Dv VM_PROT_EXECUTE
+An execute access to the given virtual address triggered the call.
+.It Dv PMAP_ENTER_WIRED
+The mapping should be marked as wired.
+.It Dv PMAP_ENTER_NOSLEEP
+This function may not sleep during creation of the mapping.
+If the mapping cannot be created without sleeping, an appropriate
+Mach VM error is returned.
+.El
+If the
+.Dv PMAP_ENTER_NOSLEEP
+flag is not specified, this function must create the requested mapping
+before returning.
+It may not fail.
+In order to create the requested mapping, this function may destroy
+any non-wired mapping in any pmap.
+.Pp
+The
+.Fa psind
+parameter specifies the page size that should be used by the mapping.
+The supported page sizes are described by the global array
+.Dv pagesizes[] .
+The desired page size is specified by passing the index of the array
+element that equals the desired page size.
+.Pp
+When the
+.Fn pmap_enter
+function destroys or updates a managed mapping, including an existing
+mapping at virtual address
+.Fa va ,
+it updates the
+.Ft vm_page
+structure corresponding to the previously mapped physical page.
+If the physical page was accessed through the managed mapping,
+then the
+.Ft vm_page
+structure's
+.Dv PGA_REFERENCED
+aflag is set.
+If the physical page was modified through the managed mapping, then the
+.Fn vm_page_dirty
+function is called on the
+.Ft vm_page
+structure.
+.Pp
+The
+.Dv PGA_WRITEABLE
+aflag must be set for the page
+.Fa m
+if the new mapping is managed and writeable.
+It is advised to clear
+.Dv PGA_WRITEABLE
+for destroyed mappings if the implementation can ensure
+that no other writeable managed mappings for the previously
+mapped pages exist.
+.Pp
+If the page
+.Fa m
+is managed, the page must be busied by the caller
+or the owning object must be locked.
+In the later case, the
+.Dv PMAP_ENTER_NOSLEEP
+must be specified by the caller.
+.Pp
+The
+.Fn pmap_enter
+function must handle the multiprocessor TLB consistency for the
+given address.
+.Sh NOTES
+On amd64, arm and i386 architectures the existing implementation
+of the
+.Nm
+function is incomplete, only value 0 for
+.Fa psind
+is supported.
+Other supported architectures have
+.Dv pagesizes[]
+array of size 1.
+.Sh RETURN VALUES
+If successful, the
+.Fn pmap_enter
+function returns
+.Er KERN_SUCCESS .
+If the
+.Dv PMAP_ENTER_NOSLEEP
+flag was specified and the resources required for the mapping cannot
+be acquired without sleeping,
+.Dv KERN_RESOURCE_SHORTAGE
+is returned.
 .Sh SEE ALSO
 .Xr pmap 9
 .Sh AUTHORS
-This manual page was written by
-.An Bruce M Simpson Aq bms at spc.org .
+This manual page was first written by
+.An Bruce M Simpson Aq Mt bms at spc.org
+and then rewritten by
+.An Alan Cox Aq Mt alc at FreeBSD.org
+and
+.An Konstantin Belousov Aq Mt kib at FreeBSD.org .


Property changes on: trunk/share/man/man9/pmap_enter.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_extract.9
===================================================================
--- trunk/share/man/man9/pmap_extract.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_extract.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_extract.9 166310 2007-01-28 16:23:55Z rwatson $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_EXTRACT 9


Property changes on: trunk/share/man/man9/pmap_extract.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_growkernel.9
===================================================================
--- trunk/share/man/man9/pmap_growkernel.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_growkernel.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_growkernel.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_GROWKERNEL 9


Property changes on: trunk/share/man/man9/pmap_growkernel.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_init.9
===================================================================
--- trunk/share/man/man9/pmap_init.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_init.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_init.9 147260 2005-06-10 17:19:27Z hmp $
 .\"
 .Dd June 10, 2005
 .Dt PMAP_INIT 9


Property changes on: trunk/share/man/man9/pmap_init.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_is_modified.9
===================================================================
--- trunk/share/man/man9/pmap_is_modified.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_is_modified.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_is_modified.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_IS_MODIFIED 9


Property changes on: trunk/share/man/man9/pmap_is_modified.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_is_prefaultable.9
===================================================================
--- trunk/share/man/man9/pmap_is_prefaultable.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_is_prefaultable.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_is_prefaultable.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_IS_PREFAULTABLE 9


Property changes on: trunk/share/man/man9/pmap_is_prefaultable.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_map.9
===================================================================
--- trunk/share/man/man9/pmap_map.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_map.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_map.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_MAP 9


Property changes on: trunk/share/man/man9/pmap_map.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_mincore.9
===================================================================
--- trunk/share/man/man9/pmap_mincore.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_mincore.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_mincore.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_MINCORE 9


Property changes on: trunk/share/man/man9/pmap_mincore.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_object_init_pt.9
===================================================================
--- trunk/share/man/man9/pmap_object_init_pt.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_object_init_pt.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_object_init_pt.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_OBJECT_INIT_PT 9


Property changes on: trunk/share/man/man9/pmap_object_init_pt.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_page_exists_quick.9
===================================================================
--- trunk/share/man/man9/pmap_page_exists_quick.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_page_exists_quick.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_page_exists_quick.9 140561 2005-01-21 08:36:40Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_PAGE_EXISTS_QUICK 9


Property changes on: trunk/share/man/man9/pmap_page_exists_quick.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_page_init.9
===================================================================
--- trunk/share/man/man9/pmap_page_init.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_page_init.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2005 Hiten Pandya <hmp at FreeBSD.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_page_init.9 147259 2005-06-10 17:16:16Z hmp $
 .\"
 .Dd June 10, 2005
 .Dt PMAP_PAGE_INIT 9


Property changes on: trunk/share/man/man9/pmap_page_init.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_page_protect.9
===================================================================
--- trunk/share/man/man9/pmap_page_protect.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_page_protect.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_page_protect.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_PROTECT 9


Property changes on: trunk/share/man/man9/pmap_page_protect.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_pinit.9
===================================================================
--- trunk/share/man/man9/pmap_pinit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_pinit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_pinit.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_PINIT 9


Property changes on: trunk/share/man/man9/pmap_pinit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_qenter.9
===================================================================
--- trunk/share/man/man9/pmap_qenter.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_qenter.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_qenter.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_QENTER 9


Property changes on: trunk/share/man/man9/pmap_qenter.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_release.9
===================================================================
--- trunk/share/man/man9/pmap_release.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_release.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_release.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_RELEASE 9


Property changes on: trunk/share/man/man9/pmap_release.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_remove.9
===================================================================
--- trunk/share/man/man9/pmap_remove.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_remove.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_remove.9 157444 2006-04-03 21:17:36Z peter $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_REMOVE 9


Property changes on: trunk/share/man/man9/pmap_remove.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_resident_count.9
===================================================================
--- trunk/share/man/man9/pmap_resident_count.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_resident_count.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_resident_count.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_RESIDENT_COUNT 9


Property changes on: trunk/share/man/man9/pmap_resident_count.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/pmap_unwire.9
===================================================================
--- trunk/share/man/man9/pmap_unwire.9	                        (rev 0)
+++ trunk/share/man/man9/pmap_unwire.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,67 @@
+.\" $MidnightBSD$
+.\"
+.\" Copyright (c) 2014 Alan L. Cox <alc at rice.edu>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/pmap_unwire.9 270920 2014-09-01 07:58:15Z kib $
+.\"
+.Dd July 17, 2014
+.Dt PMAP_UNWIRE 9
+.Os
+.Sh NAME
+.Nm pmap_unwire
+.Nd unwire a range of virtual pages
+.Sh SYNOPSIS
+.In sys/param.h
+.In vm/vm.h
+.In vm/pmap.h
+.Ft void
+.Fo pmap_unwire
+.Fa "pmap_t pmap" "vm_offset_t start" "vm_offset_t end"
+.Fc
+.Sh DESCRIPTION
+.Pp
+The function
+.Fn pmap_unwire
+removes the wired attribute from each of the virtual-to-physical page mappings
+within the virtual address range from
+.Fa start
+to
+.Fa end
+of the physical map
+.Fa pmap .
+Every valid mapping within that range is required to have the wired attribute
+set.
+Invalid mappings are ignored, since they cannot have the wired attribute set.
+.Sh NOTES
+Only the function
+.Xr pmap_enter 9
+can be used to set the wired attribute of a virtual-to-physical page mapping.
+.Sh SEE ALSO
+.Xr pmap 9 ,
+.Xr pmap_enter 9 ,
+.Xr pmap_wired_count 9
+.Sh AUTHORS
+This manual page was written by
+.An Alan L. Cox Aq alc at rice.edu .


Property changes on: trunk/share/man/man9/pmap_unwire.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/pmap_zero_page.9
===================================================================
--- trunk/share/man/man9/pmap_zero_page.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pmap_zero_page.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pmap_zero_page.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 21, 2003
 .Dt PMAP_ZERO 9


Property changes on: trunk/share/man/man9/pmap_zero_page.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/printf.9
===================================================================
--- trunk/share/man/man9/printf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/printf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2001 Andrew R. Reiter
 .\" Copyright (c) 2004 Joerg Wunsch
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/printf.9 288497 2015-10-02 14:21:07Z vangyzen $
 .\"
 .Dd September 8, 2006
 .Dt PRINTF 9
@@ -67,7 +68,8 @@
 .Fn log
 function sends the message to the kernel logging facility, using
 the log level as indicated by
-.Fa pri .
+.Fa pri ,
+and to the console if no process is yet reading the log.
 .Pp
 Each of these related functions use the
 .Fa fmt


Property changes on: trunk/share/man/man9/printf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/prison_check.9
===================================================================
--- trunk/share/man/man9/prison_check.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/prison_check.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Joseph Koshy <jkoshy at FreeBSD.org>
 .\"
@@ -25,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/prison_check.9 208291 2010-05-19 08:57:53Z uqs $
 .\"
 .Dd December 11, 2003
 .Dt PRISON_CHECK 9


Property changes on: trunk/share/man/man9/prison_check.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/priv.9
===================================================================
--- trunk/share/man/man9/priv.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/priv.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2006 nCircle Network Security, Inc.
 .\" All rights reserved.
@@ -26,7 +27,7 @@
 .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 .\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/priv.9 183113 2008-09-17 15:49:44Z attilio $
 .\"
 .Dd August 30, 2006
 .Dt PRIV 9


Property changes on: trunk/share/man/man9/priv.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/pseudofs.9
===================================================================
--- trunk/share/man/man9/pseudofs.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/pseudofs.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2001 Dag-Erling Coïdan Smørgrav
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/pseudofs.9 222176 2011-05-22 14:03:30Z uqs $
 .\"
 .Dd April 20, 2007
 .Dt PSEUDOFS 9


Property changes on: trunk/share/man/man9/pseudofs.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/psignal.9
===================================================================
--- trunk/share/man/man9/psignal.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/psignal.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
 .\" All rights reserved.
 .\"
@@ -26,7 +27,7 @@
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"	$NetBSD: psignal.9,v 1.1 1996/06/22 22:57:35 pk Exp $
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/psignal.9 283554 2015-05-26 03:58:18Z julian $
 .\"
 .Dd October 8, 2011
 .Dt PSIGNAL 9
@@ -33,6 +34,7 @@
 .Os
 .Sh NAME
 .Nm psignal ,
+.Nm kern_psignal ,
 .Nm pgsignal ,
 .Nm gsignal ,
 .Nm tdsignal
@@ -41,7 +43,7 @@
 .In sys/types.h
 .In sys/signalvar.h
 .Ft void
-.Fn psignal "struct proc *p" "int signum"
+.Fn kern_psignal "struct proc *p" "int signum"
 .Ft void
 .Fn pgsignal "struct pgrp *pgrp" "int signum" "int checkctty"
 .Ft void
@@ -56,16 +58,22 @@
 .Bq 1- Ns Dv NSIG .
 .Pp
 The
-.Fn psignal
+.Fn kern_psignal
 function posts signal number
 .Fa signum
 to the process represented by the process structure
 .Fa p .
+The
+.Fn kern_psignal
+function used to be called
+.Fn psignal
+but was renamed in order to eliminate a name collision with the libc
+function of that name and facilitate code reuse.
 With a few exceptions noted below, the target process signal disposition is
 updated and is marked as runnable, so further handling of the signal is done
 in the context of the target process after a context switch.
 Note that
-.Fn psignal
+.Fn kern_psignal
 does not by itself cause a context switch to happen.
 .Pp
 The target process is not marked as runnable in the following cases:
@@ -91,7 +99,7 @@
 .El
 .Pp
 If the target process is being traced
-.Fn psignal
+.Fn kern_psignal
 behaves as if the target process were taking the default action for
 .Fa signum .
 This allows the tracing process to be notified of the signal.
@@ -113,7 +121,7 @@
 pointed at by
 .Fa pgrp
 and calling
-.Fn psignal
+.Fn kern_psignal
 as appropriate.
 If
 .Fa pgrp
@@ -149,3 +157,10 @@
 .Xr sigaction 2 ,
 .Xr signal 9 ,
 .Xr tsleep 9
+.Sh HISTORY
+The
+.Fn psignal
+function was renamed to
+.Fn kern_psignal
+in
+.Fx 9.0 .


Property changes on: trunk/share/man/man9/psignal.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/random.9
===================================================================
--- trunk/share/man/man9/random.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/random.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000
 .\"	The Regents of the University of California.  All rights reserved.
@@ -24,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/random.9 231564 2012-02-12 18:29:56Z ed $
 .\" "
 .Dd September 25, 2000
 .Dt RANDOM 9
@@ -44,7 +45,7 @@
 .Fn random "void"
 .Ft void
 .Fn arc4rand "void *ptr" "u_int length" "int reseed"
-.Ft u_int32_t
+.Ft uint32_t
 .Fn arc4random "void"
 .Pp
 .In sys/random.h


Property changes on: trunk/share/man/man9/random.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/random_harvest.9
===================================================================
--- trunk/share/man/man9/random_harvest.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/random_harvest.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2002 Mark R V Murray
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/random_harvest.9 94483 2002-04-12 05:23:16Z davidc $
 .\"
 .Dd February 6, 2002
 .Dt RANDOM_HARVEST 9


Property changes on: trunk/share/man/man9/random_harvest.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/redzone.9
===================================================================
--- trunk/share/man/man9/redzone.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/redzone.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2006 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/redzone.9 186953 2009-01-09 14:41:36Z brueffer $
 .\"
 .Dd January 9, 2009
 .Dt REDZONE 9


Property changes on: trunk/share/man/man9/redzone.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/refcount.9
===================================================================
--- trunk/share/man/man9/refcount.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/refcount.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,6 @@
+.\" $MidnightBSD$
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/refcount.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd January 20, 2009
 .Dt REFCOUNT 9


Property changes on: trunk/share/man/man9/refcount.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/resettodr.9
===================================================================
--- trunk/share/man/man9/resettodr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/resettodr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: resettodr.9,v 1.1 1995/11/25 21:24:51 perry Exp $
 .\"
 .\" Copyright (c) 1994 Christopher G. Demetriou
@@ -29,7 +30,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/resettodr.9 121385 2003-10-23 02:33:03Z hmp $
 .\"
 .Dd November 13, 1995
 .Dt RESETTODR 9


Property changes on: trunk/share/man/man9/resettodr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/resource_int_value.9
===================================================================
--- trunk/share/man/man9/resource_int_value.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/resource_int_value.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2001 M. Warner Losh
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/resource_int_value.9 88509 2001-12-26 23:14:04Z davidc $
 .\"
 .Dd March 1, 2001
 .Dt RESOURCE_INT_VALUE 9


Property changes on: trunk/share/man/man9/resource_int_value.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rijndael.9
===================================================================
--- trunk/share/man/man9/rijndael.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rijndael.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2002
 .\"	Mark R V Murray.  All rights reserved.
@@ -24,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rijndael.9 231564 2012-02-12 18:29:56Z ed $
 .\" "
 .Dd February 6, 2002
 .Dt RIJNDAEL 9
@@ -43,7 +44,7 @@
 .Ft int
 .Fo rijndael_makeKey
 .Fa "keyInstance *key"
-.Fa "u_int8_t direction"
+.Fa "uint8_t direction"
 .Fa "int keyLen"
 .Fa "char *keyMaterial"
 .Fc
@@ -50,7 +51,7 @@
 .Ft int
 .Fo rijndael_cipherInit
 .Fa "cipherInstance *cipher"
-.Fa "u_int8_t mode"
+.Fa "uint8_t mode"
 .Fa "char *IV"
 .Fc
 .Ft int
@@ -57,33 +58,33 @@
 .Fo rijndael_blockEncrypt
 .Fa "cipherInstance *cipher"
 .Fa "keyInstance *key"
-.Fa "u_int8_t *input"
+.Fa "uint8_t *input"
 .Fa "int inputLen"
-.Fa "u_int8_t *outBuffer"
+.Fa "uint8_t *outBuffer"
 .Fc
 .Ft int
 .Fo rijndael_padEncrypt
 .Fa "cipherInstance *cipher"
 .Fa "keyInstance *key"
-.Fa "u_int8_t *input"
+.Fa "uint8_t *input"
 .Fa "int inputOctets"
-.Fa "u_int8_t *outBuffer"
+.Fa "uint8_t *outBuffer"
 .Fc
 .Ft int
 .Fo rijndael_blockDecrypt
 .Fa "cipherInstance *cipher"
 .Fa "keyInstance *key"
-.Fa "u_int8_t *input"
+.Fa "uint8_t *input"
 .Fa "int inputLen"
-.Fa "u_int8_t *outBuffer"
+.Fa "uint8_t *outBuffer"
 .Fc
 .Ft int
 .Fo rijndael_padDecrypt
 .Fa "cipherInstance *cipher"
 .Fa "keyInstance *key"
-.Fa "u_int8_t *input"
+.Fa "uint8_t *input"
 .Fa "int inputOctets"
-.Fa "u_int8_t *outBuffer"
+.Fa "uint8_t *outBuffer"
 .Fc
 .Sh DESCRIPTION
 The


Property changes on: trunk/share/man/man9/rijndael.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rman.9
===================================================================
--- trunk/share/man/man9/rman.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rman.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rman.9 303254 2016-07-24 04:38:50Z jhb $
 .\"
-.Dd April 29, 2011
+.Dd May 19, 2016
 .Dt RMAN 9
 .Os
 .Sh NAME
@@ -32,7 +33,6 @@
 .Nm rman ,
 .Nm rman_activate_resource ,
 .Nm rman_adjust_resource ,
-.Nm rman_await_resource ,
 .Nm rman_deactivate_resource ,
 .Nm rman_fini ,
 .Nm rman_init ,
@@ -67,8 +67,6 @@
 .Ft int
 .Fn rman_adjust_resource "struct resource *r" "u_long start" "u_long end"
 .Ft int
-.Fn rman_await_resource "struct resource *r" "int pri2" "int timo"
-.Ft int
 .Fn rman_deactivate_resource "struct resource *r"
 .Ft int
 .Fn rman_fini "struct rman *rm"
@@ -141,13 +139,11 @@
 #define RF_ALLOCATED    0x0001 /* resource has been reserved */
 #define RF_ACTIVE       0x0002 /* resource allocation has been activated */
 #define RF_SHAREABLE    0x0004 /* resource permits contemporaneous sharing */
-#define RF_TIMESHARE    0x0008 /* resource permits time-division sharing */
-#define RF_WANTED       0x0010 /* somebody is waiting for this resource */
 #define RF_FIRSTSHARE   0x0020 /* first in sharing list */
 #define RF_PREFETCHABLE 0x0040 /* resource is prefetchable */
 .Ed
 .Pp
-The remainder of the flag bits are used to represent the desired alignment
+Bits 15:10  of the flag register are used to represent the desired alignment
 of the resource within the region.
 .Pp
 The
@@ -299,12 +295,9 @@
 .Fa bound
 argument must be a power of two.
 It may be set to zero to specify no boundary restriction.
-The default behavior is to allocate an exclusive segment, unless the
+A shared segment will be allocated if the
 .Dv RF_SHAREABLE
-or
-.Dv RF_TIMESHARE
-flags are set, in which case a shared
-segment will be allocated.
+flag is set, otherwise an exclusive segment will be allocated.
 If this shared segment already exists, the caller has its device
 added to the list of consumers.
 .Pp
@@ -392,23 +385,6 @@
 If other consumers are waiting for this range, it will wakeup their threads.
 .Pp
 The
-.Fn rman_await_resource
-function performs an asynchronous wait for a resource
-.Fa r
-to become inactive, that is, for the
-.Dv RF_ACTIVE
-flag to be cleared.
-It is used to enable cooperative sharing of a resource
-which can only be safely used by one thread at a time.
-The arguments
-.Fa pri
-and
-.Fa timo
-are passed to the
-.Fn rman_await_resource
-function.
-.Pp
-The
 .Fn rman_get_start ,
 .Fn rman_get_end ,
 .Fn rman_get_size ,


Property changes on: trunk/share/man/man9/rman.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rmlock.9
===================================================================
--- trunk/share/man/man9/rmlock.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rmlock.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2007 Stephan Uphoff <ups at FreeBSD.org>
 .\" Copyright (c) 2006 Gleb Smirnoff <glebius at FreeBSD.org>
 .\" All rights reserved.
@@ -23,10 +24,10 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rmlock.9 323870 2017-09-21 19:24:11Z marius $
 .\"
 .\" Based on rwlock.9 man page
-.Dd November 10, 2007
+.Dd December 13, 2014
 .Dt RMLOCK 9
 .Os
 .Sh NAME
@@ -40,8 +41,10 @@
 .Nm rm_runlock ,
 .Nm rm_wunlock ,
 .Nm rm_wowned ,
+.Nm rm_sleep ,
+.Nm rm_assert ,
 .Nm RM_SYSINIT
-.Nd kernel reader/writer lock optimized for mostly read access patterns
+.Nd kernel reader/writer lock optimized for read-mostly access patterns
 .Sh SYNOPSIS
 .In sys/param.h
 .In sys/lock.h
@@ -63,11 +66,18 @@
 .Ft void
 .Fn rm_wunlock "struct rmlock *rm"
 .Ft int
-.Fn rm_wowned "struct rmlock *rm"
+.Fn rm_wowned "const struct rmlock *rm"
+.Ft int
+.Fn rm_sleep "void *wchan" "struct rmlock *rm" "int priority" "const char *wmesg" "int timo"
+.Pp
+.Cd "options INVARIANTS"
+.Cd "options INVARIANT_SUPPORT"
+.Ft void
+.Fn rm_assert "struct rmlock *rm" "int what"
 .In sys/kernel.h
 .Fn RM_SYSINIT "name" "struct rmlock *rm" "const char *desc" "int opts"
 .Sh DESCRIPTION
-Mostly reader locks allow shared access to protected data by multiple threads,
+Read-mostly locks allow shared access to protected data by multiple threads,
 or exclusive access by a single thread.
 The threads with shared access are known as
 .Em readers
@@ -76,62 +86,67 @@
 .Em writer
 since it can modify protected data.
 .Pp
-Read mostly locks are designed to be efficient for locks almost exclusively
+Read-mostly locks are designed to be efficient for locks almost exclusively
 used as reader locks and as such should be used for protecting data that
 rarely changes.
-Acquiring an exclusive lock after the lock had been locked for shared access
+Acquiring an exclusive lock after the lock has been locked for shared access
 is an expensive operation.
 .Pp
-Although reader/writer locks look very similar to
-.Xr sx 9
-locks, their usage pattern is different.
-Reader/writer locks can be treated as mutexes (see
-.Xr mutex 9 )
-with shared/exclusive semantics unless initialized with
-.Dv RM_SLEEPABLE .
+Normal read-mostly locks are similar to
+.Xr rwlock 9
+locks and follow the same lock ordering rules as
+.Xr rwlock 9
+locks.
+Read-mostly locks have full priority propagation like mutexes.
 Unlike
-.Xr sx 9 ,
-an
-.Nm
-can be locked while holding a non-spin mutex, and an
-.Nm
-cannot be held while sleeping, again unless initialized with
-.Dv RM_SLEEPABLE .
-The
-.Nm
-locks have full priority propagation like mutexes.
-The
+.Xr rwlock 9 ,
+read-mostly locks propagate priority to both readers and writers.
+This is implemented via the
 .Va rm_priotracker
-structure argument supplied in
+structure argument supplied to
 .Fn rm_rlock
 and
-.Fn rm_runlock
-is used to keep track of the read owner(s).
-Another important property is that shared holders of
-.Nm
-can recurse if the lock has been initialized with the
-.Dv LO_RECURSABLE
-option, however exclusive locks are not allowed to recurse.
+.Fn rm_runlock .
+Readers can recurse if the lock is initialized with the
+.Dv RM_RECURSE
+option;
+however, writers are never allowed to recurse.
+.Pp
+Sleepable read-mostly locks are created by passing
+.Dv RM_SLEEPABLE
+to
+.Fn rm_init_flags .
+Unlike normal read-mostly locks,
+sleepable read-mostly locks follow the same lock ordering rules as
+.Xr sx 9
+locks.
+Sleepable read-mostly locks do not propagate priority to writers,
+but they do propagate priority to readers.
+Writers are permitted to sleep while holding a read-mostly lock,
+but readers are not.
+Unlike other sleepable locks such as
+.Xr sx 9
+locks,
+readers must use try operations on other sleepable locks to avoid sleeping.
 .Ss Macros and Functions
 .Bl -tag -width indent
 .It Fn rm_init "struct rmlock *rm" "const char *name"
-Initialize structure located at
-.Fa rm
-as mostly reader lock, described by
-.Fa name .
-The name description is used solely for debugging purposes.
+Initialize the read-mostly lock
+.Fa rm .
+The
+.Fa name
+description is used solely for debugging purposes.
 This function must be called before any other operations
 on the lock.
 .It Fn rm_init_flags "struct rmlock *rm" "const char *name" "int opts"
-Initialize the rm lock just like the
-.Fn rm_init
-function, but specifying a set of optional flags to alter the
-behaviour of
-.Fa rm ,
-through the
+Similar to
+.Fn rm_init ,
+initialize the read-mostly lock
+.Fa rm
+with a set of optional flags.
+The
 .Fa opts
-argument.
-It contains one or more of the following flags:
+arguments contains one or more of the following flags:
 .Bl -tag -width ".Dv RM_NOWITNESS"
 .It Dv RM_NOWITNESS
 Instruct
@@ -138,21 +153,24 @@
 .Xr witness 4
 to ignore this lock.
 .It Dv RM_RECURSE
-Allow threads to recursively acquire exclusive locks for
+Allow threads to recursively acquire shared locks for
 .Fa rm .
 .It Dv RM_SLEEPABLE
-Allow writers to sleep while holding the lock.
-Readers must not sleep while holding the lock and can avoid to sleep on
-taking the lock by using
-.Fn rm_try_rlock
-instead of
-.Fn rm_rlock .
+Create a sleepable read-mostly lock.
+.It Dv RM_NEW
+If the kernel has been compiled with
+.Cd "option INVARIANTS" ,
+.Fn rm_init_flags
+will assert that the
+.Fa rm
+has not been initialized multiple times without intervening calls to
+.Fn rm_destroy
+unless this option is specified.
 .El
 .It Fn rm_rlock "struct rmlock *rm" "struct rm_priotracker* tracker"
 Lock
 .Fa rm
-as a reader.
-Using
+as a reader using
 .Fa tracker
 to track read owners of a lock for priority propagation.
 This data structure is only used internally by
@@ -161,18 +179,16 @@
 .Fn rm_runlock
 has been called.
 This data structure can be allocated on the stack since
-rmlocks cannot be held while sleeping.
+readers cannot sleep.
 If any thread holds this lock exclusively, the current thread blocks,
 and its priority is propagated to the exclusive holder.
 If the lock was initialized with the
-.Dv LO_RECURSABLE
+.Dv RM_RECURSE
 option the
 .Fn rm_rlock
-function can be called when the thread has already acquired reader
+function can be called when the current thread has already acquired reader
 access on
 .Fa rm .
-This is called
-.Dq "recursing on a lock" .
 .It Fn rm_try_rlock "struct rmlock *rm" "struct rm_priotracker* tracker"
 Try to lock
 .Fa rm
@@ -179,10 +195,16 @@
 as a reader.
 .Fn rm_try_rlock
 will return 0 if the lock cannot be acquired immediately;
-otherwise the lock will be acquired and a non-zero value will be returned.
+otherwise,
+the lock will be acquired and a non-zero value will be returned.
 Note that
 .Fn rm_try_rlock
 may fail even while the lock is not currently held by a writer.
+If the lock was initialized with the
+.Dv RM_RECURSE
+option,
+.Fn rm_try_rlock
+will succeed if the current thread has already acquired reader access.
 .It Fn rm_wlock "struct rmlock *rm"
 Lock
 .Fa rm
@@ -208,16 +230,67 @@
 The
 .Fa rm
 lock must be unlocked.
-.It Fn rm_wowned "struct rmlock *rm"
+.It Fn rm_wowned "const struct rmlock *rm"
 This function returns a non-zero value if the current thread owns an
 exclusive lock on
 .Fa rm .
+.It Fn rm_sleep "void *wchan" "struct rmlock *rm" "int priority" "const char *wmesg" "int timo"
+This function atomically releases
+.Fa rm
+while waiting for an event.
+The
+.Fa rm
+lock must be exclusively locked.
+For more details on the parameters to this function,
+see
+.Xr sleep 9 .
+.It Fn rm_assert "struct rmlock *rm" "int what"
+This function asserts that the
+.Fa rm
+lock is in the state specified by
+.Fa what .
+If the assertions are not true and the kernel is compiled with
+.Cd "options INVARIANTS"
+and
+.Cd "options INVARIANT_SUPPORT" ,
+the kernel will panic.
+Currently the following base assertions are supported:
+.Bl -tag -width ".Dv RA_UNLOCKED"
+.It Dv RA_LOCKED
+Assert that current thread holds either a shared or exclusive lock
+of
+.Fa rm .
+.It Dv RA_RLOCKED
+Assert that current thread holds a shared lock of
+.Fa rm .
+.It Dv RA_WLOCKED
+Assert that current thread holds an exclusive lock of
+.Fa rm .
+.It Dv RA_UNLOCKED
+Assert that current thread holds neither a shared nor exclusive lock of
+.Fa rm .
 .El
+.Pp
+In addition, one of the following optional flags may be specified with
+.Dv RA_LOCKED ,
+.Dv RA_RLOCKED ,
+or
+.Dv RA_WLOCKED :
+.Bl -tag -width ".Dv RA_NOTRECURSED"
+.It Dv RA_RECURSED
+Assert that the current thread holds a recursive lock of
+.Fa rm .
+.It Dv RA_NOTRECURSED
+Assert that the current thread does not hold a recursive lock of
+.Fa rm .
+.El
+.El
 .Sh SEE ALSO
 .Xr locking 9 ,
 .Xr mutex 9 ,
 .Xr panic 9 ,
 .Xr rwlock 9 ,
+.Xr sleep 9 ,
 .Xr sema 9 ,
 .Xr sx 9
 .Sh HISTORY
@@ -249,8 +322,3 @@
 rmlocks in the system.
 If rmlocks become popular, hashing to multiple per CPU queues may
 be needed to speed up the writer lock process.
-.Pp
-The
-.Nm
-can currently not be used as a lock argument for condition variable
-wait functions.


Property changes on: trunk/share/man/man9/rmlock.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rtalloc.9
===================================================================
--- trunk/share/man/man9/rtalloc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rtalloc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright 1996 Massachusetts Institute of Technology
 .\"
@@ -26,7 +27,7 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rtalloc.9 238093 2012-07-04 07:42:12Z glebius $
 .\"
 .Dd July 4, 2012
 .Dt RTALLOC 9


Property changes on: trunk/share/man/man9/rtalloc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rtentry.9
===================================================================
--- trunk/share/man/man9/rtentry.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rtentry.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright 1996 Massachusetts Institute of Technology
 .\"
@@ -26,9 +27,9 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rtentry.9 264299 2014-04-09 11:15:50Z glebius $
 .\"
-.Dd December 11, 2008
+.Dd March 5, 2014
 .Dt RTENTRY 9
 .Os
 .Sh NAME
@@ -78,6 +79,12 @@
 flag is set).
 .It Vt "int rt_flags" ;
 See below.
+If the
+.Dv RTF_UP
+flag is not present, the
+.Fn rtfree
+function will delete the route from the radix tree when the last
+reference drops.
 .It Vt "int rt_refcnt" ;
 Route entries are reference-counted; this field indicates the number
 of external (to the radix tree) references.
@@ -89,14 +96,14 @@
 name the interface and interface address to be used in sending a
 packet to the destination or set of destinations which this route
 represents.
-.It Vt "struct rt_metrics_lite rt_rmx" ;
-See below.
-If the
-.Dv RTF_UP
-flag is not present, the
-.Fn rtfree
-function will delete the route from the radix tree when the last
-reference drops.
+.It Vt "u_long rt_mtu";
+See description of rmx_mtu below.
+.It Vt "u_long rt_weight";
+See description of rmx_weight below.
+.It Vt "u_long rt_expire";
+See description of rmx_expire below.
+.It Vt "counter64_t rt_pksent";
+See description of rmx_pksent below.
 .It Vt "struct rtentry *rt_gwroute" ;
 This member is a reference to a route whose destination is
 .Va rt_gateway .
@@ -151,8 +158,6 @@
 .It Dv RTF_PROTO2
 .It Dv RTF_PROTO3
 Protocol-specific.
-.It Dv RTF_PRCLONING
-This flag is obsolete and simply ignored by facility.
 .It Dv RTF_PINNED
 (Reserved for future use to indicate routes which are not to be
 modified by a routing protocol.)
@@ -165,9 +170,7 @@
 Indicates that the destination is a multicast address.
 .El
 .Pp
-Every route has associated with it a set of metrics, stored in
-.Vt "struct rt_metrics_lite" .
-Metrics are supplied in
+Several metrics are supplied in
 .Vt "struct rt_metrics"
 passed with routing control messages via
 .Xr route 4
@@ -176,8 +179,7 @@
 .Vt rmx_mtu , rmx_expire ,
 and
 .Vt rmx_pksent
-metrics are used in
-.Vt "struct rt_metrics_lite" .
+metrics are supplied.
 All others are ignored.
 .Pp
 The following metrics are defined by


Property changes on: trunk/share/man/man9/rtentry.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/runqueue.9
===================================================================
--- trunk/share/man/man9/runqueue.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/runqueue.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -21,7 +22,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/runqueue.9 211353 2010-08-15 21:25:52Z brueffer $
 .\"
 .Dd August 15, 2010
 .Dt RUNQUEUE 9


Property changes on: trunk/share/man/man9/runqueue.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/rwlock.9
===================================================================
--- trunk/share/man/man9/rwlock.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/rwlock.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2006 Gleb Smirnoff <glebius at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/rwlock.9 323870 2017-09-21 19:24:11Z marius $
 .\"
-.Dd April 1, 2008
+.Dd December 13, 2014
 .Dt RWLOCK 9
 .Os
 .Sh NAME
@@ -78,14 +79,14 @@
 .Ft int
 .Fn rw_sleep "void *chan" "struct rwlock *rw" "int priority" "const char *wmesg" "int timo"
 .Ft int
-.Fn rw_initialized "struct rwlock *rw"
+.Fn rw_initialized "const struct rwlock *rw"
 .Ft int
-.Fn rw_wowned "struct rwlock *rw"
+.Fn rw_wowned "const struct rwlock *rw"
 .Pp
 .Cd "options INVARIANTS"
 .Cd "options INVARIANT_SUPPORT"
 .Ft void
-.Fn rw_assert "struct rwlock *rw" "int what"
+.Fn rw_assert "const struct rwlock *rw" "int what"
 .In sys/kernel.h
 .Fn RW_SYSINIT "name" "struct rwlock *rw" "const char *desc"
 .Sh DESCRIPTION
@@ -114,12 +115,10 @@
 The
 .Nm
 locks have priority propagation like mutexes, but priority
-can be propagated only to an exclusive holder.
-This limitation comes from the fact that shared owners
+can be propagated only to writers.
+This limitation comes from the fact that readers
 are anonymous.
-Another important property is that shared holders of
-.Nm
-can recurse,
+Another important property is that readers can always recurse,
 and exclusive locks can be made recursive selectively.
 .Ss Macros and Functions
 .Bl -tag -width indent
@@ -156,6 +155,15 @@
 .It Dv RW_RECURSE
 Allow threads to recursively acquire exclusive locks for
 .Fa rw .
+.It Dv RW_NEW
+If the kernel has been compiled with
+.Cd "option INVARIANTS" ,
+.Fn rw_init_flags
+will assert that the
+.Fa rw
+has not been initialized multiple times without intervening calls to
+.Fn rw_destroy
+unless this option is specified.
 .El
 .It Fn rw_rlock "struct rwlock *rw"
 Lock
@@ -231,7 +239,7 @@
 For more details on the parameters to this function,
 see
 .Xr sleep 9 .
-.It Fn rw_initialized "struct rwlock *rw"
+.It Fn rw_initialized "const struct rwlock *rw"
 This function returns non-zero if
 .Fa rw
 has been initialized, and zero otherwise.
@@ -241,11 +249,11 @@
 The
 .Fa rw
 lock must be unlocked.
-.It Fn rw_wowned "struct rwlock *rw"
+.It Fn rw_wowned "const struct rwlock *rw"
 This function returns a non-zero value if the current thread owns an
 exclusive lock on
 .Fa rw .
-.It Fn rw_assert "struct rwlock *rw" "int what"
+.It Fn rw_assert "const struct rwlock *rw" "int what"
 This function allows assertions specified in
 .Fa what
 to be made about
@@ -256,7 +264,7 @@
 and
 .Cd "options INVARIANT_SUPPORT" ,
 the kernel will panic.
-Currently the following assertions are supported:
+Currently the following base assertions are supported:
 .Bl -tag -width ".Dv RA_UNLOCKED"
 .It Dv RA_LOCKED
 Assert that current thread holds either a shared or exclusive lock
@@ -272,7 +280,21 @@
 Assert that current thread holds neither a shared nor exclusive lock of
 .Fa rw .
 .El
+.Pp
+In addition, one of the following optional flags may be specified with
+.Dv RA_LOCKED ,
+.Dv RA_RLOCKED ,
+or
+.Dv RA_WLOCKED :
+.Bl -tag -width ".Dv RA_NOTRECURSED"
+.It Dv RA_RECURSED
+Assert that the current thread holds a recursive lock of
+.Fa rw .
+.It Dv RA_NOTRECURSED
+Assert that the current thread does not hold a recursive lock of
+.Fa rw .
 .El
+.El
 .Sh SEE ALSO
 .Xr locking 9 ,
 .Xr mutex 9 ,


Property changes on: trunk/share/man/man9/rwlock.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sbuf.9
===================================================================
--- trunk/share/man/man9/sbuf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sbuf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2000 Poul-Henning Kamp and Dag-Erling Coïdan Smørgrav
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sbuf.9 321115 2017-07-18 08:28:14Z ngie $
 .\"
-.Dd April 11, 2013
+.Dd April 5, 2017
 .Dt SBUF 9
 .Os
 .Sh NAME
@@ -34,6 +35,9 @@
 .Nm sbuf_new_auto ,
 .Nm sbuf_new_for_sysctl ,
 .Nm sbuf_clear ,
+.Nm sbuf_get_flags ,
+.Nm sbuf_set_flags ,
+.Nm sbuf_clear_flags ,
 .Nm sbuf_setpos ,
 .Nm sbuf_bcat ,
 .Nm sbuf_bcopyin ,
@@ -53,7 +57,9 @@
 .Nm sbuf_done ,
 .Nm sbuf_delete ,
 .Nm sbuf_start_section ,
-.Nm sbuf_end_section
+.Nm sbuf_end_section ,
+.Nm sbuf_hexdump ,
+.Nm sbuf_putbuf
 .Nd safe string composition
 .Sh SYNOPSIS
 .In sys/types.h
@@ -61,54 +67,159 @@
 .Ft typedef\ int ( sbuf_drain_func ) ( void\ *arg, const\ char\ *data, int\ len ) ;
 .Pp
 .Ft struct sbuf *
-.Fn sbuf_new "struct sbuf *s" "char *buf" "int length" "int flags"
+.Fo sbuf_new
+.Fa "struct sbuf *s"
+.Fa "char *buf"
+.Fa "int length"
+.Fa "int flags"
+.Fc
 .Ft struct sbuf *
-.Fn sbuf_new_auto
+.Fo sbuf_new_auto
+.Fa "void"
+.Fc
 .Ft void
-.Fn sbuf_clear "struct sbuf *s"
+.Fo sbuf_clear
+.Fa "struct sbuf *s"
+.Fc
 .Ft int
-.Fn sbuf_setpos "struct sbuf *s" "int pos"
+.Fo sbuf_get_flags
+.Fa "struct sbuf *s"
+.Fc
+.Ft void
+.Fo sbuf_set_flags
+.Fa "struct sbuf *s"
+.Fa "int flags"
+.Fc
+.Ft void
+.Fo sbuf_clear_flags
+.Fa "struct sbuf *s"
+.Fa "int flags"
+.Fc
 .Ft int
-.Fn sbuf_bcat "struct sbuf *s" "const void *buf" "size_t len"
+.Fo sbuf_setpos
+.Fa "struct sbuf *s"
+.Fa "int pos"
+.Fc
 .Ft int
-.Fn sbuf_bcopyin "struct sbuf *s" "const void *uaddr" "size_t len"
+.Fo sbuf_bcat
+.Fa "struct sbuf *s"
+.Fa "const void *buf"
+.Fa "size_t len"
+.Fc
 .Ft int
-.Fn sbuf_bcpy "struct sbuf *s" "const void *buf" "size_t len"
+.Fo sbuf_bcpy
+.Fa "struct sbuf *s"
+.Fa "const void *buf"
+.Fa "size_t len"
+.Fc
 .Ft int
-.Fn sbuf_cat "struct sbuf *s" "const char *str"
+.Fo sbuf_cat
+.Fa "struct sbuf *s"
+.Fa "const char *str"
+.Fc
 .Ft int
-.Fn sbuf_copyin "struct sbuf *s" "const void *uaddr" "size_t len"
+.Fo sbuf_cpy
+.Fa "struct sbuf *s"
+.Fa "const char *str"
+.Fc
 .Ft int
-.Fn sbuf_cpy "struct sbuf *s" "const char *str"
+.Fo sbuf_printf
+.Fa "struct sbuf *s"
+.Fa "const char *fmt" "..."
+.Fc
 .Ft int
-.Fn sbuf_printf "struct sbuf *s" "const char *fmt" "..."
+.Fo sbuf_vprintf
+.Fa "struct sbuf *s"
+.Fa "const char *fmt"
+.Fa "va_list ap"
+.Fc
 .Ft int
-.Fn sbuf_vprintf "struct sbuf *s" "const char *fmt" "va_list ap"
-.Ft int
-.Fn sbuf_putc "struct sbuf *s" "int c"
+.Fo sbuf_putc
+.Fa "struct sbuf *s"
+.Fa "int c"
+.Fc
 .Ft void
-.Fn sbuf_set_drain "struct sbuf *s" "sbuf_drain_func *func" "void *arg"
+.Fo sbuf_set_drain
+.Fa "struct sbuf *s"
+.Fa "sbuf_drain_func *func"
+.Fa "void *arg"
+.Fc
 .Ft int
-.Fn sbuf_trim "struct sbuf *s"
+.Fo sbuf_trim
+.Fa "struct sbuf *s"
+.Fc
 .Ft int
-.Fn sbuf_error "struct sbuf *s"
+.Fo sbuf_error
+.Fa "struct sbuf *s"
+.Fc
 .Ft int
-.Fn sbuf_finish "struct sbuf *s"
+.Fo sbuf_finish
+.Fa "struct sbuf *s"
+.Fc
 .Ft char *
-.Fn sbuf_data "struct sbuf *s"
+.Fo sbuf_data
+.Fa "struct sbuf *s"
+.Fc
 .Ft ssize_t
-.Fn sbuf_len "struct sbuf *s"
+.Fo sbuf_len
+.Fa "struct sbuf *s"
+.Fc
 .Ft int
-.Fn sbuf_done "struct sbuf *s"
+.Fo sbuf_done
+.Fa "struct sbuf *s"
+.Fc
 .Ft void
-.Fn sbuf_delete "struct sbuf *s"
+.Fo sbuf_delete
+.Fa "struct sbuf *s"
+.Fc
 .Ft void
-.Fn sbuf_start_section "struct sbuf *s" "ssize_t *old_lenp"
+.Fo sbuf_start_section
+.Fa "struct sbuf *s"
+.Fa "ssize_t *old_lenp"
+.Fc
 .Ft ssize_t
-.Fn sbuf_end_section "struct sbuf *s" "ssize_t old_len" "size_t pad" "int c"
+.Fo sbuf_end_section
+.Fa "struct sbuf *s"
+.Fa "ssize_t old_len"
+.Fa "size_t pad"
+.Fa "int c"
+.Fc
+.Ft void
+.Fo sbuf_hexdump 
+.Fa "struct sbuf *sb"
+.Fa "void *ptr"
+.Fa "int length"
+.Fa "const char *hdr"
+.Fa "int flags"
+.Fc
+.Ft void
+.Fo sbuf_putbuf
+.Fa "struct sbuf *s"
+.Fc
+.Fd #ifdef _KERNEL
+.In sys/types.h
+.In sys/sbuf.h
+.Ft int
+.Fo sbuf_bcopyin
+.Fa "struct sbuf *s"
+.Fa "const void *uaddr"
+.Fa "size_t len"
+.Fc
+.Ft int
+.Fo sbuf_copyin
+.Fa "struct sbuf *s"
+.Fa "const void *uaddr"
+.Fa "size_t len"
+.Fc
 .In sys/sysctl.h
 .Ft struct sbuf *
-.Fn sbuf_new_for_sysctl "struct sbuf *s" "char *buf" "int length" "struct sysctl_req *req"
+.Fo sbuf_new_for_sysctl
+.Fa "struct sbuf *s"
+.Fa "char *buf"
+.Fa "int length"
+.Fa "struct sysctl_req *req"
+.Fc
+.Fd #endif	/* _KERNEL */
 .Sh DESCRIPTION
 The
 .Nm
@@ -159,6 +270,8 @@
 .It Dv SBUF_AUTOEXTEND
 This indicates that the storage buffer may be extended as necessary, so long
 as resources allow, to hold additional data.
+.It Dv SBUF_INCLUDENUL
+This causes the final nulterm byte to be counted in the length of the data.
 .El
 .Pp
 Note that if
@@ -211,6 +324,18 @@
 and resets its position to zero.
 .Pp
 The
+.Fn sbuf_get_flags
+function returns the current user flags.
+The
+.Fn sbuf_set_flags
+and
+.Fn sbuf_get_flags
+functions set or clear one or more user flags, respectively.
+The user flags are described under the
+.Fn sbuf_new
+function.
+.Pp
+The
 .Fn sbuf_setpos
 function sets the
 .Fa sbuf Ns 's
@@ -432,6 +557,20 @@
 and
 .Fa old_len
 respectively.
+.Pp
+The
+.Fn sbuf_hexdump
+function prints an array of bytes to the supplied sbuf, along with an ASCII
+representation of the bytes if possible.
+See the
+.Xr hexdump 3
+man page for more details on the interface.
+.Pp
+The
+.Fn sbuf_putbuf
+function printfs the sbuf to stdout if in userland, and to the console
+and log if in the kernel.
+It does not drain the buffer or update any pointers.
 .Sh NOTES
 If an operation caused an
 .Fa sbuf
@@ -518,6 +657,7 @@
 will return zero for success and \-1 and set errno on error.
 .Sh EXAMPLES
 .Bd -literal -compact
+#include <sys/types.h>
 #include <sys/sbuf.h>
 
 struct sbuf *sb;
@@ -535,6 +675,7 @@
 sbuf_delete(sb);
 .Ed
 .Sh SEE ALSO
+.Xr hexdump 3 ,
 .Xr printf 3 ,
 .Xr strcat 3 ,
 .Xr strcpy 3 ,


Property changes on: trunk/share/man/man9/sbuf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/scheduler.9
===================================================================
--- trunk/share/man/man9/scheduler.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/scheduler.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -21,7 +22,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/scheduler.9 108470 2002-12-30 21:18:15Z schweikh $
 .\"
 .Dd November 3, 2000
 .Dt SCHEDULER 9


Property changes on: trunk/share/man/man9/scheduler.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/securelevel_gt.9
===================================================================
--- trunk/share/man/man9/securelevel_gt.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/securelevel_gt.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000 Christian S.J. Peron <maneo at bsdpro.com>
 .\" All rights reserved.
@@ -24,7 +25,7 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/securelevel_gt.9 170215 2007-06-02 20:15:59Z remko $
 .\"
 .Dd June 2, 2007
 .Dt SECURELEVEL_GT 9


Property changes on: trunk/share/man/man9/securelevel_gt.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/selrecord.9
===================================================================
--- trunk/share/man/man9/selrecord.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/selrecord.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2002 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/selrecord.9 225177 2011-08-25 15:51:54Z attilio $
 .\"
 .Dd August 25, 2011
 .Dt SELRECORD 9


Property changes on: trunk/share/man/man9/selrecord.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sema.9
===================================================================
--- trunk/share/man/man9/sema.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sema.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Jason Evans <jasone at FreeBSD.org>.  All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sema.9 168071 2007-03-30 18:07:26Z julian $
 .\"
 .Dd February 1, 2006
 .Dt SEMA 9


Property changes on: trunk/share/man/man9/sema.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sensor_attach.9
===================================================================
--- trunk/share/man/man9/sensor_attach.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sensor_attach.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$OpenBSD: sensor_attach.9,v 1.4 2007/03/22 16:55:31 deraadt Exp $
 .\"
 .\" Copyright (c) 2006 Michael Knudsen <mk at openbsd.org>


Property changes on: trunk/share/man/man9/sensor_attach.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sf_buf.9
===================================================================
--- trunk/share/man/man9/sf_buf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sf_buf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2007 Seccuris Inc.
 .\" All rights reserved.
@@ -28,7 +29,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sf_buf.9 174784 2007-12-19 20:34:09Z rwatson $
 .\"
 .Dd January 28, 2007
 .Dt SF_BUF 9


Property changes on: trunk/share/man/man9/sf_buf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sglist.9
===================================================================
--- trunk/share/man/man9/sglist.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sglist.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,6 @@
+.\" $MidnightBSD$
 .\"
-.\" Copyright (c) 2009 Advanced Computing Technologies LLC
+.\" Copyright (c) 2009 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sglist.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
-.Dd May 15, 2009
+.Dd January 12, 2014
 .Dt SGLIST 9
 .Os
 .Sh NAME
@@ -33,6 +34,7 @@
 .Nm sglist ,
 .Nm sglist_alloc ,
 .Nm sglist_append ,
+.Nm sglist_append_bio ,
 .Nm sglist_append_mbuf ,
 .Nm sglist_append_phys ,
 .Nm sglist_append_uio ,
@@ -58,6 +60,8 @@
 .Ft int
 .Fn sglist_append "struct sglist *sg" "void *buf" "size_t len"
 .Ft int
+.Fn sglist_append_bio "struct sglist *sg" "struct bio *bp"
+.Ft int
 .Fn sglist_append_mbuf "struct sglist *sg" "struct mbuf *m"
 .Ft int
 .Fn sglist_append_phys "struct sglist *sg" "vm_paddr_t paddr" "size_t len"
@@ -206,6 +210,13 @@
 bytes long.
 .Pp
 The
+.Nm sglist_append_bio
+function appends the physical address ranges described by a single bio
+.Fa bp
+to the scatter/gather list
+.Fa sg .
+.Pp
+The
 .Nm sglist_append_mbuf
 function appends the physical address ranges described by an entire mbuf
 chain
@@ -499,6 +510,7 @@
 to describe the requested physical address ranges.
 .El
 .Sh SEE ALSO
+.Xr g_bio 9 ,
 .Xr malloc 9 ,
 .Xr mbuf 9 ,
 .Xr uio 9


Property changes on: trunk/share/man/man9/sglist.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/shm_map.9
===================================================================
--- trunk/share/man/man9/shm_map.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/shm_map.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,5 +1,6 @@
+.\" $MidnightBSD$
 .\"
-.\" Copyright (c) 2011 Advanced Computing Technologies LLC
+.\" Copyright (c) 2011 Hudson River Trading LLC
 .\" Written by: John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/shm_map.9 283927 2015-06-02 19:20:39Z jhb $
 .\"
 .Dd December 14, 2011
 .Dt SHM_MAP 9


Property changes on: trunk/share/man/man9/shm_map.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/signal.9
===================================================================
--- trunk/share/man/man9/signal.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/signal.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2002 Chad David <davidc at FreeBSD.org>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/signal.9 251546 2013-06-08 18:16:41Z pluknet $
 .\"
-.Dd November 20, 2004
+.Dd June 8, 2013
 .Dt SIGNAL 9
 .Os
 .Sh NAME
@@ -252,7 +253,7 @@
 function resets the signal set and signal stack of a process in preparation
 for an
 .Xr execve 2 .
-The lock for
+The process lock for
 .Fa p
 must be held before
 .Fn execsigs
@@ -272,12 +273,10 @@
 .Fn issignal
 unless the process is a member of an orphaned process group and the stop
 signal originated from a TTY.
+The process spin lock for
+.Fa td->td_proc
+may be acquired and released.
 The
-.Va sched_lock
-lock may be acquired and released, and if
-.Va Giant
-is held, it may be released and reacquired.
-The
 .Vt sigacts
 structure
 .Fa td->td_proc->p_sigacts
@@ -289,9 +288,6 @@
 must be acquired before calling
 .Fn issignal
 and may be released and reacquired during the call.
-The lock for the parent of
-.Fa td->td_proc
-may also be acquired and released.
 Default signal actions are not taken for system processes and init.
 .Pp
 The
@@ -342,7 +338,7 @@
 which causes the flag
 .Dv PS_NEEDSIGCHK
 to be set).
-The lock for process that owns
+The process lock for process that owns
 .Va curthread
 must be held before
 .Fn postsig
@@ -360,7 +356,7 @@
 to exit with a return value of signal number
 .Fa sig .
 If required, the process will dump core.
-The lock for the process that owns
+The process lock for the process that owns
 .Fa td
 must be held before
 .Fn sigexit
@@ -377,8 +373,8 @@
 .Fa p .
 The process lock for
 .Fa p
-is acquired and released by
-.Fn siginit .
+is acquired and released, as is the lock for sigacts structure
+.Fa p->p_sigacts .
 The only process that
 .Fn siginit
 is ever called for
@@ -390,13 +386,11 @@
 function flags that there are unmasked signals pending that
 .Fn ast
 should handle.
-The lock for process
+The process lock for process
 .Fa td->td_proc
 must be held before
 .Fn signotify
-is called, and
-.Va sched_lock
-is acquired and released.
+is called, and the thread lock is acquired and released.
 .Pp
 The
 .Fn trapsignal
@@ -410,10 +404,9 @@
 will call
 .Xr psignal 9
 to cause the signal to be delivered.
-The
-.Va sched_lock
-lock is acquired and released, as is the lock for
-.Fa td->td_proc .
+The process lock for
+.Fa td->td_proc
+is acquired and released.
 The lock for the
 .Va p_sigacts
 field of


Property changes on: trunk/share/man/man9/signal.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sleep.9
===================================================================
--- trunk/share/man/man9/sleep.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sleep.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1996 Joerg Wunsch
 .\"
@@ -23,16 +24,20 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sleep.9 254436 2013-08-17 01:17:51Z mjacob $
 .\"
-.Dd December 12, 2009
+.Dd February 19, 2013
 .Dt SLEEP 9
 .Os
 .Sh NAME
 .Nm msleep ,
+.Nm msleep_sbt ,
 .Nm msleep_spin ,
+.Nm msleep_spin_sbt ,
 .Nm pause ,
+.Nm pause_sbt ,
 .Nm tsleep ,
+.Nm tsleep_sbt ,
 .Nm wakeup
 .Nd wait for events
 .Sh SYNOPSIS
@@ -42,11 +47,23 @@
 .Ft int
 .Fn msleep "void *chan" "struct mtx *mtx" "int priority" "const char *wmesg" "int timo"
 .Ft int
+.Fn msleep_sbt "void *chan" "struct mtx *mtx" "int priority" \
+"const char *wmesg" "sbintime_t sbt" "sbintime_t pr" "int flags"
+.Ft int
 .Fn msleep_spin "void *chan" "struct mtx *mtx" "const char *wmesg" "int timo"
+.Ft int
+.Fn msleep_spin_sbt "void *chan" "struct mtx *mtx" "const char *wmesg" \
+"sbintime_t sbt" "sbintime_t pr" "int flags"
 .Ft void
 .Fn pause "const char *wmesg" "int timo"
+.Ft void
+.Fn pause_sbt "const char *wmesg" "sbintime_t sbt" "sbintime_t pr" \
+ "int flags"
 .Ft int
 .Fn tsleep "void *chan" "int priority" "const char *wmesg" "int timo"
+.Ft int
+.Fn tsleep_sbt "void *chan" "int priority" "const char *wmesg" \
+"sbintime_t sbt" "sbintime_t pr" "int flags"
 .Ft void
 .Fn wakeup "void *chan"
 .Ft void
@@ -102,11 +119,11 @@
 .Fa priority
 includes the
 .Dv PCATCH
-flag, signals are checked before and after sleeping, otherwise signals are
-not checked.
+flag, pending signals are allowed to interrupt the sleep, otherwise
+pending signals are ignored during the sleep.
 If
 .Dv PCATCH
-is set and a signal needs to be delivered,
+is set and a signal becomes pending,
 .Er ERESTART
 is returned if the current system call should be restarted if
 possible, and
@@ -114,17 +131,19 @@
 is returned if the system call should be interrupted by the signal
 (return
 .Er EINTR ) .
-If
+If the
 .Dv PBDRY
 flag is specified in addition to
 .Dv PCATCH ,
-then the sleeping thread is not stopped while sleeping upon delivery of
+then the sleeping thread is not stopped when
 .Dv SIGSTOP
-or other stop action.
-Instead, it is waken up, assuming that stop occurs on reaching a stop
+becomes pending
+or some other stop action occurs while it is sleeping.
+Instead, it is woken up, with the assumption
+that the stop will occur on reaching a stop
 point when returning to usermode.
-The flag should be used when sleeping thread owns resources, for instance
-vnode locks, that should be freed timely.
+The flag should be used when the sleeping thread owns resources, for instance
+vnode locks, that should be released in a timely fashion.
 .Pp
 The parameter
 .Fa wmesg
@@ -146,6 +165,27 @@
 then the sleep function will return
 .Er EWOULDBLOCK .
 .Pp
+.Fn msleep_sbt ,
+.Fn msleep_spin_sbt ,
+.Fn pause_sbt
+and
+.Fn tsleep_sbt
+functions take
+.Fa sbt
+parameter instead of
+.Fa timo .
+It allows the caller to specify relative or absolute wakeup time with higher resolution
+in form of
+.Vt sbintime_t .
+The parameter
+.Fa pr
+allows the caller to specify wanted absolute event precision.
+The parameter
+.Fa flags
+allows the caller to pass additional
+.Fn callout_reset_sbt
+flags.
+.Pp
 Several of the sleep functions including
 .Fn msleep ,
 .Fn msleep_spin ,
@@ -299,7 +339,8 @@
 .Xr mi_switch 9 ,
 .Xr mtx_sleep 9 ,
 .Xr rw_sleep 9 ,
-.Xr sx_sleep 9
+.Xr sx_sleep 9 ,
+.Xr timeout 9
 .Sh HISTORY
 The functions
 .Fn sleep


Property changes on: trunk/share/man/man9/sleep.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sleepqueue.9
===================================================================
--- trunk/share/man/man9/sleepqueue.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sleepqueue.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2004 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -21,9 +22,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sleepqueue.9 306378 2016-09-27 19:00:22Z pluknet $
 .\"
-.Dd January 8, 2010
+.Dd September 22, 2014
 .Dt SLEEPQUEUE 9
 .Os
 .Sh NAME
@@ -32,8 +33,6 @@
 .Nm sleepq_add ,
 .Nm sleepq_alloc ,
 .Nm sleepq_broadcast ,
-.Nm sleepq_calc_signal_retval ,
-.Nm sleepq_catch_signals ,
 .Nm sleepq_free ,
 .Nm sleepq_lock ,
 .Nm sleepq_lookup ,
@@ -41,6 +40,7 @@
 .Nm sleepq_remove ,
 .Nm sleepq_signal ,
 .Nm sleepq_set_timeout ,
+.Nm sleepq_set_timeout_sbt ,
 .Nm sleepq_sleepcnt ,
 .Nm sleepq_timedwait ,
 .Nm sleepq_timedwait_sig ,
@@ -61,10 +61,6 @@
 .Fn sleepq_alloc "void"
 .Ft int
 .Fn sleepq_broadcast "void *wchan" "int flags" "int pri" "int queue"
-.Ft int
-.Fn sleepq_calc_signal_retval "int sig"
-.Ft int
-.Fn sleepq_catch_signals "void *wchan"
 .Ft void
 .Fn sleepq_free "struct sleepqueue *sq"
 .Ft struct sleepqueue *
@@ -79,18 +75,21 @@
 .Fn sleepq_signal "void *wchan" "int flags" "int pri" "int queue"
 .Ft void
 .Fn sleepq_set_timeout "void *wchan" "int timo"
+.Ft void
+.Fn sleepq_set_timeout_sbt "void *wchan" "sbintime_t sbt" \
+"sbintime_t pr" "int flags"
 .Ft u_int
 .Fn sleepq_sleepcnt "void *wchan" "int queue"
 .Ft int
-.Fn sleepq_timedwait "void *wchan"
+.Fn sleepq_timedwait "void *wchan" "int pri"
 .Ft int
-.Fn sleepq_timedwait_sig "void *wchan" "int signal_caught"
+.Fn sleepq_timedwait_sig "void *wchan" "int pri"
 .Ft int
 .Fn sleepq_type "void *wchan"
 .Ft void
-.Fn sleepq_wait "void *wchan"
+.Fn sleepq_wait "void *wchan" "int pri"
 .Ft int
-.Fn sleepq_wait_sig "void *wchan"
+.Fn sleepq_wait_sig "void *wchan" "int pri"
 .Sh DESCRIPTION
 Sleep queues provide a mechanism for suspending execution of a thread until
 some condition is met.
@@ -231,17 +230,22 @@
 .Fa timo
 parameter should specify the timeout value in ticks.
 .Pp
-The current thread may be marked interruptible by calling
-.Fn sleepq_catch_signals
-with
-.Fa wchan
-set to the wait channel.
-This function returns a signal number if there are any pending signals for
-the current thread and 0 if there is not a pending signal.
-The sleep queue chain associated with argument
-.Fa wchan
-should have been locked by a prior call to
-.Fn sleepq_lock .
+.Fn sleepq_set_timeout_sbt
+function takes
+.Fa sbt
+argument instead of
+.Fa timo .
+It allows to specify relative or absolute wakeup time with higher resolution
+in form of
+.Vt sbintime_t .
+The parameter
+.Fa pr
+allows to specify wanted absolute event precision.
+The parameter
+.Fa flags
+allows to pass additional
+.Fn callout_reset_sbt
+flags.
 .Pp
 Once the thread is ready to suspend,
 one of the wait functions is called to put the current thread to sleep
@@ -268,12 +272,9 @@
 needs to have been locked with a prior call to
 .Fn sleepq_lock .
 The
-.Fa signal_caught
-parameter to
-.Fn sleepq_timedwait_sig
-specifies if a previous call to
-.Fn sleepq_catch_signals
-found a pending signal.
+.Fa pri
+argument is used to set the priority of the thread when it is awakened.
+If it is set to zero, the thread's priority is left alone.
 .Pp
 When the thread is resumed,
 the wait functions return a non-zero value if the thread was awakened due to
@@ -283,20 +284,6 @@
 is returned.
 If the sleep was interrupted by something other than a signal,
 then some other return value will be returned.
-If zero is returned after resuming from an interruptible sleep,
-then
-.Fn sleepq_calc_signal_retval
-should be called to determine if the sleep was interrupted by a signal.
-If so,
-.Fn sleepq_calc_signal_retval
-returns
-.Er ERESTART
-if the interrupting signal is restartable and
-.Er EINTR
-otherwise.
-If the sleep was not interrupted by a signal,
-.Fn sleepq_calc_signal_retval
-will return 0.
 .Pp
 A sleeping thread is normally resumed by the
 .Fn sleepq_broadcast
@@ -400,4 +387,5 @@
 .Xr condvar 9 ,
 .Xr runqueue 9 ,
 .Xr scheduler 9 ,
-.Xr sleep 9
+.Xr sleep 9 ,
+.Xr timeout 9


Property changes on: trunk/share/man/man9/sleepqueue.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/socket.9
===================================================================
--- trunk/share/man/man9/socket.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/socket.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2006 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/socket.9 249412 2013-04-12 16:36:18Z trasz $
 .\"
-.Dd December 14, 2006
+.Dd April 12, 2013
 .Dt SOCKET 9
 .Os
 .Sh NAME
@@ -208,12 +209,19 @@
 argument, or as an mbuf chain returned to the caller via
 .Fa mp0 ,
 avoiding a data copy.
-Only one of the
+The
 .Fa uio
-or
+must always be
+.Pf non- Dv NULL .
+If
 .Fa mp0
-pointers may be
-.Pf non- Dv NULL .
+is
+.Pf non- Dv NULL ,
+only the
+.Pf uio_resid
+of
+.Fa uio
+is used.
 The caller may optionally retrieve a socket address on a protocol with the
 .Dv PR_ADDR
 capability by providing storage via


Property changes on: trunk/share/man/man9/socket.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/spl.9
===================================================================
--- trunk/share/man/man9/spl.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/spl.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1996 Joerg Wunsch
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/spl.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd July 21, 1996
 .Dt SPL 9


Property changes on: trunk/share/man/man9/spl.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/stack.9
===================================================================
--- trunk/share/man/man9/stack.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/stack.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2007-2009 Robert N. M. Watson
 .\" All rights reserved.
@@ -25,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/stack.9 227581 2011-11-16 19:06:55Z pjd $
 .\"
-.Dd June 24, 2009
+.Dd November 16, 2011
 .Dt STACK 9
 .Os
 .Sh NAME
@@ -46,21 +47,21 @@
 .Ft int
 .Fn stack_put "struct stack *st" "vm_offset_t pc"
 .Ft void
-.Fn stack_copy "struct stack *src" "struct stack dst"
+.Fn stack_copy "const struct stack *src" "struct stack dst"
 .Ft void
 .Fn stack_zero "struct stack *st"
 .Ft void
-.Fn stack_print "struct stack *st"
+.Fn stack_print "const struct stack *st"
 .Ft void
-.Fn stack_print_ddb "struct stack *st"
+.Fn stack_print_ddb "const struct stack *st"
 .Ft void
-.Fn stack_print_short "struct stack *st"
+.Fn stack_print_short "const struct stack *st"
 .Ft void
-.Fn stack_print_short_ddb "struct stack *st"
+.Fn stack_print_short_ddb "const struct stack *st"
 .Ft void
-.Fn stack_sbuf_print "struct sbuf sb*" "struct stack *st"
+.Fn stack_sbuf_print "struct sbuf sb*" "const struct stack *st"
 .Ft void
-.Fn stack_sbuf_print_ddb "struct sbuf sb*" "struct stack *st"
+.Fn stack_sbuf_print_ddb "struct sbuf sb*" "const struct stack *st"
 .Ft void
 .Fn stack_save "struct stack *st"
 .Sh DESCRIPTION


Property changes on: trunk/share/man/man9/stack.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/store.9
===================================================================
--- trunk/share/man/man9/store.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/store.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: store.9,v 1.2 1996/01/09 21:59:27 perry Exp $
 .\"
 .\" Copyright (c) 1996 Jason R. Thorpe.
@@ -32,9 +33,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/store.9 274648 2014-11-18 12:53:32Z kib $
 .\"
-.Dd October 5, 2009
+.Dd October 29, 2014
 .Dt STORE 9
 .Os
 .Sh NAME
@@ -48,15 +49,15 @@
 .In sys/time.h
 .In sys/systm.h
 .Ft int
-.Fn subyte "void *base" "int byte"
+.Fn subyte "volatile void *base" "int byte"
 .Ft int
-.Fn suword "void *base" "long word"
+.Fn suword "volatile void *base" "long word"
 .Ft int
-.Fn suword16 "void *base" "int word"
+.Fn suword16 "volatile void *base" "int word"
 .Ft int
-.Fn suword32 "void *base" "int32_t word"
+.Fn suword32 "volatile void *base" "int32_t word"
 .Ft int
-.Fn suword64 "void *base" "int64_t word"
+.Fn suword64 "volatile void *base" "int64_t word"
 .In sys/resourcevar.h
 .Ft int
 .Fn suswintr "void *base" "int word"
@@ -64,6 +65,8 @@
 The
 .Nm
 functions are designed to copy small amounts of data to user-space.
+If write is successful, it is performed atomically.
+The data written must be naturally aligned.
 .Pp
 The
 .Nm


Property changes on: trunk/share/man/man9/store.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/style.9
===================================================================
--- trunk/share/man/man9/style.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/style.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 1995-2005 The FreeBSD Project
 .\" All rights reserved.
@@ -24,9 +25,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	From: @(#)style	1.14 (Berkeley) 4/28/95
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/style.9 291754 2015-12-04 09:07:18Z ngie $
 .\"
-.Dd January 7, 2010
+.Dd November 22, 2015
 .Dt STYLE 9
 .Os
 .Sh NAME
@@ -46,7 +47,7 @@
  * Style guide for FreeBSD.  Based on the CSRG's KNF (Kernel Normal Form).
  *
  *	@(#)style	1.14 (Berkeley) 4/28/95
- * $MidnightBSD$
+ * $FreeBSD: stable/10/share/man/man9/style.9 291754 2015-12-04 09:07:18Z ngie $
  */
 
 /*
@@ -111,7 +112,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__MBSDID("$MidnightBSD$");
+__FBSDID("$FreeBSD: stable/10/share/man/man9/style.9 291754 2015-12-04 09:07:18Z ngie $");
 .Ed
 .Pp
 Leave another blank line before the header files.
@@ -288,30 +289,6 @@
 .Vt uintXX_t
 only commits.
 .Pp
-Similarly, the project is slowly moving to use the
-.St -isoC-99
-.Vt bool
-in preference to the older
-.Vt int
-or
-.Vt boolean_t .
-New code should use
-.Vt bool ,
-and old code may be converted if it is
-reasonable to do so.
-Literal values are named
-.Dv true
-and
-.Dv false .
-These are preferred to the old spellings
-.Dv TRUE
-and
-.Dv FALSE .
-Userspace code should include
-.In stdbool.h ,
-while kernel code should include
-.In sys/types.h .
-.Pp
 Enumeration values are all uppercase.
 .Bd -literal
 enum enumtype { ONE, TWO } et;
@@ -527,13 +504,14 @@
 .Pp
 Space after keywords
 .Pq Ic if , while , for , return , switch .
-No braces
+Two styles of braces
 .Ql ( \&{
 and
 .Ql \&} )
-are
-used for control statements with zero or only a single statement unless that
-statement is more than a single line in which case they are permitted.
+are allowed for single line statements.
+Either they are used for all single statements, or
+they are used only where needed for clarity.
+Usage within a function should be consistent.
 Forever loops are done with
 .Ic for Ns 's ,
 not
@@ -857,7 +835,7 @@
 (e.g.,
 .Xr lint 1
 or
-.Nm gcc Fl Wall )
+.Nm cc Fl Wall )
 and produce minimal warnings.
 .Sh SEE ALSO
 .Xr indent 1 ,


Property changes on: trunk/share/man/man9/style.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/swi.9
===================================================================
--- trunk/share/man/man9/swi.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/swi.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000-2001 John H. Baldwin <jhb at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/swi.9 234465 2012-04-19 16:13:15Z pluknet $
 .\"
 .Dd April 19, 2012
 .Dt SWI 9


Property changes on: trunk/share/man/man9/swi.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sx.9
===================================================================
--- trunk/share/man/man9/sx.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sx.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Jason Evans <jasone at FreeBSD.org>.  All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sx.9 323870 2017-09-21 19:24:11Z marius $
 .\"
-.Dd May 28, 2009
+.Dd March 13, 2016
 .Dt SX 9
 .Os
 .Sh NAME
@@ -88,12 +89,12 @@
 .Ft "struct thread *"
 .Fn sx_xholder "struct sx *sx"
 .Ft int
-.Fn sx_xlocked "struct sx *sx"
+.Fn sx_xlocked "const struct sx *sx"
 .Pp
 .Cd "options INVARIANTS"
 .Cd "options INVARIANT_SUPPORT"
 .Ft void
-.Fn sx_assert "struct sx *sx" "int what"
+.Fn sx_assert "const struct sx *sx" "int what"
 .In sys/kernel.h
 .Fn SX_SYSINIT "name" "struct sx *sx" "const char *description"
 .Sh DESCRIPTION
@@ -124,12 +125,10 @@
 It contains one or more of the following flags:
 .Bl -tag -width SX_NOADAPTIVE
 .It Dv SX_NOADAPTIVE
-If the kernel is not compiled with
-.Cd "options NO_ADAPTIVE_SX" ,
-then lock operations for
-.Fa sx
-will spin instead of sleeping while an exclusive lock holder is executing on
-another CPU.
+Disable adaptive spinning, rather than sleeping, for lock operations
+while an exclusive lock holder is executing on another CPU.
+Adaptive spinning is the default unless the kernel is compiled with
+.Cd "options NO_ADAPTIVE_SX" .
 .It Dv SX_DUPOK
 Witness should not log messages about duplicate locks being acquired.
 .It Dv SX_NOWITNESS
@@ -144,6 +143,15 @@
 .It Dv SX_QUIET
 Do not log any operations for this lock via
 .Xr ktr 4 .
+.It Dv SX_NEW
+If the kernel has been compiled with
+.Cd "options INVARIANTS" ,
+.Fn sx_init
+will assert that the
+.Fa sx
+has not been initialized multiple times without intervening calls to
+.Fn sx_destroy
+unless this option is specified.
 .El
 .Pp
 Shared/exclusive locks are destroyed with


Property changes on: trunk/share/man/man9/sx.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sysctl.9
===================================================================
--- trunk/share/man/man9/sysctl.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sysctl.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2006 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sysctl.9 299386 2016-05-10 20:12:27Z wblock $
 .\"
-.Dd January 16, 2010
+.Dd September 12, 2013
 .Dt SYSCTL 9
 .Os
 .Sh NAME
@@ -35,11 +36,12 @@
 .Nm SYSCTL_NODE ,
 .Nm SYSCTL_OPAQUE ,
 .Nm SYSCTL_PROC ,
+.Nm SYSCTL_QUAD ,
 .Nm SYSCTL_STRING ,
 .Nm SYSCTL_STRUCT ,
 .Nm SYSCTL_UINT ,
 .Nm SYSCTL_ULONG ,
-.Nm SYSCTL_QUAD
+.Nm SYSCTL_UQUAD
 .Nd Static sysctl declaration functions
 .Sh SYNOPSIS
 .In sys/types.h
@@ -50,11 +52,12 @@
 .Fn SYSCTL_NODE parent nbr name access handler descr
 .Fn SYSCTL_OPAQUE parent nbr name access ptr len fmt descr
 .Fn SYSCTL_PROC parent nbr name access ptr arg handler fmt descr
+.Fn SYSCTL_QUAD parent nbr name access ptr val descr
 .Fn SYSCTL_STRING parent nbr name access arg len descr
 .Fn SYSCTL_STRUCT parent nbr name access ptr type descr
 .Fn SYSCTL_UINT parent nbr name access ptr val descr
 .Fn SYSCTL_ULONG parent nbr name access ptr val descr
-.Fn SYSCTL_QUAD parent nbr name access ptr val descr
+.Fn SYSCTL_UQUAD parent nbr name access ptr val descr
 .Sh DESCRIPTION
 The
 .Nm SYSCTL
@@ -76,12 +79,13 @@
 .Fn SYSCTL_NODE ,
 .Fn SYSCTL_OPAQUE ,
 .Fn SYSCTL_PROC ,
+.Fn SYSCTL_QUAD ,
 .Fn SYSCTL_STRING ,
 .Fn SYSCTL_STRUCT ,
 .Fn SYSCTL_UINT ,
 .Fn SYSCTL_ULONG ,
 and
-.Fn SYSCTL_QUAD .
+.Fn SYSCTL_UQUAD .
 Each macro accepts a parent name, as declared using
 .Fn SYSCTL_DECL ,
 an OID number, typically
@@ -118,15 +122,23 @@
 This is a 64-bit unsigned integer.
 .El
 .Pp
-All sysctl types except for new node declarations require one or more flags
-to be set indicating the read and write disposition of the sysctl:
+All sysctl types except for new node declarations require one of the following
+flags to be set indicating the read and write disposition of the sysctl:
 .Bl -tag -width ".Dv CTLFLAG_ANYBODY"
 .It Dv CTLFLAG_RD
 This is a read-only sysctl.
+.It Dv CTLFLAG_RDTUN
+This is a read-only sysctl which can be set by a system tunable.
 .It Dv CTLFLAG_WR
 This is a writable sysctl.
 .It Dv CTLFLAG_RW
 This sysctl is readable and writable.
+.It Dv CTLFLAG_RWTUN
+This sysctl is readable and writable and can also be set by a system tunable.
+.El
+.Pp
+Additionally, any of the following optional flags may also be specified:
+.Bl -tag -width ".Dv CTLFLAG_ANYBODY"
 .It Dv CTLFLAG_ANYBODY
 Any user or process can write to this sysctl.
 .It Dv CTLFLAG_SECURE
@@ -139,9 +151,6 @@
 When iterating the sysctl name space, do not list this sysctl.
 .It Dv CTLFLAG_TUN
 Advisory flag that a system tunable also exists for this variable.
-.It Dv CTLFLAG_RDTUN
-Advisory flag that a system tunable also exists for this variable;
-however, the run-time variable is read-only.
 .El
 .Pp
 When creating new sysctls, careful attention should be paid to the security
@@ -230,7 +239,7 @@
  * the variable pointer and size are provided, as well as a format
  * string for sysctl(8).
  */
-static l_fp pps_freq;	/* scaled frequence offset (ns/s) */
+static l_fp pps_freq;	/* scaled frequency offset (ns/s) */
 SYSCTL_OPAQUE(_kern_ntp_pll, OID_AUTO, pps_freq, CTLFLAG_RD,
     &pps_freq, sizeof(pps_freq), "I", "");
 


Property changes on: trunk/share/man/man9/sysctl.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sysctl_add_oid.9
===================================================================
--- trunk/share/man/man9/sysctl_add_oid.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sysctl_add_oid.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000, Andrzej Bialecki <abial at FreeBSD.org>
 .\" All rights reserved.
@@ -25,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sysctl_add_oid.9 255498 2013-09-12 20:49:20Z jhb $
 .\"
-.Dd July 15, 2000
+.Dd September 12, 2013
 .Dt SYSCTL_ADD_OID 9
 .Os
 .Sh NAME
@@ -157,6 +158,16 @@
 .Fa "const char *descr"
 .Fc
 .Ft struct sysctl_oid *
+.Fo SYSCTL_ADD_UQUAD
+.Fa "struct sysctl_ctx_list *ctx"
+.Fa "struct sysctl_oid_list *parent"
+.Fa "int number"
+.Fa "const char *name"
+.Fa "int access"
+.Fa "uint64_t *arg"
+.Fa "const char *descr"
+.Fc
+.Ft struct sysctl_oid *
 .Fo SYSCTL_ADD_OPAQUE
 .Fa "struct sysctl_ctx_list *ctx"
 .Fa "struct sysctl_oid_list *parent"


Property changes on: trunk/share/man/man9/sysctl_add_oid.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/sysctl_ctx_init.9
===================================================================
--- trunk/share/man/man9/sysctl_ctx_init.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/sysctl_ctx_init.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2000, Andrzej Bialecki <abial at FreeBSD.org>
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/sysctl_ctx_init.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd July 15, 2000
 .Dt SYSCTL_CTX_INIT 9


Property changes on: trunk/share/man/man9/sysctl_ctx_init.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/taskqueue.9
===================================================================
--- trunk/share/man/man9/taskqueue.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/taskqueue.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Doug Rabson
@@ -26,9 +27,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/taskqueue.9 306947 2016-10-10 11:25:11Z hselasky $
 .\"
-.Dd December 4, 2012
+.Dd January 24, 2014
 .Dt TASKQUEUE 9
 .Os
 .Sh NAME
@@ -53,6 +54,13 @@
 	void			*ta_context;	/* argument for handler */
 };
 
+enum taskqueue_callback_type {
+	TASKQUEUE_CALLBACK_TYPE_INIT,
+	TASKQUEUE_CALLBACK_TYPE_SHUTDOWN,
+};
+
+typedef void (*taskqueue_callback_fn)(void *context);
+
 struct timeout_task;
 .Ed
 .Ft struct taskqueue *
@@ -59,7 +67,11 @@
 .Fn taskqueue_create "const char *name" "int mflags" "taskqueue_enqueue_fn enqueue" "void *context"
 .Ft struct taskqueue *
 .Fn taskqueue_create_fast "const char *name" "int mflags" "taskqueue_enqueue_fn enqueue" "void *context"
+.Ft int
+.Fn taskqueue_start_threads "struct taskqueue **tqp" "int count" "int pri" "const char *name" "..."
 .Ft void
+.Fn taskqueue_set_callback "struct taskqueue *queue" "enum taskqueue_callback_type cb_type" "taskqueue_callback_fn callback" "void *context"
+.Ft void
 .Fn taskqueue_free "struct taskqueue *queue"
 .Ft int
 .Fn taskqueue_enqueue "struct taskqueue *queue" "struct task *task"
@@ -75,6 +87,12 @@
 .Fn taskqueue_drain "struct taskqueue *queue" "struct task *task"
 .Ft void
 .Fn taskqueue_drain_timeout "struct taskqueue *queue" "struct timeout_task *timeout_task"
+.Ft void
+.Fn taskqueue_drain_all "struct taskqueue *queue"
+.Ft void
+.Fn taskqueue_block "struct taskqueue *queue"
+.Ft void
+.Fn taskqueue_unblock "struct taskqueue *queue"
 .Ft int
 .Fn taskqueue_member "struct taskqueue *queue" "struct thread *td"
 .Ft void
@@ -127,6 +145,23 @@
 Any tasks that are on the queue will be executed at this time after
 which the thread servicing the queue will be signaled that it should exit.
 .Pp
+Once a taskqueue has been created, its threads should be started using
+.Fn taskqueue_start_threads .
+Callbacks may optionally be registered using
+.Fn taskqueue_set_callback .
+Currently, callbacks may be registered for the following purposes:
+.Bl -tag -width TASKQUEUE_CALLBACK_TYPE_SHUTDOWN
+.It Dv TASKQUEUE_CALLBACK_TYPE_INIT
+This callback is called by every thread in the taskqueue, before it executes
+any tasks.
+This callback must be set before the taskqueue's threads are started.
+.It Dv TASKQUEUE_CALLBACK_TYPE_SHUTDOWN
+This callback is called by every thread in the taskqueue, after it executes
+its last task.
+This callback will always be called before the taskqueue structure is
+reclaimed.
+.El
+.Pp
 To add a task to the list of tasks queued on a taskqueue, call
 .Fn taskqueue_enqueue
 with pointers to the queue and task.
@@ -187,6 +222,8 @@
 after the absolute value of
 .Va ticks
 is passed.
+This function returns -1 if the task is being drained.
+Otherwise, the number of pending calls is returned.
 .Pp
 The
 .Fn taskqueue_cancel
@@ -227,8 +264,75 @@
 There is no guarantee that the task will not be
 enqueued after call to
 .Fn taskqueue_drain .
+If the caller wants to put the task into a known state,
+then before calling
+.Fn taskqueue_drain
+the caller should use out-of-band means to ensure that the task
+would not be enqueued.
+For example, if the task is enqueued by an interrupt filter, then
+the interrupt could be disabled.
 .Pp
 The
+.Fn taskqueue_drain_all
+function is used to wait for all pending and running tasks that
+are enqueued on the taskqueue to finish.
+The caller must arrange that the tasks are not re-enqueued.
+Note that
+.Fn taskqueue_drain_all
+currently does not handle tasks with delayed enqueueing.
+.Pp
+The
+.Fn taskqueue_block
+function blocks the taskqueue.
+It prevents any enqueued but not running tasks from being executed.
+Future calls to
+.Fn taskqueue_enqueue
+will enqueue tasks, but the tasks will not be run until
+.Fn taskqueue_unblock
+is called.
+Please note that
+.Fn taskqueue_block
+does not wait for any currently running tasks to finish.
+Thus, the
+.Fn taskqueue_block
+does not provide a guarantee that
+.Fn taskqueue_run
+is not running after
+.Fn taskqueue_block
+returns, but it does provide a guarantee that
+.Fn taskqueue_run
+will not be called again
+until
+.Fn taskqueue_unblock
+is called.
+If the caller requires a guarantee that
+.Fn taskqueue_run
+is not running, then this must be arranged by the caller.
+Note that if
+.Fn taskqueue_drain
+is called on a task that is enqueued on a taskqueue that is blocked by
+.Fn taskqueue_block ,
+then
+.Fn taskqueue_drain
+can not return until the taskqueue is unblocked.
+This can result in a deadlock if the thread blocked in
+.Fn taskqueue_drain
+is the thread that is supposed to call
+.Fn taskqueue_unblock .
+Thus, use of
+.Fn taskqueue_drain
+after
+.Fn taskqueue_block
+is discouraged, because the state of the task can not be known in advance.
+The same caveat applies to
+.Fn taskqueue_drain_all .
+.Pp
+The
+.Fn taskqueue_unblock
+function unblocks the previously blocked taskqueue.
+All enqueued tasks can be run after this call.
+.Pp
+The
 .Fn taskqueue_member
 function returns
 .No 1


Property changes on: trunk/share/man/man9/taskqueue.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/thread_exit.9
===================================================================
--- trunk/share/man/man9/thread_exit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/thread_exit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2002 Julian Elischer
 .\" All rights reserved.
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/thread_exit.9 167387 2007-03-09 22:41:01Z jhb $
 .\"
 .Dd July 5, 2002
 .Dt THREAD_EXIT 9


Property changes on: trunk/share/man/man9/thread_exit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/time.9
===================================================================
--- trunk/share/man/man9/time.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/time.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: time.9,v 1.1 1995/11/25 21:24:53 perry Exp $
 .\"
 .\" Copyright (c) 1994 Christopher G. Demetriou
@@ -29,7 +30,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/time.9 156221 2006-03-02 19:47:41Z ru $
 .\"
 .Dd September 17, 2004
 .Dt TIME 9


Property changes on: trunk/share/man/man9/time.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/timeout.9
===================================================================
--- trunk/share/man/man9/timeout.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/timeout.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: timeout.9,v 1.2 1996/06/23 22:32:34 pk Exp $
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -27,25 +28,37 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/timeout.9 304900 2016-08-27 11:38:37Z kib $
 .\"
-.Dd August 2, 2008
+.Dd July 27, 2016
 .Dt TIMEOUT 9
 .Os
 .Sh NAME
-.Nm timeout ,
-.Nm untimeout ,
+.Nm callout_active ,
+.Nm callout_deactivate ,
+.Nm callout_drain ,
 .Nm callout_handle_init ,
 .Nm callout_init ,
 .Nm callout_init_mtx ,
+.Nm callout_init_rm ,
 .Nm callout_init_rw ,
-.Nm callout_stop ,
-.Nm callout_drain ,
+.Nm callout_pending ,
 .Nm callout_reset ,
+.Nm callout_reset_curcpu ,
+.Nm callout_reset_on ,
+.Nm callout_reset_sbt ,
+.Nm callout_reset_sbt_curcpu ,
+.Nm callout_reset_sbt_on ,
 .Nm callout_schedule ,
-.Nm callout_pending ,
-.Nm callout_active ,
-.Nm callout_deactivate
+.Nm callout_schedule_curcpu ,
+.Nm callout_schedule_on ,
+.Nm callout_schedule_sbt ,
+.Nm callout_schedule_sbt_curcpu ,
+.Nm callout_schedule_sbt_on ,
+.Nm callout_stop ,
+.Nm callout_when ,
+.Nm timeout ,
+.Nm untimeout
 .Nd execute a function after a specified length of time
 .Sh SYNOPSIS
 .In sys/types.h
@@ -53,255 +66,439 @@
 .Bd -literal
 typedef void timeout_t (void *);
 .Ed
-.Ft struct callout_handle
-.Fn timeout "timeout_t *func" "void *arg" "int ticks"
+.Ft int
+.Fn callout_active "struct callout *c"
 .Ft void
+.Fn callout_deactivate "struct callout *c"
+.Ft int
+.Fn callout_drain "struct callout *c"
+.Ft void
 .Fn callout_handle_init "struct callout_handle *handle"
 .Bd -literal
-struct callout_handle handle = CALLOUT_HANDLE_INITIALIZER(&handle)
+struct callout_handle handle = CALLOUT_HANDLE_INITIALIZER(&handle);
 .Ed
 .Ft void
-.Fn untimeout "timeout_t *func" "void *arg" "struct callout_handle handle"
-.Ft void
 .Fn callout_init "struct callout *c" "int mpsafe"
 .Ft void
 .Fn callout_init_mtx "struct callout *c" "struct mtx *mtx" "int flags"
 .Ft void
+.Fn callout_init_rm "struct callout *c" "struct rmlock *rm" "int flags"
+.Ft void
 .Fn callout_init_rw "struct callout *c" "struct rwlock *rw" "int flags"
 .Ft int
-.Fn callout_stop "struct callout *c"
+.Fn callout_pending "struct callout *c"
 .Ft int
-.Fn callout_drain "struct callout *c"
-.Ft int
 .Fn callout_reset "struct callout *c" "int ticks" "timeout_t *func" "void *arg"
 .Ft int
+.Fo callout_reset_curcpu
+.Fa "struct callout *c"
+.Fa "int ticks"
+.Fa "timeout_t *func"
+.Fa "void *arg"
+.Fc
+.Ft int
+.Fo callout_reset_on
+.Fa "struct callout *c"
+.Fa "int ticks"
+.Fa "timeout_t *func"
+.Fa "void *arg"
+.Fa "int cpu"
+.Fc
+.Ft int
+.Fo callout_reset_sbt
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "timeout_t *func"
+.Fa "void *arg"
+.Fa "int flags"
+.Fc
+.Ft int
+.Fo callout_reset_sbt_curcpu
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "timeout_t *func"
+.Fa "void *arg"
+.Fa "int flags"
+.Fc
+.Ft int
+.Fo callout_reset_sbt_on
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "timeout_t *func"
+.Fa "void *arg"
+.Fa "int cpu"
+.Fa "int flags"
+.Fc
+.Ft int
 .Fn callout_schedule "struct callout *c" "int ticks"
 .Ft int
-.Fn callout_pending "struct callout *c"
+.Fn callout_schedule_curcpu "struct callout *c" "int ticks"
 .Ft int
-.Fn callout_active "struct callout *c"
-.Fn callout_deactivate "struct callout *c"
+.Fn callout_schedule_on "struct callout *c" "int ticks" "int cpu"
+.Ft int
+.Fo callout_schedule_sbt
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "int flags"
+.Fc
+.Ft int
+.Fo callout_schedule_sbt_curcpu
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "int flags"
+.Fc
+.Ft int
+.Fo callout_schedule_sbt_on
+.Fa "struct callout *c"
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t pr"
+.Fa "int cpu"
+.Fa "int flags"
+.Fc
+.Ft int
+.Fn callout_stop "struct callout *c"
+.Ft sbintime_t
+.Fo callout_when
+.Fa "sbintime_t sbt"
+.Fa "sbintime_t precision"
+.Fa "int flags"
+.Fa "sbintime_t *sbt_res"
+.Fa "sbintime_t *precision_res"
+.Fc
+.Ft struct callout_handle
+.Fn timeout "timeout_t *func" "void *arg" "int ticks"
+.Ft void
+.Fn untimeout "timeout_t *func" "void *arg" "struct callout_handle handle"
 .Sh DESCRIPTION
-The function
-.Fn timeout
-schedules a call to the function given by the argument
-.Fa func
-to take place after
-.Fa ticks Ns No /hz
-seconds.
-Non-positive values of
-.Fa ticks
-are silently converted to the value
-.Sq 1 .
-.Fa func
-should be a pointer to a function that takes a
-.Fa void *
-argument.
-Upon invocation,
-.Fa func
-will receive
-.Fa arg
-as its only argument.
-The return value from
-.Fn timeout
-is a
-.Ft struct callout_handle
-which can be used in conjunction with the
-.Fn untimeout
-function to request that a scheduled timeout be canceled.
 The
-.Fn timeout
-call is the old style and new code should use the
-.Fn callout_*
-functions.
+.Nm callout
+API is used to schedule a call to an arbitrary function at a specific
+time in the future.
+Consumers of this API are required to allocate a callout structure
+.Pq struct callout
+for each pending function invocation.
+This structure stores state about the pending function invocation including
+the function to be called and the time at which the function should be invoked.
+Pending function calls can be cancelled or rescheduled to a different time.
+In addition,
+a callout structure may be reused to schedule a new function call after a
+scheduled call is completed.
 .Pp
-The function
-.Fn callout_handle_init
-can be used to initialize a handle to a state which will cause
-any calls to
-.Fn untimeout
-with that handle to return with no side
-effects.
+Callouts only provide a single-shot mode.
+If a consumer requires a periodic timer,
+it must explicitly reschedule each function call.
+This is normally done by rescheduling the subsequent call within the called
+function.
 .Pp
-Assigning a callout handle the value of
-.Fn CALLOUT_HANDLE_INITIALIZER
-performs the same function as
-.Fn callout_handle_init
-and is provided for use on statically declared or global callout handles.
+Callout functions must not sleep.
+They may not acquire sleepable locks,
+wait on condition variables,
+perform blocking allocation requests,
+or invoke any other action that might sleep.
 .Pp
-The function
-.Fn untimeout
-cancels the timeout associated with
-.Fa handle
-using the
-.Fa func
-and
-.Fa arg
-arguments to validate the handle.
-If the handle does not correspond to a timeout with
-the function
-.Fa func
-taking the argument
-.Fa arg
-no action is taken.
-.Fa handle
-must be initialized by a previous call to
-.Fn timeout ,
-.Fn callout_handle_init ,
-or assigned the value of
-.Fn CALLOUT_HANDLE_INITIALIZER "&handle"
-before being passed to
-.Fn untimeout .
-The behavior of calling
-.Fn untimeout
-with an uninitialized handle
-is undefined.
-The
-.Fn untimeout
-call is the old style and new code should use the
-.Fn callout_*
-functions.
-.Pp
-As handles are recycled by the system, it is possible (although unlikely)
-that a handle from one invocation of
-.Fn timeout
-may match the handle of another invocation of
-.Fn timeout
-if both calls used the same function pointer and argument, and the first
-timeout is expired or canceled before the second call.
-The timeout facility offers O(1) running time for
-.Fn timeout
-and
-.Fn untimeout .
-Timeouts are executed from
-.Fn softclock
-with the
-.Va Giant
-lock held.
-Thus they are protected from re-entrancy.
-.Pp
-The functions
+Each callout structure must be initialized by
 .Fn callout_init ,
 .Fn callout_init_mtx ,
-.Fn callout_init_rw ,
-.Fn callout_stop ,
-.Fn callout_drain ,
-.Fn callout_reset
-and
-.Fn callout_schedule
-are low-level routines for clients who wish to allocate their own
-callout structures.
-.Pp
-The function
+.Fn callout_init_rm ,
+or
+.Fn callout_init_rw
+before it is passed to any of the other callout functions.
+The
 .Fn callout_init
-initializes a callout so it can be passed to
-.Fn callout_stop ,
-.Fn callout_drain ,
-.Fn callout_reset
-or
-.Fn callout_schedule
-without any side effects.
+function initializes a callout structure in
+.Fa c
+that is not associated with a specific lock.
 If the
 .Fa mpsafe
 argument is zero,
 the callout structure is not considered to be
 .Dq multi-processor safe ;
-that is,
-the Giant lock will be acquired before calling the callout function,
+and the Giant lock will be acquired before calling the callout function
 and released when the callout function returns.
 .Pp
 The
-.Fn callout_init_mtx
-function may be used as an alternative to
-.Fn callout_init .
-The parameter
-.Fa mtx
-specifies a mutex that is to be acquired by the callout subsystem
-before calling the callout function, and released when the callout
-function returns.
-The following
+.Fn callout_init_mtx ,
+.Fn callout_init_rm ,
+and
+.Fn callout_init_rw
+functions initialize a callout structure in
+.Fa c
+that is associated with a specific lock.
+The lock is specified by the
+.Fa mtx ,
+.Fa rm ,
+or
+.Fa rw
+parameter.
+The associated lock must be held while stopping or rescheduling the
+callout.
+The callout subsystem acquires the associated lock before calling the
+callout function and releases it after the function returns.
+If the callout was cancelled while the callout subsystem waited for the
+associated lock,
+the callout function is not called,
+and the associated lock is released.
+This ensures that stopping or rescheduling the callout will abort any
+previously scheduled invocation.
+.Pp
+Only regular mutexes may be used with
+.Fn callout_init_mtx ;
+spin mutexes are not supported.
+A sleepable read-mostly lock
+.Po
+one initialized with the
+.Dv RM_SLEEPABLE
+flag
+.Pc
+may not be used with
+.Fn callout_init_rm .
+Similarly, other sleepable lock types such as
+.Xr sx 9
+and
+.Xr lockmgr 9
+cannot be used with callouts because sleeping is not permitted in
+the callout subsystem.
+.Pp
+These
 .Fa flags
-may be specified:
+may be specified for
+.Fn callout_init_mtx ,
+.Fn callout_init_rm ,
+or
+.Fn callout_init_rw :
 .Bl -tag -width ".Dv CALLOUT_RETURNUNLOCKED"
 .It Dv CALLOUT_RETURNUNLOCKED
-The callout function will release
-.Fa mtx
-itself, so the callout subsystem should not attempt to unlock it
+The callout function will release the associated lock itself,
+so the callout subsystem should not attempt to unlock it
 after the callout function returns.
-.El
-.Pp
-The
-.Fn callout_init_rw
-function serves the need of using rwlocks in conjunction with callouts.
-The function does basically the same as
-.Fn callout_init_mtx
-with the possibility of specifying an extra
-.Fa rw
-argument.
-The usable lock classes are currently limited to mutexes and rwlocks,
-because callout handlers run in softclock swi, so they cannot sleep nor
-acquire sleepable locks like sx or lockmgr.
-The following
-.Fa flags
-may be specified:
-.Bl -tag -width ".Dv CALLOUT_SHAREDLOCK"
 .It Dv CALLOUT_SHAREDLOCK
 The lock is only acquired in read mode when running the callout handler.
-It has no effects when used in conjunction with
-.Fa mtx .
+This flag is ignored by
+.Fn callout_init_mtx .
 .El
 .Pp
 The function
 .Fn callout_stop
-cancels a callout if it is currently pending.
+cancels a callout
+.Fa c
+if it is currently pending.
 If the callout is pending, then
 .Fn callout_stop
-will return a non-zero value.
-If the callout is not set, has already been serviced or is currently
-being serviced, then zero will be returned.
-If the callout has an associated mutex, then that mutex must be
-held when this function is called.
+returns a non-zero value.
+If the callout is not set,
+has already been serviced,
+or is currently being serviced,
+then zero will be returned.
+If the callout has an associated lock,
+then that lock must be held when this function is called.
 .Pp
 The function
 .Fn callout_drain
 is identical to
 .Fn callout_stop
-except that it will wait for the callout to be completed if it is
-already in progress.
+except that it will wait for the callout
+.Fa c
+to complete if it is already in progress.
 This function MUST NOT be called while holding any
 locks on which the callout might block, or deadlock will result.
 Note that if the callout subsystem has already begun processing this
-callout, then the callout function may be invoked during the execution of
-.Fn callout_drain .
+callout, then the callout function may be invoked before
+.Fn callout_drain
+returns.
 However, the callout subsystem does guarantee that the callout will be
 fully stopped before
 .Fn callout_drain
 returns.
 .Pp
-The function
+The
 .Fn callout_reset
-first performs the equivalent of
-.Fn callout_stop
-to disestablish the callout, and then establishes a new callout in the
-same manner as
-.Fn timeout .
-If there was already a pending callout and it was rescheduled, then
+and
+.Fn callout_schedule
+function families schedule a future function invocation for callout
+.Fa c .
+If
+.Fa c
+already has a pending callout,
+it is cancelled before the new invocation is scheduled.
+These functions return a non-zero value if a pending callout was cancelled
+and zero if there was no pending callout.
+If the callout has an associated lock,
+then that lock must be held when any of these functions are called.
+.Pp
+The time at which the callout function will be invoked is determined by
+either the
+.Fa ticks
+argument or the
+.Fa sbt ,
+.Fa pr ,
+and
+.Fa flags
+arguments.
+When
+.Fa ticks
+is used,
+the callout is scheduled to execute after
+.Fa ticks Ns No /hz
+seconds.
+Non-positive values of
+.Fa ticks
+are silently converted to the value
+.Sq 1 .
+.Pp
+The
+.Fa sbt ,
+.Fa pr ,
+and
+.Fa flags
+arguments provide more control over the scheduled time including
+support for higher resolution times,
+specifying the precision of the scheduled time,
+and setting an absolute deadline instead of a relative timeout.
+The callout is scheduled to execute in a time window which begins at
+the time specified in
+.Fa sbt
+and extends for the amount of time specified in
+.Fa pr .
+If
+.Fa sbt
+specifies a time in the past,
+the window is adjusted to start at the current time.
+A non-zero value for
+.Fa pr
+allows the callout subsystem to coalesce callouts scheduled close to each
+other into fewer timer interrupts,
+reducing processing overhead and power consumption.
+These
+.Fa flags
+may be specified to adjust the interpretation of
+.Fa sbt
+and
+.Fa pr :
+.Bl -tag -width ".Dv C_DIRECT_EXEC"
+.It Dv C_ABSOLUTE
+Handle the
+.Fa sbt
+argument as an absolute time since boot.
+By default,
+.Fa sbt
+is treated as a relative amount of time,
+similar to
+.Fa ticks .
+.It Dv C_DIRECT_EXEC
+Run the handler directly from hardware interrupt context instead of from the
+softclock thread.
+This reduces latency and overhead, but puts more constraints on the callout
+function.
+Callout functions run in this context may use only spin mutexes for locking
+and should be as small as possible because they run with absolute priority.
+.It Fn C_PREL
+Specifies relative event time precision as binary logarithm of time interval
+divided by acceptable time deviation: 1 -- 1/2, 2 -- 1/4, etc.
+Note that the larger of
+.Fa pr
+or this value is used as the length of the time window.
+Smaller values
+.Pq which result in larger time intervals
+allow the callout subsystem to aggregate more events in one timer interrupt.
+.It Dv C_PRECALC
+The
+.Fa sbt
+argument specifies the absolute time at which the callout should be run,
+and the
+.Fa pr
+argument specifies the requested precision, which will not be
+adjusted during the scheduling process.
+The
+.Fa sbt
+and
+.Fa pr
+values should be calculated by an earlier call to
+.Fn callout_when
+which uses the user-supplied
+.Fa sbt ,
+.Fa pr ,
+and
+.Fa flags
+values.
+.It Dv C_HARDCLOCK
+Align the timeouts to
+.Fn hardclock
+calls if possible.
+.El
+.Pp
+The
 .Fn callout_reset
-will return a non-zero value.
-If the callout has an associated mutex, then that mutex must be
-held when this function is called.
-The function
+functions accept a
+.Fa func
+argument which identifies the function to be called when the time expires.
+It must be a pointer to a function that takes a single
+.Fa void *
+argument.
+Upon invocation,
+.Fa func
+will receive
+.Fa arg
+as its only argument.
+The
 .Fn callout_schedule
-(re)schedules an existing callout for a new period of time;
-it is equivalent to calling
+functions reuse the
+.Fa func
+and
+.Fa arg
+arguments from the previous callout.
+Note that one of the
 .Fn callout_reset
-with the
+functions must always be called to initialize
 .Fa func
 and
 .Fa arg
-parameters extracted from the callout structure (though possibly with
-lower overhead).
+before one of the
+.Fn callout_schedule
+functions can be used.
 .Pp
+The callout subsystem provides a softclock thread for each CPU in the system.
+Callouts are assigned to a single CPU and are executed by the softclock thread
+for that CPU.
+Initially,
+callouts are assigned to CPU 0.
+The
+.Fn callout_reset_on ,
+.Fn callout_reset_sbt_on ,
+.Fn callout_schedule_on
+and
+.Fn callout_schedule_sbt_on
+functions assign the callout to CPU
+.Fa cpu .
+The
+.Fn callout_reset_curcpu ,
+.Fn callout_reset_sbt_curpu ,
+.Fn callout_schedule_curcpu
+and
+.Fn callout_schedule_sbt_curcpu
+functions assign the callout to the current CPU.
+The
+.Fn callout_reset ,
+.Fn callout_reset_sbt ,
+.Fn callout_schedule
+and
+.Fn callout_schedule_sbt
+functions schedule the callout to execute in the softclock thread of the CPU
+to which it is currently assigned.
+.Pp
+Softclock threads are not pinned to their respective CPUs by default.
+The softclock thread for CPU 0 can be pinned to CPU 0 by setting the
+.Va kern.pin_default_swi
+loader tunable to a non-zero value.
+Softclock threads for CPUs other than zero can be pinned to their
+respective CPUs by setting the
+.Va kern.pin_pcpu_swi
+loader tunable to a non-zero value.
+.Pp
 The macros
 .Fn callout_pending ,
 .Fn callout_active
@@ -308,10 +505,6 @@
 and
 .Fn callout_deactivate
 provide access to the current state of the callout.
-Careful use of these macros can avoid many of the race conditions
-that are inherent in asynchronous timer facilities; see
-.Sx "Avoiding Race Conditions"
-below for further details.
 The
 .Fn callout_pending
 macro checks whether a callout is
@@ -324,7 +517,8 @@
 .Fn callout_pending
 will return
 .Dv FALSE
-even though the callout function may not have finished (or even begun)
+even though the callout function may not have finished
+.Pq or even begun
 executing.
 The
 .Fn callout_active
@@ -347,46 +541,98 @@
 .Em does not
 clear it when a callout expires normally via the execution of the
 callout function.
+.Pp
+The
+.Fn callout_when
+function may be used to pre-calculate the absolute time at which the
+timeout should be run and the precision of the scheduled run time
+according to the required time
+.Fa sbt ,
+precision
+.Fa precision ,
+and additional adjustments requested by the
+.Fa flags
+argument.
+Flags accepted by the
+.Fn callout_when
+function are the same as flags for the
+.Fn callout_reset
+function.
+The resulting time is assigned to the variable pointed to by the
+.Fa sbt_res
+argument, and the resulting precision is assigned to
+.Fa *precision_res .
+When passing the results to
+.Fa callout_reset ,
+add the
+.Va C_PRECALC
+flag to
+.Fa flags ,
+to avoid incorrect re-adjustment.
+The function is intended for situations where precise time of the callout
+run should be known in advance, since
+trying to read this time from the callout structure itself after a
+.Fn callout_reset
+call is racy.
 .Ss "Avoiding Race Conditions"
-The callout subsystem invokes callout functions from its own timer
+The callout subsystem invokes callout functions from its own thread
 context.
-Without some kind of synchronization it is possible that a callout
+Without some kind of synchronization,
+it is possible that a callout
 function will be invoked concurrently with an attempt to stop or reset
 the callout by another thread.
-In particular, since callout functions typically acquire a mutex as
+In particular, since callout functions typically acquire a lock as
 their first action, the callout function may have already been invoked,
-but be blocked waiting for that mutex at the time that another thread
+but is blocked waiting for that lock at the time that another thread
 tries to reset or stop the callout.
 .Pp
-The callout subsystem provides a number of mechanisms to address these
-synchronization concerns:
+There are three main techniques for addressing these
+synchronization concerns.
+The first approach is preferred as it is the simplest:
 .Bl -enum -offset indent
 .It
-If the callout has an associated mutex that was specified using the
-.Fn callout_init_mtx
-function (or implicitly specified as the
-.Va Giant
-mutex using
+Callouts can be associated with a specific lock when they are initialized
+by
+.Fn callout_init_mtx ,
+.Fn callout_init_rm ,
+or
+.Fn callout_init_rw .
+When a callout is associated with a lock,
+the callout subsystem acquires the lock before the callout function is
+invoked.
+This allows the callout subsystem to transparently handle races between
+callout cancellation,
+scheduling,
+and execution.
+Note that the associated lock must be acquired before calling
+.Fn callout_stop
+or one of the
+.Fn callout_reset
+or
+.Fn callout_schedule
+functions to provide this safety.
+.Pp
+A callout initialized via
 .Fn callout_init
 with
 .Fa mpsafe
-set to
-.Dv FALSE ) ,
-then this mutex is used to avoid the race conditions.
-The associated mutex must be acquired by the caller before calling
-.Fn callout_stop
-or
-.Fn callout_reset
-and it is guaranteed that the callout will be correctly stopped
-or reset as expected.
-Note that it is still necessary to use
-.Fn callout_drain
-before destroying the callout or its associated mutex.
+set to zero is implicitly associated with the
+.Va Giant
+mutex.
+If
+.Va Giant
+is held when cancelling or rescheduling the callout,
+then its use will prevent races with the callout function.
 .It
 The return value from
 .Fn callout_stop
+.Po
+or the
+.Fn callout_reset
 and
-.Fn callout_reset
+.Fn callout_schedule
+function families
+.Pc
 indicates whether or not the callout was removed.
 If it is known that the callout was set and the callout function has
 not yet executed, then a return value of
@@ -521,19 +767,134 @@
 To ensure that the callout is completely finished, a call to
 .Fn callout_drain
 should be used.
-.Sh RETURN VALUES
-The
+In particular,
+a callout should always be drained prior to destroying its associated lock
+or releasing the storage for the callout structure.
+.Sh LEGACY API
+.Bf Sy
+The functions below are a legacy API that will be removed in a future release.
+New code should not use these routines.
+.Ef
+.Pp
+The function
 .Fn timeout
-function returns a
+schedules a call to the function given by the argument
+.Fa func
+to take place after
+.Fa ticks Ns No /hz
+seconds.
+Non-positive values of
+.Fa ticks
+are silently converted to the value
+.Sq 1 .
+.Fa func
+should be a pointer to a function that takes a
+.Fa void *
+argument.
+Upon invocation,
+.Fa func
+will receive
+.Fa arg
+as its only argument.
+The return value from
+.Fn timeout
+is a
 .Ft struct callout_handle
-that can be passed to
+which can be used in conjunction with the
+.Fn untimeout
+function to request that a scheduled timeout be canceled.
+.Pp
+The function
+.Fn callout_handle_init
+can be used to initialize a handle to a state which will cause
+any calls to
+.Fn untimeout
+with that handle to return with no side
+effects.
+.Pp
+Assigning a callout handle the value of
+.Fn CALLOUT_HANDLE_INITIALIZER
+performs the same function as
+.Fn callout_handle_init
+and is provided for use on statically declared or global callout handles.
+.Pp
+The function
+.Fn untimeout
+cancels the timeout associated with
+.Fa handle
+using the
+.Fa func
+and
+.Fa arg
+arguments to validate the handle.
+If the handle does not correspond to a timeout with
+the function
+.Fa func
+taking the argument
+.Fa arg
+no action is taken.
+.Fa handle
+must be initialized by a previous call to
+.Fn timeout ,
+.Fn callout_handle_init ,
+or assigned the value of
+.Fn CALLOUT_HANDLE_INITIALIZER "&handle"
+before being passed to
 .Fn untimeout .
+The behavior of calling
+.Fn untimeout
+with an uninitialized handle
+is undefined.
+.Pp
+As handles are recycled by the system, it is possible (although unlikely)
+that a handle from one invocation of
+.Fn timeout
+may match the handle of another invocation of
+.Fn timeout
+if both calls used the same function pointer and argument, and the first
+timeout is expired or canceled before the second call.
+The timeout facility offers O(1) running time for
+.Fn timeout
+and
+.Fn untimeout .
+Timeouts are executed from
+.Fn softclock
+with the
+.Va Giant
+lock held.
+Thus they are protected from re-entrancy.
+.Sh RETURN VALUES
 The
+.Fn callout_active
+macro returns the state of a callout's
+.Em active
+flag.
+.Pp
+The
+.Fn callout_pending
+macro returns the state of a callout's
+.Em pending
+flag.
+.Pp
+The
+.Fn callout_reset
+and
+.Fn callout_schedule
+function families return non-zero if the callout was pending before the new
+function invocation was scheduled.
+.Pp
+The
 .Fn callout_stop
 and
 .Fn callout_drain
 functions return non-zero if the callout was still pending when it was
 called or zero otherwise.
+The
+.Fn timeout
+function returns a
+.Ft struct callout_handle
+that can be passed to
+.Fn untimeout .
 .Sh HISTORY
 The current timeout and untimeout routines are based on the work of
 .An Adam M. Costello


Property changes on: trunk/share/man/man9/timeout.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/tvtohz.9
===================================================================
--- trunk/share/man/man9/tvtohz.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/tvtohz.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2000 Kelly Yancey
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/tvtohz.9 141580 2005-02-09 18:07:17Z ru $
 .\"
 .Dd January 3, 2000
 .Dt TVTOHZ 9


Property changes on: trunk/share/man/man9/tvtohz.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/ucred.9
===================================================================
--- trunk/share/man/man9/ucred.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/ucred.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/ucred.9 194507 2009-06-19 19:16:35Z brooks $
 .\"
 .Dd June 19, 2009
 .Dt UCRED 9


Property changes on: trunk/share/man/man9/ucred.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/uidinfo.9
===================================================================
--- trunk/share/man/man9/uidinfo.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/uidinfo.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/uidinfo.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 10, 2001
 .Dt UIDINFO 9


Property changes on: trunk/share/man/man9/uidinfo.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/uio.9
===================================================================
--- trunk/share/man/man9/uio.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/uio.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 1997 Joerg Wunsch
 .\"
@@ -23,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/uio.9 230330 2012-01-19 09:51:07Z ed $
 .\"
 .Dd January 19, 2012
 .Dt UIO 9


Property changes on: trunk/share/man/man9/uio.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/unr.9
===================================================================
--- trunk/share/man/man9/unr.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/unr.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2005 Gleb Smirnoff <glebius at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/unr.9 221103 2011-04-27 01:10:15Z des $
 .\"
 .Dd July 5, 2010
 .Dt UNR 9


Property changes on: trunk/share/man/man9/unr.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/usbdi.9
===================================================================
--- trunk/share/man/man9/usbdi.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/usbdi.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2005 Ian Dowse <iedowse at FreeBSD.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$MidnightBSD$
+.\"	$FreeBSD: stable/10/share/man/man9/usbdi.9 235693 2012-05-20 16:43:47Z gjb $
 .Dd June 24, 2009
 .Dt USBDI 9
 .Os


Property changes on: trunk/share/man/man9/usbdi.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/utopia.9
===================================================================
--- trunk/share/man/man9/utopia.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/utopia.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2003
 .\"	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
 .\" 	All rights reserved.
@@ -25,7 +26,7 @@
 .\"
 .\" Author: Hartmut Brandt <harti at FreeBSD.org>
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/utopia.9 165213 2006-12-14 14:33:13Z mpp $
 .\"
 .Dd May 8, 2003
 .Dt UTOPIA 9


Property changes on: trunk/share/man/man9/utopia.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vaccess.9
===================================================================
--- trunk/share/man/man9/vaccess.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vaccess.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vaccess.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd September 18, 2009
 .Dt VACCESS 9


Property changes on: trunk/share/man/man9/vaccess.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vaccess_acl_nfs4.9
===================================================================
--- trunk/share/man/man9/vaccess_acl_nfs4.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vaccess_acl_nfs4.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vaccess_acl_nfs4.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd September 18, 2009
 .Dt VACCESS_ACL_NFS4 9


Property changes on: trunk/share/man/man9/vaccess_acl_nfs4.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vaccess_acl_posix1e.9
===================================================================
--- trunk/share/man/man9/vaccess_acl_posix1e.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vaccess_acl_posix1e.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2001 Robert N. M. Watson
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vaccess_acl_posix1e.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd August 22, 2001
 .Dt VACCESS_ACL_POSIX1E 9


Property changes on: trunk/share/man/man9/vaccess_acl_posix1e.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vcount.9
===================================================================
--- trunk/share/man/man9/vcount.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vcount.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 2000 Andrew Stevenson
@@ -30,7 +31,7 @@
 .\" FreeBSD) I would love to hear about it.
 .\"     Andrew <andrew at ugh.net.au>
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vcount.9 230330 2012-01-19 09:51:07Z ed $
 .\"
 .Dd January 19, 2012
 .Dt VCOUNT 9


Property changes on: trunk/share/man/man9/vcount.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vflush.9
===================================================================
--- trunk/share/man/man9/vflush.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vflush.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vflush.9 215176 2010-11-12 12:07:36Z pluknet $
 .\"
 .Dd November 21, 2001
 .Dt VFLUSH 9


Property changes on: trunk/share/man/man9/vflush.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_busy.9
===================================================================
--- trunk/share/man/man9/vfs_busy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_busy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_busy.9 246658 2013-02-11 10:14:12Z pluknet $
 .\"
 .Dd February 11, 2013
 .Dt VFS_BUSY 9


Property changes on: trunk/share/man/man9/vfs_busy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_getnewfsid.9
===================================================================
--- trunk/share/man/man9/vfs_getnewfsid.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_getnewfsid.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_getnewfsid.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd November 21, 2001
 .Dt VFS_GETNEWFSID 9


Property changes on: trunk/share/man/man9/vfs_getnewfsid.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_getopt.9
===================================================================
--- trunk/share/man/man9/vfs_getopt.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_getopt.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2007 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_getopt.9 224555 2011-07-31 21:04:47Z gjb $
 .\"
 .Dd July 31, 2011
 .Dt VFS_GETOPT 9


Property changes on: trunk/share/man/man9/vfs_getopt.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_getvfs.9
===================================================================
--- trunk/share/man/man9/vfs_getvfs.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_getvfs.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_getvfs.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd November 21, 2001
 .Dt VFS_GETVFS 9


Property changes on: trunk/share/man/man9/vfs_getvfs.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/vfs_mount.9
===================================================================
--- trunk/share/man/man9/vfs_mount.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_mount.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/vfs_mount.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_mountedfrom.9
===================================================================
--- trunk/share/man/man9/vfs_mountedfrom.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_mountedfrom.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (C) 2008 Chad David <davidc at acns.ab.ca>.
 .\" All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_mountedfrom.9 209031 2010-06-11 06:03:47Z uqs $
 .\"
 .Dd February 25, 2008
 .Dt VFS_MOUNTEDFROM 9


Property changes on: trunk/share/man/man9/vfs_mountedfrom.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_mountedon.9
===================================================================
--- trunk/share/man/man9/vfs_mountedon.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_mountedon.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"


Property changes on: trunk/share/man/man9/vfs_mountedon.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_rootmountalloc.9
===================================================================
--- trunk/share/man/man9/vfs_rootmountalloc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_rootmountalloc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_rootmountalloc.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd November 21, 2001
 .Dt VFS_ROOTMOUNTALLOC 9


Property changes on: trunk/share/man/man9/vfs_rootmountalloc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_suser.9
===================================================================
--- trunk/share/man/man9/vfs_suser.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_suser.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Alfred Perlstein
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_suser.9 183113 2008-09-17 15:49:44Z attilio $
 .\"
 .Dd April 2, 2004
 .Dt VFS_SUSER 9


Property changes on: trunk/share/man/man9/vfs_suser.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_timestamp.9
===================================================================
--- trunk/share/man/man9/vfs_timestamp.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_timestamp.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_timestamp.9 121414 2003-10-23 06:24:55Z hmp $
 .\"
 .Dd November 21, 2001
 .Dt VFS_TIMESTAMP 9


Property changes on: trunk/share/man/man9/vfs_timestamp.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_unbusy.9
===================================================================
--- trunk/share/man/man9/vfs_unbusy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_unbusy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_unbusy.9 209168 2010-06-14 17:31:46Z jh $
 .\"
 .Dd June 14, 2010
 .Dt VFS_UNBUSY 9


Property changes on: trunk/share/man/man9/vfs_unbusy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfs_unmountall.9
===================================================================
--- trunk/share/man/man9/vfs_unmountall.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfs_unmountall.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 2001 Chris Costello <chris at FreeBSD.org>
 .\" All rights reserved.
 .\"
@@ -22,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfs_unmountall.9 141580 2005-02-09 18:07:17Z ru $
 .\"
 .Dd July 26, 2001
 .Dt VFS_UNMOUNTALL 9


Property changes on: trunk/share/man/man9/vfs_unmountall.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vfsconf.9
===================================================================
--- trunk/share/man/man9/vfsconf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vfsconf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vfsconf.9 251825 2013-06-17 03:32:27Z delphij $
 .\"
-.Dd November 21, 2001
+.Dd June 16, 2013
 .Dt VFSCONF 9
 .Os
 .Sh NAME
@@ -58,7 +59,7 @@
 .Ed
 .Pp
 When a new file system is mounted,
-.Xr vfs_mount 9
+.Xr mount 2
 does a lookup of the
 .Vt vfsconf
 structure by its name, and if it is not already registered,
@@ -143,7 +144,7 @@
 .Fn vfs_unregister ,
 whatever the case.
 .Sh SEE ALSO
-.Xr vfs_mount 9 ,
+.Xr mount 2 ,
 .Xr vfs_rootmountalloc 9 ,
 .Xr VFS_SET 9
 .Sh AUTHORS


Property changes on: trunk/share/man/man9/vfsconf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vget.9
===================================================================
--- trunk/share/man/man9/vget.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vget.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vget.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VGET 9


Property changes on: trunk/share/man/man9/vget.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vgone.9
===================================================================
--- trunk/share/man/man9/vgone.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vgone.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vgone.9 215176 2010-11-12 12:07:36Z pluknet $
 .\"
 .Dd November 12, 2010
 .Dt VGONE 9


Property changes on: trunk/share/man/man9/vgone.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vhold.9
===================================================================
--- trunk/share/man/man9/vhold.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vhold.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vhold.9 176606 2008-02-26 20:25:01Z davidc $
 .\"
 .Dd April 1, 2007
 .Dt VHOLD 9


Property changes on: trunk/share/man/man9/vhold.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vinvalbuf.9
===================================================================
--- trunk/share/man/man9/vinvalbuf.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vinvalbuf.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vinvalbuf.9 240738 2012-09-20 07:07:35Z kevlo $
 .\"
 .Dd October 20, 2008
 .Dt VINVALBUF 9
@@ -110,8 +111,6 @@
 .Fa slpflag )
 .El
 .Sh SEE ALSO
-.Xr brelse 9 ,
-.Xr bremfree 9 ,
 .Xr tsleep 9 ,
 .Xr VOP_FSYNC 9
 .Sh AUTHORS


Property changes on: trunk/share/man/man9/vinvalbuf.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_fault_prefault.9
===================================================================
--- trunk/share/man/man9/vm_fault_prefault.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_fault_prefault.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_fault_prefault.9 131682 2004-07-06 07:12:34Z ru $
 .\"
 .Dd July 21, 2003
 .Dt VM_FAULT_PREFAULT 9


Property changes on: trunk/share/man/man9/vm_fault_prefault.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map.9
===================================================================
--- trunk/share/man/man9/vm_map.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map.9 223894 2011-07-09 19:05:28Z alc $
 .\"
 .Dd July 9, 2011
 .Dt VM_MAP 9


Property changes on: trunk/share/man/man9/vm_map.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_check_protection.9
===================================================================
--- trunk/share/man/man9/vm_map_check_protection.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_check_protection.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_check_protection.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_CHECK_PROTECTION 9


Property changes on: trunk/share/man/man9/vm_map_check_protection.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_create.9
===================================================================
--- trunk/share/man/man9/vm_map_create.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_create.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_create.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_CREATE 9


Property changes on: trunk/share/man/man9/vm_map_create.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_delete.9
===================================================================
--- trunk/share/man/man9/vm_map_delete.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_delete.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_delete.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_DELETE 9


Property changes on: trunk/share/man/man9/vm_map_delete.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_entry_resize_free.9
===================================================================
--- trunk/share/man/man9/vm_map_entry_resize_free.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_entry_resize_free.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Mark W. Krentel <krentel at dreamscape.com>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_entry_resize_free.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd August 17, 2004
 .Dt VM_MAP_ENTRY_RESIZE_FREE 9


Property changes on: trunk/share/man/man9/vm_map_entry_resize_free.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_find.9
===================================================================
--- trunk/share/man/man9/vm_map_find.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_find.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_find.9 255525 2013-09-13 19:08:10Z joel $
 .\"
-.Dd May 10, 2008
+.Dd September 12, 2013
 .Dt VM_MAP_FIND 9
 .Os
 .Sh NAME
@@ -38,8 +39,8 @@
 .Ft int
 .Fo vm_map_find
 .Fa "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset"
-.Fa "vm_offset_t *addr" "vm_size_t length" "int find_space"
-.Fa "vm_prot_t prot" "vm_prot_t max" "int cow"
+.Fa "vm_offset_t *addr" "vm_size_t length" "vm_offset_t max_addr"
+.Fa "int find_space" "vm_prot_t prot" "vm_prot_t max" "int cow"
 .Fc
 .Sh DESCRIPTION
 The
@@ -47,9 +48,13 @@
 function attempts to find a free region in the target
 .Fa map ,
 with the given
-.Fa length ,
-and will also optionally create a mapping of
-.Fa object .
+.Fa length.
+If a free region is found,
+.Fn vm_map_find
+creates a mapping of
+.Fa object
+via a call to
+.Xr vm_map_insert 9 .
 .Pp
 The arguments
 .Fa offset ,
@@ -69,26 +74,56 @@
 by the caller before calling this function to account for the new entry.
 .Pp
 If
+.Fa max_addr
+is non-zero,
+it specifies an upper bound on the mapping.
+The mapping will only succeed if a free region can be found that resides
+entirely below
+.Fa max_addr .
+.Pp
+The
 .Fa find_space
-is either
-.Dv VMFS_ALIGNED_SPACE
-or
-.Dv VMFS_ANY_SPACE ,
-the function will call
+argument specifies the strategy to use when searching for a free region of
+the requested length.
+For all values other than
+.Dv VMFS_NO_SPACE ,
 .Xr vm_map_findspace 9
-to discover a free region.
-Moreover, if
-.Fa find_space
+is called to locate a free region of the requested length with a starting
+address at or above
+.Fa *addr .
+The following strategies are supported:
+.Bl -tag -width "Dv VMFS_ALIGNED_SPACE Ns"
+.It Dv VMFS_NO_SPACE
+The mapping will only succeed if there is a free region of the requested
+length at the given address
+.Fa *addr .
+.It Dv VMFS_ANY_SPACE
+The mapping will succeed as long as there is a free region.
+.It Dv VMFS_SUPER_SPACE
+The mapping will succeed as long as there is a free region that begins on
+a superpage boundary.
+If
+.Fa object
 is
-.Dv VMFS_ALIGNED_SPACE ,
-the address of the free region will be optimized for the use of superpages.
-Otherwise, if
-.Fa find_space
+.Pf non- Dv NULL
+and is already backed by superpages,
+then the mapping will require a free region that aligns relative to the
+existing superpages rather than one beginning on a superpage boundary.
+.It Dv VMFS_OPTIMAL_SPACE
+The mapping will succeed as long as there is a free region.
+However, if
+.Fa object
 is
-.Dv VMFS_NO_SPACE ,
-.Xr vm_map_insert 9
-is called with the given address,
-.Fa addr .
+.Pf non- Dv NULL
+and is already backed by superpages,
+this strategy will attempt to find a free region aligned relative to
+the existing superpages.
+.It Dv VMFS_ALIGNED_SPACE Ns Pq Fa n
+The mapping will succeed as long as there is a free region that aligns on
+a
+.Pf 2^ Fa n
+boundary.
+.El
 .Sh IMPLEMENTATION NOTES
 This function acquires a lock on
 .Fa map


Property changes on: trunk/share/man/man9/vm_map_find.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_findspace.9
===================================================================
--- trunk/share/man/man9/vm_map_findspace.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_findspace.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_findspace.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_FINDSPACE 9


Property changes on: trunk/share/man/man9/vm_map_findspace.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_inherit.9
===================================================================
--- trunk/share/man/man9/vm_map_inherit.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_inherit.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_inherit.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_INHERIT 9


Property changes on: trunk/share/man/man9/vm_map_inherit.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_init.9
===================================================================
--- trunk/share/man/man9/vm_map_init.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_init.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_init.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_INIT 9


Property changes on: trunk/share/man/man9/vm_map_init.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_insert.9
===================================================================
--- trunk/share/man/man9/vm_map_insert.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_insert.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_insert.9 245268 2013-01-10 22:36:30Z pluknet $
 .\"
 .Dd January 11, 2013
 .Dt VM_MAP_INSERT 9


Property changes on: trunk/share/man/man9/vm_map_insert.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_lock.9
===================================================================
--- trunk/share/man/man9/vm_map_lock.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_lock.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_lock.9 190680 2009-04-03 23:52:47Z trhodes $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_LOCK 9


Property changes on: trunk/share/man/man9/vm_map_lock.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_lookup.9
===================================================================
--- trunk/share/man/man9/vm_map_lookup.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_lookup.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_lookup.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_LOOKUP 9


Property changes on: trunk/share/man/man9/vm_map_lookup.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_madvise.9
===================================================================
--- trunk/share/man/man9/vm_map_madvise.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_madvise.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_madvise.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_MADVISE 9


Property changes on: trunk/share/man/man9/vm_map_madvise.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_max.9
===================================================================
--- trunk/share/man/man9/vm_map_max.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_max.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_max.9 131681 2004-07-06 07:02:31Z ru $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_MAX 9


Property changes on: trunk/share/man/man9/vm_map_max.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_protect.9
===================================================================
--- trunk/share/man/man9/vm_map_protect.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_protect.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_protect.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_PROTECT 9


Property changes on: trunk/share/man/man9/vm_map_protect.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_remove.9
===================================================================
--- trunk/share/man/man9/vm_map_remove.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_remove.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_remove.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_REMOVE 9


Property changes on: trunk/share/man/man9/vm_map_remove.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_simplify_entry.9
===================================================================
--- trunk/share/man/man9/vm_map_simplify_entry.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_simplify_entry.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_simplify_entry.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_SIMPLIFY_ENTRY 9


Property changes on: trunk/share/man/man9/vm_map_simplify_entry.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_stack.9
===================================================================
--- trunk/share/man/man9/vm_map_stack.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_stack.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_stack.9 245268 2013-01-10 22:36:30Z pluknet $
 .\"
 .Dd January 11, 2013
 .Dt VM_MAP_STACK 9


Property changes on: trunk/share/man/man9/vm_map_stack.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_submap.9
===================================================================
--- trunk/share/man/man9/vm_map_submap.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_submap.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_submap.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_SUBMAP 9


Property changes on: trunk/share/man/man9/vm_map_submap.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_sync.9
===================================================================
--- trunk/share/man/man9/vm_map_sync.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_sync.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_sync.9 223894 2011-07-09 19:05:28Z alc $
 .\"
 .Dd July 9, 2011
 .Dt VM_MAP_SYNC 9


Property changes on: trunk/share/man/man9/vm_map_sync.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_map_wire.9
===================================================================
--- trunk/share/man/man9/vm_map_wire.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_map_wire.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Bruce M Simpson <bms at spc.org>
 .\" All rights reserved.
@@ -23,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_map_wire.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 19, 2003
 .Dt VM_MAP_WIRE 9


Property changes on: trunk/share/man/man9/vm_map_wire.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_aflag.9
===================================================================
--- trunk/share/man/man9/vm_page_aflag.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_aflag.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_aflag.9 235693 2012-05-20 16:43:47Z gjb $
 .\"
 .Dd August 31, 2011
 .Dt VM_PAGE_AFLAG 9


Property changes on: trunk/share/man/man9/vm_page_aflag.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_alloc.9
===================================================================
--- trunk/share/man/man9/vm_page_alloc.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_alloc.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_alloc.9 254138 2013-08-09 11:11:11Z attilio $
 .\"
-.Dd July 3, 2010
+.Dd January 28, 2012
 .Dt VM_PAGE_ALLOC 9
 .Os
 .Sh NAME
@@ -90,23 +91,16 @@
 .Pp
 The optional flags are:
 .Bl -tag -width ".Dv VM_ALLOC_IFNOTCACHED"
-.It Dv VM_ALLOC_ZERO
-Indicate a preference for a pre-zeroed page.
-There is no guarantee that the returned page will be zeroed, but it
-will have the
-.Dv PG_ZERO
-flag set if it is zeroed.
+.It Dv VM_ALLOC_NOBUSY
+The returned page will not be exclusive busy.
+.It Dv VM_ALLOC_NODUMP
+The returned page will not be included in any kernel core dumps
+regardless of whether or not it is mapped in to KVA.
 .It Dv VM_ALLOC_NOOBJ
 Do not associate the allocated page with a vm object.
 The
 .Fa object
 argument is ignored.
-.It Dv VM_ALLOC_NOBUSY
-The returned page will not have the
-.Dv VPO_BUSY
-flag set.
-.It Dv VM_ALLOC_WIRED
-The returned page will be wired.
 .It Dv VM_ALLOC_IFCACHED
 Allocate the page only if it is cached.
 Otherwise, return
@@ -117,6 +111,16 @@
 If the page at the specified
 .Fa pindex
 is cached, NULL is returned instead.
+.It Dv VM_ALLOC_SBUSY
+The returned page will be shared busy.
+.It Dv VM_ALLOC_WIRED
+The returned page will be wired.
+.It Dv VM_ALLOC_ZERO
+Indicate a preference for a pre-zeroed page.
+There is no guarantee that the returned page will be zeroed, but it
+will have the
+.Dv PG_ZERO
+flag set if it is zeroed.
 .El
 .El
 .Sh RETURN VALUES


Property changes on: trunk/share/man/man9/vm_page_alloc.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_bits.9
===================================================================
--- trunk/share/man/man9/vm_page_bits.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_bits.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_bits.9 211397 2010-08-16 15:18:30Z joel $
 .\"
 .Dd December 1, 2001
 .Dt VM_PAGE_BITS 9


Property changes on: trunk/share/man/man9/vm_page_bits.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/vm_page_busy.9
===================================================================
--- trunk/share/man/man9/vm_page_busy.9	                        (rev 0)
+++ trunk/share/man/man9/vm_page_busy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,217 @@
+.\" $MidnightBSD$
+.\"
+.\" Copyright (c) 2013 EMC Corp.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_busy.9 254174 2013-08-10 06:37:53Z joel $
+.Dd August 07, 2013
+.Dt VM_PAGE_BUSY 9
+.Os
+.Sh NAME
+.Nm vm_page_busied ,
+.Nm vm_page_busy_downgrade ,
+.Nm vm_page_busy_sleep ,
+.Nm vm_page_sbusied ,
+.Nm vm_page_sbusy ,
+.Nm vm_page_sleep_if_busy ,
+.Nm vm_page_sunbusy ,
+.Nm vm_page_trysbusy ,
+.Nm vm_page_tryxbusy ,
+.Nm vm_page_xbusied ,
+.Nm vm_page_xbusy ,
+.Nm vm_page_xunbusy ,
+.Nm vm_page_assert_sbusied ,
+.Nm vm_page_assert_unbusied ,
+.Nm vm_page_assert_xbusied
+.Nd protect page identity changes and page content references
+.Sh SYNOPSIS
+.In sys/param.h
+.In vm/vm.h
+.In vm/vm_page.h
+.Ft int
+.Fn vm_page_busied "vm_page_t m"
+.Ft void
+.Fn vm_page_busy_downgrade "vm_page_t m"
+.Ft void
+.Fn vm_page_busy_sleep "vm_page_t m" "const char *msg"
+.Ft int
+.Fn vm_page_sbusied "vm_page_t m"
+.Ft void
+.Fn vm_page_sbusy "vm_page_t m"
+.Ft int
+.Fn vm_page_sleep_if_busy "vm_page_t m" "const char *msg"
+.Ft void
+.Fn vm_page_sunbusy "vm_page_t m"
+.Ft int
+.Fn vm_page_trysbusy "vm_page_t m"
+.Ft int
+.Fn vm_page_tryxbusy "vm_page_t m"
+.Ft int
+.Fn vm_page_xbusied "vm_page_t m"
+.Ft void
+.Fn vm_page_xbusy "vm_page_t m"
+.Ft void
+.Fn vm_page_xunbusy "vm_page_t m"
+.Pp
+.Cd "options INVARIANTS"
+.Cd "options INVARIANT_SUPPORT"
+.Ft void
+.Fn vm_page_assert_sbusied "vm_page_t m"
+.Ft void
+.Fn vm_page_assert_unbusied "vm_page_t m"
+.Ft void
+.Fn vm_page_assert_xbusied "vm_page_t m"
+.Sh DESCRIPTION
+Page identity is usually protected by higher level locks like vm_object
+locks and vm page locks.
+However, sometimes it is not possible to hold such locks for the time
+necessary to complete the identity change.
+In such case the page can be exclusively busied by a thread which needs
+to own the identity for a certain amount of time.
+.Pp
+In other situations, threads do not need to change the identity of the
+page but they want to prevent other threads from changing the identity
+themselves.
+For example, when a thread wants to access or update page contents
+without a lock held the page is shared busied.
+.Pp
+Before busing a page the vm_object lock must be held.
+The same rule applies when a page is unbusied.
+This makes the vm_object lock a real busy interlock.
+.Pp
+The
+.Fn vm_page_busied
+function returns non-zero if the current thread busied
+.Fa m
+in either exclusive or shared mode.
+Returns zero otherwise.
+.Pp
+The
+.Fn vm_page_busy_downgrade
+function must be used to downgrade
+.Fa m
+from an exclusive busy state to a shared busy state.
+.Pp
+The
+.Fn vm_page_busy_sleep
+function puts the invoking thread to sleep using the appropriate
+waitchannels for the busy mechanism.
+The parameter
+.Fa msg
+is a string describing the sleep condition for userland tools.
+.Pp
+The
+.Fn vm_page_busied
+function returns non-zero if the current thread busied
+.Fa m
+in shared mode.
+Returns zero otherwise.
+.Pp
+The
+.Fn vm_page_sbusy
+function shared busies
+.Fa m .
+.Pp
+The
+.Fn vm_page_sleep_if_busy
+function puts the invoking thread to sleep, using the appropriate
+waitchannels for the busy mechanism, if
+.Fa m .
+is busied in either exclusive or shared mode.
+If the invoking thread slept a non-zero value is returned, otherwise
+0 is returned.
+The parameter
+.Fa msg
+is a string describing the sleep condition for userland tools.
+.Pp
+The
+.Fn vm_page_sunbusy
+function shared unbusies
+.Fa m .
+.Pp
+The
+.Fn vm_page_trysbusy
+attempts to shared busy
+.Fa m .
+If the operation cannot immediately succeed
+.Fn vm_page_trysbusy
+returns 0, otherwise a non-zero value is returned.
+.Pp
+The
+.Fn vm_page_tryxbusy
+attempts to exclusive busy
+.Fa m .
+If the operation cannot immediately succeed
+.Fn vm_page_tryxbusy
+returns 0, otherwise a non-zero value is returned.
+.Pp
+The
+.Fn vm_page_xbusied
+function returns non-zero if the current thread busied
+.Fa m
+in exclusive mode.
+Returns zero otherwise.
+.Pp
+The
+.Fn vm_page_xbusy
+function exclusive busies
+.Fa m .
+.Pp
+The
+.Fn vm_page_xunbusy
+function exclusive unbusies
+.Fa m .
+Assertions on the busy state allow kernels compiled with
+.Cd "options INVARIANTS"
+and
+.Cd "options INVARIANT_SUPPORT"
+to panic if they are not respected.
+.Pp
+The
+.Fn vm_page_assert_sbusied
+function panics if
+.Fa m
+is not shared busied.
+.Pp
+The
+.Fn vm_page_assert_unbusied
+function panics if
+.Fa m
+is not unbusied.
+.Pp
+The
+.Fn vm_page_assert_xbusied
+function panics if
+.Fa m
+is not exclusive busied.
+.Sh SEE ALSO
+.Xr VOP_GETPAGES 9 ,
+.Xr vm_page_aflag 9 ,
+.Xr vm_page_alloc 9 ,
+.Xr vm_page_deactivate 9 ,
+.Xr vm_page_free 9 ,
+.Xr vm_page_grab 9 ,
+.Xr vm_page_insert 9 ,
+.Xr vm_page_lookup 9 ,
+.Xr vm_page_rename 9


Property changes on: trunk/share/man/man9/vm_page_busy.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_cache.9
===================================================================
--- trunk/share/man/man9/vm_page_cache.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_cache.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_cache.9 80679 2001-07-30 22:14:23Z alfred $
 .\"
 .Dd July 24, 2001
 .Dt VM_PAGE_CACHE 9


Property changes on: trunk/share/man/man9/vm_page_cache.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_deactivate.9
===================================================================
--- trunk/share/man/man9/vm_page_deactivate.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_deactivate.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_deactivate.9 166966 2007-02-25 06:51:11Z ru $
 .\"
 .Dd July 24, 2001
 .Dt VM_PAGE_DEACTIVATE 9


Property changes on: trunk/share/man/man9/vm_page_deactivate.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_dontneed.9
===================================================================
--- trunk/share/man/man9/vm_page_dontneed.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_dontneed.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_dontneed.9 87857 2001-12-14 09:11:13Z ru $
 .\"
 .Dd July 30, 2001
 .Dt VM_PAGE_DONTNEED 9


Property changes on: trunk/share/man/man9/vm_page_dontneed.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_free.9
===================================================================
--- trunk/share/man/man9/vm_page_free.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_free.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_free.9 81278 2001-08-08 10:04:08Z ru $
 .\"
 .Dd July 24, 2001
 .Dt VM_PAGE_FREE 9


Property changes on: trunk/share/man/man9/vm_page_free.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_grab.9
===================================================================
--- trunk/share/man/man9/vm_page_grab.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_grab.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,6 +1,11 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
+.\" Copyright (c) 2013 The FreeBSD Foundation
 .\"
+.\" Portions of this documentation were written by Konstantin Belousov
+.\" under sponsorship from the FreeBSD Foundation.
+.\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -24,9 +29,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_grab.9 256114 2013-10-07 16:49:53Z jmg $
 .\"
-.Dd August 7, 2001
+.Dd August 23, 2013
 .Dt VM_PAGE_GRAB 9
 .Os
 .Sh NAME
@@ -48,21 +53,31 @@
 .Fn vm_page_grab
 will sleep while waiting for it.
 If the page does not exist, it is allocated.
+The function sleeps until the allocation request can be satisfied.
 .Pp
-If
-.Dv VM_ALLOC_RETRY
-is not set in
-.Fa allocflags
-and the function sleeps, either getting the page from the object
-or while allocating it,
-.Dv NULL
-is returned.
+The function requires the
+.Fa object
+to be locked on entry, and returns with the object locked.
+If the
+.Fn vm_page_grab
+function sleeps for any reason, the object lock is temporary dropped.
+.Pp
+The
+.Fn vm_page_grab
+supports all of the flags supported by
+.Xr vm_page_alloc 9 .
+In addition,
+.Fn vm_page_grab
+supports the following flags:
+.Bl -tag -width ".Dv VM_ALLOC_IGN_SBUSY"
+.It Dv VM_ALLOC_IGN_SBUSY
+When waiting for the busy state of the existing page to drain,
+only test for exclusive busy; ignore the shared busy counter.
+.El
 .Sh RETURN VALUES
-If successful,
+The
 .Fn vm_page_grab
-returns the page; otherwise,
-.Dv NULL
-is returned.
+always returns the page.
 .Sh SEE ALSO
 .Xr vm_page_alloc 9
 .Sh AUTHORS


Property changes on: trunk/share/man/man9/vm_page_grab.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_hold.9
===================================================================
--- trunk/share/man/man9/vm_page_hold.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_hold.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_hold.9 93864 2002-04-05 08:05:11Z davidc $
 .\"
 .Dd July 13, 2001
 .Dt VM_PAGE_HOLD 9


Property changes on: trunk/share/man/man9/vm_page_hold.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_insert.9
===================================================================
--- trunk/share/man/man9/vm_page_insert.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_insert.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_insert.9 81278 2001-08-08 10:04:08Z ru $
 .\"
 .Dd July 17, 2001
 .Dt VM_PAGE_INSERT 9


Property changes on: trunk/share/man/man9/vm_page_insert.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/vm_page_io.9
===================================================================
--- trunk/share/man/man9/vm_page_io.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_io.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/vm_page_io.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_lookup.9
===================================================================
--- trunk/share/man/man9/vm_page_lookup.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_lookup.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_lookup.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 13, 2001
 .Dt VM_PAGE_LOOKUP 9


Property changes on: trunk/share/man/man9/vm_page_lookup.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_rename.9
===================================================================
--- trunk/share/man/man9/vm_page_rename.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_rename.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_rename.9 81278 2001-08-08 10:04:08Z ru $
 .\"
 .Dd July 17, 2001
 .Dt VM_PAGE_RENAME 9


Property changes on: trunk/share/man/man9/vm_page_rename.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/vm_page_sleep_if_busy.9
===================================================================
--- trunk/share/man/man9/vm_page_sleep_if_busy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_sleep_if_busy.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/vm_page_sleep_if_busy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Index: trunk/share/man/man9/vm_page_wakeup.9
===================================================================
--- trunk/share/man/man9/vm_page_wakeup.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_wakeup.9	2018-06-03 14:01:16 UTC (rev 10287)

Property changes on: trunk/share/man/man9/vm_page_wakeup.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_page_wire.9
===================================================================
--- trunk/share/man/man9/vm_page_wire.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_page_wire.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_page_wire.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 13, 2001
 .Dt VM_PAGE_WIRE 9


Property changes on: trunk/share/man/man9/vm_page_wire.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vm_set_page_size.9
===================================================================
--- trunk/share/man/man9/vm_set_page_size.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vm_set_page_size.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vm_set_page_size.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 17, 2001
 .Dt VM_SET_PAGE_SIZE 9


Property changes on: trunk/share/man/man9/vm_set_page_size.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/share/man/man9/vmem.9
===================================================================
--- trunk/share/man/man9/vmem.9	                        (rev 0)
+++ trunk/share/man/man9/vmem.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -0,0 +1,316 @@
+.\" $MidnightBSD$
+.\"	$NetBSD: vmem.9,v 1.15 2013/01/29 22:02:17 wiz Exp $
+.\"
+.\" Copyright (c)2006 YAMAMOTO Takashi,
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: stable/10/share/man/man9/vmem.9 253270 2013-07-12 15:08:37Z pluknet $
+.\"
+.\" ------------------------------------------------------------
+.Dd July 12, 2013
+.Dt VMEM 9
+.Os
+.\" ------------------------------------------------------------
+.Sh NAME
+.Nm vmem
+.Nd general purpose resource allocator
+.\" ------------------------------------------------------------
+.Sh SYNOPSIS
+.In sys/vmem.h
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft vmem_t *
+.Fn vmem_create \
+"const char *name" "vmem_addr_t base" "vmem_size_t size" "vmem_size_t quantum" \
+"vmem_size_t qcache_max" "int flags"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft int
+.Fn vmem_add \
+"vmem_t *vm" "vmem_addr_t addr" "vmem_size_t size" "int flags"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft int
+.Fn vmem_xalloc \
+"vmem_t *vm" "const vmem_size_t size" "vmem_size_t align" \
+"const vmem_size_t phase" "const vmem_size_t nocross" \
+"const vmem_addr_t minaddr" "const vmem_addr_t maxaddr" "int flags" \
+"vmem_addr_t *addrp"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft void
+.Fn vmem_xfree "vmem_t *vm" "vmem_addr_t addr" "vmem_size_t size"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft int
+.Fn vmem_alloc "vmem_t *vm" "vmem_size_t size" "int flags" "vmem_addr_t *addrp"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft void
+.Fn vmem_free "vmem_t *vm" "vmem_addr_t addr" "vmem_size_t size"
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Ft void
+.Fn vmem_destroy "vmem_t *vm"
+.\" ------------------------------------------------------------
+.Sh DESCRIPTION
+The
+.Nm
+is a general purpose resource allocator.
+Despite its name, it can be used for arbitrary resources
+other than virtual memory.
+.Pp
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Fn vmem_create
+creates a new vmem arena.
+.Bl -tag -width qcache_max
+.It Fa name
+The string to describe the vmem.
+.It Fa base
+The start address of the initial span.
+Pass
+.Dv 0
+if no initial span is required.
+.It Fa size
+The size of the initial span.
+Pass
+.Dv 0
+if no initial span is required.
+.It Fa quantum
+The smallest unit of allocation.
+.It Fa qcache_max
+The largest size of allocations which can be served by quantum cache.
+It is merely a hint and can be ignored.
+.It Fa flags
+Combination of
+.Xr malloc 9
+wait flag and
+.Nm
+allocation strategy flag:
+.Bl -tag -width M_FIRSTFIT
+.It Dv M_FIRSTFIT
+Prefer allocation performance.
+.It Dv M_BESTFIT
+Prefer space efficiency.
+.El
+.El
+.Pp
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Fn vmem_add
+adds a span of size
+.Fa size
+starting at
+.Fa addr
+to the arena.
+Returns
+0
+on success,
+.Dv ENOMEM
+on failure.
+.Fa flags
+is
+.Xr malloc 9
+wait flag.
+.Pp
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Fn vmem_xalloc
+allocates a resource from the arena.
+.Bl -tag -width nocross
+.It Fa vm
+The arena which we allocate from.
+.It Fa size
+Specify the size of the allocation.
+.It Fa align
+If zero, don't care about the alignment of the allocation.
+Otherwise, request a resource segment starting at
+offset
+.Fa phase
+from an
+.Fa align
+aligned boundary.
+.It Fa phase
+See the above description of
+.Fa align .
+If
+.Fa align
+is zero,
+.Fa phase
+should be zero.
+Otherwise,
+.Fa phase
+should be smaller than
+.Fa align .
+.It Fa nocross
+Request a resource which doesn't cross
+.Fa nocross
+aligned boundary.
+.It Fa minaddr
+Specify the minimum address which can be allocated, or
+.Dv VMEM_ADDR_MIN
+if the caller does not care.
+.It Fa maxaddr
+Specify the maximum address which can be allocated, or
+.Dv VMEM_ADDR_MAX
+if the caller does not care.
+.It Fa flags
+A bitwise OR of an allocation strategy and a
+.Xr malloc 9
+wait flag.
+The allocation strategy is one of
+.Dv M_FIRSTFIT
+and
+.Dv M_BESTFIT .
+.It Fa addrp
+On success, if
+.Fa addrp
+is not
+.Dv NULL ,
+.Fn vmem_xalloc
+overwrites it with the start address of the allocated span.
+.El
+.Pp
+.\" ------------------------------------------------------------
+.Fn vmem_xfree
+frees resource allocated by
+.Fn vmem_xalloc
+to the arena.
+.Bl -tag -width addr
+.It Fa vm
+The arena which we free to.
+.It Fa addr
+The resource being freed.
+It must be the one returned by
+.Fn vmem_xalloc .
+Notably, it must not be the one from
+.Fn vmem_alloc .
+Otherwise, the behaviour is undefined.
+.It Fa size
+The size of the resource being freed.
+It must be the same as the
+.Fa size
+argument used for
+.Fn vmem_xalloc .
+.El
+.Pp
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Fn vmem_alloc
+allocates a resource from the arena.
+.Bl -tag -width flags
+.It Fa vm
+The arena which we allocate from.
+.It Fa size
+Specify the size of the allocation.
+.It Fa flags
+A bitwise OR of an
+.Nm
+allocation strategy flag (see above) and a
+.Xr malloc 9
+sleep flag.
+.It Fa addrp
+On success, if
+.Fa addrp
+is not
+.Dv NULL ,
+.Fn vmem_alloc
+overwrites it with the start address of the allocated span.
+.El
+.Pp
+.\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+.Fn vmem_free
+frees resource allocated by
+.Fn vmem_alloc
+to the arena.
+.Bl -tag -width addr
+.It Fa vm
+The arena which we free to.
+.It Fa addr
+The resource being freed.
+It must be the one returned by
+.Fn vmem_alloc .
+Notably, it must not be the one from
+.Fn vmem_xalloc .
+Otherwise, the behaviour is undefined.
+.It Fa size
+The size of the resource being freed.
+It must be the same as the
+.Fa size
+argument used for
+.Fn vmem_alloc .
+.El
+.Pp
+.\" ------------------------------------------------------------
+.Fn vmem_destroy
+destroys a vmem arena.
+.Bl -tag -width vm
+.It Fa vm
+The vmem arena being destroyed.
+The caller should ensure that no one will use it anymore.
+.El
+.\" ------------------------------------------------------------
+.Sh RETURN VALUES
+.Fn vmem_create
+returns a pointer to the newly allocated vmem_t.
+Otherwise, it returns
+.Dv NULL .
+.Pp
+On success,
+.Fn vmem_xalloc
+and
+.Fn vmem_alloc
+return 0.
+Otherwise,
+.Dv ENOMEM
+is returned.
+.\" ------------------------------------------------------------
+.Sh CODE REFERENCES
+The
+.Nm
+subsystem is implemented within the file
+.Pa sys/kern/subr_vmem.c .
+.\" ------------------------------------------------------------
+.Sh SEE ALSO
+.Xr malloc 9
+.Rs
+.%A Jeff Bonwick
+.%A Jonathan Adams
+.%T "Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources"
+.%J "2001 USENIX Annual Technical Conference"
+.%D 2001
+.Re
+.\" ------------------------------------------------------------
+.Sh HISTORY
+The
+.Nm
+allocator was originally implemented in
+.Nx .
+It was introduced in
+.Fx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+Original implementation of
+.Nm
+was written by
+.An "YAMAMOTO Takashi" .
+The
+.Fx
+port was made by
+.An "Jeff Roberson" .
+.Sh BUGS
+.Nm
+relies on
+.Xr malloc 9 ,
+so it cannot be used as early during system bootstrap.


Property changes on: trunk/share/man/man9/vmem.9
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/share/man/man9/vn_fullpath.9
===================================================================
--- trunk/share/man/man9/vn_fullpath.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vn_fullpath.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2003 Robert N. M. Watson.
 .\" All rights reserved.
@@ -25,7 +26,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vn_fullpath.9 185224 2008-11-23 20:02:58Z hrs $
 .\"
 .Dd November 23, 2008
 .Dt VN_FULLPATH 9


Property changes on: trunk/share/man/man9/vn_fullpath.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vn_isdisk.9
===================================================================
--- trunk/share/man/man9/vn_isdisk.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vn_isdisk.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (C) 2001 Chad David <davidc at acns.ab.ca>. All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vn_isdisk.9 147647 2005-06-28 20:15:19Z hmp $
 .\"
 .Dd July 9, 2001
 .Dt VN_ISDISK 9


Property changes on: trunk/share/man/man9/vn_isdisk.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vnode.9
===================================================================
--- trunk/share/man/man9/vnode.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vnode.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (c) 1996 Doug Rabson
 .\"
 .\" All rights reserved.
@@ -24,9 +25,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vnode.9 269286 2014-07-30 04:03:59Z kib $
 .\"
-.Dd February 13, 2010
+.Dd February 12, 2014
 .Dt VNODE 9
 .Os
 .Sh NAME
@@ -69,11 +70,8 @@
 .Va v_holdcnt
 of a vnode reaches zero then the vnode will be put on the freelist
 and may be reused for another file, possibly in another file system.
-The transition to and from the freelist is handled by
-.Xr getnewvnode 9 ,
-.Xr vfree 9
-and
-.Xr vbusy 9 .
+The transition from the freelist is handled by
+.Xr getnewvnode 9 .
 The third is a count of the number of clients which are writing into
 the file.
 It is maintained by the
@@ -82,9 +80,9 @@
 .Xr close 2
 system calls.
 .Pp
-Any call which returns a vnode (e.g.\&
+Any call which returns a vnode (e.g.,\&
 .Xr vget 9 ,
-.Xr VOP_LOOKUP 9
+.Xr VOP_LOOKUP 9 ,
 etc.)
 will increase the
 .Va v_usecount
@@ -119,13 +117,13 @@
 .It Dv VREG
 A regular file; may be with or without VM object backing.
 If you want to make sure this get a backing object, call
-.Xr vfs_object_create 9 .
+.Fn vnode_create_vobject .
 .It Dv VDIR
 A directory.
 .It Dv VBLK
 A block device; may be with or without VM object backing.
 If you want to make sure this get a backing object, call
-.Xr vfs_object_create 9 .
+.Fn vnode_create_vobject .
 .It Dv VCHR
 A character device.
 .It Dv VLNK
@@ -163,7 +161,9 @@
 .Xr malloc 9 ,
 .Xr VOP_ACCESS 9 ,
 .Xr VOP_ACLCHECK 9 ,
+.Xr VOP_ADVISE 9 ,
 .Xr VOP_ADVLOCK 9 ,
+.Xr VOP_ALLOCATE 9 ,
 .Xr VOP_ATTRIB 9 ,
 .Xr VOP_BWRITE 9 ,
 .Xr VOP_CREATE 9 ,
@@ -171,7 +171,6 @@
 .Xr VOP_GETACL 9 ,
 .Xr VOP_GETEXTATTR 9 ,
 .Xr VOP_GETPAGES 9 ,
-.Xr VOP_GETVOBJECT 9 ,
 .Xr VOP_INACTIVE 9 ,
 .Xr VOP_IOCTL 9 ,
 .Xr VOP_LINK 9 ,


Property changes on: trunk/share/man/man9/vnode.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vref.9
===================================================================
--- trunk/share/man/man9/vref.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vref.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -26,7 +27,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vref.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd July 24, 1996
 .Dt VREF 9


Property changes on: trunk/share/man/man9/vref.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vrefcnt.9
===================================================================
--- trunk/share/man/man9/vrefcnt.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vrefcnt.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" Copyright (C) 2007 Chad David <davidc at acns.ab.ca>.
 .\" All rights reserved.
 .\"
@@ -24,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vrefcnt.9 206622 2010-04-14 19:08:06Z uqs $
 .\"
 .Dd February 10, 2008
 .Dt VREFCNT 9


Property changes on: trunk/share/man/man9/vrefcnt.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vrele.9
===================================================================
--- trunk/share/man/man9/vrele.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vrele.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
@@ -27,9 +28,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vrele.9 296559 2016-03-09 10:09:51Z kib $
 .\"
-.Dd November 20, 2010
+.Dd February 24, 2016
 .Dt VRELE 9
 .Os
 .Sh NAME
@@ -81,10 +82,12 @@
 .Va v_usecount
 field of the non-doomed vnode reaches zero, then it will be inactivated
 and placed on the free list.
-Since the functions might need to call VOPs for the vnode, the
-.Va Giant
-mutex should be conditionally locked around the call.
 .Pp
+The
+.Fn vrele
+function may lock the vnode.
+All three functions may sleep.
+.Pp
 The hold count for the vnode is always greater or equal to the usecount.
 Non-forced unmount fails when mount point owns a vnode that has non-zero
 usecount, see


Property changes on: trunk/share/man/man9/vrele.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/vslock.9
===================================================================
--- trunk/share/man/man9/vslock.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/vslock.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"	$NetBSD: vslock.9,v 1.1 1996/06/15 20:47:29 pk Exp $
 .\"
 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -27,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/vslock.9 239829 2012-08-29 13:00:00Z pluknet $
 .\"
 .Dd August 29, 2012
 .Dt VSLOCK 9


Property changes on: trunk/share/man/man9/vslock.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/watchdog.9
===================================================================
--- trunk/share/man/man9/watchdog.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/watchdog.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2004 Poul-Henning Kamp <phk at FreeBSD.org>
 .\" All rights reserved.
@@ -22,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/watchdog.9 233648 2012-03-29 05:02:12Z eadler $
 .\"
 .Dd February 28, 2004
 .Dt WATCHDOG 9


Property changes on: trunk/share/man/man9/watchdog.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/zero_copy.9
===================================================================
--- trunk/share/man/man9/zero_copy.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/zero_copy.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"
 .\" Copyright (c) 2002 Kenneth D. Merry.
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/zero_copy.9 242146 2012-10-26 16:40:03Z joel $
 .\"
-.Dd December 5, 2004
+.Dd October 23, 2012
 .Dt ZERO_COPY 9
 .Os
 .Sh NAME
@@ -33,7 +34,8 @@
 .Nm zero_copy_sockets
 .Nd "zero copy sockets code"
 .Sh SYNOPSIS
-.Cd "options ZERO_COPY_SOCKETS"
+.Cd "options SOCKET_SEND_COW"
+.Cd "options SOCKET_RECV_PFLIP"
 .Sh DESCRIPTION
 The
 .Fx
@@ -166,3 +168,5 @@
 .An Andrew Gallatin Aq gallatin at FreeBSD.org
 and substantially modified and updated by
 .An Kenneth Merry Aq ken at FreeBSD.org .
+.Sh BUGS
+The COW based send mechanism is not safe and may result in kernel crashes.


Property changes on: trunk/share/man/man9/zero_copy.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/share/man/man9/zone.9
===================================================================
--- trunk/share/man/man9/zone.9	2018-06-03 13:59:44 UTC (rev 10286)
+++ trunk/share/man/man9/zone.9	2018-06-03 14:01:16 UTC (rev 10287)
@@ -1,3 +1,4 @@
+.\" $MidnightBSD$
 .\"-
 .\" Copyright (c) 2001 Dag-Erling Coïdan Smørgrav
 .\" All rights reserved.
@@ -23,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $MidnightBSD$
+.\" $FreeBSD: stable/10/share/man/man9/zone.9 299386 2016-05-10 20:12:27Z wblock $
 .\"
-.Dd February 25, 2012
+.Dd February 7, 2014
 .Dt ZONE 9
 .Os
 .Sh NAME
@@ -34,10 +35,12 @@
 .Nm uma_zalloc_arg ,
 .Nm uma_zfree ,
 .Nm uma_zfree_arg ,
+.Nm uma_find_refcnt ,
 .Nm uma_zdestroy ,
 .Nm uma_zone_set_max,
 .Nm uma_zone_get_max,
-.Nm uma_zone_get_cur
+.Nm uma_zone_get_cur,
+.Nm uma_zone_set_warning
 .Nd zone allocator
 .Sh SYNOPSIS
 .In sys/param.h
@@ -47,7 +50,7 @@
 .Fo uma_zcreate
 .Fa "char *name" "int size"
 .Fa "uma_ctor ctor" "uma_dtor dtor" "uma_init uminit" "uma_fini fini"
-.Fa "int align" "u_int16_t flags"
+.Fa "int align" "uint16_t flags"
 .Fc
 .Ft "void *"
 .Fn uma_zalloc "uma_zone_t zone" "int flags"
@@ -57,6 +60,8 @@
 .Fn uma_zfree "uma_zone_t zone" "void *item"
 .Ft void
 .Fn uma_zfree_arg "uma_zone_t zone" "void *item" "void *arg"
+.Ft "uint32_t *"
+.Fn uma_find_refcnt "uma_zone_t zone" "void *item"
 .Ft void
 .Fn uma_zdestroy "uma_zone_t zone"
 .Ft int
@@ -65,6 +70,13 @@
 .Fn uma_zone_get_max "uma_zone_t zone"
 .Ft int
 .Fn uma_zone_get_cur "uma_zone_t zone"
+.Ft void
+.Fn uma_zone_set_warning "uma_zone_t zone" "const char *warning"
+.In sys/sysctl.h
+.Fn SYSCTL_UMA_MAX parent nbr name access zone descr
+.Fn SYSCTL_ADD_UMA_MAX ctx parent nbr name access zone descr
+.Fn SYSCTL_UMA_CUR parent nbr name access zone descr
+.Fn SYSCTL_ADD_UMA_CUR ctx parent nbr name access zone descr
 .Sh DESCRIPTION
 The zone allocator provides an efficient interface for managing
 dynamically-sized collections of items of similar size.
@@ -133,6 +145,77 @@
 .Fn uma_zfree
 but rather in a batch mode on several objects.
 .Pp
+The
+.Fa flags
+argument of the
+.Fn uma_zcreate
+is a subset of the following flags:
+.Bl -tag -width "foo"
+.It Dv UMA_ZONE_NOFREE
+Slabs of the zone are never returned back to VM.
+.It Dv UMA_ZONE_REFCNT
+Each item in the zone would have internal reference counter associated with it.
+See
+.Fn uma_find_refcnt .
+.It Dv UMA_ZONE_NODUMP
+Pages belonging to the zone will not be included into mini-dumps.
+.It Dv UMA_ZONE_PCPU
+An allocation from zone would have
+.Va mp_ncpu
+shadow copies, that are privately assigned to CPUs.
+A CPU can address its private copy using base allocation address plus
+multiple of current CPU id and
+.Fn sizeof "struct pcpu" :
+.Bd -literal -offset indent
+foo_zone = uma_zcreate(..., UMA_ZONE_PCPU);
+ ...
+foo_base = uma_zalloc(foo_zone, ...);
+ ...
+critical_enter();
+foo_pcpu = (foo_t *)zpcpu_get(foo_base);
+/* do something with foo_pcpu */
+critical_exit();
+.Ed
+.It Dv UMA_ZONE_OFFPAGE
+By default book-keeping of items within a slab is done in the slab page itself.
+This flag explicitly tells subsystem that book-keeping structure should be
+allocated separately from special internal zone.
+This flag requires either
+.Dv UMA_ZONE_VTOSLAB
+or
+.Dv UMA_ZONE_HASH ,
+since subsystem requires a mechanism to find a book-keeping structure
+to an item being freed.
+The subsystem may choose to prefer offpage book-keeping for certain zones
+implicitly.
+.It Dv UMA_ZONE_ZINIT
+The zone will have its
+.Ft uma_init
+method set to internal method that initializes a new allocated slab
+to all zeros.
+Do not mistake
+.Ft uma_init
+method with
+.Ft uma_ctor .
+A zone with
+.Dv UMA_ZONE_ZINIT
+flag would not return zeroed memory on every
+.Fn uma_zalloc .
+.It Dv UMA_ZONE_HASH
+The zone should use an internal hash table to find slab book-keeping
+structure where an allocation being freed belongs to.
+.It Dv UMA_ZONE_VTOSLAB
+The zone should use special field of
+.Vt vm_page_t
+to find slab book-keeping structure where an allocation being freed belongs to.
+.It Dv UMA_ZONE_MALLOC
+The zone is for the
+.Xr malloc 9
+subsystem.
+.It Dv UMA_ZONE_VM
+The zone is for the VM subsystem.
+.El
+.Pp
 To allocate an item from a zone, simply call
 .Fn uma_zalloc
 with a pointer to that zone
@@ -145,7 +228,7 @@
 .Dv NULL
 in the rare case where all items in the zone are in use and the
 allocator is unable to grow the zone
-or when
+and
 .Dv M_NOWAIT
 is specified.
 .Pp
@@ -172,6 +255,13 @@
 .Dv dtor
 functions, respectively.
 .Pp
+If zone was created with
+.Dv UMA_ZONE_REFCNT
+flag, then pointer to reference counter for an item can be retrieved with
+help of the
+.Fn uma_find_refcnt
+function.
+.Pp
 Created zones,
 which are empty,
 can be destroyed using
@@ -213,13 +303,57 @@
 determine an exact value is not performed by the implementation.
 This ensures low overhead at the expense of potentially stale data being used
 in the calculation.
+.Pp
+The
+.Fn uma_zone_set_warning
+function sets a warning that will be printed on the system console when the
+given zone becomes full and fails to allocate an item.
+The warning will be printed not often than every five minutes.
+Warnings can be turned off globally by setting the
+.Va vm.zone_warnings
+sysctl tunable to
+.Va 0 .
+.Pp
+The
+.Fn SYSCTL_UMA_MAX parent nbr name access zone descr
+macro declares a static
+.Xr sysctl
+oid that exports the effective upper limit number of items for a zone.
+The
+.Fa zone
+argument should be a pointer to
+.Vt uma_zone_t .
+A read of the oid returns value obtained through
+.Fn uma_zone_get_max .
+A write to the oid sets new value via
+.Fn uma_zone_set_max .
+The
+.Fn SYSCTL_ADD_UMA_MAX ctx parent nbr name access zone descr
+macro is provided to create this type of oid dynamically.
+.Pp
+The
+.Fn SYSCTL_UMA_CUR parent nbr name access zone descr
+macro declares a static read only
+.Xr sysctl
+oid that exports the approximate current occupancy of the zone.
+The
+.Fa zone
+argument should be a pointer to 
+.Vt uma_zone_t .
+A read of the oid returns value obtained through
+.Fn uma_zone_get_cur .
+The
+.Fn SYSCTL_ADD_UMA_CUR ctx parent nbr name zone descr
+macro is provided to create this type of oid dynamically.
 .Sh RETURN VALUES
 The
 .Fn uma_zalloc
 function returns a pointer to an item, or
 .Dv NULL
-if the zone ran out of unused items and the allocator was unable to
-enlarge it.
+if the zone ran out of unused items
+and
+.Dv M_NOWAIT
+was specified.
 .Sh SEE ALSO
 .Xr malloc 9
 .Sh HISTORY


Property changes on: trunk/share/man/man9/zone.9
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list