summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2012-04-26 07:52:28 +0000
committergrehan <grehan@FreeBSD.org>2012-04-26 07:52:28 +0000
commit94d2b7f64912987093f1a98573737a32e4e5d8d1 (patch)
tree66e8b09d104ddfb3e858eb44c5eb480e59c57a35 /share
parentbd54a55c5a9baae09ba63f311e15c0d30f9ca683 (diff)
parent142e6644f17b2708b0c7ec8b0fcf34854b02f408 (diff)
downloadFreeBSD-src-94d2b7f64912987093f1a98573737a32e4e5d8d1.zip
FreeBSD-src-94d2b7f64912987093f1a98573737a32e4e5d8d1.tar.gz
IFC @ r234692
sys/amd64/include/cpufunc.h sys/amd64/include/fpu.h sys/amd64/amd64/fpu.c sys/amd64/vmm/vmm.c - Add API to allow vmm FPU state init/save/restore. FP stuff discussed with: kib
Diffstat (limited to 'share')
-rw-r--r--share/doc/bind9/Makefile6
-rw-r--r--share/examples/Makefile2
-rw-r--r--share/examples/csh/dot.cshrc66
-rw-r--r--share/examples/cvsup/cvs-supfile17
-rw-r--r--share/examples/cvsup/doc-supfile17
-rw-r--r--share/examples/cvsup/gnats-supfile17
-rw-r--r--share/examples/cvsup/ports-supfile17
-rw-r--r--share/examples/cvsup/stable-supfile17
-rw-r--r--share/examples/cvsup/standard-supfile17
-rw-r--r--share/examples/cvsup/www-supfile17
-rw-r--r--share/examples/diskless/README.TEMPLATING6
-rw-r--r--share/examples/etc/make.conf12
-rw-r--r--share/examples/ppp/ppp.linkdown.sample2
-rw-r--r--share/examples/printing/hpvf4
-rw-r--r--share/examples/scsi_target/scsi_cmds.c2
-rw-r--r--share/man/man3/ATOMIC_VAR_INIT.34
-rw-r--r--share/man/man3/Makefile1
-rw-r--r--share/man/man3/offsetof.347
-rw-r--r--share/man/man3/pthread_attr_affinity_np.32
-rw-r--r--share/man/man3/pthread_cond_destroy.33
-rw-r--r--share/man/man3/pthread_cond_timedwait.34
-rw-r--r--share/man/man3/pthread_cond_wait.34
-rw-r--r--share/man/man3/pthread_getthreadid_np.34
-rw-r--r--share/man/man3/tgmath.325
-rw-r--r--share/man/man4/Makefile15
-rw-r--r--share/man/man4/acpi.412
-rw-r--r--share/man/man4/acpi_hp.425
-rw-r--r--share/man/man4/acpi_panasonic.44
-rw-r--r--share/man/man4/acpi_wmi.42
-rw-r--r--share/man/man4/ada.45
-rw-r--r--share/man/man4/adv.476
-rw-r--r--share/man/man4/agp.412
-rw-r--r--share/man/man4/ahc.431
-rw-r--r--share/man/man4/ahci.42
-rw-r--r--share/man/man4/aibs.46
-rw-r--r--share/man/man4/amdsmb.42
-rw-r--r--share/man/man4/amdtemp.460
-rw-r--r--share/man/man4/apic.42
-rw-r--r--share/man/man4/ata.44
-rw-r--r--share/man/man4/ath.412
-rw-r--r--share/man/man4/atkbd.41
-rw-r--r--share/man/man4/atp.46
-rw-r--r--share/man/man4/bce.44
-rw-r--r--share/man/man4/bge.47
-rw-r--r--share/man/man4/bpf.431
-rw-r--r--share/man/man4/bridge.41
-rw-r--r--share/man/man4/bt.469
-rw-r--r--share/man/man4/bwi.47
-rw-r--r--share/man/man4/bwn.47
-rw-r--r--share/man/man4/carp.439
-rw-r--r--share/man/man4/cas.46
-rw-r--r--share/man/man4/cc_vegas.42
-rw-r--r--share/man/man4/cd.46
-rw-r--r--share/man/man4/ciss.414
-rw-r--r--share/man/man4/coda.42
-rw-r--r--share/man/man4/cxgbe.431
-rw-r--r--share/man/man4/cy.41
-rw-r--r--share/man/man4/da.44
-rw-r--r--share/man/man4/dpms.41
-rw-r--r--share/man/man4/ed.419
-rw-r--r--share/man/man4/ehci.48
-rw-r--r--share/man/man4/em.41
-rw-r--r--share/man/man4/epair.43
-rw-r--r--share/man/man4/eventtimers.410
-rw-r--r--share/man/man4/faith.44
-rw-r--r--share/man/man4/fdc.41
-rw-r--r--share/man/man4/fwohci.41
-rw-r--r--share/man/man4/gem.415
-rw-r--r--share/man/man4/geom_fox.41
-rw-r--r--share/man/man4/geom_uzip.41
-rw-r--r--share/man/man4/gre.42
-rw-r--r--share/man/man4/h_ertt.44
-rw-r--r--share/man/man4/hptiop.41
-rw-r--r--share/man/man4/icmp6.412
-rw-r--r--share/man/man4/igb.41
-rw-r--r--share/man/man4/inet.449
-rw-r--r--share/man/man4/inet6.480
-rw-r--r--share/man/man4/ip.42
-rw-r--r--share/man/man4/ip6.430
-rw-r--r--share/man/man4/ipmi.42
-rw-r--r--share/man/man4/ipw.42
-rw-r--r--share/man/man4/isci.4112
-rw-r--r--share/man/man4/iscsi_initiator.431
-rw-r--r--share/man/man4/isp.41
-rw-r--r--share/man/man4/iwi.42
-rw-r--r--share/man/man4/iwn.434
-rw-r--r--share/man/man4/iwnfw.42
-rw-r--r--share/man/man4/ixgbe.46
-rw-r--r--share/man/man4/jme.455
-rw-r--r--share/man/man4/ksyms.438
-rw-r--r--share/man/man4/ktr.42
-rw-r--r--share/man/man4/lagg.422
-rw-r--r--share/man/man4/lmc.46
-rw-r--r--share/man/man4/lo.48
-rw-r--r--share/man/man4/mac_lomac.44
-rw-r--r--share/man/man4/malo.411
-rw-r--r--share/man/man4/man4.i386/apm.422
-rw-r--r--share/man/man4/man4.i386/glxsb.42
-rw-r--r--share/man/man4/man4.powerpc/abtn.42
-rw-r--r--share/man/man4/man4.powerpc/akbd.48
-rw-r--r--share/man/man4/man4.powerpc/bm.46
-rw-r--r--share/man/man4/man4.powerpc/cuda.42
-rw-r--r--share/man/man4/man4.powerpc/smu.42
-rw-r--r--share/man/man4/man4.powerpc/snd_ai2s.44
-rw-r--r--share/man/man4/man4.powerpc/snd_davbus.42
-rw-r--r--share/man/man4/md.42
-rw-r--r--share/man/man4/mem.44
-rw-r--r--share/man/man4/mld.42
-rw-r--r--share/man/man4/mmc.42
-rw-r--r--share/man/man4/mos.48
-rw-r--r--share/man/man4/mps.497
-rw-r--r--share/man/man4/mtio.440
-rw-r--r--share/man/man4/mwl.46
-rw-r--r--share/man/man4/natm.48
-rw-r--r--share/man/man4/net80211.414
-rw-r--r--share/man/man4/netintro.417
-rw-r--r--share/man/man4/netmap.431
-rw-r--r--share/man/man4/ng_async.46
-rw-r--r--share/man/man4/ng_bridge.434
-rw-r--r--share/man/man4/ng_btsocket.44
-rw-r--r--share/man/man4/ng_car.432
-rw-r--r--share/man/man4/ng_ccatm.44
-rw-r--r--share/man/man4/ng_cisco.44
-rw-r--r--share/man/man4/ng_deflate.46
-rw-r--r--share/man/man4/ng_etf.42
-rw-r--r--share/man/man4/ng_hci.434
-rw-r--r--share/man/man4/ng_ksocket.410
-rw-r--r--share/man/man4/ng_l2cap.46
-rw-r--r--share/man/man4/ng_l2tp.414
-rw-r--r--share/man/man4/ng_mppc.42
-rw-r--r--share/man/man4/ng_nat.44
-rw-r--r--share/man/man4/ng_netflow.417
-rw-r--r--share/man/man4/ng_one2many.412
-rw-r--r--share/man/man4/ng_patch.46
-rw-r--r--share/man/man4/ng_ppp.428
-rw-r--r--share/man/man4/ng_pppoe.410
-rw-r--r--share/man/man4/ng_pptpgre.48
-rw-r--r--share/man/man4/ng_pred1.46
-rw-r--r--share/man/man4/ng_tty.42
-rw-r--r--share/man/man4/nvram2env.47
-rw-r--r--share/man/man4/nxge.44
-rw-r--r--share/man/man4/oce.4135
-rw-r--r--share/man/man4/pcm.424
-rw-r--r--share/man/man4/ppbus.43
-rw-r--r--share/man/man4/ppi.44
-rw-r--r--share/man/man4/psm.420
-rw-r--r--share/man/man4/pts.42
-rw-r--r--share/man/man4/ral.42
-rw-r--r--share/man/man4/run.42
-rw-r--r--share/man/man4/runfw.42
-rw-r--r--share/man/man4/sbp.44
-rw-r--r--share/man/man4/sdhci.44
-rw-r--r--share/man/man4/sfxge.48
-rw-r--r--share/man/man4/siftr.46
-rw-r--r--share/man/man4/smp.42
-rw-r--r--share/man/man4/snd_emu10kx.44
-rw-r--r--share/man/man4/snd_hda.4368
-rw-r--r--share/man/man4/snd_hdspe.476
-rw-r--r--share/man/man4/snd_ich.42
-rw-r--r--share/man/man4/syscons.410
-rw-r--r--share/man/man4/tap.48
-rw-r--r--share/man/man4/tcp.478
-rw-r--r--share/man/man4/tpm.42
-rw-r--r--share/man/man4/txp.413
-rw-r--r--share/man/man4/u3g.49
-rw-r--r--share/man/man4/uark.42
-rw-r--r--share/man/man4/uath.47
-rw-r--r--share/man/man4/ufoma.42
-rw-r--r--share/man/man4/uipaq.46
-rw-r--r--share/man/man4/ulpt.42
-rw-r--r--share/man/man4/umass.42
-rw-r--r--share/man/man4/umcs.416
-rw-r--r--share/man/man4/upgt.410
-rw-r--r--share/man/man4/usb.41
-rw-r--r--share/man/man4/usb_quirk.46
-rw-r--r--share/man/man4/vge.42
-rw-r--r--share/man/man4/virtio.423
-rw-r--r--share/man/man4/virtio_balloon.46
-rw-r--r--share/man/man4/virtio_blk.46
-rw-r--r--share/man/man4/vr.44
-rw-r--r--share/man/man4/vtnet.415
-rw-r--r--share/man/man4/vxge.42
-rw-r--r--share/man/man4/wbwd.4117
-rw-r--r--share/man/man4/wi.42
-rw-r--r--share/man/man4/wlan.45
-rw-r--r--share/man/man4/wlan_acl.42
-rw-r--r--share/man/man4/wlan_amrr.42
-rw-r--r--share/man/man4/wpi.48
-rw-r--r--share/man/man4/xen.44
-rw-r--r--share/man/man4/xnb.4141
-rw-r--r--share/man/man5/Makefile1
-rw-r--r--share/man/man5/ar.58
-rw-r--r--share/man/man5/devfs.526
-rw-r--r--share/man/man5/fdescfs.52
-rw-r--r--share/man/man5/fs.510
-rw-r--r--share/man/man5/fstab.56
-rw-r--r--share/man/man5/nsmb.conf.54
-rw-r--r--share/man/man5/passwd.52
-rw-r--r--share/man/man5/periodic.conf.524
-rw-r--r--share/man/man5/portindex.54
-rw-r--r--share/man/man5/quota.user.510
-rw-r--r--share/man/man5/rc.conf.559
-rw-r--r--share/man/man5/services.52
-rw-r--r--share/man/man5/src.conf.554
-rw-r--r--share/man/man5/style.Makefile.52
-rw-r--r--share/man/man5/tmpfs.59
-rw-r--r--share/man/man7/hier.72
-rw-r--r--share/man/man7/mailaddr.76
-rw-r--r--share/man/man7/operator.72
-rw-r--r--share/man/man7/ports.711
-rw-r--r--share/man/man7/release.722
-rw-r--r--share/man/man7/security.74
-rw-r--r--share/man/man8/picobsd.82
-rw-r--r--share/man/man8/rc.86
-rw-r--r--share/man/man8/rc.subr.848
-rw-r--r--share/man/man9/BUS_DESCRIBE_INTR.92
-rw-r--r--share/man/man9/BUS_SETUP_INTR.94
-rw-r--r--share/man/man9/DB_COMMAND.915
-rw-r--r--share/man/man9/DEVICE_PROBE.98
-rw-r--r--share/man/man9/DEV_MODULE.94
-rw-r--r--share/man/man9/LOCK_PROFILING.936
-rw-r--r--share/man/man9/MD5.92
-rw-r--r--share/man/man9/Makefile43
-rw-r--r--share/man/man9/SYSINIT.92
-rw-r--r--share/man/man9/bios.94
-rw-r--r--share/man/man9/buf_ring.9144
-rw-r--r--share/man/man9/bus_dma.92
-rw-r--r--share/man/man9/bus_space.9128
-rw-r--r--share/man/man9/byteorder.92
-rw-r--r--share/man/man9/condvar.94
-rw-r--r--share/man/man9/contigmalloc.92
-rw-r--r--share/man/man9/crypto.928
-rw-r--r--share/man/man9/devclass_get_maxunit.92
-rw-r--r--share/man/man9/device_get_children.94
-rw-r--r--share/man/man9/device_set_flags.94
-rw-r--r--share/man/man9/devstat.94
-rw-r--r--share/man/man9/devtoname.915
-rw-r--r--share/man/man9/domain.912
-rw-r--r--share/man/man9/drbr.9147
-rw-r--r--share/man/man9/eventtimers.94
-rw-r--r--share/man/man9/fail.91
-rw-r--r--share/man/man9/firmware.92
-rw-r--r--share/man/man9/get_cyclecount.92
-rw-r--r--share/man/man9/ieee80211.920
-rw-r--r--share/man/man9/ieee80211_amrr.96
-rw-r--r--share/man/man9/ieee80211_bmiss.94
-rw-r--r--share/man/man9/ieee80211_crypto.96
-rw-r--r--share/man/man9/ieee80211_input.92
-rw-r--r--share/man/man9/ieee80211_node.912
-rw-r--r--share/man/man9/ieee80211_output.98
-rw-r--r--share/man/man9/ieee80211_proto.912
-rw-r--r--share/man/man9/ieee80211_radiotap.94
-rw-r--r--share/man/man9/ieee80211_regdomain.94
-rw-r--r--share/man/man9/ieee80211_scan.92
-rw-r--r--share/man/man9/ieee80211_vap.94
-rw-r--r--share/man/man9/ifnet.9443
-rw-r--r--share/man/man9/kproc.96
-rw-r--r--share/man/man9/kqueue.925
-rw-r--r--share/man/man9/kthread.98
-rw-r--r--share/man/man9/lock.93
-rw-r--r--share/man/man9/locking.923
-rw-r--r--share/man/man9/make_dev.91
-rw-r--r--share/man/man9/malloc.95
-rw-r--r--share/man/man9/mbchain.910
-rw-r--r--share/man/man9/mbuf_tags.910
-rw-r--r--share/man/man9/mdchain.918
-rw-r--r--share/man/man9/mi_switch.92
-rw-r--r--share/man/man9/namei.913
-rw-r--r--share/man/man9/netisr.92
-rw-r--r--share/man/man9/osd.92
-rw-r--r--share/man/man9/pci.9579
-rw-r--r--share/man/man9/physio.94
-rw-r--r--share/man/man9/random.92
-rw-r--r--share/man/man9/rijndael.920
-rw-r--r--share/man/man9/rmlock.910
-rw-r--r--share/man/man9/shm_map.92
-rw-r--r--share/man/man9/sleep.94
-rw-r--r--share/man/man9/spl.94
-rw-r--r--share/man/man9/swi.984
-rw-r--r--share/man/man9/sysctl.94
-rw-r--r--share/man/man9/sysctl_ctx_init.92
-rw-r--r--share/man/man9/taskqueue.98
-rw-r--r--share/man/man9/timeout.94
-rw-r--r--share/man/man9/uio.94
-rw-r--r--share/man/man9/usbdi.918
-rw-r--r--share/man/man9/vcount.96
-rw-r--r--share/man/man9/vm_map_find.92
-rw-r--r--share/man/man9/vm_page_alloc.929
-rw-r--r--share/man/man9/vnode.94
-rw-r--r--share/man/man9/watchdog.92
-rw-r--r--share/man/man9/zone.96
-rw-r--r--share/misc/bsd-family-tree20
-rw-r--r--share/misc/committers-doc.dot2
-rw-r--r--share/misc/committers-ports.dot16
-rw-r--r--share/misc/committers-src.dot13
-rw-r--r--share/misc/scsi_modes25
-rw-r--r--share/mk/bsd.crunchgen.mk5
-rw-r--r--share/mk/bsd.endian.mk2
-rw-r--r--share/mk/bsd.kmod.mk2
-rw-r--r--share/mk/bsd.libnames.mk4
-rw-r--r--share/mk/bsd.own.mk21
-rw-r--r--share/mk/bsd.sys.mk174
-rw-r--r--share/mk/sys.mk6
-rw-r--r--share/termcap/termcap.51
304 files changed, 3862 insertions, 1964 deletions
diff --git a/share/doc/bind9/Makefile b/share/doc/bind9/Makefile
index 803811b..3aca4e5 100644
--- a/share/doc/bind9/Makefile
+++ b/share/doc/bind9/Makefile
@@ -8,14 +8,12 @@ SRCDIR= ${BIND_DIR}/doc
NO_OBJ=
FILESGROUPS= TOP ARM MISC
-TOP= CHANGES COPYRIGHT FAQ HISTORY README \
- RELEASE-NOTES-BIND-9.8.1.pdf RELEASE-NOTES-BIND-9.8.1.txt \
- RELEASE-NOTES-BIND-9.8.1.html release-notes.css
+TOP= CHANGES COPYRIGHT FAQ HISTORY README
TOPDIR= ${DOCDIR}/bind9
ARM= Bv9ARM.ch01.html Bv9ARM.ch02.html Bv9ARM.ch03.html \
Bv9ARM.ch04.html Bv9ARM.ch05.html Bv9ARM.ch06.html \
Bv9ARM.ch07.html Bv9ARM.ch08.html Bv9ARM.ch09.html \
- Bv9ARM.ch10.html Bv9ARM.html \
+ Bv9ARM.ch10.html Bv9ARM.html Bv9ARM.pdf \
man.arpaname.html man.ddns-confgen.html man.dig.html \
man.dnssec-dsfromkey.html man.dnssec-keyfromlabel.html \
man.dnssec-keygen.html man.dnssec-revoke.html \
diff --git a/share/examples/Makefile b/share/examples/Makefile
index 7b968f9..304ddb7 100644
--- a/share/examples/Makefile
+++ b/share/examples/Makefile
@@ -8,6 +8,7 @@ LDIRS= BSD_daemon \
FreeBSD_version \
IPv6 \
bootforth \
+ csh \
cvsup \
diskless \
drivers \
@@ -49,6 +50,7 @@ XFILES= BSD_daemon/FreeBSD.pfa \
bootforth/menu.4th \
bootforth/menuconf.4th \
bootforth/screen.4th \
+ csh/dot.cshrc \
cvsup/README \
cvsup/cvs-supfile \
cvsup/doc-supfile \
diff --git a/share/examples/csh/dot.cshrc b/share/examples/csh/dot.cshrc
new file mode 100644
index 0000000..17951d4
--- /dev/null
+++ b/share/examples/csh/dot.cshrc
@@ -0,0 +1,66 @@
+# Here are some example (t)csh options and configurations that you may find interesting
+#
+# $FreeBSD$
+#
+
+# Sets SSH_AUTH_SOCK to the user's ssh-agent socket path if running
+if (${?SSH_AUTH_SOCK} != "1") then
+ setenv SSH_AUTH_SOCK `sockstat | grep "${USER}" | cut -d ' ' -f 6`
+endif
+
+# Change only root's prompt
+if (`id -g` == 0)
+ set prompt="root@%m# "
+endif
+
+# This maps the "Delete" key to do the right thing
+# Pressing CTRL-v followed by the key of interest will print the shell's
+# mapping for the key
+bindkey "^[[3~" delete-char-or-list-or-eof
+
+# Make the Ins key work
+bindkey "\e[2~" overwrite-mode
+
+# Aliases used for completions
+alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-name -r | cut -d . -f 1'
+alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-`uname -r | cut -d . -f 1`&& pkg_info -E \*'
+
+# Some common completions
+complete chown 'p/1/u/'
+complete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/='
+complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/'
+complete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/'
+complete kldunload 'n@*@`kldstat | awk \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\} | grep -v Name` @'
+complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@'
+complete man 'C/*/c/'
+complete pkg_delete 'c/-/(i v D n p d f G x X r)/' 'n@*@`ls /var/db/pkg`@'
+complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed s%/var/db/pkg/%%`@'
+complete portmaster 'c/--/(always-fetch check-depends check-port-dbdir clean-distfiles \
+ clean-packages delete-build-only delete-packages force-config help \
+ index index-first index-only list-origins local-packagedir no-confirm \
+ no-index-fetch no-term-title packages packages-build packages-if-newer \
+ packages-local packages-only show-work update-if-newer version)/' \
+ 'c/-/(a b B C d D e f F g G h H i l L m n o p r R s t u v w x)/' \
+ 'n@*@`_PKGS_PkGs_PoRtS_`@'
+complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar onestart onestop)/'
+complete sysctl 'n/*/`sysctl -Na`/'
+
+# Alternate prompts
+set prompt = '#'
+set prompt = '%B%m%b%# '
+set prompt = '%B%m%b:%c03:%# '
+set prompt = '%{\033]0;%n@%m:%/\007%}%B%m%b:%c03:%# '
+set prompt = "%n@%m %c04%m%# "
+set prompt = "%n@%m:%c04 %# "
+set prompt = "[%n@%m]%c04%# "
+set ellipsis
+
+# Color ls
+alias ll ls -lAhG
+alias ls ls -G
+
+# Color on many system utilities
+setenv CLICOLOR 1
+
+# other autolist options
+set autolist = TAB
diff --git a/share/examples/cvsup/cvs-supfile b/share/examples/cvsup/cvs-supfile
index be9e0d9..8b4f16d 100644
--- a/share/examples/cvsup/cvs-supfile
+++ b/share/examples/cvsup/cvs-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# CVS development tree of the FreeBSD system.
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup cvs-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup cvs-supfile
#
-# cvsup -g -L 2 cvs-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/doc-supfile b/share/examples/cvsup/doc-supfile
index 5e0beb8..0271ecc 100644
--- a/share/examples/cvsup/doc-supfile
+++ b/share/examples/cvsup/doc-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# source of the FreeBSD doc tree
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup doc-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup doc-supfile
#
-# cvsup -g -L 2 doc-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/gnats-supfile b/share/examples/cvsup/gnats-supfile
index 7dcb333..57e9666 100644
--- a/share/examples/cvsup/gnats-supfile
+++ b/share/examples/cvsup/gnats-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# FreeBSD GNATS bug report database.
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup gnats-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup gnats-supfile
#
-# cvsup -g -L 2 gnats-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/ports-supfile b/share/examples/cvsup/ports-supfile
index 3326a204..9090944 100644
--- a/share/examples/cvsup/ports-supfile
+++ b/share/examples/cvsup/ports-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# FreeBSD-current ports collection.
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup ports-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup ports-supfile
#
-# cvsup -g -L 2 ports-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/stable-supfile b/share/examples/cvsup/stable-supfile
index 341eb6b..209b1eb 100644
--- a/share/examples/cvsup/stable-supfile
+++ b/share/examples/cvsup/stable-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# FreeBSD-stable source tree.
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup stable-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup stable-supfile
#
-# cvsup -g -L 2 stable-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/standard-supfile b/share/examples/cvsup/standard-supfile
index 463fba8..b56068d 100644
--- a/share/examples/cvsup/standard-supfile
+++ b/share/examples/cvsup/standard-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# FreeBSD-current source tree.
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup standard-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup standard-supfile
#
-# cvsup -g -L 2 standard-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/cvsup/www-supfile b/share/examples/cvsup/www-supfile
index c06ccf5..db78f0f 100644
--- a/share/examples/cvsup/www-supfile
+++ b/share/examples/cvsup/www-supfile
@@ -3,19 +3,16 @@
# This file contains all of the "CVSup collections" that make up the
# source of the FreeBSD www tree
#
-# CVSup (CVS Update Protocol) allows you to download the latest CVS
+# csup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
-# and efficiently (far more so than with sup, which CVSup is aimed
-# at replacing). If you're running CVSup interactively, and are
-# currently using an X display server, you should run CVSup as follows
-# to keep your CVS tree up-to-date:
+# and efficiently
#
-# cvsup www-supfile
+# To keep your CVS tree up-to-date run:
#
-# If not running X, or invoking cvsup from a non-interactive script, then
-# run it as follows:
+# csup www-supfile
#
-# cvsup -g -L 2 www-supfile
+# Note that this only updates the tree contents and does not
+# update what is actually installed.
#
# You may wish to change some of the settings in this file to better
# suit your system:
@@ -29,7 +26,7 @@
# with cvsup's "-h host" option.
#
# base=/var/db
-# This specifies the root where CVSup will store information
+# This specifies the root where csup will store information
# about the collections you have transferred to your system.
# A setting of "/var/db" will generate this information in
# /var/db/sup. You can override the "base" setting on the
diff --git a/share/examples/diskless/README.TEMPLATING b/share/examples/diskless/README.TEMPLATING
index 28edcae..48984e0 100644
--- a/share/examples/diskless/README.TEMPLATING
+++ b/share/examples/diskless/README.TEMPLATING
@@ -94,8 +94,8 @@ be useful to set up clients and server for diskless boot.
/usr/ports ( note 5 )
/usr/src ( note 5 )
/usr/local/crack ( note 5 )
- /usr/X11R6/lib/X11/xdm/xdm-errors ( note 6 )
- /usr/X11R6/lib/X11/xdm/xdm-pid ( note 6 )
+ /usr/local/lib/X11/xdm/xdm-errors ( note 6 )
+ /usr/local/lib/X11/xdm/xdm-pid ( note 6 )
/usr/local/etc/ssh_host_key ( note 6 )
/usr/local/etc/ssh_host_key.pub ( note 6 )
/usr/local/etc/ssh_random_seed ( note 6 )
@@ -120,7 +120,7 @@ be useful to set up clients and server for diskless boot.
do not want to template such directories.
note 6: Note that you can solve the problem of xdm and sshd creating
- files in /usr. With xdm, edit /usr/X11R6/lib/xdm/xdm-config
+ files in /usr. With xdm, edit /usr/local/lib/xdm/xdm-config
and change the errorLogFile and pidFile config lines.
With sshd, add 'HostKey' and 'RandomSeed' directives to specify
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index d3cdf3e7..05872ff 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -91,13 +91,13 @@
#
#COPTFLAGS= -O -pipe
#
-# Compare before install
+# Compare before install.
#INSTALL=install -C
#
-# Mtree will follow symlinks
+# Mtree will follow symlinks.
#MTREE_FOLLOWS_SYMLINKS= -L
#
-# To enable installing ssh(1) with the setuid bit turned on
+# To enable installing ssh(1) with the setuid bit turned on.
#ENABLE_SUID_SSH=
#
# To enable installing newgrp(1) with the setuid bit turned on.
@@ -117,7 +117,7 @@
#
#TRACEROUTE_NO_IPSEC= # do not build traceroute(8) with IPSEC support
#
-# To build sys/modules when building the world (our old way of doing things)
+# To build sys/modules when building the world (our old way of doing things).
#MODULES_WITH_WORLD= # do not build modules when building kernel
#
# The list of modules to build instead of all of them.
@@ -133,7 +133,7 @@
#
#
# Default format for system documentation, depends on your printer.
-# Set this to "ascii" for simple printers or screen
+# Set this to "ascii" for simple printers or screen.
#
#PRINTERDEVICE= ps
#
@@ -199,7 +199,7 @@
#
# Documentation
#
-# The list of languages and encodings to build and install
+# The list of languages and encodings to build and install.
#
#DOC_LANG= en_US.ISO8859-1 ru_RU.KOI8-R
#
diff --git a/share/examples/ppp/ppp.linkdown.sample b/share/examples/ppp/ppp.linkdown.sample
index c7da79e..749dd94 100644
--- a/share/examples/ppp/ppp.linkdown.sample
+++ b/share/examples/ppp/ppp.linkdown.sample
@@ -23,7 +23,7 @@
# ``auplay'' (assuming NAS is installed and configured).
#
MYADDR:
- !bg /usr/X11R6/bin/auplay /etc/ppp/linkdown.au
+ !bg /usr/local/bin/auplay /etc/ppp/linkdown.au
# If you're running ``ppp -auto -nat dynamic-nat-auto'', and are
# assigned a dynamic IP number by the peer, this may be worth while
diff --git a/share/examples/printing/hpvf b/share/examples/printing/hpvf
index 233de80..c900f31 100644
--- a/share/examples/printing/hpvf
+++ b/share/examples/printing/hpvf
@@ -1,10 +1,10 @@
#!/bin/sh
#
+# $FreeBSD$
+#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
-PATH=/usr/X11R6/bin:$PATH; export PATH
-
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&& exit 0 \
|| exit 2
diff --git a/share/examples/scsi_target/scsi_cmds.c b/share/examples/scsi_target/scsi_cmds.c
index b0da04e..7a95606 100644
--- a/share/examples/scsi_target/scsi_cmds.c
+++ b/share/examples/scsi_target/scsi_cmds.c
@@ -328,7 +328,7 @@ tcmd_inquiry(struct ccb_accept_tio *atio, struct ccb_scsiio *ctio)
bcopy(&inq_data, ctio->data_ptr, sizeof(inq_data));
ctio->dxfer_len = inq_data.additional_length + 4;
ctio->dxfer_len = min(ctio->dxfer_len,
- SCSI_CDB6_LEN(inq->length));
+ scsi_2btoul(inq->length));
ctio->ccb_h.flags |= CAM_DIR_IN | CAM_SEND_STATUS;
ctio->scsi_status = SCSI_STATUS_OK;
}
diff --git a/share/man/man3/ATOMIC_VAR_INIT.3 b/share/man/man3/ATOMIC_VAR_INIT.3
index 41f28db..1f85d3b 100644
--- a/share/man/man3/ATOMIC_VAR_INIT.3
+++ b/share/man/man3/ATOMIC_VAR_INIT.3
@@ -274,7 +274,7 @@ When using GCC, all atomic operations are executed as if they are using
.Dv memory_order_seq_cst .
.Pp
Instead of using the atomic operations provided by this interface,
-.St -isoC-11
+.St -isoC-2011
allows the atomic variables to be modified directly using built-in
language operators.
This behaviour cannot be emulated for older compilers.
@@ -292,7 +292,7 @@ datatypes, if supported by the CPU.
.Xr atomic 9
.Sh STANDARDS
These macros attempt to conform to
-.St -isoC-11 .
+.St -isoC-2011 .
.Sh HISTORY
These macros appeared in
.Fx 10.0 .
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 4706506..d1453eb 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -10,6 +10,7 @@ MAN= assert.3 \
fpgetround.3 \
intro.3 \
makedev.3 \
+ offsetof.3 \
${PTHREAD_MAN} \
queue.3 \
siginfo.3 \
diff --git a/share/man/man3/offsetof.3 b/share/man/man3/offsetof.3
new file mode 100644
index 0000000..e63916b
--- /dev/null
+++ b/share/man/man3/offsetof.3
@@ -0,0 +1,47 @@
+.\" $OpenBSD: offsetof.3,v 1.2 2010/02/18 18:30:19 jmc Exp $
+.\"
+.\" Copyright (c) 2010 Thomas Pfaff <tpfaff@tp76.info>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 18 2010
+.Dt OFFSETOF 3
+.Os
+.Sh NAME
+.Nm offsetof
+.Nd offset of a structure member
+.Sh SYNOPSIS
+.Fd #include <stddef.h>
+.Ft size_t
+.Fn offsetof "type" "member"
+.Sh DESCRIPTION
+The
+.Fn offsetof
+macro expands to an integer constant expression of type
+.Ft size_t
+and yields the offset,
+in bytes, of the field
+.Ar member
+from the start of the structure
+.Ar type .
+.Pp
+A compiler error will result if
+.Ar member
+is not aligned to a byte boundary (i.e. it is a bit-field).
+.Sh STANDARDS
+The
+.Fn offsetof
+macro conforms to
+.St -ansiC .
diff --git a/share/man/man3/pthread_attr_affinity_np.3 b/share/man/man3/pthread_attr_affinity_np.3
index 592652b..8813f1a 100644
--- a/share/man/man3/pthread_attr_affinity_np.3
+++ b/share/man/man3/pthread_attr_affinity_np.3
@@ -119,7 +119,7 @@ or the attribute specified by it is
.It Bq Er EINVAL
The
.Fa cpusetp
-specified a CPU that was outside the set supported by the kernel.
+specified a CPU that was outside the set supported by the kernel.
.It Bq Er ERANGE
The
.Fa cpusetsize
diff --git a/share/man/man3/pthread_cond_destroy.3 b/share/man/man3/pthread_cond_destroy.3
index ca435ea..4ea7a87 100644
--- a/share/man/man3/pthread_cond_destroy.3
+++ b/share/man/man3/pthread_cond_destroy.3
@@ -44,6 +44,9 @@ The
.Fn pthread_cond_destroy
function frees the resources allocated by the condition variable
.Fa cond .
+.Sh IMPLEMENTATION NOTES
+A condition variable can be destroyed immediately after all the threads that
+are blocked on it are awakened.
.Sh RETURN VALUES
If successful, the
.Fn pthread_cond_destroy
diff --git a/share/man/man3/pthread_cond_timedwait.3 b/share/man/man3/pthread_cond_timedwait.3
index 11a3c2f..071f690 100644
--- a/share/man/man3/pthread_cond_timedwait.3
+++ b/share/man/man3/pthread_cond_timedwait.3
@@ -83,8 +83,8 @@ is invalid.
The system time has reached or exceeded the time specified in
.Fa abstime .
.It Bq Er EPERM
-The specified
-.Fa mutex
+The specified
+.Fa mutex
was not locked by the calling thread.
.El
.Sh SEE ALSO
diff --git a/share/man/man3/pthread_cond_wait.3 b/share/man/man3/pthread_cond_wait.3
index 0727603..c057098 100644
--- a/share/man/man3/pthread_cond_wait.3
+++ b/share/man/man3/pthread_cond_wait.3
@@ -72,8 +72,8 @@ or the value specified by
.Fa mutex
is invalid.
.It Bq Er EPERM
-The specified
-.Fa mutex
+The specified
+.Fa mutex
was not locked by the calling thread.
.El
.Sh SEE ALSO
diff --git a/share/man/man3/pthread_getthreadid_np.3 b/share/man/man3/pthread_getthreadid_np.3
index 271b628..bd28c6b 100644
--- a/share/man/man3/pthread_getthreadid_np.3
+++ b/share/man/man3/pthread_getthreadid_np.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 7, 2011
+.Dd February 25, 2012
.Dt PTHREAD_GETTHREADID_NP 3
.Os
.Sh NAME
@@ -42,7 +42,7 @@ The
function returns the unique integral ID of the calling thread.
Its semantics is similar to the AIX's
.Fn pthread_getthreadid_np
-functuion.
+function.
.Sh RETURN VALUES
The
.Fn pthread_getthreadid_np
diff --git a/share/man/man3/tgmath.3 b/share/man/man3/tgmath.3
index f8faf26..0feb13c 100644
--- a/share/man/man3/tgmath.3
+++ b/share/man/man3/tgmath.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 14, 2004
+.Dd January 4, 2012
.Dt TGMATH 3
.Os
.Sh NAME
@@ -116,8 +116,8 @@ complex value to a generic argument invokes undefined behaviour:
.It Fn erfc Ta Fn hypot Ta Fn lrint Ta Fn scalbln
.It Fn exp2 Ta Fn ilogb Ta Fn lround Ta Fn tgamma
.It Fn expm1 Ta Fn ldexp Ta Fn nextbyint Ta Fn trunc
-.It Fn fdim Ta Fn lgamma Ta Fn nextafter
-.It Fn floor Ta Fn llrint Ta Fn nexttoward
+.It Fn fdim Ta Fn lgamma Ta Fn nextafter Ta \&
+.It Fn floor Ta Fn llrint Ta Fn nexttoward Ta \&
.El
.Pp
The following macros always expand to a complex function:
@@ -139,15 +139,24 @@ The header
.In tgmath.h
first appeared in
.Fx 5.3 .
-.Sh BUGS
-The header
+.Sh COMPILER SUPPORT
+Before
+.St -isoC-2011 ,
+the header
.In tgmath.h
-cannot be implemented with strictly conforming C code and needs
+could not be implemented with strictly conforming C code and needed
special compiler support.
-The current implementation only works for GCC.
-.Pp
+As of
+.St -isoC-2011 ,
+this header file can be implemented using the
+.Fn _Generic
+language keyword.
+In addition to compilers that support this keyword, this header file
+works with GCC.
+.Sh BUGS
Many of the functions mentioned here are not prototyped in
.In math.h
or
.In complex.h
as they are not yet implemented.
+This prevents the corresponding type-generic macro from working at all.
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 01c75ca..dffe304 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -182,6 +182,7 @@ MAN= aac.4 \
ipsec.4 \
ipw.4 \
ipwfw.4 \
+ isci.4 \
iscsi_initiator.4 \
isp.4 \
ispfw.4 \
@@ -327,6 +328,7 @@ MAN= aac.4 \
${_nvram.4} \
${_nvram2env.4} \
${_nxge.4} \
+ oce.4 \
ohci.4 \
orm.4 \
${_padlock.4} \
@@ -412,6 +414,7 @@ MAN= aac.4 \
snd_fm801.4 \
snd_gusc.4 \
snd_hda.4 \
+ snd_hdspe.4 \
snd_ich.4 \
snd_maestro3.4 \
snd_maestro.4 \
@@ -505,11 +508,15 @@ MAN= aac.4 \
viapm.4 \
${_viawd.4} \
vinum.4 \
+ ${_virtio.4} \
+ ${_virtio_balloon.4} \
+ ${_virtio_blk.4} \
vkbd.4 \
vlan.4 \
vpo.4 \
vr.4 \
vte.4 \
+ ${_vtnet.4} \
${_vxge.4} \
watchdog.4 \
wb.4 \
@@ -527,6 +534,7 @@ MAN= aac.4 \
${_xen.4} \
xhci.4 \
xl.4 \
+ ${_xnb.4} \
xpt.4 \
zero.4 \
zyd.4
@@ -656,6 +664,7 @@ MLINKS+=vge.4 if_vge.4
MLINKS+=vlan.4 if_vlan.4
MLINKS+=vpo.4 imm.4
MLINKS+=vr.4 if_vr.4
+MLINKS+=${_vtnet.4} ${_if_vtnet.4}
MLINKS+=${_vxge.4} ${_if_vxge.4}
MLINKS+=watchdog.4 SW_WATCHDOG.4
MLINKS+=wb.4 if_wb.4
@@ -699,6 +708,7 @@ _if_nfe.4= if_nfe.4
_if_nve.4= if_nve.4
_if_nxge.4= if_nxge.4
_if_urtw.4= if_urtw.4
+_if_vtnet.4= if_vtnet.4
_if_vxge.4= if_vxge.4
_if_wpi.4= if_wpi.4
_ipmi.4= ipmi.4
@@ -711,6 +721,10 @@ _nfsmb.4= nfsmb.4
_nve.4= nve.4
_nvram.4= nvram.4
_nxge.4= nxge.4
+_virtio.4= virtio.4
+_virtio_balloon.4=virtio_balloon.4
+_virtio_blk.4= virtio_blk.4
+_vtnet.4= vtnet.4
_vxge.4= vxge.4
_padlock.4= padlock.4
_rr232x.4= rr232x.4
@@ -721,6 +735,7 @@ _urtw.4= urtw.4
_viawd.4= viawd.4
_wpi.4= wpi.4
_xen.4= xen.4
+_xnb.4= xnb.4
MLINKS+=lindev.4 full.4
.endif
diff --git a/share/man/man4/acpi.4 b/share/man/man4/acpi.4
index adaf6cb..faedb06 100644
--- a/share/man/man4/acpi.4
+++ b/share/man/man4/acpi.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 26, 2010
+.Dd March 22, 2012
.Dt ACPI 4
.Os
.Sh NAME
@@ -214,6 +214,14 @@ Override any automatic quirks completely.
Beep the PC speaker on resume.
This can help diagnose suspend/resume problems.
Default is 0 (disabled).
+.It Va debug.acpi.sleep_flags
+Execute optional ACPI methods for suspend/resume.
+If the bit 0 is set (1), it will try to execute _GTS (Going To Sleep) method
+when entering suspend state.
+If the bit 1 is set (2), it will try to execute _BFS (Back From Sleep) method
+when leaving suspend state.
+If both the bits are set (3), both the methods will be tried.
+Default is 0 (disabled).
.It Va hint.acpi.0.disabled
Set this to 1 to disable all of ACPI.
If ACPI has been disabled on your system due to a blacklist entry for your
@@ -483,6 +491,8 @@ Initialization progress
Stores to objects
.It Li ACPI_LV_INFO
General information and progress
+.It Li ACPI_LV_REPAIR
+Repair a common problem with predefined methods
.It Li ACPI_LV_ALL_EXCEPTIONS
All the previous levels
.It Li ACPI_LV_PARSE
diff --git a/share/man/man4/acpi_hp.4 b/share/man/man4/acpi_hp.4
index 031d850..dbb0ca0 100644
--- a/share/man/man4/acpi_hp.4
+++ b/share/man/man4/acpi_hp.4
@@ -93,7 +93,7 @@ WWAN on air status changed to 1 (on air)
.El
.Ss Xr devfs 8 Ss Device
You can read /dev/hpcmi to see your current BIOS settings.
-The detail level can be adjusted by setting the sysctl
+The detail level can be adjusted by setting the sysctl
.Va cmi_detail
as described below.
.Sh SYSCTL VARIABLES
@@ -101,7 +101,7 @@ The following sysctls are currently implemented:
.Ss WLAN:
.Bl -tag -width indent
.It Va dev.acpi_hp.0.wlan_enabled
-Toggle WLAN chip activity.
+Toggle WLAN chip activity.
.It Va dev.acpi_hp.0.wlan_radio
(read-only)
WLAN radio status (controlled by hardware switch)
@@ -116,7 +116,7 @@ If set to 1, the WLAN chip will be disabled if the radio is turned off
.Ss Bluetooth:
.Bl -tag -width indent
.It Va dev.acpi_hp.0.bt_enabled
-Toggle Bluetooth chip activity.
+Toggle Bluetooth chip activity.
.It Va dev.acpi_hp.0.bt_radio
(read-only)
Bluetooth radio status (controlled by hardware switch)
@@ -131,7 +131,7 @@ If set to 1, the Bluetooth chip will be disabled if the radio is turned off
.Ss WWAN:
.Bl -tag -width indent
.It Va dev.acpi_hp.0.wwan_enabled
-Toggle WWAN chip activity.
+Toggle WWAN chip activity.
.It Va dev.acpi_hp.0.wwan_radio
(read-only)
WWAN radio status (controlled by hardware switch)
@@ -229,14 +229,14 @@ Get BIOS settings:
.Bd -literal -offset indent
cat /dev/hpcmi
-Serial Port Disable
-Infrared Port Enable
-Parallel Port Disable
-Flash Media Reader Disable
-USB Ports including Express Card slot Enable
-1394 Port Enable
-Cardbus Slot Disable
-Express Card Slot Disable
+Serial Port Disable
+Infrared Port Enable
+Parallel Port Disable
+Flash Media Reader Disable
+USB Ports including Express Card slot Enable
+1394 Port Enable
+Cardbus Slot Disable
+Express Card Slot Disable
(...)
.Ed
.Pp
@@ -244,7 +244,6 @@ Set maximum detail level for /dev/hpcmi output:
.Bd -literal -offset indent
sysctl dev.acpi_hp.0.cmi_detail=7
.Ed
-.Pp
.Sh SEE ALSO
.Xr acpi 4 ,
.Xr acpi_wmi 4 ,
diff --git a/share/man/man4/acpi_panasonic.4 b/share/man/man4/acpi_panasonic.4
index 4bd7038..d02a16e 100644
--- a/share/man/man4/acpi_panasonic.4
+++ b/share/man/man4/acpi_panasonic.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 8, 2010
+.Dd February 25, 2012
.Dt ACPI_PANASONIC 4
.Os
.Sh NAME
@@ -66,7 +66,7 @@ The third and last is to provide a way to adjust LCD brightness and
sound mute state via
.Xr sysctl 8 .
.Ss Hotkeys
-There are 9 hotkeys available on the supported hardwares:
+There are 9 hotkeys available on the supported hardware:
.Pp
.Bl -tag -compact -offset indent
.It Sy Fn+F1
diff --git a/share/man/man4/acpi_wmi.4 b/share/man/man4/acpi_wmi.4
index 0825249..12ecdfa 100644
--- a/share/man/man4/acpi_wmi.4
+++ b/share/man/man4/acpi_wmi.4
@@ -47,7 +47,7 @@ acpi_wmi_load="YES"
.Sh DESCRIPTION
The
.Nm
-driver provides an interface for vendor specific WMI implementations
+driver provides an interface for vendor specific WMI implementations
(e.g. HP and Acer laptops).
It creates /dev/wmistat%d, which can be read to get
information about GUIDs found in the system.
diff --git a/share/man/man4/ada.4 b/share/man/man4/ada.4
index c807a4b..698ce36 100644
--- a/share/man/man4/ada.4
+++ b/share/man/man4/ada.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 8, 2011
+.Dd February 8, 2012
.Dt ADA 4
.Os
.Sh NAME
@@ -121,7 +121,7 @@ seconds.
.It Va kern.cam.ada.spindown_shutdown
.Pp
This variable determines whether to spin-down disks when shutting down.
-Set to 1 to enable spin-down, 0 to disable.
+Set to 1 to enable spin-down, 0 to disable.
The default is currently enabled.
.It Va kern.cam.ada.write_cache
.It Va kern.cam.ada. Ns Ar X Ns Va .write_cache
@@ -139,7 +139,6 @@ The per-device default is to leave it as-is (follow global setting).
ATA device nodes
.El
.Sh SEE ALSO
-.Xr ad 4 ,
.Xr ahci 4 ,
.Xr cam 4 ,
.Xr da 4 ,
diff --git a/share/man/man4/adv.4 b/share/man/man4/adv.4
index 76e37a7..366441d 100644
--- a/share/man/man4/adv.4
+++ b/share/man/man4/adv.4
@@ -66,26 +66,24 @@ host adapter chips.
The following tables list the AdvanSys products using these chips,
their bus attachment type, maximum sync rate, and the maximum number of
commands that can be handled by the adapter concurrently.
-.Pp
.Bd -ragged -offset indent
-.Bl -column "ABP510/5150 " "ISA PnP " "Yes " "10MHz " "Commands " Footnotes
Connectivity Products:
-.Pp
-.Em "Adapter Bus Floppy MaxSync Commands Footnotes"
-ABP510/5150 ISA No 10MHz 240 1
-ABP5140 ISA PnP No 10MHz 16 1, 3
-ABP5142 ISA PnP Yes 10MHz 16 4
-ABP[3]902 PCI No 10MHz 16
-ABP3905 PCI No 10MHz 16
-ABP915 PCI No 10MHz 16
-ABP920 PCI No 10MHz 16
-ABP3922 PCI No 10MHz 16
-ABP3925 PCI No 10MHz 16
-ABP930 PCI No 10MHz 16 5
-ABP930U PCI No 20MHz 16
-ABP930UA PCI No 20MHz 16
-ABP960 PCI No 10MHz 16
-ABP960U PCI No 20MHz 16
+.Bl -column "ABP510/5150 " "ISA PnP " "Floppy " "MaxSync " "Commands " "Footnotes "
+.Em "Adapter" Ta Em "Bus" Ta Em "Floppy" Ta Em "MaxSync" Ta Em "Commands" Ta Em "Footnotes"
+.It "ABP510/5150" Ta "ISA" Ta "\&No" Ta "10MHz" Ta "240" Ta "1"
+.It "ABP5140" Ta "ISA PnP" Ta "\&No" Ta "10MHz" Ta "16" Ta "1, 3"
+.It "ABP5142" Ta "ISA PnP" Ta "Yes" Ta "10MHz" Ta "16" Ta "4"
+.It "ABP[3]902" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP3905" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP915" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP920" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP3922" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP3925" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP930" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta "5"
+.It "ABP930U" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "16" Ta ""
+.It "ABP930UA" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "16" Ta ""
+.It "ABP960" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "16" Ta ""
+.It "ABP960U" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "16" Ta ""
.El
.Pp
Footnotes:
@@ -104,35 +102,31 @@ This board has been sold by SIIG as the i542 SpeedMaster.
This board has been sold by SIIG as the Fast SCSI Pro PCI.
.El
.Ed
-.Pp
.Bd -ragged -offset indent
-.Bl -column "ABP510/5150 " "ISA PnP " "Yes " "10MHz " Commands
Single Channel Products:
-.Pp
-.Em "Adapter Bus Floppy MaxSync Commands"
-ABP542 ISA Yes 10MHz 240
-ABP742 EISA Yes 10MHz 240
-ABP842 VL Yes 10MHz 240
-ABP940 PCI No 10MHz 240
-ABP[3]940UA PCI No 20MHz 240
-ABP940U PCI No 20MHz 240
-ABP3960UA PCI No 20MHz 240
-ABP970 PCI No 10MHz 240
-ABP970U PCI No 20MHz 240
+.Bl -column "ABPX3X940UA " "EISA " "Floppy " "MaxSync " "Commands"
+.Em "Adapter" Ta Em "Bus" Ta Em "Floppy" Ta Em "MaxSync" Ta Em "Commands"
+.It "ABP542" Ta "ISA" Ta "Yes" Ta "10MHz" Ta "240"
+.It "ABP742" Ta "EISA" Ta "Yes" Ta "10MHz" Ta "240"
+.It "ABP842" Ta "VL" Ta "Yes" Ta "10MHz" Ta "240"
+.It "ABP940" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "240"
+.It "ABP[3]940UA" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "240"
+.It "ABP940U" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "240"
+.It "ABP3960UA" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "240"
+.It "ABP970" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "240"
+.It "ABP970U" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "240"
.El
.Ed
-.Pp
.Bd -ragged -offset indent
-.Bl -column "ABP510/5150 " "ISA PnP " "Yes " "10MHz " "Commands " "Channels "
Multi Channel Products (Commands are per-channel):
-.Pp
-.Em "Adapter Bus Floppy MaxSync Commands Channels"
-ABP752 EISA Yes 10MHz 240 2
-ABP852 VL Yes 10MHz 240 2
-ABP950 PCI No 10MHz 240 2
-ABP980 PCI No 10MHz 240 4
-ABP980U PCI No 20MHz 240 4
-ABP[3]980UA PCI No 20MHz 16 4
+.Bl -column "ABPX3X980UA " "EISA " "Floppy " "MaxSync " "Commands " "Channels"
+.Em "Adapter" Ta Em "Bus" Ta Em "Floppy" Ta Em "MaxSync" Ta Em "Commands" Ta Em "Channels"
+.It "ABP752" Ta "EISA" Ta "Yes" Ta "10MHz" Ta "240" Ta "2"
+.It "ABP852" Ta "VL" Ta "Yes" Ta "10MHz" Ta "240" Ta "2"
+.It "ABP950" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "240" Ta "2"
+.It "ABP980" Ta "PCI" Ta "\&No" Ta "10MHz" Ta "240" Ta "4"
+.It "ABP980U" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "240" Ta "4"
+.It "ABP[3]980UA" Ta "PCI" Ta "\&No" Ta "20MHz" Ta "16" Ta "4"
.El
.Ed
.Pp
diff --git a/share/man/man4/agp.4 b/share/man/man4/agp.4
index 06bee73..8af97d6 100644
--- a/share/man/man4/agp.4
+++ b/share/man/man4/agp.4
@@ -80,8 +80,8 @@ The result is a pointer to the following structure:
.Bd -literal
typedef struct _agp_info {
agp_version version; /* version of the driver */
- u_int32_t bridge_id; /* bridge vendor/device */
- u_int32_t agp_mode; /* mode info of bridge */
+ uint32_t bridge_id; /* bridge vendor/device */
+ uint32_t agp_mode; /* mode info of bridge */
off_t aper_base; /* base of aperture */
size_t aper_size; /* size of aperture */
size_t pg_total; /* max pages (swap + system) */
@@ -105,7 +105,7 @@ This
takes the following structure:
.Bd -literal
typedef struct _agp_setup {
- u_int32_t agp_mode; /* mode info of bridge */
+ uint32_t agp_mode; /* mode info of bridge */
} agp_setup;
.Ed
.Pp
@@ -120,8 +120,8 @@ takes the following structure:
typedef struct _agp_allocate {
int key; /* tag of allocation */
size_t pg_count; /* number of pages */
- u_int32_t type; /* 0 == normal, other devspec */
- u_int32_t physical; /* device specific (some devices
+ uint32_t type; /* 0 == normal, other devspec */
+ uint32_t physical; /* device specific (some devices
* need a phys address of the
* actual page behind the gatt
* table) */
@@ -159,7 +159,7 @@ takes the following structure:
.Bd -literal
typedef struct _agp_unbind {
int key; /* tag of allocation */
- u_int32_t priority; /* priority for paging out */
+ uint32_t priority; /* priority for paging out */
} agp_unbind;
.Ed
.El
diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4
index 6bdbb56..3e47a8b 100644
--- a/share/man/man4/ahc.4
+++ b/share/man/man4/ahc.4
@@ -146,23 +146,22 @@ driver.
Note that wide and twin channel features, although always supported
by a particular chip, may be disabled in a particular motherboard or card
design.
-.Pp
.Bd -ragged -offset indent
-.Bl -column "aic7770 " "10 " "EISA/VL " "10MHz " "16bit " "SCBs " Features
-.Em "Chip MIPS Bus MaxSync MaxWidth SCBs Features"
-aic7770 10 EISA/VL 10MHz 16Bit 4 1
-aic7850 10 PCI/32 10MHz 8Bit 3
-aic7860 10 PCI/32 20MHz 8Bit 3
-aic7870 10 PCI/32 10MHz 16Bit 16
-aic7880 10 PCI/32 20MHz 16Bit 16
-aic7890 20 PCI/32 40MHz 16Bit 16 3 4 5 6 7 8
-aic7891 20 PCI/64 40MHz 16Bit 16 3 4 5 6 7 8
-aic7892 20 PCI/64 80MHz 16Bit 16 3 4 5 6 7 8
-aic7895 15 PCI/32 20MHz 16Bit 16 2 3 4 5
-aic7895C 15 PCI/32 20MHz 16Bit 16 2 3 4 5 8
-aic7896 20 PCI/32 40MHz 16Bit 16 2 3 4 5 6 7 8
-aic7897 20 PCI/64 40MHz 16Bit 16 2 3 4 5 6 7 8
-aic7899 20 PCI/64 80MHz 16Bit 16 2 3 4 5 6 7 8
+.Bl -column "aic7895CX" "MIPSX" "EISA/VLX" "MaxSyncX" "MaxWidthX" "SCBsX" "2 3 4 5 6 7 8X"
+.It Em "Chip" Ta "MIPS" Ta "Bus" Ta "MaxSync" Ta "MaxWidth" Ta "SCBs" Ta "Features"
+.It "aic7770" Ta "10" Ta "EISA/VL" Ta "10MHz" Ta "16Bit" Ta "4" Ta "1"
+.It "aic7850" Ta "10" Ta "PCI/32" Ta "10MHz" Ta "8Bit" Ta "3" Ta ""
+.It "aic7860" Ta "10" Ta "PCI/32" Ta "20MHz" Ta "8Bit" Ta "3" Ta ""
+.It "aic7870" Ta "10" Ta "PCI/32" Ta "10MHz" Ta "16Bit" Ta "16" Ta ""
+.It "aic7880" Ta "10" Ta "PCI/32" Ta "20MHz" Ta "16Bit" Ta "16" Ta ""
+.It "aic7890" Ta "20" Ta "PCI/32" Ta "40MHz" Ta "16Bit" Ta "16" Ta "3 4 5 6 7 8"
+.It "aic7891" Ta "20" Ta "PCI/64" Ta "40MHz" Ta "16Bit" Ta "16" Ta "3 4 5 6 7 8"
+.It "aic7892" Ta "20" Ta "PCI/64" Ta "80MHz" Ta "16Bit" Ta "16" Ta "3 4 5 6 7 8"
+.It "aic7895" Ta "15" Ta "PCI/32" Ta "20MHz" Ta "16Bit" Ta "16" Ta "2 3 4 5"
+.It "aic7895C" Ta "15" Ta "PCI/32" Ta "20MHz" Ta "16Bit" Ta "16" Ta "2 3 4 5 8"
+.It "aic7896" Ta "20" Ta "PCI/32" Ta "40MHz" Ta "16Bit" Ta "16" Ta "2 3 4 5 6 7 8"
+.It "aic7897" Ta "20" Ta "PCI/64" Ta "40MHz" Ta "16Bit" Ta "16" Ta "2 3 4 5 6 7 8"
+.It "aic7899" Ta "20" Ta "PCI/64" Ta "80MHz" Ta "16Bit" Ta "16" Ta "2 3 4 5 6 7 8"
.El
.Pp
.Bl -enum -compact
diff --git a/share/man/man4/ahci.4 b/share/man/man4/ahci.4
index 29abd8c..622875c 100644
--- a/share/man/man4/ahci.4
+++ b/share/man/man4/ahci.4
@@ -146,7 +146,7 @@ subclass 6 (SATA) and programming interface 1 (AHCI).
.Pp
Also, in cooperation with atamarvell and atajmicron drivers of ata(4),
it supports AHCI part of legacy-PATA + AHCI-SATA combined controllers,
-such as JMicron JMB36x and Marvell 88SX61xx.
+such as JMicron JMB36x and Marvell 88SE61xx.
.Sh FILES
.Bl -tag -width /dev/led/ahcich*.locate
.It Pa /dev/led/ahcich*.act
diff --git a/share/man/man4/aibs.4 b/share/man/man4/aibs.4
index b865ec8..b955f0f 100644
--- a/share/man/man4/aibs.4
+++ b/share/man/man4/aibs.4
@@ -90,15 +90,15 @@ dev.aibs.0.fan.0: 878 600 7200
dev.aibs.0.fan.1: 0 700 7200
.Pp
> sysctl -d dev.aibs.0.{volt,temp,fan}
-dev.aibs.0.volt:
+dev.aibs.0.volt:
dev.aibs.0.volt.0: Vcore Voltage
dev.aibs.0.volt.1: +3.3 Voltage
dev.aibs.0.volt.2: +5 Voltage
dev.aibs.0.volt.3: +12 Voltage
-dev.aibs.0.temp:
+dev.aibs.0.temp:
dev.aibs.0.temp.0: CPU Temperature
dev.aibs.0.temp.1: MB Temperature
-dev.aibs.0.fan:
+dev.aibs.0.fan:
dev.aibs.0.fan.0: CPU FAN Speed
dev.aibs.0.fan.1: CHASSIS FAN Speed
.Ed
diff --git a/share/man/man4/amdsmb.4 b/share/man/man4/amdsmb.4
index eb02543..c038584 100644
--- a/share/man/man4/amdsmb.4
+++ b/share/man/man4/amdsmb.4
@@ -33,7 +33,7 @@
.Sh SYNOPSIS
.Cd "device smbus"
.Cd "device smb"
-.Cd "device amdsmb
+.Cd "device amdsmb"
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/amdtemp.4 b/share/man/man4/amdtemp.4
index bd8cc37..52444f5 100644
--- a/share/man/man4/amdtemp.4
+++ b/share/man/man4/amdtemp.4
@@ -25,12 +25,14 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 8, 2008
+.Dd February 23, 2012
.Dt AMDTEMP 4
.Os
.Sh NAME
.Nm amdtemp
-.Nd device driver for AMD K8, K10 and K11 on-die digital thermal sensor
+.Nd device driver for
+.Tn AMD
+processor on-die digital thermal sensor
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following line in your
@@ -49,22 +51,39 @@ amdtemp_load="YES"
The
.Nm
driver provides support for the on-die digital thermal sensor present
-in AMD K8, K10 and K11 processors.
+in
+.Tn AMD
+Family 0Fh, 10h, 11h, 12h, 14h, and 15h processors.
.Pp
-For the K8 family, the
+For Family 0Fh processors, the
.Nm
-driver reports each core's temperature through a sysctl node in the
-corresponding CPU devices's sysctl tree, named
-.Va dev.amdtemp.%d.sensor{0,1}.core{0,1} .
+driver reports each core's temperature through sysctl nodes, named
+.Va dev.amdtemp.%d.core{0,1}.sensor{0,1} .
The driver also creates
.Va dev.cpu.%d.temperature
-displaying the maximum temperature of the two sensors
-located in each CPU core.
+in the corresponding CPU device's sysctl tree, displaying the maximum
+temperature of the two sensors located in each CPU core.
.Pp
-For the K10 and K11 families, the driver creates
+For Family 10h, 11h, 12h, 14h, and 15h processors, the driver reports each
+package's temperature through a sysctl node, named
+.Va dev.amdtemp.%d.core0.sensor0 .
+The driver also creates
.Va dev.cpu.%d.temperature
-with the temperature of each core.
+in the corresponding CPU device's sysctl tree, displaying the temperature
+of the shared sensor located in each CPU package.
+.Sh SYSCTL VARIABLES
+The following variable is available as both
+.Xr sysctl 8
+variable and
+.Xr loader 8
+tunable:
+.Bl -tag -width indent
+.It Va dev.amdtemp.%d.sensor_offset
+.El
+Add the given offset to the temperature of the sensor.
+Default is 0.
.Sh SEE ALSO
+.Xr loader 8 ,
.Xr sysctl 8
.Sh HISTORY
The
@@ -74,6 +93,19 @@ driver first appeared in
.Sh AUTHORS
.An Rui Paulo Aq rpaulo@FreeBSD.org
.An Norikatsu Shigemura Aq nork@FreeBSD.org
-.Sh BUGS
-AMD K9 is not supported because temperature reporting has been replaced
-by Maltese.
+.An Jung-uk Kim Aq jkim@FreeBSD.org
+.Sh CAVEATS
+For Family 10h and later processors,
+.Do
+(the reported temperature) is a non-physical temperature measured on
+an arbitrary scale and it does not represent an actual physical
+temperature like die or case temperature.
+Instead, it specifies the processor temperature relative to the point
+at which the system must supply the maximum cooling for the processor's
+specified maximum case temperature and maximum thermal power dissipation
+.Dc
+according to
+.Rs
+.%T BIOS and Kernel Developer's Guide (BKDG) for AMD Processors
+.%U http://developer.amd.com/documentation/guides/Pages/default.aspx
+.Re
diff --git a/share/man/man4/apic.4 b/share/man/man4/apic.4
index 224e4f6..0856232 100644
--- a/share/man/man4/apic.4
+++ b/share/man/man4/apic.4
@@ -61,7 +61,7 @@ In addition, they are able to accept and generate inter-processor interrupts
I/O APICs contain a redirection table, which is used to route the interrupts
they receive from peripheral buses to one or more local APICs.
.Pp
-Each local APIC includes one 32-bit programable timer.
+Each local APIC includes one 32-bit programmable timer.
This driver uses them to supply kernel with one event timer named "LAPIC".
Event timer provided by the driver supports both one-shot an periodic modes.
Because of local APIC nature it is per-CPU.
diff --git a/share/man/man4/ata.4 b/share/man/man4/ata.4
index 633d1ed..d2ac57a 100644
--- a/share/man/man4/ata.4
+++ b/share/man/man4/ata.4
@@ -193,8 +193,8 @@ IT8211F, IT8212F, IT8213F.
.It JMicron:
JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
.It Marvell
-88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SX6101,
-88SX6102, 88SX6111, 88SX6121, 88SX6141, 88SX6145, 88SX7042.
+88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SE6101,
+88SE6102, 88SE6111, 88SE6121, 88SE6141, 88SE6145, 88SX7042.
.It National:
SC1100.
.It NetCell:
diff --git a/share/man/man4/ath.4 b/share/man/man4/ath.4
index b36bc90..e145853 100644
--- a/share/man/man4/ath.4
+++ b/share/man/man4/ath.4
@@ -95,8 +95,8 @@ with transmit speeds appropriate to each.
AR5416-class devices are capable of 802.11n operation
but are supported only in legacy modes (802.11a, 11b, 11g).
Most chips also support an Atheros Turbo Mode (TM) that operates in
-the 5Ghz frequency range with 2x the transmit speeds.
-Some chips also support Turbo mode in the 2.4Ghz range with 802.11g
+the 5GHz frequency range with 2x the transmit speeds.
+Some chips also support Turbo mode in the 2.4GHz range with 802.11g
though this support is not presently available due to regulatory requirements.
(Note that Turbo modes are, however,
only interoperable with other Atheros-based devices.)
@@ -129,14 +129,14 @@ use on cards that use a 5212 part.
When multiple interfaces are configured each may have a separate
mac address that is formed by setting the U/L bits in the mac
address assigned to the underlying device.
-Any number of
+Any number of
.Cm wds
virtual interfaces may be configured together with
.Cm hostap
interfaces.
Multiple
.Cm station
-interfaces may be operated together with
+interfaces may be operated together with
.Cm hostap
interfaces to construct a wireless repeater device.
The driver also support
@@ -191,7 +191,7 @@ the fxp0 (wired) device:
.Bd -literal -offset indent
ifconfig wlan0 create wlandev ath0 wlanmode hostap \e
ssid paying-customers wepmode on wepkey 0x1234567890 \e
- mode 11a up
+ mode 11a up
ifconfig wlan1 create wlandev ath0 wlanmode hostap bssid \e
ssid freeloaders up
ifconfig bridge0 create addm wlan0 addm wlan1 addm fxp0 up
@@ -202,7 +202,7 @@ Create a master node in a two slot TDMA BSS configured to use
.Bd -literal -offset indent
ifconfig wlan0 create wlandev ath0 wlanmode tdma \e
ssid tdma-test tmdaslot 0 tdmaslotlen 2500 \e
- channel 36 up
+ channel 36 up
.Ed
.Sh DIAGNOSTICS
.Bl -diag
diff --git a/share/man/man4/atkbd.4 b/share/man/man4/atkbd.4
index 73831c2..17ccef5 100644
--- a/share/man/man4/atkbd.4
+++ b/share/man/man4/atkbd.4
@@ -144,7 +144,6 @@ command.
This option will disable this feature and prevent the user from
changing key assignment.
.El
-.Pp
.Ss Driver Flags
The
.Nm
diff --git a/share/man/man4/atp.4 b/share/man/man4/atp.4
index 6700802..ed7b4d3 100644
--- a/share/man/man4/atp.4
+++ b/share/man/man4/atp.4
@@ -98,7 +98,7 @@ Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b)
.El
.Pp
To discover the product\-id of a touchpad, search for 'Trackpad' in the
-output of
+output of
.Xr lshal 1
and look up the property
.Nm usb_device.product_id .
@@ -108,7 +108,7 @@ creates a blocking pseudo\-device file,
.Pa /dev/atp0 ,
which presents the mouse as a
.Ar sysmouse
-or
+or
.Ar mousesystems
type device\-\-see
.Xr moused 8
@@ -117,7 +117,7 @@ types.
.Xr moused 8
can be configured to read touchpad data from
.Pa /dev/atp0
-and pass it along to the
+and pass it along to the
.Xr sysmouse 4
driver so that any process wanting to utilize mouse operation (such as
an X server) may fetch it from
diff --git a/share/man/man4/bce.4 b/share/man/man4/bce.4
index 0bca57b..090c477 100644
--- a/share/man/man4/bce.4
+++ b/share/man/man4/bce.4
@@ -251,7 +251,7 @@ status block.
.It "bce%d: Could not allocate status block DMA memory!"
The driver could not allocate DMA addressable memory for the controller's
status block.
-.It "bce_d: Could not map status block DMA memory!"
+.It "bce%d: Could not map status block DMA memory!"
The driver could not map the status block memory into the controller's DMA
address space.
.It "bce%d: Could not allocate statistics block DMA tag!"
@@ -266,7 +266,7 @@ address space.
.It "bce%d: Could not allocate TX descriptor chain DMA tag!"
The driver could not allocate a DMA tag for the controller's
TX chain.
-.It "bce%d: Could not allocate TX descriptor chain DMA memory!
+.It "bce%d: Could not allocate TX descriptor chain DMA memory!"
The driver could not allocate DMA addressable memory for the controller's
TX chain.
.It "bce%d: Could not map TX descriptor chain DMA memory!"
diff --git a/share/man/man4/bge.4 b/share/man/man4/bge.4
index 13a4aa6..dc31ff6 100644
--- a/share/man/man4/bge.4
+++ b/share/man/man4/bge.4
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 2, 2011
+.Dd January 19, 2012
.Dt BGE 4
.Os
.Sh NAME
@@ -188,7 +188,7 @@ SysKonnect SK-9D21 (10/100/1000baseTX)
SysKonnect SK-9D41 (1000baseSX)
.El
.Sh LOADER TUNABLES
-The following tunable can be set at the
+The following tunables can be set at the
.Xr loader 8
prompt before booting the kernel, or stored in
.Xr loader.conf 5 .
@@ -197,6 +197,9 @@ prompt before booting the kernel, or stored in
Allow the ASF feature for cooperating with IPMI.
Can cause system lockup problems on a small number of systems.
Enabled by default.
+.It Va dev.bge.%d.msi
+Non-zero value enables MSI support on the Ethernet hardware.
+The default value is 1.
.El
.Sh SYSCTL VARIABLES
The following variables are available as both
diff --git a/share/man/man4/bpf.4 b/share/man/man4/bpf.4
index e69456a..a317920 100644
--- a/share/man/man4/bpf.4
+++ b/share/man/man4/bpf.4
@@ -952,10 +952,33 @@ array initializers:
.Fn BPF_STMT opcode operand
and
.Fn BPF_JUMP opcode operand true_offset false_offset .
-.Sh FILES
-.Bl -tag -compact -width /dev/bpf
-.It Pa /dev/bpf
-the packet filter device
+.Sh SYSCTL VARIABLES
+A set of
+.Xr sysctl 8
+variables controls the behaviour of the
+.Nm
+subsystem
+.Bl -tag -width indent
+.It Va net.bpf.optimize_writers: No 0
+Various programs use BPF to send (but not receive) raw packets
+(cdpd, lldpd, dhcpd, dhcp relays, etc. are good examples of such programs).
+They do not need incoming packets to be send to them. Turning this option on
+makes new BPF users to be attached to write-only interface list until program
+explicitly specifies read filter via
+.Cm pcap_set_filter() .
+This removes any performance degradation for high-speed interfaces.
+.It Va net.bpf.stats:
+Binary interface for retrieving general statistics.
+.It Va net.bpf.zerocopy_enable: No 0
+Permits zero-copy to be used with net BPF readers. Use with caution.
+.It Va net.bpf.maxinsns: No 512
+Maximum number of instructions that BPF program can contain. Use
+.Xr tcpdump 1
+-d option to determine approximate number of instruction for any filter.
+.It Va net.bpf.maxbufsize: No 524288
+Maximum buffer size to allocate for packets buffer.
+.It Va net.bpf.bufsize: No 4096
+Default buffer size to allocate for packets buffer.
.El
.Sh EXAMPLES
The following filter is taken from the Reverse ARP Daemon.
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
index 9bb8539..09e1dad 100644
--- a/share/man/man4/bridge.4
+++ b/share/man/man4/bridge.4
@@ -167,7 +167,6 @@ by enabling the
.Va net.link.bridge.log_stp
variable using
.Xr sysctl 8 .
-.Pp
.Sh PACKET FILTERING
Packet filtering can be used with any firewall package that hooks in via the
.Xr pfil 9
diff --git a/share/man/man4/bt.4 b/share/man/man4/bt.4
index c4c20e1..6a09bef 100644
--- a/share/man/man4/bt.4
+++ b/share/man/man4/bt.4
@@ -51,48 +51,47 @@ This driver provides access to the
.Tn SCSI
bus connected to a Buslogic/Mylex MultiMaster or compatible controller:
.Bd -ragged -offset indent
-.Bl -column "BT-956CD " "ISA " "Commands " Description
MultiMaster "W" Series Host Adapters:
-.Pp
-.Em "Adapter Bus Commands Description"
-BT-948 PCI 192 Ultra SCSI-3
-BT-958 PCI 192 Wide Ultra SCSI-3
-BT-958D PCI 192 Wide Differential Ultra SCSI-3
+.Bl -column "BT-956CD " "ISA " "Commands " "Description"
+.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description"
+BT-948 PCI 192 Ultra SCSI-3
+BT-958 PCI 192 Wide Ultra SCSI-3
+BT-958D PCI 192 Wide Differential Ultra SCSI-3
.El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
-MultiMaster "C" Series Host Adapters:
.Pp
-.Em "Adapter Bus Commands Description"
-BT-946C PCI 100 Fast SCSI-2
-BT-956C PCI 100 Wide Fast SCSI-2
-BT-956CD PCI 100 Wide Differential Fast SCSI-2
-BT-445C VLB 100 Fast SCSI-2
-BT-747C EISA 100 Fast SCSI-2
-BT-757C EISA 100 Wide Fast SCSI-2
-BT-757CD EISA 100 Wide Differential Fast SCSI-2
-BT-545C ISA 50 Fast SCSI-2
-BT-540CF ISA 50 Fast SCSI-2
+MultiMaster "C" Series Host Adapters:
+.Bl -column "BT-956CD " "ISA " "Commands " "Description"
+.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description"
+BT-946C PCI 100 Fast SCSI-2
+BT-956C PCI 100 Wide Fast SCSI-2
+BT-956CD PCI 100 Wide Differential Fast SCSI-2
+BT-445C VLB 100 Fast SCSI-2
+BT-747C EISA 100 Fast SCSI-2
+BT-757C EISA 100 Wide Fast SCSI-2
+BT-757CD EISA 100 Wide Differential Fast SCSI-2
+BT-545C ISA 50 Fast SCSI-2
+BT-540CF ISA 50 Fast SCSI-2
.El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
-MultiMaster "S" Series Host Adapters:
.Pp
-.Em "Adapter Bus Commands Description"
-BT-445S VLB 30 Fast SCSI-2
-BT-747S EISA 30 Fast SCSI-2
-BT-747D EISA 30 Differential Fast SCSI-2
-BT-757S EISA 30 Wide Fast SCSI-2
-BT-757D EISA 30 Wide Differential Fast SCSI-2
-BT-545S ISA 30 Fast SCSI-2
-BT-542D ISA 30 Differential Fast SCSI-2
-BT-742A EISA 30 SCSI-2 (742A revision H)
-BT-542B ISA 30 SCSI-2 (542B revision H)
+MultiMaster "S" Series Host Adapters:
+.Bl -column "BT-956CD " "ISA " "Commands " "Description"
+.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description"
+BT-445S VLB 30 Fast SCSI-2
+BT-747S EISA 30 Fast SCSI-2
+BT-747D EISA 30 Differential Fast SCSI-2
+BT-757S EISA 30 Wide Fast SCSI-2
+BT-757D EISA 30 Wide Differential Fast SCSI-2
+BT-545S ISA 30 Fast SCSI-2
+BT-542D ISA 30 Differential Fast SCSI-2
+BT-742A EISA 30 SCSI-2 (742A revision H)
+BT-542B ISA 30 SCSI-2 (542B revision H)
.El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
-MultiMaster "A" Series Host Adapters:
.Pp
-.Em "Adapter Bus Commands Description"
-BT-742A EISA 30 SCSI-2 (742A revisions A - G)
-BT-542B ISA 30 SCSI-2 (542B revisions A - G)
+MultiMaster "A" Series Host Adapters:
+.Bl -column "BT-956CD " "ISA " "Commands " "Description"
+.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description"
+BT-742A EISA 30 SCSI-2 (742A revisions A - G)
+BT-542B ISA 30 SCSI-2 (542B revisions A - G)
.El
.Ed
.Pp
diff --git a/share/man/man4/bwi.4 b/share/man/man4/bwi.4
index a9044e6..fe1ea65 100644
--- a/share/man/man4/bwi.4
+++ b/share/man/man4/bwi.4
@@ -72,16 +72,15 @@ will work.
The
.Nm
driver supports Broadcom BCM43xx based wireless devices, including:
-.Pp
-.Bl -column -compact "Apple Airport Extreme" "BCM4306" "Mini PCI" "a/b/g" -offset 6n
-.It Em "Card Chip Bus Standard"
+.Bl -column "Apple Airport Extreme" "BCM4306" "Mini PCI" "a/b/g" -offset 6n
+.It Em "Card" Ta Em "Chip" Ta Em "Bus" Ta Em "Standard"
.It "Apple Airport Extreme BCM4306 PCI b/g"
.It "Apple Airport Extreme BCM4318 PCI b/g"
.It "ASUS WL-138g BCM4318 PCI b/g"
.It "Buffalo WLI-CB-G54S BCM4318 CardBus b/g"
.It "Buffalo WLI-PCI-G54S BCM4306 PCI b/g"
.It "Compaq R4035 onboard BCM4306 PCI b/g"
-.It "Dell Wireless 1390 BCM4311 Mini PCI b/g"
+.It "Dell Wireless 1390 BCM4311 Mini PCI b/g"
.It "Dell Wireless 1470 BCM4318 Mini PCI b/g"
.It "Dell Truemobile 1300 r2 BCM4306 Mini PCI b/g"
.It "Dell Truemobile 1400 BCM4309 Mini PCI b/g"
diff --git a/share/man/man4/bwn.4 b/share/man/man4/bwn.4
index a2ff5c4..4aa75fd 100644
--- a/share/man/man4/bwn.4
+++ b/share/man/man4/bwn.4
@@ -75,13 +75,12 @@ LP (low power) PHY user please uses bwn_v4_lp_ucode module.
The
.Nm
driver supports Broadcom BCM43xx based wireless devices, including:
-.Pp
-.Bl -column -compact "Apple Airport Extreme" "BCM4306" "Mini PCI" "a/b/g" -offset 6n
-.It Em "Card Chip Bus Standard"
+.Bl -column "Apple Airport Extreme" "BCM4306" "Mini PCI" "a/b/g"
+.It Em "Card" Ta Em "Chip" Ta Em "Bus" Ta Em "Standard"
.It "Apple Airport Extreme BCM4318 PCI b/g"
.It "ASUS WL-138g BCM4318 PCI b/g"
.It "Buffalo WLI-CB-G54S BCM4318 CardBus b/g"
-.It "Dell Wireless 1390 BCM4311 Mini PCI b/g"
+.It "Dell Wireless 1390 BCM4311 Mini PCI b/g"
.It "Dell Wireless 1470 BCM4318 Mini PCI b/g"
.It "Dell Truemobile 1400 BCM4309 Mini PCI b/g"
.It "HP Compaq 6715b BCM4312 PCI b/g"
diff --git a/share/man/man4/carp.4 b/share/man/man4/carp.4
index 1b59e72..a734824 100644
--- a/share/man/man4/carp.4
+++ b/share/man/man4/carp.4
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 20, 2011
+.Dd April 22, 2012
.Dt CARP 4
.Os
.Sh NAME
@@ -99,24 +99,14 @@ packets.
Enabled by default.
.It Va net.inet.carp.preempt
Allow virtual hosts to preempt each other.
-It is also used to failover
-.Nm
-interfaces as a group.
-When the option is enabled and one of the
-.Nm
-enabled physical interfaces
-goes down,
-.Cm advskew
-is changed to 240 on all
-.Nm
-interfaces.
-See also the first example.
+When enabled, a vhid in a backup state would preempt a master that
+is announcing itself with a lower advskew.
Disabled by default.
.It Va net.inet.carp.log
Value of 0 disables any logging.
Value of 1 enables logging state changes of
.Nm
-interfaces.
+vhids.
Values above 1 enable logging of bad
.Nm
packets.
@@ -193,18 +183,18 @@ This can be accomplished by using
hooks.
Master/slave events are signalled under system
.Dv CARP .
-Subsystem specifies vhid and name of interface, where event occured.
+Subsystem specifies vhid and name of interface, where event occurred.
Type of the message displays new state of vhid.
Please see
.Xr devd.conf 5
-and
+and
.Sx EXAMPLES
section for more information.
.Sh EXAMPLES
For firewalls and routers with multiple interfaces, it is desirable to
-failover all of the
+failover all of the addresses running
.Nm
-interfaces together, when one of the physical interfaces goes down.
+together, when one of the physical interfaces goes down.
This is achieved by the preempt option.
Enable it on both host A and B:
.Pp
@@ -225,14 +215,13 @@ ifconfig em0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.1/24
ifconfig em1 vhid 2 advskew 100 pass mekmitasdigoat 192.168.2.1/24
.Ed
.Pp
-Because of the preempt option, when one of the physical interfaces of
-host A fails,
+When one of the physical interfaces of host A fails,
.Cm advskew
-is adjusted to 240 on all its
+is demoted to a configured value on all its
.Nm
-interfaces.
-This will cause host B to preempt on both interfaces instead of
-just the failed one.
+vhids.
+Due to the preempt option, host B would start announcing itself, and thus
+preempt host A on both interfaces instead of just the failed one.
.\".Pp
.\"In order to set up an ARP balanced virtual host, it is necessary to configure
.\"one virtual host for each physical host which would respond to ARP requests
@@ -306,7 +295,7 @@ The
device was imported into
.Fx 5.4 .
In
-.Fx 10
+.Fx 10.0
the
.Nm
was significantly rewritten, and is no longer a pseudo-interface.
diff --git a/share/man/man4/cas.4 b/share/man/man4/cas.4
index cc050c9..0c0f5d7 100644
--- a/share/man/man4/cas.4
+++ b/share/man/man4/cas.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 3, 2010
+.Dd March 24, 2012
.Dt CAS 4
.Os
.Sh NAME
@@ -70,7 +70,6 @@ Selecting an MTU larger than 1500 bytes with the
.Xr ifconfig 8
utility configures the adapter to receive and transmit Jumbo Frames.
.Sh HARDWARE
-.Pp
The chips supported by the
.Nm
driver are:
@@ -102,6 +101,9 @@ Sun GigaSwift Ethernet UTP (GCS)
.It
Sun Quad GigaSwift Ethernet UTP (QGE)
(part no.\& 501-6522)
+.It
+Sun Quad GigaSwift Ethernet PCI-X (QGE-X)
+(part no.\& 501-6738)
.El
.Sh NOTES
On sparc64 the
diff --git a/share/man/man4/cc_vegas.4 b/share/man/man4/cc_vegas.4
index 13a3fe0..a7397d5 100644
--- a/share/man/man4/cc_vegas.4
+++ b/share/man/man4/cc_vegas.4
@@ -39,7 +39,6 @@
The Vegas congestion control algorithm uses what the authors term the actual and
expected transmission rates to determine whether there is congestion along the
network path i.e.
-.Pp
.Bl -item -offset indent
.It
actual rate = (total data sent in a RTT) / RTT
@@ -54,7 +53,6 @@ smallest round trip time observed during the connection.
.Pp
The algorithm aims to keep diff between two parameters alpha and beta, such
that:
-.Pp
.Bl -item -offset indent
.It
alpha < diff < beta
diff --git a/share/man/man4/cd.4 b/share/man/man4/cd.4
index 83b9f3b..5c67b0c 100644
--- a/share/man/man4/cd.4
+++ b/share/man/man4/cd.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 8, 2009
+.Dd February 8, 2012
.Dt CD 4
.Os
.Sh NAME
@@ -34,7 +34,7 @@
.Sh SYNOPSIS
.Cd device cd
.Cd "options ""CHANGER_MIN_BUSY_SECONDS=3"""
-.Cd "options ""CHANGER_MAX_BUSY_SECONDS=11""
+.Cd "options ""CHANGER_MAX_BUSY_SECONDS=11"""
.Sh DESCRIPTION
The
.Nm
@@ -52,7 +52,7 @@ but it will only last until the
.Tn CD-ROM
is unmounted.
In general the interfaces are similar to those described by
-.Xr ad 4
+.Xr ada 4
and
.Xr da 4 .
.Pp
diff --git a/share/man/man4/ciss.4 b/share/man/man4/ciss.4
index f975707..277847b 100644
--- a/share/man/man4/ciss.4
+++ b/share/man/man4/ciss.4
@@ -2,7 +2,7 @@
.\" Written by Tom Rhodes
.\" This file is in the public domain.
.\"
-.Dd November 3, 2005
+.Dd January 26, 2012
.Dt CISS 4
.Os
.Sh NAME
@@ -121,6 +121,10 @@ HP Smart Array E200i
.It
HP Smart Array P212
.It
+HP Smart Array P220i
+.It
+HP Smart Array P222
+.It
HP Smart Array P400
.It
HP Smart Array P400i
@@ -131,8 +135,16 @@ HP Smart Array P410i
.It
HP Smart Array P411
.It
+HP Smart Array P420
+.It
+HP Smart Array P420i
+.It
+HP Smart Array P421
+.It
HP Smart Array P600
.It
+HP Smart Array P721m
+.It
HP Smart Array P800
.It
HP Smart Array P812
diff --git a/share/man/man4/coda.4 b/share/man/man4/coda.4
index 94b12ae..e1799ef 100644
--- a/share/man/man4/coda.4
+++ b/share/man/man4/coda.4
@@ -28,7 +28,7 @@
.Dt CODA 4
.Os
.Sh NAME
-.Nm coda
+.Nm coda
.Nd Coda Distributed File System
.Sh SYNOPSIS
To compile this driver into the kernel,
diff --git a/share/man/man4/cxgbe.4 b/share/man/man4/cxgbe.4
index 4bf5ac3..88d42e3 100644
--- a/share/man/man4/cxgbe.4
+++ b/share/man/man4/cxgbe.4
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 14, 2011
+.Dd February 25, 2012
.Dt CXGBE 4
.Os
.Sh NAME
@@ -56,7 +56,7 @@ The
.Nm
driver provides support for PCI Express Ethernet adapters based on
the Chelsio Terminator 4 (T4) ASIC.
-The driver supprts Jumbo Frames, Transmit/Receive checksum offload,
+The driver supports Jumbo Frames, Transmit/Receive checksum offload,
TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
tag insertion/extraction, VLAN checksum offload, VLAN TSO, and
Receive Side Steering (RSS).
@@ -100,28 +100,36 @@ prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
.It Va hw.cxgbe.ntxq10g
-The number of tx queues to use for a 10Gb port. The default is 16 or the number
+The number of tx queues to use for a 10Gb port.
+The default is 16 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq10g
-The number of rx queues to use for a 10Gb port. The default is 8 or the number
+The number of rx queues to use for a 10Gb port.
+The default is 8 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.ntxq1g
-The number of tx queues to use for a 1Gb port. The default is 4 or the number
+The number of tx queues to use for a 1Gb port.
+The default is 4 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq1g
-The number of rx queues to use for a 1Gb port. The default is 2 or the number
+The number of rx queues to use for a 1Gb port.
+The default is 2 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldtxq10g
-The number of TOE tx queues to use for a 10Gb port. The default is 8 or the
+The number of TOE tx queues to use for a 10Gb port.
+The default is 8 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldrxq10g
-The number of TOE rx queues to use for a 10Gb port. The default is 2 or the
+The number of TOE rx queues to use for a 10Gb port.
+The default is 2 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldtxq1g
-The number of TOE tx queues to use for a 1Gb port. The default is 2 or the
+The number of TOE tx queues to use for a 1Gb port.
+The default is 2 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldrxq1g
-The number of TOE rx queues to use for a 1Gb port. The default is 1.
+The number of TOE rx queues to use for a 1Gb port.
+The default is 1.
.It Va hw.cxgbe.holdoff_timer_idx_10G
.It Va hw.cxgbe.holdoff_timer_idx_1G
The timer index value to use to delay interrupts.
@@ -149,7 +157,8 @@ ifconfig up).
The size, in number of entries, of the descriptor ring used for a tx
queue.
A buf_ring of the same size is also allocated for additional
-software queuing. See
+software queuing.
+See
.Xr ifnet 9 .
The default value is 1024.
Different cxgbe interfaces can be assigned different values via the
diff --git a/share/man/man4/cy.4 b/share/man/man4/cy.4
index 0797473..3ad479f 100644
--- a/share/man/man4/cy.4
+++ b/share/man/man4/cy.4
@@ -44,7 +44,6 @@
.Nm cy
.Nd Cyclades Cyclom-Y serial driver
.Sh SYNOPSIS
-.Pp
For one ISA card:
.Bd -ragged -offset indent -compact
.Cd "device cy"
diff --git a/share/man/man4/da.4 b/share/man/man4/da.4
index cf56934..39e1dba 100644
--- a/share/man/man4/da.4
+++ b/share/man/man4/da.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 2, 2003
+.Dd February 8, 2012
.Dt DA 4
.Os
.Sh NAME
@@ -195,7 +195,7 @@ SCSI disk device nodes
.Sh DIAGNOSTICS
None.
.Sh SEE ALSO
-.Xr ad 4 ,
+.Xr ada 4 ,
.Xr cam 4 ,
.Xr geom 4 ,
.Xr bsdlabel 8 ,
diff --git a/share/man/man4/dpms.4 b/share/man/man4/dpms.4
index 2412b47..7f7af3e 100644
--- a/share/man/man4/dpms.4
+++ b/share/man/man4/dpms.4
@@ -50,7 +50,6 @@ it restores the display to its state when the driver was first loaded.
.Sh SEE ALSO
.Xr acpi_video 4
.Sh BUGS
-.Pp
The VESA BIOS DPMS calls do not provide any way to identify a particular
display or adapter to manipulate.
As a result,
diff --git a/share/man/man4/ed.4 b/share/man/man4/ed.4
index 6217669..bfa5972 100644
--- a/share/man/man4/ed.4
+++ b/share/man/man4/ed.4
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 9, 2009
+.Dd February 25, 2012
.Dt ED 4
.Os
.Sh NAME
@@ -139,7 +139,7 @@ Allied Telesis SIC-98, SIC-98NOTE (110pin), SIU-98 (flags 0x600000) (PC-98)
.It
Allied Telesis SIU-98-D (flags 0x610000) (PC-98)
.It
-AmbiCom 10BaseT card
+AmbiCom 10BaseT card (8002, 8002T, 8010 and 8610)
.It
Bay Networks NETGEAR FA410TXC Fast Ethernet
.It
@@ -147,11 +147,15 @@ Belkin F5D5020 PC Card Fast Ethernet
.It
Billionton LM5LT-10B Ethernet/Modem PC Card
.It
+Billionton LNT-10TB, LNT-10TN Ethernet PC Card
+.It
Bromax iPort 10/100 Ethernet PC Card
.It
Bromax iPort 10 Ethernet PC Card
.It
-Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX PC Card
+Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX, LPC-CTX PC Card
+.It
+Buffalo LPC-CF-CLT CF Card
.It
CNet BC40 adapter
.It
@@ -285,7 +289,7 @@ Surecom EtherPerfect EP-427
.It
Surecom NE-34
.It
-TDK 3000/3400/5670 Fast Etherenet/Modem
+TDK 3000/3400/5670 Fast Ethernet/Modem
.It
TDK LAK-CD031, Grey Cell GCS2000 Ethernet Card
.It
@@ -410,7 +414,6 @@ dropped packets during heavy network traffic.
The Mitsubishi B8895 PC Card uses a DP83902, but its ASIC part is
undocumented.
Neither the NE2000 nor the WD83x0 drivers work with this card.
-.Pp
.Sh BUGS
The
.Nm
@@ -419,8 +422,8 @@ packets are received.
As a result, it may throw out some good packets which
have been received but not yet transferred from the card to main memory.
.Pp
-The
-.Nm
+The
+.Nm
driver is slow by today's standards.
.Pp
PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet
@@ -431,7 +434,7 @@ Some devices supported by
do not generate the link state change events used by
.Xr devd 8
to start
-.Xr dhclinet 8 .
+.Xr dhclient 8 .
If you have problems with
.Xr dhclient 8
not starting and the device is always attached to the network it may
diff --git a/share/man/man4/ehci.4 b/share/man/man4/ehci.4
index ea99a9d..1d06bf9 100644
--- a/share/man/man4/ehci.4
+++ b/share/man/man4/ehci.4
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 24, 2011
+.Dd March 4, 2012
.Dt EHCI 4
.Os
.Sh NAME
@@ -80,7 +80,11 @@ The
device driver first appeared in
.Fx 5.1 .
.Sh LOADER TUNABLES
-Tunables can be set at the
+When the kernel has been compiled with
+.Cd options USB_DEBUG ,
+some tunables become available that affect the behavior of
+.Nm .
+These tunables can be set at the
.Xr loader 8
prompt before booting the kernel or stored in
.Xr loader.conf 5 .
diff --git a/share/man/man4/em.4 b/share/man/man4/em.4
index 8213b98..9098b75 100644
--- a/share/man/man4/em.4
+++ b/share/man/man4/em.4
@@ -242,7 +242,6 @@ Make the identification LED of em0 blink:
Turn the identification LED of em0 off again:
.Pp
.Dl "echo 0 > /dev/led/em0"
-.Pp
.Sh DIAGNOSTICS
.Bl -diag
.It "em%d: Unable to allocate bus resource: memory"
diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4
index 715fffe..899bd5f 100644
--- a/share/man/man4/epair.4
+++ b/share/man/man4/epair.4
@@ -97,14 +97,13 @@ one end of the interface pair can also be part of another (virtual) LAN.
As with any other Ethernet interface one can configure
.Xr vlan 4
support on top of it.
-.Pp
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr altq 4 ,
.Xr bpf 4 ,
.Xr if_bridge 4 ,
.Xr vlan 4 ,
-.Xr loader.conf 5 ,
+.Xr loader.conf 5 ,
.Xr rc.conf 5 ,
.Xr ifconfig 8
.Sh HISTORY
diff --git a/share/man/man4/eventtimers.4 b/share/man/man4/eventtimers.4
index c935c3e..4db4420 100644
--- a/share/man/man4/eventtimers.4
+++ b/share/man/man4/eventtimers.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 15, 2010
+.Dd March 13, 2012
.Dt EVENTTIMERS 4
.Os
.Sh NAME
@@ -143,6 +143,14 @@ By default this options is disabled.
If chosen timer is per-CPU
and runs in periodic mode, this option has no effect - all interrupts are
always generating.
+.It Va kern.eventtimer.activetick
+makes each CPU to receive all kinds of timer interrupts when they are busy.
+Disabling it allows to skip some
+.Fn hardclock
+calls in some cases.
+By default this options is enabled.
+If chosen timer is per-CPU, this option has no effect - all interrupts are
+always generating, as timer reprogramming is too expensive for that case.
.El
.Sh SEE ALSO
.Xr apic 4 ,
diff --git a/share/man/man4/faith.4 b/share/man/man4/faith.4
index b98ba39..f0a2df6 100644
--- a/share/man/man4/faith.4
+++ b/share/man/man4/faith.4
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 10, 1999
+.Dd January 23, 2012
.Dt FAITH 4
.Os
.Sh NAME
@@ -58,7 +58,7 @@ variable in
.Xr rc.conf 5 .
.Pp
Special action will be taken when IPv6 TCP traffic is seen on a router,
-and the routing table suggests to route it to the
+and the default routing table suggests to route it to the
.Nm
interface.
In this case, the packet will be accepted by the router,
diff --git a/share/man/man4/fdc.4 b/share/man/man4/fdc.4
index 9ee9561..7fadf0a 100644
--- a/share/man/man4/fdc.4
+++ b/share/man/man4/fdc.4
@@ -173,7 +173,6 @@ For that purpose, a
per-drive device flags value of
.Ar 0x20
needs to be specified.
-.Pp
.Ss Programming Interface
In addition to the normal read and write functionality, the
.Nm
diff --git a/share/man/man4/fwohci.4 b/share/man/man4/fwohci.4
index 417aa54..aa9aff3 100644
--- a/share/man/man4/fwohci.4
+++ b/share/man/man4/fwohci.4
@@ -60,7 +60,6 @@ section for detail), put the following line in
.Bd -literal -offset indent
hw.firewire.phydma_enable=0
.Ed
-.Pp
.Sh HARDWARE
The
.Nm
diff --git a/share/man/man4/gem.4 b/share/man/man4/gem.4
index 3a3f081..e4ebeb0 100644
--- a/share/man/man4/gem.4
+++ b/share/man/man4/gem.4
@@ -53,15 +53,14 @@ The
driver provides support for the GMAC Ethernet hardware found mostly in
the last Apple PowerBooks G3s and most G4-based Apple hardware, as
well as Sun UltraSPARC machines.
-.Pp
-All controllers supported by the
-.Nm
-driver have TCP checksum offload capability for both receive and transmit,
-support for the reception and transmission of extended frames for
-.Xr vlan 4
-and a 512-bit multicast hash filter.
-.Sh HARDWARE
.Pp
+All controllers supported by the
+.Nm
+driver have TCP checksum offload capability for both receive and transmit,
+support for the reception and transmission of extended frames for
+.Xr vlan 4
+and a 512-bit multicast hash filter.
+.Sh HARDWARE
Chips supported by the
.Nm
driver include:
diff --git a/share/man/man4/geom_fox.4 b/share/man/man4/geom_fox.4
index 76fd0b9..8010d24 100644
--- a/share/man/man4/geom_fox.4
+++ b/share/man/man4/geom_fox.4
@@ -85,7 +85,6 @@ The
driver will disallow write operations to the underlying devices once the
fox device has been opened for writing.
.Sh EXAMPLES
-.Pp
.Bl -bullet -compact
.It
.Nm
diff --git a/share/man/man4/geom_uzip.4 b/share/man/man4/geom_uzip.4
index 7275029..8d27673 100644
--- a/share/man/man4/geom_uzip.4
+++ b/share/man/man4/geom_uzip.4
@@ -90,7 +90,6 @@ Consumers:
Sectorsize: 512
Mode: r1w0e1
.Ed
-.Pp
.Sh SEE ALSO
.Xr GEOM 4 ,
.Xr md 4 ,
diff --git a/share/man/man4/gre.4 b/share/man/man4/gre.4
index f633e49..827c93e 100644
--- a/share/man/man4/gre.4
+++ b/share/man/man4/gre.4
@@ -337,4 +337,4 @@ Incoming packets with a different key or without a key will be treated as if the
would belong to this interface.
.Pp
RFC1701 is not fully supported, however all unsupported features have been
-deprecated in RFC2784.
+deprecated in RFC2784.
diff --git a/share/man/man4/h_ertt.4 b/share/man/man4/h_ertt.4
index 70ed36d..3dbedab 100644
--- a/share/man/man4/h_ertt.4
+++ b/share/man/man4/h_ertt.4
@@ -29,8 +29,8 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 15, 2011
-.Dt H_ERTT 9
+.Dd January 18, 2012
+.Dt H_ERTT 4
.Os
.Sh NAME
.Nm h_ertt
diff --git a/share/man/man4/hptiop.4 b/share/man/man4/hptiop.4
index 77fab0c..94a6dbd 100644
--- a/share/man/man4/hptiop.4
+++ b/share/man/man4/hptiop.4
@@ -100,7 +100,6 @@ The
.Nm
device driver first appeared in
.Fx 7.0 .
-.Pp
.Sh AUTHORS
The
.Nm
diff --git a/share/man/man4/icmp6.4 b/share/man/man4/icmp6.4
index e6c3665..1c6026f 100644
--- a/share/man/man4/icmp6.4
+++ b/share/man/man4/icmp6.4
@@ -140,13 +140,13 @@ This header corresponds to the
structure and has the following definition:
.Bd -literal -offset indent
struct icmp6_hdr {
- u_int8_t icmp6_type; /* type field */
- u_int8_t icmp6_code; /* code field */
- u_int16_t icmp6_cksum; /* checksum field */
+ uint8_t icmp6_type; /* type field */
+ uint8_t icmp6_code; /* code field */
+ uint16_t icmp6_cksum; /* checksum field */
union {
- u_int32_t icmp6_un_data32[1]; /* type-specific */
- u_int16_t icmp6_un_data16[2]; /* type-specific */
- u_int8_t icmp6_un_data8[4]; /* type-specific */
+ uint32_t icmp6_un_data32[1]; /* type-specific */
+ uint16_t icmp6_un_data16[2]; /* type-specific */
+ uint8_t icmp6_un_data8[4]; /* type-specific */
} icmp6_dataun;
} __packed;
diff --git a/share/man/man4/igb.4 b/share/man/man4/igb.4
index dc72725..169d057 100644
--- a/share/man/man4/igb.4
+++ b/share/man/man4/igb.4
@@ -174,7 +174,6 @@ Make the identification LED of igb0 blink:
Turn the identification LED of igb0 off again:
.Pp
.Dl "echo 0 > /dev/led/igb0"
-.Pp
.Sh DIAGNOSTICS
.Bl -diag
.It "igb%d: Unable to allocate bus resource: memory"
diff --git a/share/man/man4/inet.4 b/share/man/man4/inet.4
index e64b60a..09cb0bc 100644
--- a/share/man/man4/inet.4
+++ b/share/man/man4/inet.4
@@ -32,7 +32,7 @@
.\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd April 9, 2005
+.Dd January 26, 2012
.Dt INET 4
.Os
.Sh NAME
@@ -130,25 +130,37 @@ The
.Tn ICMP
message protocol is accessible from a raw socket.
.Pp
-The 32-bit Internet address contains both network and host parts.
-However, direct examination of addresses is discouraged.
-For those
-programs which absolutely need to break addresses into their component
-parts, the following
+The
+.Nm
+address on an interface consist of the address itself, the
+netmask, either broadcast address in case of a broadcast
+interface or peers address in case of point-to-point interface.
+The following
.Xr ioctl 2
-commands are provided for a datagram socket in the Internet domain;
-they have the same form as the
-.Dv SIOCIFADDR
-command (see
-.Xr intro 4 ) .
-.Bl -tag -width SIOCSIFNETMASK
-.It Dv SIOCSIFNETMASK
-Set interface network mask.
-The network mask defines the network part of the address;
-if it contains more of the address than the address type would indicate,
-then subnets are in use.
+commands are provided for a datagram socket in the Internet domain:
+.Pp
+.Bl -tag -width ".Dv SIOCGIFBRDADDR" -offset indent -compact
+.It Dv SIOCAIFADDR
+Add address to an interface.
+The command requires
+.Ft struct in_aliasreq
+as argument.
+.It Dv SIOCDIFADDR
+Delete address from an interface.
+The command requires
+.Ft struct ifreq
+as argument.
+.It Dv SIOCGIFADDR
+.It Dv SIOCGIFBRDADDR
+.It Dv SIOCGIFDSTADDR
.It Dv SIOCGIFNETMASK
-Get interface network mask.
+Return address information from interface. The returned value
+is in
+.Ft struct ifreq .
+This way of address information retrieval is obsoleted, a
+preferred way is to use
+.Xr getifaddrs 3
+API.
.El
.Ss MIB Variables
A number of variables are implemented in the net.inet branch of the
@@ -260,6 +272,7 @@ in the reassembling queue for a packet.
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr socket 2 ,
+.Xr getifaddrs 3 ,
.Xr sysctl 3 ,
.Xr icmp 4 ,
.Xr intro 4 ,
diff --git a/share/man/man4/inet6.4 b/share/man/man4/inet6.4
index dad5ccf8..93015e0 100644
--- a/share/man/man4/inet6.4
+++ b/share/man/man4/inet6.4
@@ -184,86 +184,6 @@ by creating an Internet socket of type
The
.Tn ICMPv6
message protocol is accessible from a raw socket.
-.\" .Pp
-.\" The 128-bit IPv6 address contains both network and host parts.
-.\" However, direct examination of addresses is discouraged.
-.\" For those programs which absolutely need to break addresses
-.\" into their component parts, the following
-.\" .Xr ioctl 2
-.\" commands are provided for a datagram socket in the
-.\" .Nm
-.\" domain; they have the same form as the
-.\" .Dv SIOCIFADDR
-.\" command (see
-.\" .Xr intro 4 ) .
-.\" .Pp
-.\" .Bl -tag -width SIOCSIFNETMASK
-.\" .It Dv SIOCSIFNETMASK
-.\" Set interface network mask.
-.\" The network mask defines the network part of the address;
-.\" if it contains more of the address than the address type would indicate,
-.\" then subnets are in use.
-.\" .It Dv SIOCGIFNETMASK
-.\" Get interface network mask.
-.\" .El
-.\" .Sh ROUTING
-.\" The current implementation of Internet protocols includes some routing-table
-.\" adaptations to provide enhanced caching of certain end-to-end
-.\" information necessary for Transaction TCP and Path MTU Discovery. The
-.\" following changes are the most significant:
-.\" .Bl -enum
-.\" .It
-.\" All IP routes, except those with the
-.\" .Dv RTF_CLONING
-.\" flag and those to multicast destinations, have the
-.\" .Dv RTF_PRCLONING
-.\" flag forcibly enabled (they are thus said to be
-.\" .Dq "protocol cloning" ).
-.\" .It
-.\" When the last reference to an IP route is dropped, the route is
-.\" examined to determine if it was created by cloning such a route. If
-.\" this is the case, the
-.\" .Dv RTF_PROTO3
-.\" flag is turned on, and the expiration timer is initialized to go off
-.\" in net.inet.ip.rtexpire seconds. If such a route is re-referenced,
-.\" the flag and expiration timer are reset.
-.\" .It
-.\" A kernel timeout runs once every ten minutes, or sooner if there are
-.\" soon-to-expire routes in the kernel routing table, and deletes the
-.\" expired routes.
-.\" .El
-.\" .Pp
-.\" A dynamic process is in place to modify the value of
-.\" net.inet.ip.rtexpire if the number of cached routes grows too large.
-.\" If after an expiration run there are still more than
-.\" net.inet.ip.rtmaxcache unreferenced routes remaining, the rtexpire
-.\" value is multiplied by 3/4, and any routes which have longer
-.\" expiration times have those times adjusted. This process is damped
-.\" somewhat by specification of a minimum rtexpire value
-.\" (net.inet.ip.rtminexpire), and by restricting the reduction to once in
-.\" a ten-minute period.
-.\" .Pp
-.\" If some external process deletes the original route from which a
-.\" protocol-cloned route was generated, the ``child route'' is deleted.
-.\" (This is actually a generic mechanism in the routing code support for
-.\" protocol-requested cloning.)
-.\" .Pp
-.\" No attempt is made to manage routes which were not created by protocol
-.\" cloning; these are assumed to be static, under the management of an
-.\" external routing process, or under the management of a link layer
-.\" (e.g.,
-.\" .Tn ARP
-.\" for Ethernets).
-.\" .Pp
-.\" Only certain types of network activity will result in the cloning of a
-.\" route using this mechanism. Specifically, those protocols (such as
-.\" .Tn TCP
-.\" and
-.\" .Tn UDP )
-.\" which themselves cache a long-lasting reference to route for a destination
-.\" will trigger the mechanism; whereas raw
-.\" .Tn IP
-.\" packets, whether locally-generated or forwarded, will not.
.Ss MIB Variables
A number of variables are implemented in the net.inet6 branch of the
.Xr sysctl 3
diff --git a/share/man/man4/ip.4 b/share/man/man4/ip.4
index 4e7d8b0..cf16d65 100644
--- a/share/man/man4/ip.4
+++ b/share/man/man4/ip.4
@@ -392,7 +392,6 @@ and
.Va net.inet.ip.portrange.randomtime
are 10 port allocations per second and 45 seconds correspondingly.
.Ss "Multicast Options"
-.Pp
.Tn IP
multicasting is supported only on
.Dv AF_INET
@@ -682,7 +681,6 @@ are used to specify an upper limit on the number of per-socket and per-group
source filter entries which the kernel may allocate.
.\"-----------------------
.Ss "Raw IP Sockets"
-.Pp
Raw
.Tn IP
sockets are connectionless,
diff --git a/share/man/man4/ip6.4 b/share/man/man4/ip6.4
index b796851..fdbb956 100644
--- a/share/man/man4/ip6.4
+++ b/share/man/man4/ip6.4
@@ -75,12 +75,12 @@ The header has the following definition:
struct ip6_hdr {
union {
struct ip6_hdrctl {
- u_int32_t ip6_un1_flow; /* 20 bits of flow ID */
- u_int16_t ip6_un1_plen; /* payload length */
- u_int8_t ip6_un1_nxt; /* next header */
- u_int8_t ip6_un1_hlim; /* hop limit */
+ uint32_t ip6_un1_flow; /* 20 bits of flow ID */
+ uint16_t ip6_un1_plen; /* payload length */
+ uint8_t ip6_un1_nxt; /* next header */
+ uint8_t ip6_un1_hlim; /* hop limit */
} ip6_un1;
- u_int8_t ip6_un2_vfc; /* version and class */
+ uint8_t ip6_un2_vfc; /* version and class */
} ip6_ctlun;
struct in6_addr ip6_src; /* source address */
struct in6_addr ip6_dst; /* destination address */
@@ -121,8 +121,8 @@ The IPv6 header may be followed by any number of extension headers that start
with the following generic definition:
.Bd -literal -offset indent
struct ip6_ext {
- u_int8_t ip6e_nxt;
- u_int8_t ip6e_len;
+ uint8_t ip6e_nxt;
+ uint8_t ip6e_len;
} __packed;
.Ed
.Ss Options
@@ -281,8 +281,8 @@ The option is stored in the following structure in the ancillary data
returned:
.Bd -literal
struct ip6_hbh {
- u_int8_t ip6h_nxt; /* next header */
- u_int8_t ip6h_len; /* length in units of 8 octets */
+ uint8_t ip6h_nxt; /* next header */
+ uint8_t ip6h_len; /* length in units of 8 octets */
/* followed by options */
} __packed;
.Ed
@@ -301,8 +301,8 @@ The option is stored in the following structure in the ancillary data
returned:
.Bd -literal
struct ip6_dest {
- u_int8_t ip6d_nxt; /* next header */
- u_int8_t ip6d_len; /* length in units of 8 octets */
+ uint8_t ip6d_nxt; /* next header */
+ uint8_t ip6d_len; /* length in units of 8 octets */
/* followed by options */
} __packed;
.Ed
@@ -333,10 +333,10 @@ The header is stored in the following structure in the ancillary data
returned:
.Bd -literal
struct ip6_rthdr {
- u_int8_t ip6r_nxt; /* next header */
- u_int8_t ip6r_len; /* length in units of 8 octets */
- u_int8_t ip6r_type; /* routing type */
- u_int8_t ip6r_segleft; /* segments left */
+ uint8_t ip6r_nxt; /* next header */
+ uint8_t ip6r_len; /* length in units of 8 octets */
+ uint8_t ip6r_type; /* routing type */
+ uint8_t ip6r_segleft; /* segments left */
/* followed by routing-type-specific data */
} __packed;
.Ed
diff --git a/share/man/man4/ipmi.4 b/share/man/man4/ipmi.4
index c34093a..08dd0b0 100644
--- a/share/man/man4/ipmi.4
+++ b/share/man/man4/ipmi.4
@@ -63,7 +63,7 @@ If the
.Ar port
and
.Ar spacing
-are not specified the interface type default will be used. Only specify
+are not specified the interface type default will be used. Only specify
either the
.Ar port
for I/O access or
diff --git a/share/man/man4/ipw.4 b/share/man/man4/ipw.4
index cfa7de7..21ec44c 100644
--- a/share/man/man4/ipw.4
+++ b/share/man/man4/ipw.4
@@ -127,7 +127,7 @@ This should not happen.
The driver failed to load the firmware image using the
.Xr firmware 9
subsystem.
-Verify the
+Verify the
.Xr ipwfw 4
firmware module is installed and the license agreement
.Xr loader 8
diff --git a/share/man/man4/isci.4 b/share/man/man4/isci.4
new file mode 100644
index 0000000..0179a76
--- /dev/null
+++ b/share/man/man4/isci.4
@@ -0,0 +1,112 @@
+.\"
+.\" Copyright (c) 2012 Intel Corporation
+.\" 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,
+.\" without modification.
+.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
+.\" substantially similar to the "NO WARRANTY" disclaimer below
+.\" ("Disclaimer") and any redistribution must be conditioned upon
+.\" including a substantially similar Disclaimer requirement for further
+.\" binary redistribution.
+.\"
+.\" NO WARRANTY
+.\" 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 MERCHANTIBILITY AND FITNESS FOR
+.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+.\"
+.\" isci driver man page.
+.\"
+.\" Author: Jim Harris <jimharris@FreeBSD.org>
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 23, 2012
+.Dt ISCI 4
+.Os
+.Sh NAME
+.Nm isci
+.Nd Intel C600 Serial Attached SCSI driver
+.Sh SYNOPSIS
+To compile this driver into your kernel,
+place the following lines in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device scbus"
+.Cd "device isci"
+.Ed
+.Pp
+Or, to load the driver as a module at boot, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+isci_load="YES"
+.Ed
+.Sh HARDWARE
+The
+.Nm
+driver provides support for Intel C600
+.Tn SAS
+controllers.
+.Sh CONFIGURATION
+To force legacy interrupts for all
+.Nm
+driver instances, set the following tunable value in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+hw.isci.force_legacy_interrupts=1
+.Ed
+.Sh DEBUGGING
+To enable debugging prints from the
+.Nm
+driver, set the
+.Bd -literal -offset indent
+hw.isci.debug_level
+.Ed
+.Pp
+variable to a value between 1 and 4 in
+.Xr loader.conf 5 .
+.Pp
+The hardware layer in the
+.Nm
+driver has extensive logging capabilities
+which are disabled by default for performance reasons.
+These can be enabled by adding
+.Bd -literal -offset indent
+options ISCI_LOGGING
+.Ed
+.Pp
+to the kernel configuration file.
+.Sh SEE ALSO
+.Xr cd 4 ,
+.Xr ch 4 ,
+.Xr da 4 ,
+.Xr pci 4 ,
+.Xr sa 4 ,
+.Xr scsi 4
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 8.3 and 9.1 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was developed by Intel and originally written by
+.An Jim Harris Aq jimharris@FreeBSD.org
+with contributions from Sohaib Ahsan and input from
+.An Scott Long Aq scottl@FreeBSD.org .
+.Pp
+This man page was written by
+.An Jim Harris Aq jimharris@FreeBSD.org .
diff --git a/share/man/man4/iscsi_initiator.4 b/share/man/man4/iscsi_initiator.4
index 90df509..d48a757 100644
--- a/share/man/man4/iscsi_initiator.4
+++ b/share/man/man4/iscsi_initiator.4
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2007 Daniel Braniss <danny@cs.huji.ac.il>
+.\" Copyright (c) 2007-2010 Daniel Braniss <danny@cs.huji.ac.il>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 9, 2010
+.Dd August 3, 2010
.Dt ISCSI_INITIATOR 4
.Os
.Sh NAME
@@ -48,38 +48,36 @@ iscsi_initiator_load="YES"
The
.Nm
implements the kernel side of the Internet SCSI (iSCSI) network
-protocol standard.
-The userland companion is
+protocol standard, the user land companion is
.Xr iscontrol 8 ,
and permits access to remote
.Em virtual
SCSI devices via
.Xr cam 4 .
.Sh SYSCTL VARIABLES
-.Bl -tag -width "net.iscsi.n.targedaddress"
+.Bl -tag -width ".Va net.iscsi.n.targeaddress"
.It Va debug.iscsi_initiator
set the debug-level, 0 means no debugging, 9 for maximum.
.It Va net.iscsi.isid
the initiator part of the Session Identifier.
-.El
-.Pp
-The following are informative only:
-.Bl -tag -width "net.iscsi.n.targedaddress"
+.It Va "kern.cam.cam_srch_hi=1"
+allow search above LUN 7 for SCSI3 and greater devices.
+.It "the following are informative only:"
.It Va net.iscsi.driver_version
the current version of the driver.
.It Va net.iscsi.sessions
the number of current active sessions.
.It Va net.iscsi.n.targetname
-the target name of session
+is the targe name of session
.Em n .
-.It Va net.iscsi.n.targedaddress
-the IP address of the target of session
+.It Va net.iscsi.n.targeaddress
+is the IP address of the target of session
.Em n .
.It Va net.iscsi.n.stats
-statistics for session
+are some statistics for session
.Em n
.It Va net.iscsi.n.pid
-the
+is the
.Em "process id"
of the userland side of session
.Em n ,
@@ -87,7 +85,7 @@ see
.Xr iscontrol 8 .
.El
.Sh FILES
-The
+The
.Nm
driver creates the following:
.Pp
@@ -104,6 +102,7 @@ for each new session.
.Sh STANDARDS
iSCSI RFC 3720
.\" .Sh HISTORY
-.\" .Sh AUTHORS
+.Sh AUTHORS
+This software was written by Daniel Braniss <danny@cs.huji.ac.il>
.Sh BUGS
The lun discovery method is old-fashioned.
diff --git a/share/man/man4/isp.4 b/share/man/man4/isp.4
index 9de6da5..914fec4 100644
--- a/share/man/man4/isp.4
+++ b/share/man/man4/isp.4
@@ -138,7 +138,6 @@ Qlogic 2422 Optical Fibre Channel PCI cards (4 Gigabit)
Qlogic 2432 Optical Fibre Channel PCIe cards (4 Gigabit)
.El
.Sh CONFIGURATION OPTIONS
-.Pp
Target mode support may be enabled with the
.Pp
.Cd options ISP_TARGET_MODE
diff --git a/share/man/man4/iwi.4 b/share/man/man4/iwi.4
index 7428542..97ff634 100644
--- a/share/man/man4/iwi.4
+++ b/share/man/man4/iwi.4
@@ -127,7 +127,7 @@ This should not happen.
The driver failed to load the firmware image using the
.Xr firmware 9
subsystem.
-Verify the
+Verify the
.Xr iwifw 4
firmware module is installed and the license agreement
.Xr loader 8
diff --git a/share/man/man4/iwn.4 b/share/man/man4/iwn.4
index 370241a..2c47f6f 100644
--- a/share/man/man4/iwn.4
+++ b/share/man/man4/iwn.4
@@ -25,13 +25,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 20, 2010
+.Dd March 27, 2012
.Dt IWN 4
.Os
.Sh NAME
.Nm iwn
-.Nd Intel Wireless WiFi Link 4965/1000/5000/5150/5300/6000/6050
-IEEE 802.11n driver
+.Nd Intel IEEE 802.11n wireless network driver
.Sh SYNOPSIS
To compile this driver into the kernel,
include the following lines in your
@@ -51,6 +50,8 @@ Choose one from:
.Cd "device iwn5000fw"
.Cd "device iwn5150fw"
.Cd "device iwn6000fw"
+.Cd "device iwn6000g2afw"
+.Cd "device iwn6000g2bfw"
.Cd "device iwn6050fw"
.Ed
.Pp
@@ -71,15 +72,32 @@ iwn1000fw_load="YES"
iwn5000fw_load="YES"
iwn5150fw_load="YES"
iwn6000fw_load="YES"
+iwn6000g2afw_load="YES"
+iwn6000g2bfw_load="YES"
iwn6050fw_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
-driver provides support for
-.Tn Intel
-Wireless WiFi Link 4965, 1000, 5000 and 6000 series of
-PCI-Express network adapters.
+driver provides support for:
+.Pp
+.Bl -tag -width Ds -offset indent -compact
+.It Intel Centrino Advanced-N 6200
+.It Intel Centrino Advanced-N 6205
+.It Intel Centrino Advanced-N 6230
+.It Intel Centrino Advanced-N + WiMAX 6250
+.It Intel Centrino Ultimate-N 6300
+.It Intel Centrino Wireless-N 130
+.It Intel Centrino Wireless-N 1000
+.It Intel Centrino Wireless-N 1030
+.It Intel Centrino Wireless-N + WiMAX 6150
+.It Intel Ultimate N WiFi Link 5300
+.It Intel Wireless WiFi Link 4965
+.It Intel WiFi Link 5100
+.It Intel WiMAX/WiFi Link 5150
+.It Intel WiMAX/WiFi Link 5350
+.El
+.Pp
.Nm
supports
.Cm station ,
@@ -133,7 +151,7 @@ This should not happen.
The driver failed to load the firmware image using the
.Xr firmware 9
subsystem.
-Verify the
+Verify the
.Xr iwnfw 4
firmware module is present.
.It "iwn%d: could not load boot firmware"
diff --git a/share/man/man4/iwnfw.4 b/share/man/man4/iwnfw.4
index 39752cf..681d728 100644
--- a/share/man/man4/iwnfw.4
+++ b/share/man/man4/iwnfw.4
@@ -65,7 +65,7 @@ iwn6050fw_load="YES"
.Ed
.Sh DESCRIPTION
This module provides access to firmware sets for the
-Intel Wireless WiFi Link 4965, 1000, 5000 and 6000 series of
+Intel Wireless WiFi Link 4965, 1000, 5000 and 6000 series of
IEEE 802.11n adapters.
It may be
statically linked into the kernel, or loaded as a module.
diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4
index 24c583c..1fa970c 100644
--- a/share/man/man4/ixgbe.4
+++ b/share/man/man4/ixgbe.4
@@ -1,6 +1,6 @@
.\" Copyright (c) 2001-2008, Intel Corporation
.\" All rights reserved.
-.\"
+.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions are met:
.\"
@@ -79,13 +79,13 @@ driver supports the following cards:
.Pp
.Bl -bullet -compact
.It
-Intel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter
+Intel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter
.It
Intel(R) 10 Gigabit XF SR/LR Server Adapter
.It
Intel(R) 82598EB 10 Gigabit AF Network Connection
.It
-Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection
+Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection
.El
.Sh DIAGNOSTICS
.Bl -diag
diff --git a/share/man/man4/jme.4 b/share/man/man4/jme.4
index 0bcf652..e17a797 100644
--- a/share/man/man4/jme.4
+++ b/share/man/man4/jme.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 29, 2011
+.Dd March 4, 2012
.Dt JME 4
.Os
.Sh NAME
@@ -130,23 +130,26 @@ variables and
tunables:
.Bl -tag -width "xxxxxx"
.It Va dev.jme.%d.tx_coal_to
-Maximum amount of time to delay for Tx completion interrupt in
-units of 1us.
-The accepted range is 1 to 65535, the default is 100 (100us).
+This variable sets the maximum amount of time to delay
+before sending a Tx completion interrupt, in microseconds.
+The accepted range is 1 to 65535; the default is 100 (100us).
.It Va dev.jme.%d.tx_coal_pkt
-Maximum number of packets to fire Tx completion interrupt.
-The accepted range is 1 to 255, the default is 8.
+This variable sets the maximum number of outgoing packets which may be
+coalesced together into a single Tx completion interrupt.
+The accepted range is 1 to 255; the default is 8.
.It Va dev.jme.%d.rx_coal_to
-Maximum amount of time to delay for Rx completion interrupt in
-units of 1us.
-The accepted range is 1 to 65535, the default is 100 (100us).
+This variable sets the maximum amount of time to wait for
+additional packets to arrive (for possible packet coalescing)
+before firing an Rx completion interrupt, in microseconds.
+The accepted range is 1 to 65535; the default is 100 (100us).
.It Va dev.jme.%d.rx_coal_pkt
-Maximum number of packets to fire Rx completion interrupt.
-The accepted range is 1 to 255, the default is 2.
+This variable sets the maximum number of incoming packets which may be
+coalesced into a single Rx completion interrupt.
+The accepted range is 1 to 255; the default is 2.
.It Va dev.jme.%d.process_limit
-Maximum amount of Rx events to be processed in the event loop before
-rescheduling a taskqueue.
-The accepted range is 10 to 255, the default value is 128 events.
+This variable sets the maximum number of events that will be processed
+in a single batch before the handler is requeued into a taskqueue.
+The accepted range is 10 to 255; the default value is 128 events.
The interface does not need to be brought down and up again before
a change takes effect.
.El
@@ -173,22 +176,22 @@ driver tries to avoid unnecessary station address reprogramming for
controllers that use eFuse to store station address.
The number of times that eFuse can be safely reprogrammed is 16 at
most.
-In addition, there is no way to restore factory default station
-address once station address is reprogrammed via eFuse.
-It is highly recommended not to reprogram station address and
-it is responsibility of administrator to store original station
-address into a safe place when station address should be changed.
+In addition, there is no way to restore the factory default station
+address once the station address has been reprogrammed via eFuse.
+It is highly recommended not to reprogram the station address and
+it is the responsibility of the administrator to store the original station
+address in a safe place when station address is changed.
.Pp
There are two known 1000baseT link establishment issues with JMC25x.
If the full mask revision number of JMC25x controller is less than
-or equal to 4 and link partner enabled IEEE 802.3az Energy Efficient
-Ethernet feature, the controller would not be able to establish a
+or equal to 4 and the link partner enabled the IEEE 802.3az Energy Efficient
+Ethernet feature, the controller will not be able to establish a
1000baseT link.
-Also if the length of cable is longer than 120 meters, controller
+Also, if the length of the cable is longer than 120 meters, the controller
can not establish a 1000baseT link.
-The known workaround for the issue is to force manual link
+The known workaround for these issues is to force manual link
configuration with 100baseTX instead of relying on auto-negotiation.
-The full mask revision number of controller could be checked with
+The full mask revision number of controller can be checked with the
verbose kernel boot option.
-Use lower nibble of chip revision number to get full mask revision of
-the controller.
+Use the lower nibble of the chip revision number to get the
+full mask revision of the controller.
diff --git a/share/man/man4/ksyms.4 b/share/man/man4/ksyms.4
index 9272eb8..b8e4f26 100644
--- a/share/man/man4/ksyms.4
+++ b/share/man/man4/ksyms.4
@@ -42,15 +42,15 @@
.Sh DESCRIPTION
The
.Pa /dev/ksyms
-character device provides a read-only interface to a snapshot of the kernel
+character device provides a read-only interface to a snapshot of the kernel
symbol table. The in-kernel symbol manager is designed to be able to handle
-many types of symbols tables, however, only
+many types of symbols tables, however, only
.Xr elf 5
symbol tables are supported by this device. The ELF format image contains two
-sections: a symbol table and a corresponding string table.
+sections: a symbol table and a corresponding string table.
.Bl -tag -width indent -offset indent
.It Dv Symbol Table
-The SYMTAB section contains the symbol table entries present in the current
+The SYMTAB section contains the symbol table entries present in the current
running kernel, including the symbol table entries of any loaded modules. The
symbols are ordered by the kernel module load time starting with kernel file
symbols first, followed by the first loaded module's symbols and so on.
@@ -65,10 +65,10 @@ file represents the state of the kernel at the time when the device is opened.
Since
.Pa /dev/ksyms
has no text or data, most of the fields are initialized to NULL.
-The
-.Nm
+The
+.Nm
driver does not block the loading or unloading of modules into the kernel
-while the
+while the
.Pa /dev/ksyms
file is open but may contain stale data.
.Sh IOCTLS
@@ -87,29 +87,29 @@ This can be used when allocating a buffer to make a copy of
the kernel symbol table.
.It Dv KIOCGADDR (void *)
Returns the address of the kernel symbol table mapped in
-the process memory.
+the process memory.
.El
.Sh FILES
.Bl -tag -width /dev/ksymsX
.It Pa /dev/ksyms
.El
.Sh ERRORS
-An
+An
.Xr open 2
of
.Pa /dev/ksyms
-will fail if:
+will fail if:
.Bl -tag -width Er
.It Bq Er EBUSY
-The device is already open. A process must close
+The device is already open. A process must close
.Pa /dev/ksyms
-before it can be opened again.
+before it can be opened again.
.It Bq Er ENOMEM
There is a resource shortage in the kernel.
.It Bq Er ENXIO
The driver was unsuccessful in creating a snapshot of the kernel symbol
table. This may occur if the kernel was in the process of loading or
-unloading a module.
+unloading a module.
.El
.Sh SEE ALSO
.Xr ioctl 2 ,
@@ -128,7 +128,7 @@ The
.Nm
driver first appeared in
.Fx 8.0
-to support
+to support
.Xr lockstat 1 .
.Sh AUTHORS
The
@@ -137,7 +137,7 @@ driver was written by
.An Stacey Son
.Aq sson@FreeBSD.org .
.Sh BUGS
-Because files can be dynamically linked into the kernel at any time the symbol
+Because files can be dynamically linked into the kernel at any time the symbol
information can vary. When you open the
.Pa /dev/ksyms
file, you have access to an ELF image which represents a snapshot of the state of the kernel symbol information at that instant in time. Keeping the device open does not block the loading or unloading of kernel modules. To get a new snapshot you must close and re-open the device.
@@ -147,12 +147,12 @@ A process is only allowed to open the
file once at a time. The process must close the
.Pa /dev/ksyms
before it is allowed to open it again.
-.Pp
+.Pp
The
.Nm
-driver uses the calling process' memory address space to store the snapshot.
+driver uses the calling process' memory address space to store the snapshot.
.Xr ioctl 2
can be used to get the memory address where the symbol table is stored to
-save kernel memory.
+save kernel memory.
.Xr mmap 2
-may also be used but it will map it to another address.
+may also be used but it will map it to another address.
diff --git a/share/man/man4/ktr.4 b/share/man/man4/ktr.4
index 7da4e37..b4039f0 100644
--- a/share/man/man4/ktr.4
+++ b/share/man/man4/ktr.4
@@ -171,7 +171,7 @@ the next invocation.
enables logging of
.Nm
entries to disk if it is set to one.
-Setting this to 0 will terminate logging to disk and revert to
+Setting this to 0 will terminate logging to disk and revert to
logging to the normal ktr ring buffer.
Data is not sent to the ring buffer while logging to disk.
.It Va debug.ktr.alq_max
diff --git a/share/man/man4/lagg.4 b/share/man/man4/lagg.4
index 1dd5142..0ba8e1a 100644
--- a/share/man/man4/lagg.4
+++ b/share/man/man4/lagg.4
@@ -16,7 +16,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 18, 2010
+.Dd February 23, 2012
.Dt LAGG 4
.Os
.Sh NAME
@@ -88,8 +88,9 @@ variable to a nonzero value,
which is useful for certain bridged network setups.
.It Ic fec
Supports Cisco EtherChannel.
-This is a static setup and does not negotiate aggregation with the peer or
-exchange frames to monitor the link.
+This is an alias for
+.Ic loadbalance
+mode.
.It Ic lacp
Supports the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and the
Marker Protocol.
@@ -133,6 +134,21 @@ variable in
.Pp
The MTU of the first interface to be added is used as the lagg MTU.
All additional interfaces are required to have exactly the same value.
+.Pp
+The
+.Ic loadbalance
+and
+.Ic lacp
+modes will use the RSS hash from the network card if available to avoid
+computing one, this may give poor traffic distribution if the hash is invalid
+or uses less of the protocol header information.
+Local hash computation can be forced per interface by setting the
+.Va net.link.lagg.X.use_flowid
+.Xr sysctl 8
+variable to zero where X is the interface number.
+The default for new interfaces is set via the
+.Va net.link.lagg.default_use_flowid
+.Xr sysctl 8 .
.Sh EXAMPLES
Create a 802.3ad link aggregation using LACP with two
.Xr bge 4
diff --git a/share/man/man4/lmc.4 b/share/man/man4/lmc.4
index 439a10f..ee29aee 100644
--- a/share/man/man4/lmc.4
+++ b/share/man/man4/lmc.4
@@ -43,7 +43,7 @@
.\" this program; if not, write to the Free Software Foundation, Inc., 59
.\" Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
-.Dd July 23, 2011
+.Dd February 8, 2012
.Dt LMC 4
.Os
.\"
@@ -179,7 +179,7 @@ higher-level issues like protocol multiplexing and security.
This driver is compatible with several line protocol packages:
.Bl -tag -width "Generic HDLC"
.It Sy "Netgraph"
-.Xr Netgraph 4
+.Xr netgraph 4
implements many basic packet-handling functions as kernel loadable modules.
They can be interconnected in a graph to implement many protocols.
Configuration is done from userland without rebuilding the kernel.
@@ -407,7 +407,7 @@ When testing an HSSI card with a null modem cable, configure it
with
.Xr lmcconfig 8 :
.Pp
-.Dl "lmcconfig lmc0 -a 2
+.Dl "lmcconfig lmc0 -a 2"
.Pp
.Dq Fl a Li 2
selects the PCI bus clock as the transmit clock.
diff --git a/share/man/man4/lo.4 b/share/man/man4/lo.4
index 12bf792..1a55b0c 100644
--- a/share/man/man4/lo.4
+++ b/share/man/man4/lo.4
@@ -30,7 +30,7 @@
.\" @(#)lo.4 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd March 15, 2009
+.Dd January 25, 2012
.Dt LO 4
.Os
.Sh NAME
@@ -47,9 +47,9 @@ communication.
As with other network interfaces, the loopback interface must have
network addresses assigned for each address family with which it is to be used.
These addresses
-may be set or changed with the
-.Dv SIOCSIFADDR
-.Xr ioctl 2 .
+may be set with the appropriate
+.Xr ioctl 2
+commands for corresponding address families.
The loopback interface should be the last interface configured,
as protocols may use the order of configuration as an indication of priority.
The loopback should
diff --git a/share/man/man4/mac_lomac.4 b/share/man/man4/mac_lomac.4
index 80f2daf..0cf99c9 100644
--- a/share/man/man4/mac_lomac.4
+++ b/share/man/man4/mac_lomac.4
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 11, 2002
+.Dd February 25, 2012
.Dt MAC_LOMAC 4
.Os
.Sh NAME
@@ -63,7 +63,7 @@ which protects the integrity of system objects and subjects by means of
an information flow policy coupled with the subject demotion
via floating labels.
In LOMAC, all system subjects and objects are assigned integrity labels, made
-up of one or more hierarchial grades, depending on the their types.
+up of one or more hierarchical grades, depending on the their types.
Together, these label elements permit all labels to be placed in a partial
order, with information flow protections and demotion decisions
based on a dominance operator
diff --git a/share/man/man4/malo.4 b/share/man/man4/malo.4
index eb8c2ed..22cc471 100644
--- a/share/man/man4/malo.4
+++ b/share/man/man4/malo.4
@@ -88,12 +88,11 @@ directory.
The following cards are among those supported by the
.Nm
driver:
-.Pp
-.Bl -column -compact "Microcom Travelcard" "MALO111" "CardBus" "a/b/g" -offset 6n
-.Em "Card Chip Bus Standard"
-Netgear WG311v3 88W8335 PCI b/g
-Tenda TWL542P 88W8335 PCI b/g
-U-Khan UW-2054i 88W8335 PCI b/g
+.Bl -column "Netgear WG311v3" "88W8335" "PCI" "b/g"
+.Em "Card" Ta Em "Chip" Ta Em "Bus" Ta Em "Standard"
+.It "Netgear WG311v3" Ta "88W8335" Ta "PCI" Ta "b/g"
+.It "Tenda TWL542P" Ta "88W8335" Ta "PCI" Ta "b/g"
+.It "U-Khan UW-2054i" Ta "88W8335" Ta "PCI" Ta "b/g"
.El
.Sh EXAMPLES
Join an existing BSS network (i.e., connect to an access point):
diff --git a/share/man/man4/man4.i386/apm.4 b/share/man/man4/man4.i386/apm.4
index e5e5c6a..6d7b524 100644
--- a/share/man/man4/man4.i386/apm.4
+++ b/share/man/man4/man4.i386/apm.4
@@ -104,17 +104,17 @@ These interfaces are used by
.It
.Nm
polls APM events and handles the following events.
-.Bl -column PMEV_POWERSTATECHANGEXXX "suspend system xxxxx"
-.It Sy "Name " "Action " "Description"
-.It Dv "PMEV_STANDBYREQ " No "suspend system " "standby request"
-.It Dv "PMEV_SUSPENDREQ " No "suspend system " "suspend request"
-.It Dv "PMEV_USERSUSPENDREQ " No "suspend system " "user suspend request"
-.It Dv "PMEV_CRITSUSPEND " No "suspend system " "critical suspend request"
-.It Dv "PMEV_NORMRESUME " No "resume system " "normal resume"
-.It Dv "PMEV_CRITRESUME " No "resume system " "critical resume"
-.It Dv "PMEV_STANDBYRESUME " No "resume system " "standby resume"
-.It Dv "PMEV_BATTERYLOW " No "notify message " "battery low"
-.It Dv "PMEV_UPDATETIME " No "adjust clock " "update time"
+.Bl -column "xxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxx" "xxxxxxxx"
+.It Sy "Name" Ta Sy "Action" Ta Sy "Description"
+.It Dv "PMEV_STANDBYREQ" Ta No "suspend system" Ta "standby request"
+.It Dv "PMEV_SUSPENDREQ" Ta No "suspend system" Ta "suspend request"
+.It Dv "PMEV_USERSUSPENDREQ" Ta No "suspend system" Ta "user suspend request"
+.It Dv "PMEV_CRITSUSPEND" Ta No "suspend system" Ta "critical suspend request"
+.It Dv "PMEV_NORMRESUME" Ta No "resume system" Ta "normal resume"
+.It Dv "PMEV_CRITRESUME" Ta No "resume system" Ta "critical resume"
+.It Dv "PMEV_STANDBYRESUME" Ta No "resume system" Ta "standby resume"
+.It Dv "PMEV_BATTERYLOW" Ta No "notify message" Ta "battery low"
+.It Dv "PMEV_UPDATETIME" Ta No "adjust clock" Ta "update time"
.El
.El
.Sh SEE ALSO
diff --git a/share/man/man4/man4.i386/glxsb.4 b/share/man/man4/man4.i386/glxsb.4
index c7bef27..fb2669f 100644
--- a/share/man/man4/man4.i386/glxsb.4
+++ b/share/man/man4/man4.i386/glxsb.4
@@ -66,7 +66,7 @@ framework will fail to open the crypto session on the device if the AES
key's length is != 128 bits.
This prevents the use of the
.Nm
-device driver with AES keys of length != 128 bits.
+device driver with AES keys of length != 128 bits.
.Sh SEE ALSO
.Xr crypto 4 ,
.Xr intro 4 ,
diff --git a/share/man/man4/man4.powerpc/abtn.4 b/share/man/man4/man4.powerpc/abtn.4
index 9de300d..670f5a27 100644
--- a/share/man/man4/man4.powerpc/abtn.4
+++ b/share/man/man4/man4.powerpc/abtn.4
@@ -60,7 +60,7 @@ The
.Nm
driver sends events to
.Xr devd 8
-for the following events under the
+for the following events under the
.Cd PMU
system, and
.Cd keys
diff --git a/share/man/man4/man4.powerpc/akbd.4 b/share/man/man4/man4.powerpc/akbd.4
index d4f3aa1..e56676a 100644
--- a/share/man/man4/man4.powerpc/akbd.4
+++ b/share/man/man4/man4.powerpc/akbd.4
@@ -63,15 +63,15 @@ The
.Nm
driver sends events to
.Xr devd 8
-for the following events under the
+for the following events under the
.Cd PMU
system:
.Pp
.Bl -bullet -compact
.It
-Power button -
+Power button -
.Cd "Button"
-subsystem,
+subsystem,
.Cd "pressed"
type.
.El
@@ -81,7 +81,7 @@ The
driver supports the following sysctl variable for configuring the Fn keys:
.Bl -tag -width indent
.It Va dev.akbd.%d.fn_keys_function_as_primary
-Set the Fn keys to be their F-key type as default. A value of 0 causes the
+Set the Fn keys to be their F-key type as default. A value of 0 causes the
F-keys keys to work as special keys by default (
.Xr abtn 4 )
and a value of 1 sets them to behave as F-keys by default.
diff --git a/share/man/man4/man4.powerpc/bm.4 b/share/man/man4/man4.powerpc/bm.4
index a9e57e3..9d6a029 100644
--- a/share/man/man4/man4.powerpc/bm.4
+++ b/share/man/man4/man4.powerpc/bm.4
@@ -50,11 +50,10 @@ if_bm_load="YES"
The
.Nm
driver provides support for the BMac ethernet hardware found mostly in
-G3-based Apple hardware.
-It is a close relative of the Sun HME controller found in contemporary
+G3-based Apple hardware.
+It is a close relative of the Sun HME controller found in contemporary
Sun workstations.
.Sh HARDWARE
-.Pp
Chips supported by the
.Nm
driver include:
@@ -65,7 +64,6 @@ Apple BMAC Onboard Ethernet
.It
Apple BMAC+ Onboard Ethernet
.El
-.Pp
.Sh SEE ALSO
.Xr altq 4 ,
.Xr hme 4 ,
diff --git a/share/man/man4/man4.powerpc/cuda.4 b/share/man/man4/man4.powerpc/cuda.4
index 4b4b218..f1faaf2 100644
--- a/share/man/man4/man4.powerpc/cuda.4
+++ b/share/man/man4/man4.powerpc/cuda.4
@@ -46,7 +46,7 @@ driver provides support for the CUDA VIA (Versatile Interface Attachment)
chip found in pre-Core99 Apple hardware, such as the Power Macintosh G3.
.Pp
The Apple CUDA controller is a multi-purpose ASIC that provides power
-control and an
+control and an
.Xr adb 4
interface.
.Sh HARDWARE
diff --git a/share/man/man4/man4.powerpc/smu.4 b/share/man/man4/man4.powerpc/smu.4
index 893522c..2550a0d 100644
--- a/share/man/man4/man4.powerpc/smu.4
+++ b/share/man/man4/man4.powerpc/smu.4
@@ -103,7 +103,7 @@ sensors in millivolts, and power sensors in milliwatts.
.Sh LED INTERFACE
The
.Nm
-driver provides an
+driver provides an
.Xr led 4
annunciator interface at
.Pa /dev/led/sleepled .
diff --git a/share/man/man4/man4.powerpc/snd_ai2s.4 b/share/man/man4/man4.powerpc/snd_ai2s.4
index dee0424..472a518 100644
--- a/share/man/man4/man4.powerpc/snd_ai2s.4
+++ b/share/man/man4/man4.powerpc/snd_ai2s.4
@@ -49,12 +49,11 @@ snd_ai2s_load="YES"
.Sh DESCRIPTION
The
.Nm
-driver provides support for the Apple I2S audio controllers found
+driver provides support for the Apple I2S audio controllers found
predominantly in G4 and G5 machines, along with the snapper and tumbler
codecs. Some machines (e.g. the Mac Mini) do not have configurable
codecs and so lack hardware volume control.
.Sh HARDWARE
-.Pp
Chips supported by the
.Nm
driver include:
@@ -65,7 +64,6 @@ Apple Tumbler Audio
.It
Apple Snapper Audio
.El
-.Pp
.Sh SEE ALSO
.Xr sound 4 ,
.Xr snd_davbus 4
diff --git a/share/man/man4/man4.powerpc/snd_davbus.4 b/share/man/man4/man4.powerpc/snd_davbus.4
index afdf906..e220de2 100644
--- a/share/man/man4/man4.powerpc/snd_davbus.4
+++ b/share/man/man4/man4.powerpc/snd_davbus.4
@@ -52,7 +52,6 @@ The
driver provides support for the Apple Davbus audio controllers found in
many G3-era Apple machines.
.Sh HARDWARE
-.Pp
Chips supported by the
.Nm
driver include:
@@ -63,7 +62,6 @@ Apple Burgundy Audio
.It
Apple Screamer Audio
.El
-.Pp
.Sh SEE ALSO
.Xr sound 4 ,
.Xr snd_ai2s 4
diff --git a/share/man/man4/md.4 b/share/man/man4/md.4
index 4d7e492..49b0069 100644
--- a/share/man/man4/md.4
+++ b/share/man/man4/md.4
@@ -76,7 +76,7 @@ The image in
.Pa /h/foo/ARM-MD
will be loaded as the initial image each boot.
To create the image to use, please follow the steps to create a file-backed
-disk found in the
+disk found in the
.Xr mdconfig 8
man page.
Other tools will also create these images, such as NanoBSD.
diff --git a/share/man/man4/mem.4 b/share/man/man4/mem.4
index 5dd2cb9..38c5110 100644
--- a/share/man/man4/mem.4
+++ b/share/man/man4/mem.4
@@ -101,8 +101,8 @@ The region cannot be written to.
Memory ranges are described by
.Vt struct mem_range_desc :
.Bd -literal -offset indent
-u_int64_t mr_base; /\(** physical base address \(**/
-u_int64_t mr_len; /\(** physical length of region \(**/
+uint64_t mr_base; /\(** physical base address \(**/
+uint64_t mr_len; /\(** physical length of region \(**/
int mr_flags; /\(** attributes of region \(**/
char mr_owner[8];
.Ed
diff --git a/share/man/man4/mld.4 b/share/man/man4/mld.4
index b761bb1..b6f3cee 100644
--- a/share/man/man4/mld.4
+++ b/share/man/man4/mld.4
@@ -52,7 +52,7 @@ itself, in response to multicast membership requests by user
applications.
Multicast routing protocol daemons may open a raw socket to directly
interact with
-.Nm
+.Nm
and receive membership reports.
.Pp
As of
diff --git a/share/man/man4/mmc.4 b/share/man/man4/mmc.4
index 867c6e7..95fe976 100644
--- a/share/man/man4/mmc.4
+++ b/share/man/man4/mmc.4
@@ -42,7 +42,7 @@ driver supports all MMC and SD bridges in the system.
All SD or MMC cards in the system attach to an instance of
.Nm .
The
-.Nm
+.Nm
bus typically has only one slot, and only memory cards.
MultiMediaCards exist only in memory.
SD Cards exist as memory, I/O, or combination cards.
diff --git a/share/man/man4/mos.4 b/share/man/man4/mos.4
index 84aaabc..2656dea 100644
--- a/share/man/man4/mos.4
+++ b/share/man/man4/mos.4
@@ -20,7 +20,7 @@
.Os
.Sh NAME
.Nm mos
-.Nd Moschip MCS7730/MCS7840 USB Ethernet driver
+.Nd Moschip MCS7730/MCS7830/MCS7832 USB Ethernet driver
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -43,10 +43,10 @@ if_mos_load="YES"
.Sh DESCRIPTION
The
.Nm
-driver provides support for USB Ethernet adapters based on the
-Moschip MCS7730/MCS7830 chipset.
+driver provides support for USB Ethernet adapters based on the
+Moschip MCS7730/MCS7830/MCS7832 chipset.
.Pp
-The adapters that contain the Moschip MCS7730/MCS7830 chipset
+The adapters that contain the Moschip MCS7730/MCS7830/MCS7832 chipset
will operate at 100Base-TX and full-duplex.
.Pp
The Moschip contains a 10/100
diff --git a/share/man/man4/mps.4 b/share/man/man4/mps.4
index 2899747..dbf35cd 100644
--- a/share/man/man4/mps.4
+++ b/share/man/man4/mps.4
@@ -1,7 +1,7 @@
-.\"
+.\"
.\" Copyright (c) 2010 Spectra Logic Corporation
.\" All rights reserved.
-.\"
+.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
@@ -13,7 +13,7 @@
.\" ("Disclaimer") and any redistribution must be conditioned upon
.\" including a substantially similar Disclaimer requirement for further
.\" binary redistribution.
-.\"
+.\"
.\" NO WARRANTY
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -26,15 +26,15 @@
.\" 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 DAMAGES.
-.\"
+.\"
.\" mps driver man page.
.\"
.\" Author: Ken Merry <ken@FreeBSD.org>
.\"
-.\" $Id: //depot/SpectraBSD/head/share/man/man4/mps.4#4 $
+.\" $Id: //depot/SpectraBSD/head/share/man/man4/mps.4#6 $
.\" $FreeBSD$
.\"
-.Dd September 13, 2010
+.Dd February 7, 2012
.Dt MPS 4
.Os
.Sh NAME
@@ -58,7 +58,7 @@ The
.Nm
driver provides support for LSI Logic Fusion-MPT 2
.Tn SAS
-controllers.
+controllers and WarpDrive solid state storage cards.
.Sh HARDWARE
The
.Nm
@@ -90,6 +90,16 @@ driver instances, set the following tunable value in
hw.mps.disable_msi=1
.Ed
.Pp
+To disable MSI interrupts for a specific
+.Nm
+driver instance, set the following tunable value in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+dev.mps.X.disable_msi=1
+.Ed
+.Pp
+where X is the adapter number.
+.Pp
To disable MSI-X interrupts for all
.Nm
driver instances, set the following tunable value in
@@ -98,19 +108,51 @@ driver instances, set the following tunable value in
hw.mps.disable_msix=1
.Ed
.Pp
-To allow the driver to send multiple task management commands (like abort,
-LUN reset, etc.), set the following variable:
+To disable MSI-X interrupts for a specific
+.Nm
+driver instance, set the following tunable value in
+.Xr loader.conf 5 :
.Bd -literal -offset indent
-hw.mps.X.allow_multiple_tm_cmds=1
+dev.mps.X.disable_msix=1
.Ed
.Pp
-via
-.Xr loader.conf 5
-or
-.Xr sysctl 8 ,
-where X is the adapter number.
-By default the driver only sends one task management command at a time, to
-avoid causing a potential controller lock-up.
+To set the maximum number of DMA chains allocated for all adapters,
+set the following variable in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+hw.mps.max_chains=NNNN
+.Ed
+.Pp
+To set the maximum number of DMA chains allocated for a specific adapter,
+set the following variable in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+dev.mps.X.max_chains=NNNN
+.Ed
+.Pp
+This variable may also be viewed via
+.Xr sysctl 8
+to see the maximum set for a given adapter.
+.Pp
+The current number of free chain frames may be seen via the
+dev.mps.X.chain_free
+.Xr sysctl 8
+variable.
+.Pp
+The lowest number of free chain frames may be seen via the
+dev.mps.X.chain_free_lowwater
+.Xr sysctl 8
+variable.
+.Pp
+The current number of active I/O commands is shown in the
+dev.mps.X.io_cmds_active
+.Xr sysctl 8
+variable.
+.Pp
+The maximum number of active I/O command seen since boot is shown in the
+dev.mps.X.io_cmds_highwater
+.Xr sysctl 8
+variable.
.Sh DEBUGGING
To enable debugging prints from the
.Nm
@@ -142,7 +184,9 @@ Enable prints for controller events.
.Xr pci 4 ,
.Xr sa 4 ,
.Xr scsi 4 ,
-.Xr targ 4
+.Xr targ 4 ,
+.Xr loader.conf 5 ,
+.Xr sysctl 8
.Sh HISTORY
The
.Nm
@@ -154,20 +198,19 @@ The
.Nm
driver was originally written by
.An Scott Long Aq scottl@FreeBSD.org .
+It has been improved and tested by LSI Logic Corporation.
This man page was written by
.An Ken Merry Aq ken@FreeBSD.org .
.Sh BUGS
-This driver is still in development, it has only been tested on the amd64
-architecture and has some known shortcomings:
+This driver has a couple of known shortcomings:
.Bl -bullet -compact
.It
-No IR (Integrated RAID) support.
-.It
-No userland utility support (e.g.
-.Xr mptutil 8).
+Not endian safe.
+It only works on little endian machines (e.g. amd64 and i386).
.It
-Sometimes the driver gets into a state where devices arrive and depart multiple
-times, without user intervention.
+No userland utility available (e.g.
+.Xr mptutil 8)
.It
-The error recovery code isn't complete.
+The driver probes devices sequentially.
+If your system has a large number of devices, the probe will take a while.
.El
diff --git a/share/man/man4/mtio.4 b/share/man/man4/mtio.4
index f3dd602..e8056e6 100644
--- a/share/man/man4/mtio.4
+++ b/share/man/man4/mtio.4
@@ -175,7 +175,7 @@ struct mtget {
#if defined (__FreeBSD__)
int32_t mt_blksiz; /* presently operating blocksize */
int32_t mt_density; /* presently operating density */
- u_int32_t mt_comp; /* presently operating compression */
+ uint32_t mt_comp; /* presently operating compression */
int32_t mt_blksiz0; /* blocksize for mode 0 */
int32_t mt_blksiz1; /* blocksize for mode 1 */
int32_t mt_blksiz2; /* blocksize for mode 2 */
@@ -185,10 +185,10 @@ struct mtget {
int32_t mt_density2; /* density for mode 2 */
int32_t mt_density3; /* density for mode 3 */
/* the following are not yet implemented */
- u_int32_t mt_comp0; /* compression type for mode 0 */
- u_int32_t mt_comp1; /* compression type for mode 1 */
- u_int32_t mt_comp2; /* compression type for mode 2 */
- u_int32_t mt_comp3; /* compression type for mode 3 */
+ uint32_t mt_comp0; /* compression type for mode 0 */
+ uint32_t mt_comp1; /* compression type for mode 1 */
+ uint32_t mt_comp2; /* compression type for mode 2 */
+ uint32_t mt_comp3; /* compression type for mode 3 */
/* end not yet implemented */
#endif
int32_t mt_fileno; /* relative file number of current position */
@@ -203,23 +203,23 @@ struct scsi_tape_errors {
* Check Condition noted for these operations. The act
* of issuing an MTIOCERRSTAT unlatches and clears them.
*/
- u_int8_t io_sense[32]; /* Last Sense Data For Data I/O */
+ uint8_t io_sense[32]; /* Last Sense Data For Data I/O */
int32_t io_resid; /* residual count from last Data I/O */
- u_int8_t io_cdb[16]; /* Command that Caused the Last Data Sense */
- u_int8_t ctl_sense[32]; /* Last Sense Data For Control I/O */
+ uint8_t io_cdb[16]; /* Command that Caused the Last Data Sense */
+ uint8_t ctl_sense[32]; /* Last Sense Data For Control I/O */
int32_t ctl_resid; /* residual count from last Control I/O */
- u_int8_t ctl_cdb[16]; /* Command that Caused the Last Control Sense */
+ uint8_t ctl_cdb[16]; /* Command that Caused the Last Control Sense */
/*
* These are the read and write cumulative error counters.
* (how to reset cumulative error counters is not yet defined).
* (not implemented as yet but space is being reserved for them)
*/
struct {
- u_int32_t retries; /* total # retries performed */
- u_int32_t corrected; /* total # corrections performed */
- u_int32_t processed; /* total # corrections successful */
- u_int32_t failures; /* total # corrections/retries failed */
- u_int64_t nbytes; /* total # bytes processed */
+ uint32_t retries; /* total # retries performed */
+ uint32_t corrected; /* total # corrections performed */
+ uint32_t processed; /* total # corrections successful */
+ uint32_t failures; /* total # corrections/retries failed */
+ uint64_t nbytes; /* total # bytes processed */
} wterr, rderr;
};
@@ -265,18 +265,18 @@ union mterrstat {
* rethink these ioctls to support all the entities they haul into
* the picture (64 bit blocks, logical file record numbers, etc..).
*/
-#define MTIOCRDSPOS _IOR('m', 5, u_int32_t) /* get logical blk addr */
-#define MTIOCRDHPOS _IOR('m', 6, u_int32_t) /* get hardware blk addr */
-#define MTIOCSLOCATE _IOW('m', 5, u_int32_t) /* seek to logical blk addr */
-#define MTIOCHLOCATE _IOW('m', 6, u_int32_t) /* seek to hardware blk addr */
+#define MTIOCRDSPOS _IOR('m', 5, uint32_t) /* get logical blk addr */
+#define MTIOCRDHPOS _IOR('m', 6, uint32_t) /* get hardware blk addr */
+#define MTIOCSLOCATE _IOW('m', 5, uint32_t) /* seek to logical blk addr */
+#define MTIOCHLOCATE _IOW('m', 6, uint32_t) /* seek to hardware blk addr */
#define MTIOCERRSTAT _IOR('m', 7, union mterrstat) /* get tape errors */
/*
* Set EOT model- argument is number of filemarks to end a tape with.
* Note that not all possible values will be accepted.
*/
-#define MTIOCSETEOTMODEL _IOW('m', 8, u_int32_t)
+#define MTIOCSETEOTMODEL _IOW('m', 8, uint32_t)
/* Get current EOT model */
-#define MTIOCGETEOTMODEL _IOR('m', 8, u_int32_t)
+#define MTIOCGETEOTMODEL _IOR('m', 8, uint32_t)
#ifndef _KERNEL
#define DEFTAPE "/dev/nsa0"
diff --git a/share/man/man4/mwl.4 b/share/man/man4/mwl.4
index 1864647..62dc29e 100644
--- a/share/man/man4/mwl.4
+++ b/share/man/man4/mwl.4
@@ -93,14 +93,14 @@ virtual interfaces may be configured for simultaneous use.
When multiple interfaces are configured each may have a separate
mac address that is formed by setting the U/L bits in the mac
address assigned to the underlying device.
-Any number of
+Any number of
.Cm wds
virtual interfaces may be configured together with
.Cm hostap
interfaces.
Multiple
.Cm station
-interfaces may be operated together with
+interfaces may be operated together with
.Cm hostap
interfaces to construct a wireless repeater device.
For more information on configuring this device, see
@@ -150,7 +150,7 @@ the fxp0 (wired) device:
.Bd -literal -offset indent
ifconfig wlan0 create wlandev mwl0 wlanmode hostap \e
ssid paying-customers wepmode on wepkey 0x1234567890 \e
- mode 11a up
+ mode 11a up
ifconfig wlan1 create wlandev mwl0 wlanmode hostap bssid \e
ssid freeloaders up
ifconfig bridge0 create addm wlan0 addm wlan1 addm fxp0 up
diff --git a/share/man/man4/natm.4 b/share/man/man4/natm.4
index 59e5559d3..a553f6e 100644
--- a/share/man/man4/natm.4
+++ b/share/man/man4/natm.4
@@ -23,11 +23,11 @@ The NATM layer uses a
to specify a virtual circuit:
.Bd -literal -offset indent
struct sockaddr_natm {
- u_int8_t snatm_len; /* length */
- u_int8_t snatm_family; /* AF_NATM */
+ uint8_t snatm_len; /* length */
+ uint8_t snatm_family; /* AF_NATM */
char snatm_if[IFNAMSIZ]; /* interface name */
- u_int16_t snatm_vci; /* vci */
- u_int8_t snatm_vpi; /* vpi */
+ uint16_t snatm_vci; /* vci */
+ uint8_t snatm_vpi; /* vpi */
};
.Ed
.Pp
diff --git a/share/man/man4/net80211.4 b/share/man/man4/net80211.4
index 693f6b9..20d71fe 100644
--- a/share/man/man4/net80211.4
+++ b/share/man/man4/net80211.4
@@ -64,7 +64,7 @@ This structure is defined as follows:
.Bd -literal
struct ieee80211req {
char i_name[IFNAMSIZ]; /* if_name, e.g. "wi0" */
- u_int16_t i_type; /* req type */
+ uint16_t i_type; /* req type */
int16_t i_val; /* Index or simple value */
int16_t i_len; /* Index or simple value */
void *i_data; /* Extra data */
@@ -199,7 +199,7 @@ Return the time between Beacon frames (in TU) in
.It Dv IEEE80211_IOC_BGSCAN
Return whether background scanning is enabled in
.Va i_val .
-When this value is non-zero and operating in station mode
+When this value is non-zero and operating in station mode
the station will periodically leave
the current channel and scan for neighboring stations.
See also
@@ -280,7 +280,7 @@ Return whether or not Dynamic Frequency Selection (DFS) is enabled in
DFS embodies several facilities including detection of overlapping
radar signals, dynamic transmit power control, and channel selection
according to a least-congested criteria.
-DFS support is mandatory for some 5Ghz frequencies in certain
+DFS support is mandatory for some 5GHz frequencies in certain
locales (e.g. ETSI).
By default DFS is enabled according to the regulatory definitions
and the current country code, regdomain, and channel.
@@ -343,7 +343,7 @@ Return, in
.Va i_val ,
whether SSID hiding/cloaking is enabled.
SSID hiding is only meaningful when operating as an access point.
-When this is enabled Beacon frames do not include the SSID and
+When this is enabled Beacon frames do not include the SSID and
ProbeRequest frames are not answered unless they include the AP's SSID.
This value will be non-zero when SSID hiding is enabled and otherwise zero.
.It Dv IEEE80211_IOC_HTCOMPAT
@@ -464,7 +464,7 @@ This value is also termed the listen interval and represents the maximum time
a station will sleep before waking to retrieve packets buffered by
an access point.
.It Dv IEEE80211_IOC_PRIVACY
-Return the current MLME setting for PRIVACY in
+Return the current MLME setting for PRIVACY in
.Va i_val .
When PRIVACY is enabled all data packets must be encrypted.
This value will be zero if PRIVACY is disabled and
@@ -1093,7 +1093,7 @@ Set the powersave sleep time in TU to the value in
.Va i_val .
This request causes a running interface to be reset.
.It Dv IEEE80211_IOC_PRIVACY
-Set the current MLME setting for PRIVACY using the value in
+Set the current MLME setting for PRIVACY using the value in
.Va i_val .
See
.Dv IEEE80211_IOC_PRIVACY
@@ -1205,7 +1205,7 @@ This request causes a running interface to be reset.
Set the current TDMA slot to the value in
.Va i_val .
Values must be in the range [0-slotcnt].
-Slot 0 identifies the master in the TDMA network; if it running it will
+Slot 0 identifies the master in the TDMA network; if it running it will
immediately start sending Beacon frames.
.It Dv IEEE80211_IOC_TDMA_SLOTCNT
Set the number of slots in the TDMA network to the value in
diff --git a/share/man/man4/netintro.4 b/share/man/man4/netintro.4
index c0629e1..9f05e48 100644
--- a/share/man/man4/netintro.4
+++ b/share/man/man4/netintro.4
@@ -32,7 +32,7 @@
.\" @(#)netintro.4 8.2 (Berkeley) 11/30/93
.\" $FreeBSD$
.\"
-.Dd April 14, 2010
+.Dd January 26, 2012
.Dt NETINTRO 4
.Os
.Sh NAME
@@ -231,19 +231,6 @@ struct ifreq {
};
.Ed
.Pp
-Calls which are now deprecated are:
-.Bl -tag -width SIOCGIFBRDADDR
-.It Dv SIOCSIFADDR
-Set interface address for protocol family.
-Following the address assignment, the
-.Dq initialization
-routine for the interface is called.
-.It Dv SIOCSIFDSTADDR
-Set point to point address for protocol family and interface.
-.It Dv SIOCSIFBRDADDR
-Set broadcast address for protocol family and interface.
-.El
-.Pp
.Fn Ioctl
requests to obtain addresses and requests both to set and
retrieve other data are still fully supported
@@ -400,7 +387,7 @@ boundaries.
.El
.Bd -literal
/*
-* Structure used in SIOCAIFCONF request.
+* Structure used in SIOCAIFADDR request.
*/
struct ifaliasreq {
char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */
diff --git a/share/man/man4/netmap.4 b/share/man/man4/netmap.4
index 1ad574d..8edcb02 100644
--- a/share/man/man4/netmap.4
+++ b/share/man/man4/netmap.4
@@ -21,14 +21,14 @@
.\" 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.
-.\"
+.\"
.\" This document is derived in part from the enet man page (enet.4)
.\" distributed with 4.3BSD Unix.
.\"
.\" $FreeBSD$
.\" $Id: netmap.4 9662 2011-11-16 13:18:06Z luigi $: stable/8/share/man/man4/bpf.4 181694 2008-08-13 17:45:06Z ed $
.\"
-.Dd November 16, 2011
+.Dd February 27, 2012
.Dt NETMAP 4
.Os
.Sh NAME
@@ -43,7 +43,7 @@ is a framework for fast and safe access to network devices
.Nm
uses memory mapped buffers and metadata
(buffer indexes and lengths) to communicate with the kernel,
-which is in charge of validating information through
+which is in charge of validating information through
.Pa ioctl()
and
.Pa select()/poll().
@@ -51,7 +51,6 @@ and
can exploit the parallelism in multiqueue devices and
multicore systems.
.Pp
-.Pp
.Nm
requires explicit support in device drivers.
For a list of supported devices, see the end of this manual page.
@@ -66,7 +65,7 @@ to bind the file descriptor to a network device.
When a device is put in
.Nm
mode, its data path is disconnected from the host stack.
-The processes owning the file descriptor
+The processes owning the file descriptor
can exchange packets with the device, or with the host stack,
through an mmapped memory region that contains pre-allocated
buffers and metadata.
@@ -89,7 +88,6 @@ are relative (offsets or indexes). Some macros help converting
them into actual pointers.
.Pp
The data structures in shared memory are the following:
-.Pp
.Bl -tag -width XXX
.It Dv struct netmap_if (one per interface)
indicates the number of rings supported by an interface, their
@@ -123,8 +121,9 @@ one ring pair (numbered N) for packets from/to the host stack.
struct netmap_ring {
const ssize_t buf_ofs;
const uint32_t num_slots; /* number of slots in the ring. */
- uint32_t avail; /* number of usable slots */
- uint32_t cur; /* 'current' index for the user side */
+ uint32_t avail; /* number of usable slots */
+ uint32_t cur; /* 'current' index for the user side */
+ uint32_t reserved; /* not refilled before current */
const uint16_t nr_buf_size;
uint16_t flags;
@@ -161,7 +160,6 @@ int i = txring->slot[txring->cur].buf_idx;
char *buf = NETMAP_BUF(txring, i);
.Ed
.Ss IOCTLS
-.Pp
.Nm
supports some ioctl() to synchronize the state of the rings
between the kernel and the user processes, plus some
@@ -173,10 +171,14 @@ defined as follows:
.Bd -literal
struct nmreq {
char nr_name[IFNAMSIZ];
+ uint32_t nr_version; /* API version */
+#define NETMAP_API 2 /* current version */
uint32_t nr_offset; /* nifp offset in the shared region */
uint32_t nr_memsize; /* size of the shared region */
- uint32_t nr_numdescs; /* descriptors per queue */
- uint16_t nr_numqueues;
+ uint32_t nr_tx_slots; /* slots in tx rings */
+ uint32_t nr_rx_slots; /* slots in rx rings */
+ uint16_t nr_tx_rings; /* number of tx rings */
+ uint16_t nr_rx_rings; /* number of tx rings */
uint16_t nr_ringid; /* ring(s) we care about */
#define NETMAP_HW_RING 0x4000 /* low bits indicate one hw ring */
#define NETMAP_SW_RING 0x2000 /* we process the sw ring */
@@ -199,8 +201,10 @@ and are:
returns information about the interface named in nr_name.
On return, nr_memsize indicates the size of the shared netmap
memory region (this is device-independent),
-nr_numslots indicates how many buffers are in a ring,
-nr_numrings indicates the number of rings supported by the hardware.
+nr_tx_slots and nr_rx_slots indicates how many buffers are in a
+transmit and receive ring,
+nr_tx_rings and nr_rx_rings indicates the number of transmit
+and receive rings supported by the hardware.
.Pp
If the device does not support netmap, the ioctl returns EINVAL.
.It Dv NIOCREGIF
@@ -266,6 +270,7 @@ struct netmap_request nmr;
fd = open("/dev/netmap", O_RDWR);
bzero(&nmr, sizeof(nmr));
strcpy(nmr.nm_name, "ix0");
+nmr.nm_version = NETMAP_API;
ioctl(fd, NIOCREG, &nmr);
p = mmap(0, nmr.memsize, fd);
nifp = NETMAP_IF(p, nmr.offset);
diff --git a/share/man/man4/ng_async.4 b/share/man/man4/ng_async.4
index bb6b0be..2349cb3 100644
--- a/share/man/man4/ng_async.4
+++ b/share/man/man4/ng_async.4
@@ -118,9 +118,9 @@ Sets the node configuration, which is described by a
.Bd -literal -offset 4n
struct ng_async_cfg {
u_char enabled; /* Turn encoding on/off */
- u_int16_t amru; /* Max receive async frame len */
- u_int16_t smru; /* Max receive sync frame len */
- u_int32_t accm; /* ACCM encoding */
+ uint16_t amru; /* Max receive async frame len */
+ uint16_t smru; /* Max receive sync frame len */
+ uint32_t accm; /* ACCM encoding */
};
.Ed
.Pp
diff --git a/share/man/man4/ng_bridge.4 b/share/man/man4/ng_bridge.4
index 8884e33..b00dc60 100644
--- a/share/man/man4/ng_bridge.4
+++ b/share/man/man4/ng_bridge.4
@@ -108,9 +108,9 @@ as an argument:
struct ng_bridge_config {
u_char ipfw[NG_BRIDGE_MAX_LINKS]; /* enable ipfw */
u_char debugLevel; /* debug level */
- u_int32_t loopTimeout; /* link loopback mute time */
- u_int32_t maxStaleness; /* max host age before nuking */
- u_int32_t minStableAge; /* min time for a stable host */
+ uint32_t loopTimeout; /* link loopback mute time */
+ uint32_t maxStaleness; /* max host age before nuking */
+ uint32_t minStableAge; /* min time for a stable host */
};
.Ed
.Pp
@@ -155,20 +155,20 @@ currently connected:
.Bd -literal -offset 0n
/* Statistics structure (one for each link) */
struct ng_bridge_link_stats {
- u_int64_t recvOctets; /* total octets rec'd on link */
- u_int64_t recvPackets; /* total pkts rec'd on link */
- u_int64_t recvMulticasts; /* multicast pkts rec'd on link */
- u_int64_t recvBroadcasts; /* broadcast pkts rec'd on link */
- u_int64_t recvUnknown; /* pkts rec'd with unknown dest addr */
- u_int64_t recvRunts; /* pkts rec'd less than 14 bytes */
- u_int64_t recvInvalid; /* pkts rec'd with bogus source addr */
- u_int64_t xmitOctets; /* total octets xmit'd on link */
- u_int64_t xmitPackets; /* total pkts xmit'd on link */
- u_int64_t xmitMulticasts; /* multicast pkts xmit'd on link */
- u_int64_t xmitBroadcasts; /* broadcast pkts xmit'd on link */
- u_int64_t loopDrops; /* pkts dropped due to loopback */
- u_int64_t loopDetects; /* number of loop detections */
- u_int64_t memoryFailures; /* times couldn't get mem or mbuf */
+ uint64_t recvOctets; /* total octets rec'd on link */
+ uint64_t recvPackets; /* total pkts rec'd on link */
+ uint64_t recvMulticasts; /* multicast pkts rec'd on link */
+ uint64_t recvBroadcasts; /* broadcast pkts rec'd on link */
+ uint64_t recvUnknown; /* pkts rec'd with unknown dest addr */
+ uint64_t recvRunts; /* pkts rec'd less than 14 bytes */
+ uint64_t recvInvalid; /* pkts rec'd with bogus source addr */
+ uint64_t xmitOctets; /* total octets xmit'd on link */
+ uint64_t xmitPackets; /* total pkts xmit'd on link */
+ uint64_t xmitMulticasts; /* multicast pkts xmit'd on link */
+ uint64_t xmitBroadcasts; /* broadcast pkts xmit'd on link */
+ uint64_t loopDrops; /* pkts dropped due to loopback */
+ uint64_t loopDetects; /* number of loop detections */
+ uint64_t memoryFailures; /* times couldn't get mem or mbuf */
};
.Ed
.It Dv NGM_BRIDGE_CLR_STATS
diff --git a/share/man/man4/ng_btsocket.4 b/share/man/man4/ng_btsocket.4
index 7db8178..22763f9 100644
--- a/share/man/man4/ng_btsocket.4
+++ b/share/man/man4/ng_btsocket.4
@@ -154,7 +154,7 @@ The Bluetooth L2CAP socket address is defined as follows:
struct sockaddr_l2cap {
u_char l2cap_len; /* total length */
u_char l2cap_family; /* address family */
- u_int16_t l2cap_psm; /* Protocol/Service Multiplexor */
+ uint16_t l2cap_psm; /* Protocol/Service Multiplexor */
bdaddr_t l2cap_bdaddr; /* address */
};
.Ed
@@ -272,7 +272,7 @@ struct sockaddr_rfcomm {
u_char rfcomm_len; /* total length */
u_char rfcomm_family; /* address family */
bdaddr_t rfcomm_bdaddr; /* address */
- u_int8_t rfcomm_channel; /* channel */
+ uint8_t rfcomm_channel; /* channel */
};
.Ed
.Ss Dv SOCK_STREAM Ss RFCOMM sockets
diff --git a/share/man/man4/ng_car.4 b/share/man/man4/ng_car.4
index a536fb7..79967e7 100644
--- a/share/man/man4/ng_car.4
+++ b/share/man/man4/ng_car.4
@@ -123,15 +123,15 @@ Return current node configuration as
.Vt "struct ng_car_bulkconf"
.Bd -literal
struct ng_car_hookconf {
- u_int64_t cbs; /* Committed burst size */
- u_int64_t ebs; /* Exceeded/Peak burst size */
- u_int64_t cir; /* Committed information rate */
- u_int64_t pir; /* Peak information rate */
- u_int8_t green_action; /* Action for green packets */
- u_int8_t yellow_action; /* Action for yellow packets */
- u_int8_t red_action; /* Action for red packets */
- u_int8_t mode; /* operation mode */
- u_int8_t opt; /* mode options */
+ uint64_t cbs; /* Committed burst size */
+ uint64_t ebs; /* Exceeded/Peak burst size */
+ uint64_t cir; /* Committed information rate */
+ uint64_t pir; /* Peak information rate */
+ uint8_t green_action; /* Action for green packets */
+ uint8_t yellow_action; /* Action for yellow packets */
+ uint8_t red_action; /* Action for red packets */
+ uint8_t mode; /* operation mode */
+ uint8_t opt; /* mode options */
};
/* possible actions (..._action) */
@@ -150,7 +150,7 @@ enum {
/* mode options (opt) */
#define NG_CAR_COUNT_PACKETS 2
-
+
struct ng_car_bulkconf {
struct ng_car_hookconf upstream;
struct ng_car_hookconf downstream;
@@ -161,12 +161,12 @@ Return node statistics as
.Vt "struct ng_car_bulkstats"
.Bd -literal
struct ng_car_hookstats {
- u_int64_t passed_pkts;
- u_int64_t droped_pkts;
- u_int64_t green_pkts;
- u_int64_t yellow_pkts;
- u_int64_t red_pkts;
- u_int64_t errors;
+ uint64_t passed_pkts;
+ uint64_t droped_pkts;
+ uint64_t green_pkts;
+ uint64_t yellow_pkts;
+ uint64_t red_pkts;
+ uint64_t errors;
};
struct ng_car_bulkstats {
diff --git a/share/man/man4/ng_ccatm.4 b/share/man/man4/ng_ccatm.4
index 3a9e121..1010c0f 100644
--- a/share/man/man4/ng_ccatm.4
+++ b/share/man/man4/ng_ccatm.4
@@ -110,7 +110,7 @@ The interface on these hooks is defined in
and uses a structure
.Bd -literal
struct ccatm_op {
- u_int32_t op; /* request code */
+ uint32_t op; /* request code */
u_char data[]; /* optional data */
};
.Ed
@@ -230,7 +230,7 @@ struct ngm_ccatm_get_addresses {
struct ngm_ccatm_address_req addr[0];
};
struct ngm_ccatm_address_req {
- u_int32_t port;
+ uint32_t port;
struct uni_addr addr;
};
.Ed
diff --git a/share/man/man4/ng_cisco.4 b/share/man/man4/ng_cisco.4
index d2b382f..e4300a0 100644
--- a/share/man/man4/ng_cisco.4
+++ b/share/man/man4/ng_cisco.4
@@ -148,8 +148,8 @@ Returns a
.Dv "struct ngciscostat" :
.Bd -literal -offset 4n
struct ngciscostat {
- u_int32_t seq_retries; /* # unack'd retries */
- u_int32_t keepalive_period; /* in seconds */
+ uint32_t seq_retries; /* # unack'd retries */
+ uint32_t keepalive_period; /* in seconds */
};
.Ed
.El
diff --git a/share/man/man4/ng_deflate.4 b/share/man/man4/ng_deflate.4
index 25ba5e8..11dc132 100644
--- a/share/man/man4/ng_deflate.4
+++ b/share/man/man4/ng_deflate.4
@@ -40,7 +40,7 @@
.Sh DESCRIPTION
The
.Nm deflate
-node type implements the Deflate sub-protocols of the Compression Control
+node type implements the Deflate sub-protocols of the Compression Control
Protocol (CCP).
.Pp
The node has two hooks,
@@ -111,7 +111,7 @@ The receiver should respond by sending a PPP CCP Reset-Request to the peer.
.Pp
This message may also be received by this node type when a CCP Reset-Request
or Reset-Ack is received by the local PPP entity.
-The node will respond by flushing its compression state so the sides
+The node will respond by flushing its compression state so the sides
can resynchronize.
.It Dv NGM_DEFLATE_GET_STATS Pq Li getstats
This control message obtains statistics for a given hook.
@@ -154,5 +154,5 @@ control message, or when hook have been disconnected.
.An Alexander Motin Aq mav@alkar.net
.Sh BUGS
Due to nature of netgraph PPP implementation there are possible race conditions
-between data packet and ResetAck CCP packet in case of packet loss. As result,
+between data packet and ResetAck CCP packet in case of packet loss. As result,
packet loss can produce bigger performance degradation than supposed by protocol.
diff --git a/share/man/man4/ng_etf.4 b/share/man/man4/ng_etf.4
index 18bb99e..bc42726 100644
--- a/share/man/man4/ng_etf.4
+++ b/share/man/man4/ng_etf.4
@@ -102,7 +102,7 @@ are specified in a structure of type
.Bd -literal -offset 4n
struct ng_etffilter {
char matchhook[NG_HOOKSIZ]; /* hook name */
- u_int16_t ethertype; /* catch these */
+ uint16_t ethertype; /* catch these */
};
.Ed
.El
diff --git a/share/man/man4/ng_hci.4 b/share/man/man4/ng_hci.4
index 28de180..0234d41 100644
--- a/share/man/man4/ng_hci.4
+++ b/share/man/man4/ng_hci.4
@@ -133,9 +133,9 @@ The next sections specify the HCI packet formats.
.Bd -literal -offset indent
#define NG_HCI_CMD_PKT 0x01
typedef struct {
- u_int8_t type; /* MUST be 0x1 */
- u_int16_t opcode; /* OpCode */
- u_int8_t length; /* parameter(s) length in bytes */
+ uint8_t type; /* MUST be 0x1 */
+ uint16_t opcode; /* OpCode */
+ uint8_t length; /* parameter(s) length in bytes */
} __attribute__ ((packed)) ng_hci_cmd_pkt_t;
.Ed
.Pp
@@ -156,9 +156,9 @@ Controller to the Host.
.Bd -literal -offset indent
#define NG_HCI_EVENT_PKT 0x04
typedef struct {
- u_int8_t type; /* MUST be 0x4 */
- u_int8_t event; /* event */
- u_int8_t length; /* parameter(s) length in bytes */
+ uint8_t type; /* MUST be 0x4 */
+ uint8_t event; /* event */
+ uint8_t length; /* parameter(s) length in bytes */
} __attribute__ ((packed)) ng_hci_event_pkt_t;
.Ed
.Pp
@@ -168,9 +168,9 @@ when events occur.
.Bd -literal -offset indent
#define NG_HCI_ACL_DATA_PKT 0x02
typedef struct {
- u_int8_t type; /* MUST be 0x2 */
- u_int16_t con_handle; /* connection handle + PB + BC flags */
- u_int16_t length; /* payload length in bytes */
+ uint8_t type; /* MUST be 0x2 */
+ uint16_t con_handle; /* connection handle + PB + BC flags */
+ uint16_t length; /* payload length in bytes */
} __attribute__ ((packed)) ng_hci_acldata_pkt_t;
.Ed
.Pp
@@ -180,9 +180,9 @@ Host Controller.
.Bd -literal -offset indent
#define NG_HCI_SCO_DATA_PKT 0x03
typedef struct {
- u_int8_t type; /* MUST be 0x3 */
- u_int16_t con_handle; /* connection handle + reserved bits */
- u_int8_t length; /* payload length in bytes */
+ uint8_t type; /* MUST be 0x3 */
+ uint16_t con_handle; /* connection handle + reserved bits */
+ uint8_t length; /* payload length in bytes */
} __attribute__ ((packed)) ng_hci_scodata_pkt_t;
.Ed
.Pp
@@ -216,9 +216,9 @@ Netgraph message defined as follows.
.Bd -literal -offset indent
#define NGM_HCI_NODE_UP 112 /* HCI -> Upper */
typedef struct {
- u_int16_t pkt_size; /* max. ACL/SCO packet size (w/o hdr) */
- u_int16_t num_pkts; /* ACL/SCO packet queue size */
- u_int16_t reserved; /* place holder */
+ uint16_t pkt_size; /* max. ACL/SCO packet size (w/o hdr) */
+ uint16_t num_pkts; /* ACL/SCO packet queue size */
+ uint16_t reserved; /* place holder */
bdaddr_t bdaddr; /* bdaddr */
} ng_hci_node_up_ep;
.Ed
@@ -244,8 +244,8 @@ Netgraph message is defined as follows.
.Bd -literal -offset indent
#define NGM_HCI_SYNC_CON_QUEUE 113 /* HCI -> Upper */
typedef struct {
- u_int16_t con_handle; /* connection handle */
- u_int16_t completed; /* number of completed packets */
+ uint16_t con_handle; /* connection handle */
+ uint16_t completed; /* number of completed packets */
} ng_hci_sync_con_queue_ep;
.Ed
.Sh HOOKS
diff --git a/share/man/man4/ng_ksocket.4 b/share/man/man4/ng_ksocket.4
index d20ee46..e74f61a 100644
--- a/share/man/man4/ng_ksocket.4
+++ b/share/man/man4/ng_ksocket.4
@@ -34,7 +34,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 28, 2005
+.Dd January 09, 2012
.Dt NG_KSOCKET 4
.Os
.Sh NAME
@@ -199,7 +199,7 @@ For
the address is the pathname as a doubly quoted string.
.Pp
Examples:
-.Bl -tag -width XXXXXXXXXX
+.Bl -tag -width "PF_LOCAL"
.It Dv PF_LOCAL
local/"/tmp/foo.socket"
.It Dv PF_INET
@@ -215,6 +215,12 @@ the normal
form for that structure is used.
In the future, more
convenient encoding of the more common socket options may be supported.
+.Pp
+Setting socket options example:
+.Bl -tag -width "PF_LOCAL"
+.It Set FIB 2 for a socket (SOL_SOCKET, SO_SETFIB):
+.Dv "setopt \&{ level=0xffff name=0x1014 data=[ 2 ] \&}"
+.El
.Sh SHUTDOWN
This node shuts down upon receipt of a
.Dv NGM_SHUTDOWN
diff --git a/share/man/man4/ng_l2cap.4 b/share/man/man4/ng_l2cap.4
index d4b7815..949b039 100644
--- a/share/man/man4/ng_l2cap.4
+++ b/share/man/man4/ng_l2cap.4
@@ -310,9 +310,9 @@ appropriate upstream hook and must be prepended with header defined as follows.
.Bd -literal -offset indent
/* L2CA data packet header */
typedef struct {
- u_int32_t token; /* token to use in L2CAP_L2CA_WRITE */
- u_int16_t length; /* length of the data */
- u_int16_t lcid; /* local channel ID */
+ uint32_t token; /* token to use in L2CAP_L2CA_WRITE */
+ uint16_t length; /* length of the data */
+ uint16_t lcid; /* local channel ID */
} __attribute__ ((packed)) ng_l2cap_l2ca_hdr_t;
.Ed
.Pp
diff --git a/share/man/man4/ng_l2tp.4 b/share/man/man4/ng_l2tp.4
index 49fedf1..c556a49 100644
--- a/share/man/man4/ng_l2tp.4
+++ b/share/man/man4/ng_l2tp.4
@@ -115,11 +115,11 @@ as an argument:
struct ng_l2tp_config {
u_char enabled; /* enables traffic flow */
u_char match_id; /* tunnel id must match 'tunnel_id' */
- u_int16_t tunnel_id; /* local tunnel id */
- u_int16_t peer_id; /* peer's tunnel id */
- u_int16_t peer_win; /* peer's max recv window size */
- u_int16_t rexmit_max; /* max retransmits before failure */
- u_int16_t rexmit_max_to; /* max delay between retransmits */
+ uint16_t tunnel_id; /* local tunnel id */
+ uint16_t peer_id; /* peer's tunnel id */
+ uint16_t peer_win; /* peer's max recv window size */
+ uint16_t rexmit_max; /* max retransmits before failure */
+ uint16_t rexmit_max_to; /* max delay between retransmits */
};
.Ed
.Pp
@@ -197,8 +197,8 @@ The argument is a
.Bd -literal
/* Configuration for a session hook */
struct ng_l2tp_sess_config {
- u_int16_t session_id; /* local session id */
- u_int16_t peer_id; /* peer's session id */
+ uint16_t session_id; /* local session id */
+ uint16_t peer_id; /* peer's session id */
u_char control_dseq; /* we control data sequencing? */
u_char enable_dseq; /* enable data sequencing? */
u_char include_length; /* include length field? */
diff --git a/share/man/man4/ng_mppc.4 b/share/man/man4/ng_mppc.4
index a146228..df3b3a7 100644
--- a/share/man/man4/ng_mppc.4
+++ b/share/man/man4/ng_mppc.4
@@ -106,7 +106,7 @@ as an argument:
/* Configuration for a session */
struct ng_mppc_config {
u_char enable; /* enable */
- u_int32_t bits; /* config bits */
+ uint32_t bits; /* config bits */
u_char startkey[MPPE_KEY_LEN]; /* start key */
};
diff --git a/share/man/man4/ng_nat.4 b/share/man/man4/ng_nat.4
index cc89703..9a3e9bc 100644
--- a/share/man/man4/ng_nat.4
+++ b/share/man/man4/ng_nat.4
@@ -60,7 +60,7 @@ Configure aliasing address for a node.
After both hooks have been connected and aliasing address was configured,
a node is ready for aliasing operation.
.It Dv NGM_NAT_SET_MODE Pq Li setmode
-Set node's operation mode using supplied
+Set node's operation mode using supplied
.Vt "struct ng_nat_mode".
.Bd -literal
struct ng_nat_mode {
@@ -78,7 +78,7 @@ struct ng_nat_mode {
.Ed
.It Dv NGM_NAT_SET_TARGET Pq Li settarget
Configure target address for a node.
-When an incoming packet not associated with any pre-existing aliasing
+When an incoming packet not associated with any pre-existing aliasing
link arrives at the host machine, it will be sent to the specified address.
.It Dv NGM_NAT_REDIRECT_PORT Pq Li redirectport
Redirect incoming connections arriving to given port(s) to
diff --git a/share/man/man4/ng_netflow.4 b/share/man/man4/ng_netflow.4
index 914489b..ca00201 100644
--- a/share/man/man4/ng_netflow.4
+++ b/share/man/man4/ng_netflow.4
@@ -61,7 +61,6 @@ The default is 15 seconds.
.Pp
Node supports IPv6 accounting (NetFlow v9 only) and is aware of multiple fibs.
Different fibs are mapped to different domain_id in NetFlow V9 and different engine_id in NetFlow V5.
-.Pp
.Sh HOOKS
This node type supports up to
.Dv NG_NETFLOW_MAXIFACES
@@ -72,9 +71,9 @@ and the same number of hooks named
.Va out0 , out1 ,
etc.,
plus two export hooks:
-.Va export
+.Va export
(for NetFlow version 5) and
-.Va export9
+.Va export9
(for NetFlow version 9). Export can be done simultaneously for all supported
export hooks. By default (ingress NetFlow enabled) node does NetFlow accounting of data
received on
@@ -148,8 +147,8 @@ This message requires
as an argument:
.Bd -literal -offset 4n
struct ng_netflow_setifindex {
- u_int16_t iface; /* which iface to operate on */
- u_int16_t index; /* new index */
+ uint16_t iface; /* which iface to operate on */
+ uint16_t index; /* new index */
};
.Ed
.Pp
@@ -175,8 +174,8 @@ This message requires
as an argument:
.Bd -literal -offset 4n
struct ng_netflow_setconfig {
- u_int16_t iface;
- u_int32_t conf;
+ uint16_t iface;
+ uint32_t conf;
#define NG_NETFLOW_CONF_INGRESS 1
#define NG_NETFLOW_CONF_EGRESS 2
#define NG_NETFLOW_CONF_ONCE 4
@@ -194,7 +193,7 @@ if it several times passes via exactly this netflow node. Last two options are
important to avoid duplicate accounting when both ingress and egress NetFlow
are enabled.
.It Dv NGM_NETFLOW_SETTEMPLATE
-Sets various timeouts to announce data flow templates
+Sets various timeouts to announce data flow templates
(NetFlow v9-specific). This message requires
.Vt "struct ng_netflow_settemplate"
as an argument:
@@ -209,7 +208,7 @@ Value of time field represents time in seconds to re-announce data templates.
Value of packets field represents maximum packets count between
re-announcing data templates.
.It Dv NGM_NETFLOW_SETMTU
-Sets export interface MTU to build packets of specified size (NetFlow v9-specific).
+Sets export interface MTU to build packets of specified size (NetFlow v9-specific).
This message requires
.Vt "struct ng_netflow_setmtu"
as an argument:
diff --git a/share/man/man4/ng_one2many.4 b/share/man/man4/ng_one2many.4
index 434ea73..948b763 100644
--- a/share/man/man4/ng_one2many.4
+++ b/share/man/man4/ng_one2many.4
@@ -156,8 +156,8 @@ as the control message argument:
.Bd -literal
/* Node configuration structure */
struct ng_one2many_config {
- u_int32_t xmitAlg; /* how to distribute packets */
- u_int32_t failAlg; /* how to detect link failure */
+ uint32_t xmitAlg; /* how to distribute packets */
+ uint32_t failAlg; /* how to detect link failure */
u_char enabledLinks[NG_ONE2MANY_MAX_LINKS];
};
.Ed
@@ -187,10 +187,10 @@ link, which may or may not be currently connected:
.Bd -literal
/* Statistics structure (one for each link) */
struct ng_one2many_link_stats {
- u_int64_t recvOctets; /* total octets rec'd on link */
- u_int64_t recvPackets; /* total pkts rec'd on link */
- u_int64_t xmitOctets; /* total octets xmit'd on link */
- u_int64_t xmitPackets; /* total pkts xmit'd on link */
+ uint64_t recvOctets; /* total octets rec'd on link */
+ uint64_t recvPackets; /* total pkts rec'd on link */
+ uint64_t xmitOctets; /* total octets xmit'd on link */
+ uint64_t xmitPackets; /* total pkts xmit'd on link */
};
.Ed
.Pp
diff --git a/share/man/man4/ng_patch.4 b/share/man/man4/ng_patch.4
index 4937327..e223c39 100644
--- a/share/man/man4/ng_patch.4
+++ b/share/man/man4/ng_patch.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 9, 2010
+.Dd March 5, 2012
.Dt NG_PATCH 4
.Os
.Sh NAME
@@ -164,7 +164,7 @@ Here
.Dq Li ttl_add
node of type
.Nm
-configured to add (mode
+configured to add (mode
.Dv NG_PATCH_MODE_ADD )
a
.Va value
@@ -185,7 +185,7 @@ So you do:
{ mode=7 value=0xf7 length=1 offset=1 } \e
{ mode=8 value=0x02 length=1 offset=1 } ] }
SEQ
-/sbin/ipfw add 160 netgraph 600 ip from any to any not dst-port 80
+/sbin/ipfw add 160 netgraph 300 ip from any to any not dst-port 80
.Ed
.Pp
This first does
diff --git a/share/man/man4/ng_ppp.4 b/share/man/man4/ng_ppp.4
index 9fd72ca..050d639 100644
--- a/share/man/man4/ng_ppp.4
+++ b/share/man/man4/ng_ppp.4
@@ -132,9 +132,9 @@ Compression is supported via two hooks,
.Dv compress
and
.Dv decompress .
-Compression and decompression can be enabled by toggling the
+Compression and decompression can be enabled by toggling the
.Vt enableCompression
-and
+and
.Vt enableDecompression
fields of the node configuration structure.
(See below.)
@@ -143,23 +143,23 @@ If
is set to
.Dv NG_PPP_COMPRESS_SIMPLE ,
then all outgoing frames are sent to the
-.Dv compress
+.Dv compress
hook and all packets received on this hook are expected to be
compressed, so the COMPD tag is put on them unconditionally.
If
.Vt enableCompression
is set to
.Dv NG_PPP_COMPRESS_FULL ,
-then packets received on the
-.Dv compress
+then packets received on the
+.Dv compress
hook are resent as is.
The compressor node should put the tag, if the packet was compressed.
-If
+If
.Vt enableDecompression
-is set to
+is set to
.Dv NG_PPP_DECOMPRESS_SIMPLE ,
then the node will sent to the
-.Dv decompress
+.Dv decompress
hook only those frames, that are marked with the COMPD tag.
If
.Vt enableDecompression
@@ -355,14 +355,14 @@ struct ng_ppp_link_conf {
u_char enableLink; /* enable this link */
u_char enableProtoComp;/* enable protocol field compression */
u_char enableACFComp; /* enable addr/ctrl field compression */
- u_int16_t mru; /* peer MRU */
- u_int32_t latency; /* link latency (in milliseconds) */
- u_int32_t bandwidth; /* link bandwidth (in bytes/second) */
+ uint16_t mru; /* peer MRU */
+ uint32_t latency; /* link latency (in milliseconds) */
+ uint32_t bandwidth; /* link bandwidth (in bytes/second) */
};
/* Bundle config structure */
struct ng_ppp_bund_conf {
- u_int16_t mrru; /* multilink peer MRRU */
+ uint16_t mrru; /* multilink peer MRRU */
u_char enableMultilink; /* enable multilink */
u_char recvShortSeq; /* recv multilink short seq # */
u_char xmitShortSeq; /* xmit multilink short seq # */
@@ -396,7 +396,7 @@ Here
.Dv NG_PPP_BUNDLE_LINKNUM
is a valid link number corresponding to the multi-link bundle.
.It Dv NGM_PPP_GET_LINK_STATS64
-Same as NGM_PPP_GET_LINK_STATS but returns
+Same as NGM_PPP_GET_LINK_STATS but returns
.Dv "struct ng_ppp_link_stat64"
containing 64bit counters.
.It Dv NGM_PPP_CLR_LINK_STATS
@@ -407,7 +407,7 @@ Same as
.Dv NGM_PPP_GET_LINK_STATS ,
but also atomically clears the statistics as well.
.It Dv NGM_PPP_GETCLR_LINK_STATS64
-Same as NGM_PPP_GETCLR_LINK_STATS but returns
+Same as NGM_PPP_GETCLR_LINK_STATS but returns
.Dv "struct ng_ppp_link_stat64"
containing 64bit counters.
.El
diff --git a/share/man/man4/ng_pppoe.4 b/share/man/man4/ng_pppoe.4
index 32efa69..e7a9939 100644
--- a/share/man/man4/ng_pppoe.4
+++ b/share/man/man4/ng_pppoe.4
@@ -148,7 +148,7 @@ The three commands above use a common data structure:
.Bd -literal -offset 4n
struct ngpppoe_init_data {
char hook[NG_HOOKSIZ]; /* hook to monitor on */
- u_int16_t data_len; /* service name length */
+ uint16_t data_len; /* service name length */
char data[0]; /* init data goes here */
};
.Ed
@@ -345,8 +345,8 @@ setup(char *ethername, char *service, char *sessname,
* The following is available about the node:
* ninfo->name (string)
* ninfo->type (string)
- * ninfo->id (u_int32_t)
- * ninfo->hooks (u_int32_t) (count of hooks)
+ * ninfo->id (uint32_t)
+ * ninfo->hooks (uint32_t) (count of hooks)
* check it is the correct type. and get it's ID for use
* with mkpeer later.
*/
@@ -366,8 +366,8 @@ setup(char *ethername, char *service, char *sessname,
* link->peerhook (string)
* peer->name (string)
* peer->type (string)
- * peer->id (u_int32_t)
- * peer->hooks (u_int32_t)
+ * peer->id (uint32_t)
+ * peer->hooks (uint32_t)
*/
link = &hlist->link[k];
peer = &hlist->link[k].nodeinfo;
diff --git a/share/man/man4/ng_pptpgre.4 b/share/man/man4/ng_pptpgre.4
index 89557dc..e0d41f1 100644
--- a/share/man/man4/ng_pptpgre.4
+++ b/share/man/man4/ng_pptpgre.4
@@ -97,10 +97,10 @@ struct ng_pptpgre_conf {
u_char enableDelayedAck; /* enables delayed acks */
u_char enableAlwaysAck; /* always send ack with data */
u_char enableWindowing; /* enable windowing algorithm */
- u_int16_t cid; /* my call id */
- u_int16_t peerCid; /* peer call id */
- u_int16_t recvWin; /* peer recv window size */
- u_int16_t peerPpd; /* peer packet processing delay
+ uint16_t cid; /* my call id */
+ uint16_t peerCid; /* peer call id */
+ uint16_t recvWin; /* peer recv window size */
+ uint16_t peerPpd; /* peer packet processing delay
(in 1/10 of a second) */
};
.Ed
diff --git a/share/man/man4/ng_pred1.4 b/share/man/man4/ng_pred1.4
index 0048962..a8c8c5e 100644
--- a/share/man/man4/ng_pred1.4
+++ b/share/man/man4/ng_pred1.4
@@ -38,7 +38,7 @@
.Sh DESCRIPTION
The
.Nm pred1
-node type implements the Predictor-1 sub-protocols of the Compression Control
+node type implements the Predictor-1 sub-protocols of the Compression Control
Protocol (CCP).
.Pp
The node has two hooks,
@@ -98,7 +98,7 @@ The receiver should respond by sending a PPP CCP Reset-Request to the peer.
.Pp
This message may also be received by this node type when a CCP Reset-Request
or Reset-Ack is received by the local PPP entity.
-The node will respond by flushing its compression state so the sides
+The node will respond by flushing its compression state so the sides
can resynchronize.
.It Dv NGM_PRED1_GET_STATS Pq Li getstats
This control message obtains statistics for a given hook.
@@ -141,5 +141,5 @@ control message, or when hook have been disconnected.
.An Alexander Motin Aq mav@alkar.net
.Sh BUGS
Due to nature of netgraph PPP implementation there are possible race conditions
-between data packet and ResetAck CCP packet in case of packet loss. As result,
+between data packet and ResetAck CCP packet in case of packet loss. As result,
packet loss can produce bigger performance degradation than supposed by protocol.
diff --git a/share/man/man4/ng_tty.4 b/share/man/man4/ng_tty.4
index 75e1b40..dc73e58 100644
--- a/share/man/man4/ng_tty.4
+++ b/share/man/man4/ng_tty.4
@@ -57,7 +57,7 @@ and frames received on
.Dv hook
are transmitted out on the tty device.
No modification to the data is performed in either direction.
-While the hook is installed on a tty, the normal read and write
+While the hook is installed on a tty, the normal read and write
operations are unavailable, returning
.Er EIO .
.Pp
diff --git a/share/man/man4/nvram2env.4 b/share/man/man4/nvram2env.4
index 5176097..36423fb 100644
--- a/share/man/man4/nvram2env.4
+++ b/share/man/man4/nvram2env.4
@@ -31,7 +31,7 @@
.Nm nvram2env
.Nd "copy nvram-like data into kernel environment"
.Sh SYNOPSIS
-.Cd "device nvram2env"
+.Cd "device nvram2env"
.Sh DESCRIPTION
.Nm
implements a simple method of reading the NVRAM-like data and information
@@ -44,7 +44,7 @@ the string name, "=" delimiter and the string value.
.Nm
copies the environment values into kernel environment using the kernel setenv call.
.Pp
-Configuration of
+Configuration of
.Nm
is done in
.Xr device.hints 5
@@ -69,7 +69,7 @@ compatible, please set it to "1".
Use format "Generic", skip uint32_t field, then zero terminating array of
strings.
.It Fa 0x0004
-Use Broadcom CFE format. uint32_t signature "FLSH", uint32_t size,
+Use Broadcom CFE format. uint32_t signature "FLSH", uint32_t size,
three unused fields uint32_t, then data.
.It Fa 0x0008
Use U-Boot format, uint32_t crc, then zero terminating array of strings.
@@ -101,7 +101,6 @@ hint.nvram.0.base=0x1fc00400
.Ed
.Pp
Dynamic, editable form CFE, override values from first
-.Pp
.Bd -literal -offset indent
hint.nvram.1.flags=0x05 # Broadcom + nocheck
hint.nvram.1.base=0x1cff8000
diff --git a/share/man/man4/nxge.4 b/share/man/man4/nxge.4
index 4550535..8d94afc 100644
--- a/share/man/man4/nxge.4
+++ b/share/man/man4/nxge.4
@@ -48,8 +48,8 @@ if_nxge_load="YES"
The
.Nm
driver provides support for Neterion Xframe-I and Xframe-II adapters.
-The driver supports TCP Segmentation Offload (TSO/LSO),
-Large Receive Offload (LRO), Jumbo Frames (5 buffer mode),
+The driver supports TCP Segmentation Offload (TSO/LSO),
+Large Receive Offload (LRO), Jumbo Frames (5 buffer mode),
Header Separation (Rx 2 buffer mode), VLAN, and Promiscuous mode.
.Pp
For general information and support, please visit the Neterion support page
diff --git a/share/man/man4/oce.4 b/share/man/man4/oce.4
new file mode 100644
index 0000000..78043ff
--- /dev/null
+++ b/share/man/man4/oce.4
@@ -0,0 +1,135 @@
+.\" Copyright (C) 2012 Emulex
+.\" 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 Emulex Corporation 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 OWNER 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.
+.\"
+.\" Contact Information:
+.\" freebsd-drivers@emulex.com
+.\"
+.\" Emulex
+.\" 3333 Susan Street
+.\" Costa Mesa, CA 92626
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 19, 2012
+.Dt OCE 4
+.Os
+.Sh NAME
+.Nm oce
+.Nd "Device driver for Emulex OneConnect 10Gb network adapters"
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device pci"
+.Cd "device oce"
+.Ed
+.Pp
+Alternatively, to load the driver as a
+module at boot time, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+if_oce_load="YES"
+.Ed
+.Sh DESCRIPTION
+Emulex OneConnect adapters come in various skews and with
+different combinations of NIC, FCoE and iSCSI functions.
+The
+.Nm
+driver claims the NIC functions in all these adapters.
+.Pp
+The
+.Nm
+driver supports VLAN Hardware offload, TCP checksum offload,
+TCP segmentation offload (TSO), Large receive offload (LRO),
+Bonding, Jumbo frames (from 1500 - 9000), Multiple TX queues,
+Receive-Side Scaling (RSS) and MSI-X interrupts.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following network adapters:
+.Pp
+.Bl -bullet -compact
+.It
+Emulex BladeEngine 2
+.It
+Emulex BladeEngine 3
+.It
+Emulex Lancer
+.El
+.Sh UPDATING FIRMWARE
+Adapter firmware updates are persistent.
+.Pp
+Firmware can be updated by following the steps below:
+.Bl -enum
+.It
+Copy the below code to a Makefile:
+.Bd -literal -offset indent
+\&.KMOD=elxflash
+FIRMWS=imagename.ufi:elxflash
+\&.include <bsd.kmod.mk>
+.Ed
+.It
+Replace imagename in above with UFI file name
+.It
+Copy Makefile and UFI file to a directory
+.It
+Execute make & copy generated elxflash.ko to
+.Pa /lib/modules
+.It
+sysctl dev.oce.<if_id>.fw_upgrade=elxflash
+.It
+Reboot the machine
+.El
+.Pp
+In case of issues with supplied UFI, flashing fails with one
+of the following errors.
+.Pp
+.Bl -enum -compact
+.It
+.Qq Invalid BE3 firmware image
+.It
+.Qq "Invalid Cookie. Firmware image corrupted ?"
+.It
+.Qq cmd to write to flash rom failed.
+.El
+.Sh SUPPORT
+For general information and support,
+go to the Emulex website at:
+.Pa http://www.Emulex.com/
+or E-Mail at
+.Pa freebsd-drivers@emulex.com .
+.Sh SEE ALSO
+.Xr ifconfig 8
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An freebsd-drivers@emulex.com .
diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4
index 333033d..1ac5844 100644
--- a/share/man/man4/pcm.4
+++ b/share/man/man4/pcm.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 31, 2011
+.Dd March 22, 2012
.Dt SOUND 4
.Os
.Sh NAME
@@ -85,11 +85,11 @@ The following bridge device drivers are available:
.It
.Xr snd_audiocs 4 (enabled by default on sparc64)
.It
-.Xr snd_cmi 4
+.Xr snd_cmi 4 (enabled by default on amd64, i386)
.It
.Xr snd_cs4281 4
.It
-.Xr snd_csa 4
+.Xr snd_csa 4 (enabled by default on amd64, i386)
.It
.Xr snd_davbus 4 (enabled by default on powerpc)
.It
@@ -97,7 +97,7 @@ The following bridge device drivers are available:
.It
.Xr snd_emu10k1 4
.It
-.Xr snd_emu10kx 4
+.Xr snd_emu10kx 4 (enabled by default on amd64, i386)
.It
.Xr snd_envy24 4
.It
@@ -113,6 +113,8 @@ The following bridge device drivers are available:
.It
.Xr snd_hda 4 (enabled by default on amd64, i386)
.It
+.Xr snd_hdspe 4
+.It
.Xr snd_ich 4 (enabled by default on amd64, i386)
.It
.Xr snd_maestro 4
@@ -324,8 +326,17 @@ for Linux applications, and deny for everything else.
Always allow PROT_EXEC page mappings.
.El
.It Va hw.snd.default_auto
-Enable to automatically assign default sound unit to the most recent
-attached device.
+Automatically assign the default sound unit.
+The following values are supported (default is 1):
+.Bl -tag -width 2n
+.It 0
+Do not assign the default sound unit automatically.
+.It 1
+Use the best available sound device based on playing and recording
+capabilities of the device.
+.It 2
+Use the most recently attached device.
+.El
.It Va hw.snd.default_unit
Default sound card for systems with multiple sound cards.
When using
@@ -714,6 +725,7 @@ A device node is not created properly.
.Xr snd_fm801 4 ,
.Xr snd_gusc 4 ,
.Xr snd_hda 4 ,
+.Xr snd_hdspe 4 ,
.Xr snd_ich 4 ,
.Xr snd_maestro 4 ,
.Xr snd_maestro3 4 ,
diff --git a/share/man/man4/ppbus.4 b/share/man/man4/ppbus.4
index 4a873056..327b7c9 100644
--- a/share/man/man4/ppbus.4
+++ b/share/man/man4/ppbus.4
@@ -61,7 +61,6 @@ that allows parallel port access from outside the kernel without conflicting
with kernel-in drivers.
.El
.Ss Developing new drivers
-.Pp
The ppbus system has been designed to support the development of standard
and non-standard software:
.Pp
@@ -74,7 +73,6 @@ It uses standard and non-standard parallel port accesses.
.It Sy lpbb Ta "Philips official parallel port I2C bit-banging interface"
.El
.Ss Porting existing drivers
-.Pp
Another approach to the ppbus system is to port existing drivers.
Various drivers have already been ported:
.Pp
@@ -274,7 +272,6 @@ propose an arch-independent interface to access the hardware layer.
Finally, the
.Em device
layer gathers the parallel peripheral device drivers.
-.Pp
.Ss Parallel modes management
We have to differentiate operating modes at various ppbus system layers.
Actually, ppbus and adapter operating modes on one hands and for each
diff --git a/share/man/man4/ppi.4 b/share/man/man4/ppi.4
index a6041d2..a4084ad 100644
--- a/share/man/man4/ppi.4
+++ b/share/man/man4/ppi.4
@@ -53,7 +53,7 @@ interface is performed using
.Fn ioctl
calls.
Each command takes a single
-.Ft u_int8_t
+.Ft uint8_t
argument, transferring one byte of data.
The following commands are available:
.Bl -tag -width indent
@@ -85,7 +85,7 @@ again, the following code fragment can be used:
.Bd -literal -compact
int fd;
- u_int8_t val;
+ uint8_t val;
val = 0x5a;
ioctl(fd, PPISDATA, &val);
diff --git a/share/man/man4/psm.4 b/share/man/man4/psm.4
index 9c10e23..caf0135 100644
--- a/share/man/man4/psm.4
+++ b/share/man/man4/psm.4
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 8, 2008
+.Dd March 27, 2012
.Dt PSM 4
.Os
.Sh NAME
@@ -329,9 +329,6 @@ It will cause the
.Nm
driver to reset and re-initialize the pointing device
after the `resume' event.
-It has no effect unless the
-.Em HOOKRESUME
-flag is set as well.
.El
.Sh LOADER TUNABLES
Extended support for Synaptics touchpads can be enabled by setting
@@ -445,10 +442,8 @@ Microsoft IntelliMouse
.El
.Pp
.It Dv MOUSE_SYN_GETHWINFO Ar synapticshw_t *synhw
-Retrieves extra information associated with Synaptics Touchpads.
-Only available when
-.Va hw.psm.synaptics_support
-has been enabled.
+Retrieves extra information associated with Synaptics Touchpad.
+Only available when a supported device has been detected.
.Bd -literal
typedef struct synapticshw {
int infoMajor; /* major hardware revision */
@@ -837,12 +832,11 @@ In contrast, some pad products, e.g.\& some versions of ALPS GlidePoint
and Interlink VersaPad, treat the tapping action
as fourth button events.
.Pp
-It is reported that Interlink VersaPad requires both
-.Em HOOKRESUME
-and
+It is reported that ALPS GlidePoint, Synaptics Touchpad, and
+Interlink VersaPad require
.Em INITAFTERSUSPEND
-flags in order to recover from suspended state.
-These flags are automatically set when VersaPad is detected by the
+flag in order to recover from suspended state.
+This flag is automatically set when one of these devices is detected by the
.Nm
driver.
.Pp
diff --git a/share/man/man4/pts.4 b/share/man/man4/pts.4
index 49e84ef..3faab8b 100644
--- a/share/man/man4/pts.4
+++ b/share/man/man4/pts.4
@@ -131,7 +131,7 @@ function should be used.
.It Dv TIOCPTMASTER
Determine whether the file descriptor is pointing to a pseudo-terminal
master device.
-This
+This
.Xr ioctl 2
should not be used directly. It is used to implement routines like
.Xr grantpt 3 .
diff --git a/share/man/man4/ral.4 b/share/man/man4/ral.4
index 0b13d08..f2e0e5f 100644
--- a/share/man/man4/ral.4
+++ b/share/man/man4/ral.4
@@ -82,7 +82,7 @@ Only one
or
.Cm mesh
virtual interface may be configured at a time.
-Any number of
+Any number of
.Cm wds
virtual interfaces may be configured together with a
.Cm hostap
diff --git a/share/man/man4/run.4 b/share/man/man4/run.4
index f2fa809..5f895e1 100644
--- a/share/man/man4/run.4
+++ b/share/man/man4/run.4
@@ -105,7 +105,7 @@ The
driver can be configured at runtime with
.Xr ifconfig 8 .
.Sh HARDWARE
-The
+The
.Nm
driver supports the following wireless adapters:
.Pp
diff --git a/share/man/man4/runfw.4 b/share/man/man4/runfw.4
index ddaf169..6bb86c7 100644
--- a/share/man/man4/runfw.4
+++ b/share/man/man4/runfw.4
@@ -32,7 +32,7 @@ kernel configuration file:
.Ed
.Pp
This will include two firmware images, RT2870 and RT3071, inside the kernel.
-.Xr run 4
+.Xr run 4
will load the appropriate image into the chip.
.Pp
Alternatively, to load the firmware images as a module at boot time, place
diff --git a/share/man/man4/sbp.4 b/share/man/man4/sbp.4
index 0f86213..eeddd5d 100644
--- a/share/man/man4/sbp.4
+++ b/share/man/man4/sbp.4
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 20, 2002
+.Dd February 8, 2012
.Dt SBP 4
.Os
.Sh NAME
@@ -71,7 +71,7 @@ topology.
If you want to force to detach the device, run
.Dq Nm fwcontrol Fl r
several times or set hw.firewire.hold_count=0 by
-.Xr sysctl 1 .
+.Xr sysctl 8 .
.Pp
Some (broken) HDDs do not work well with tagged queuing.
If you have problems with such drives, try
diff --git a/share/man/man4/sdhci.4 b/share/man/man4/sdhci.4
index 09d4313..e9729a1 100644
--- a/share/man/man4/sdhci.4
+++ b/share/man/man4/sdhci.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 14, 2009
+.Dd February 9, 2012
.Dt SDHCI 4
.Os
.Sh NAME
@@ -69,6 +69,8 @@ ENE CB714
.It
RICOH R5C822
.It
+RICOH R5CE823
+.It
TI PCIXX21/XX11
.El
.Sh SEE ALSO
diff --git a/share/man/man4/sfxge.4 b/share/man/man4/sfxge.4
index 33063d9..5e4935d 100644
--- a/share/man/man4/sfxge.4
+++ b/share/man/man4/sfxge.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 16, 2011
+.Dd February 8, 2012
.Dt SFXGE 4
.Os
.Sh NAME
@@ -52,12 +52,12 @@ Solarflare SFC9000 family controllers.
The driver supports jumbo
frames, transmit/receive checksum offload, TCP Segmentation Offload
(TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO,
-and Receive Side Scaling (RSS) using MSI-X interrupts.
+and Receive Side Scaling (RSS) using MSI-X interrupts.
.Pp
The driver allocates 1 receive queue, transmit queue, event queue and
IRQ per CPU up to a maximum of 64.
IRQ affinities should be spread out using
-.Xr cpuset 8 .
+.Xr cpuset 1 .
Interrupt moderation may be controlled through the sysctl
.Va dev.sfxge.%d.int_mod
(units are microseconds).
@@ -85,7 +85,7 @@ go to the Solarflare support website at:
.Xr netintro 4 ,
.Xr ng_ether 4 ,
.Xr vlan 4 ,
-.Xr cpuset 8 ,
+.Xr cpuset 1 ,
.Xr ifconfig 8
.Sh AUTHORS
The
diff --git a/share/man/man4/siftr.4 b/share/man/man4/siftr.4
index d8a6e75..08d20e3 100644
--- a/share/man/man4/siftr.4
+++ b/share/man/man4/siftr.4
@@ -598,11 +598,11 @@ To change the log file location to /tmp/siftr.log, run the following
command as root:
sysctl net.inet.siftr.logfile=/tmp/siftr.log
.Sh SEE ALSO
+.Xr tcpdump 1 ,
+.Xr tcp 4 ,
+.Xr sysctl 8 ,
.Xr alq 9 ,
.Xr pfil 9
-.Xr sysctl 8 ,
-.Xr tcp 4 ,
-.Xr tcpdump 1 ,
.Sh ACKNOWLEDGEMENTS
Development of this software was made possible in part by grants from the
Cisco University Research Program Fund at Community Foundation Silicon Valley,
diff --git a/share/man/man4/smp.4 b/share/man/man4/smp.4
index 5712dbd..1dfd283 100644
--- a/share/man/man4/smp.4
+++ b/share/man/man4/smp.4
@@ -123,7 +123,7 @@ supports hyperthreading on Intel CPU's on the i386 and AMD64 platforms.
Because using logical CPUs can cause performance penalties under certain loads,
the logical CPUs can be disabled by setting the
.Va machdep.hyperthreading_allowed
-tunable to zero.
+tunable to zero.
.Sh SEE ALSO
.Xr cpuset 1 ,
.Xr mptable 1 ,
diff --git a/share/man/man4/snd_emu10kx.4 b/share/man/man4/snd_emu10kx.4
index a363260..72568c3 100644
--- a/share/man/man4/snd_emu10kx.4
+++ b/share/man/man4/snd_emu10kx.4
@@ -119,7 +119,7 @@ option in your
.Xr loader.conf 5
configuration file you will get up to five DSP devices, one for each
sound card output.
-You can use additional software (like
+You can use additional software (like
.Em audio/pulseaudio
from
.Em The Ports Collection )
@@ -164,7 +164,6 @@ DSP inputs 0..8:
.It +0x3E
sync substream (0xc0de)
.El
-.Pp
.Ss Audigy substream map (in byte offsets, each substream is 2 bytes LE)
.Bl -tag -width ".Dv +0x00..+0x3E"
.It Dv Offset
@@ -286,7 +285,6 @@ The
device driver and this manual page were written by
.An Yuriy Tsibizov .
.Sh BUGS
-.Pp
The driver does not detect lost S/PDIF signals and produces noise when
S/PDIF is not connected and S/PDIF volume is not zero.
.Pp
diff --git a/share/man/man4/snd_hda.4 b/share/man/man4/snd_hda.4
index 6dedb02..6f7e8bd 100644
--- a/share/man/man4/snd_hda.4
+++ b/share/man/man4/snd_hda.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 22, 2010
+.Dd January 25, 2012
.Dt SND_HDA 4
.Os
.Sh NAME
@@ -53,8 +53,9 @@ support for several logical audio devices, and general purpose DMA channels.
.Pp
The
.Nm
-driver is a HDA bus controller driver and HDA codecs audio functions bridge
-driver that allows the generic audio driver,
+driver includes HDA bus controller driver (hdac), HDA codec driver (hdacc)
+and HDA codecs audio functions bridge driver (hdaa) that allows
+the generic audio driver,
.Xr sound 4 ,
to be used with this hardware.
Only audio functions are supported by
@@ -77,7 +78,9 @@ For example, one device for main rear 7.1 output and inputs, one device
for independent headset connectors at front and one device for SPDIF or
HDMI audio input/output.
The assignment of audio inputs and outputs may be tuned with
-.Xr device.hints 5 .
+.Xr device.hints 5
+or
+.Xr sysctl 8 .
The driver's verbose boot messages provide a lot of information about
the operation of the driver and present audio setup.
.Pp
@@ -92,19 +95,26 @@ The following variables are available at boot-time through the
file:
.Bl -tag -width ".Va hint.hdac.%d.config"-offset indent
.It Va hint.hdac.%d.config
-Configures a range of possible options.
+Configures a range of possible controller options.
Possible values are:
+.Dq Li 64bit ,
.Dq Li dmapos ,
+.Dq Li msi .
+An option prefixed with
+.Dq Li no ,
+such as
+.Dq Li nomsi ,
+will do the opposite and takes precedence.
+Options can be separated by whitespace and commas.
+.It Va hint.hdac.%d.msi
+Controls MSI (Message Signaled Interrupts) support.
+.It Va hint.hdac.%d.cad%d.nid%d.config
+Same as
+.Va hint.hdaa.%d.nid%d.config
+.It Va hint.hdaa.%d.config
+Configures a range of possible audio function options.
+Possible values are:
.Dq Li eapdinv ,
-.Dq Li gpio0 ,
-.Dq Li gpio1 ,
-.Dq Li gpio2 ,
-.Dq Li gpio3 ,
-.Dq Li gpio4 ,
-.Dq Li gpio5 ,
-.Dq Li gpio6 ,
-.Dq Li gpio7 ,
-.Dq Li gpioflush ,
.Dq Li ivref ,
.Dq Li ivref50 ,
.Dq Li ivref80 ,
@@ -126,27 +136,64 @@ such as
will do the opposite and takes precedence.
Options can be separated by whitespace and commas.
.Pp
+The
+.Dq Li eapdinv
+option inverts External Amplifier Power Down signal.
+The
+.Dq Li fixedrate
+denies all sampling rates except 48KHz.
+The
+.Dq Li forcestereo
+denies mono playback/recording.
+The
+.Dq Li senseinv
+option inverts jack sensing logic.
+The
+.Dq Li ivref Ns Ar X
+and
+.Dq Li ovref Ns Ar X
+options control the voltage used to power external microphones.
+.It Va hint.hdaa.%d.gpio_config
+Overrides audio function GPIO pins configuration set by BIOS.
+May be specified as a set of space-separated
+.Dq Ar num Ns = Ns Ar value
+pairs, where
+.Ar num
+is GPIO line number, and
+.Ar value
+is one of:
+.Dq Li keep ,
+.Dq Li set ,
+.Dq Li clear ,
+.Dq Li disable
+and
+.Dq Li input .
+.Pp
.Dq Li GPIO Ns s
are a codec's General Purpose I/O pins which system integrators sometimes
use to control external muters, amplifiers and so on.
If you have no sound, or sound volume is not adequate, you may have to
experiment a bit with the GPIO setup to find the optimal setup for your
system.
-.Pp
-The
-.Dq Li ivref Ns Ar X
-and
-.Dq Li ovref Ns Ar X
-options control the voltage used to power external microphones.
-.It Va hint.hdac.%d.msi
-Controls MSI (Message Signaled Interrupts) support.
-.It Va hint.hdac.%d.cad%d.nid%d.config
-Overrides codec pin configuration set by BIOS.
+.It Va hint.hdaa.%d.nid%d.config
+Overrides audio function pin configuration set by BIOS.
May be specified as a 32-bit hexadecimal value with a leading
.Dq 0x ,
or as a set of space-separated
.Dq Ar option Ns = Ns Ar value
pairs.
+.It Va hint.pcm.%d.rec.autosrc
+Controls automatic recording source feature:
+.Bl -tag -compact
+.It 0
+disabled,
+.It 1
+once on attach,
+.It 2
+enabled.
+.El
+When enabled, driver will automatically set recording source of the mixer to
+connected input using jack presence detection statuses.
.El
.Pp
Pin configuration is the UAA driver's main source of information about codec
@@ -165,7 +212,7 @@ The following options are supported:
Association number.
Associations are used to group individual pins to form a complex multi-pin
device.
-For example, to group 4 connectors for 7.1 output, or to treat several
+For example, to group 4 connectors for 7.1 input/output, or to treat several
input connectors as sources for the same input device.
Association numbers can be specified as numeric values from 0 to 15.
A value of 0 means disabled pin.
@@ -180,16 +227,22 @@ A unique, per-association number used to order pins inside the
particular association.
Sequence numbers can be specified as numeric values from 0 to 15.
.Pp
-For output assotiations sequence numbers encode speaker pairs positions:
-0 - Front, 1 - Center/LFE, 2 - Back, 3 - Front Wide Center, 4 - Side.
-Standard combinations are: (0) - Stereo; (0, 2), (0, 4) - Quadro;
-(0, 1, 2), (0, 1, 4) - 5.1; (0, 1, 2, 4) - 7.1.
-.Pp
The sequence number 15 has a special meaning for output associations.
Output pins with this number and device type
.Dq Ar Headphones
will duplicate (with automatic mute if jack detection is supported) the
first pin in that association.
+.Pp
+The sequence numbers 14 and 15 has a special meaning for input associations.
+Their presence in association defines it as multiplexed or mixed respectively.
+If none of them present and there are more then one pin in association,
+the association will provide multichannel input.
+.Pp
+For multichannel input/output assotiations sequence numbers encode
+channel pairs positions:
+0 - Front, 1 - Center/LFE, 2 - Back, 3 - Front Wide Center, 4 - Side.
+Standard combinations are: (0) - Stereo; (0, 2), (0, 4) - Quadro;
+(0, 1, 2), (0, 1, 4) - 5.1; (0, 1, 2, 4) - 7.1.
.It Va device
Device type.
Can be specified as a number from 0 to 15 or as a name:
@@ -278,7 +331,11 @@ The following
variables are available in addition to those available to all
.Xr sound 4
devices:
-.Bl -tag -width ".Va dev.hdac.%d.polling" -offset indent
+.Bl -tag -width ".Va dev.hdaa.%d.nid%d_original" -offset indent
+.It Va dev.hdac.%d.pindump
+Setting this to a non-zero value dumps the current pin configuration, main
+capabilities and jack sense status of all audio functions on the controller
+to console and syslog.
.It Va dev.hdac.%d.polling
Enables polling mode.
In this mode the driver operates by querying the device state on timer
@@ -288,11 +345,40 @@ instead of interrupts.
Polling is disabled by default.
Do not enable it unless you are facing weird interrupt problems or if the
device cannot generate interrupts at all.
-.It Va dev.hdac.%d.polling_interval
-Controller/Jack Sense polling interval (1-1000 ms)
-.It Va dev.hdac.%d.pindump
-Setting this to a non-zero value dumps the current pin configuration, main
-capabilities and jack sense status to console and syslog.
+.It Va dev.hdaa.%d.config
+Run-time equivalent of the
+.Va hint.hdaa.%d.config
+tunable.
+.It Va dev.hdaa.%d.gpi_state
+Current state of GPI lines.
+.It Va dev.hdaa.%d.gpio_state
+Current state of GPIO lines.
+.It Va dev.hdaa.%d.gpio_config
+Run-time equivalent of the
+.Va hint.hdaa.%d.gpio.config
+tunable.
+.It Va dev.hdaa.%d.gpo_state
+Current state of GPO lines.
+.It Va dev.hdaa.%d.nid%d_config
+Run-time equivalent of the
+.Va hint.hdaa.%d.nid%d.config
+tunable.
+.It Va dev.hdaa.%d.nid%d_original
+Original pin configuration written by BIOS.
+.It Va dev.hdaa.%d.reconfig
+Setting this to a non-zero value makes driver to destroy existing pcm devices
+and process new pins configuration set via
+.Va dev.hdaa.%d.nid%d_config.
+.It Va dev.pcm.%d.play.32bit , dev.pcm.%d.rec.32bit
+HDA controller uses 32bit representation for all samples of more then 16 bits.
+These variables allow to specify how many bits of these 32 should be
+used by CODEC.
+Depending on codec capabilities, possible values are 20, 24 and 32 bit.
+The default value is 24.
+.It Va dev.pcm.%d.rec.autosrc
+Run-time equivalent of the
+.Va hint.pcm.%d.rec.autosrc
+tunable.
.El
.Sh EXAMPLES
Taking HP Compaq DX2300 with Realtek ALC888 HDA codec for example.
@@ -307,22 +393,23 @@ So high codec uniformity and flexibility allow driver to configure it in many
different ways, depending on requested pins usage described by pins configuration.
The driver reports such default pin configuration when verbose messages enabled:
.Bd -literal
-hdac0: nid 20 0x01014020 as 2 seq 0 Line-out Jack jack 1 loc 1 color Green misc 0
-hdac0: nid 21 0x99130110 as 1 seq 0 Speaker Fixed jack 3 loc 25 color Unknown misc 1
-hdac0: nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
-hdac0: nid 23 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
-hdac0: nid 24 0x01a19830 as 3 seq 0 Mic Jack jack 1 loc 1 color Pink misc 8
-hdac0: nid 25 0x02a1983f as 3 seq 15 Mic Jack jack 1 loc 2 color Pink misc 8
-hdac0: nid 26 0x01813031 as 3 seq 1 Line-in Jack jack 1 loc 1 color Blue misc 0
-hdac0: nid 27 0x0221401f as 1 seq 15 Headphones Jack jack 1 loc 2 color Green misc 0
-hdac0: nid 28 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
-hdac0: nid 30 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
-hdac0: nid 31 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
+hdaa0: nid 0x as seq device conn jack loc color misc
+hdaa0: 20 01014020 2 0 Line-out Jack 1/8 Rear Green 0
+hdaa0: 21 99130110 1 0 Speaker Fixed ATAPI Onboard Unknown 1
+hdaa0: 22 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
+hdaa0: 23 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
+hdaa0: 24 01a19830 3 0 Mic Jack 1/8 Rear Pink 8
+hdaa0: 25 02a1983f 3 15 Mic Jack 1/8 Front Pink 8
+hdaa0: 26 01813031 3 1 Line-in Jack 1/8 Rear Blue 0
+hdaa0: 27 0221401f 1 15 Headphones Jack 1/8 Front Green 0
+hdaa0: 28 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
+hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
+hdaa0: 31 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
.Ed
.Pp
Here we can see, that the nodes with ID (nid) 25 and 27 are front panel
-connectors (Jack, loc 2), nids 20, 24 and 26 are rear panel connectors
-(Jack, loc 1) and nid 21 is a built-in speaker (Fixed, loc 25).
+connectors (Jack, Front), nids 20, 24 and 26 are rear panel connectors
+(Jack, Rear) and nid 21 is a built-in speaker (Fixed, Onboard).
Pins with nids 22, 23, 28, 30 and 31 will be disabled by driver due to "None"
connectivity. So the pin count and description matches to connectors that
we have.
@@ -330,15 +417,15 @@ we have.
Using association (as) and sequence (seq) fields values pins are grouped into
3 associations:
.Bd -literal
-hdac0: Association 0 (1) out:
-hdac0: Pin nid=21 seq=0
-hdac0: Pin nid=27 seq=15
-hdac0: Association 1 (2) out:
-hdac0: Pin nid=20 seq=0
-hdac0: Association 2 (3) in:
-hdac0: Pin nid=24 seq=0
-hdac0: Pin nid=26 seq=1
-hdac0: Pin nid=25 seq=15
+hdaa0: Association 0 (1) out:
+hdaa0: Pin nid=21 seq=0
+hdaa0: Pin nid=27 seq=15
+hdaa0: Association 1 (2) out:
+hdaa0: Pin nid=20 seq=0
+hdaa0: Association 2 (3) in:
+hdaa0: Pin nid=24 seq=0
+hdaa0: Pin nid=26 seq=1
+hdaa0: Pin nid=25 seq=15
.Ed
.Pp
Each
@@ -393,7 +480,6 @@ Recording on
will go from two external microphones and line-in jacks.
.Li pcm1
playback will go to the internal speaker.
-.Pp
.Ss Example 2
Setting the
.Xr device.hints 5
@@ -416,7 +502,6 @@ The
.Li pcm1
device will be completely dedicated to a headset (headphones and mic)
connected to the front connectors.
-.Pp
.Ss Example 3
Setting the
.Xr device.hints 5
@@ -440,7 +525,6 @@ will give 4 independent devices:
and
.Li pcm3
.Pq internal speaker .
-.Pp
.Ss Example 4
Setting the
.Xr device.hints 5
@@ -497,148 +581,14 @@ Most of controls use logarithmic scale.
.Sh HARDWARE
The
.Nm
-driver supports many Intel HDA compatible audio chipsets including the
-following:
+driver supports controllers having PCI class 4 (multimedia) and
+subclass 3 (HDA), compatible with Intel HDA specification.
.Pp
-.Bl -bullet -compact
-.It
-ATI SB450
-.It
-ATI SB600
-.It
-Intel 631x/632xESB
-.It
-Intel 82801F (ICH6)
-.It
-Intel 82801G (ICH7)
-.It
-Intel 82801H (ICH8)
-.It
-Intel 82801I (ICH9)
-.It
-Intel 82801J (ICH10)
-.It
-Intel US15W (SCH)
-.It
-nVidia MCP51
-.It
-nVidia MCP55
-.It
-nVidia MCP61A
-.It
-nVidia MCP61B
-.It
-nVidia MCP63
-.It
-nVidia MCP65A
-.It
-nVidia MCP65B
-.It
-nVidia MCP67A
-.It
-nVidia MCP67B
-.It
-nVidia MCP68
-.It
-nVidia MCP69
-.It
-nVidia MCP73
-.It
-nVidia MCP78
-.It
-nVidia MCP79
-.It
-nVidia MCP89
-.It
-SiS 966
-.It
-VIA VT8251/8237A
-.El
-.Pp
-The following and many other codecs have been verified to work:
-.Pp
-.Bl -bullet -compact
-.It
-Analog Devices AD1981HD
-.It
-Analog Devices AD1983
-.It
-Analog Devices AD1984
-.It
-Analog Devices AD1986A
-.It
-Analog Devices AD1988
-.It
-Analog Devices AD1988B
-.It
-CMedia CMI9880
-.It
-Conexant CX20549 (Venice)
-.It
-Conexant CX20551 (Waikiki)
-.It
-Conexant CX20561 (Hermosa)
-.It
-Realtek ALC260
-.It
-Realtek ALC262
-.It
-Realtek ALC268
-.It
-Realtek ALC660
-.It
-Realtek ALC861
-.It
-Realtek ALC861VD
-.It
-Realtek ALC880
-.It
-Realtek ALC882
-.It
-Realtek ALC883
-.It
-Realtek ALC885
-.It
-Realtek ALC888
-.It
-Realtek ALC889
-.It
-Sigmatel STAC9205
-.It
-Sigmatel STAC9220
-.It
-Sigmatel STAC9220D / 9223D
-.It
-Sigmatel STAC9221
-.It
-Sigmatel STAC9221D
-.It
-Sigmatel STAC9227D
-.It
-Sigmatel STAC9227X
-.It
-Sigmatel STAC9228D
-.It
-Sigmatel STAC9228X
-.It
-Sigmatel STAC9229D
-.It
-Sigmatel STAC9229X
-.It
-Sigmatel STAC9230D
-.It
-Sigmatel STAC9230X
-.It
-Sigmatel STAC9271D
-.It
-Sigmatel STAC9872AK
-.It
-VIA VT1708
-.It
-VIA VT1708B
-.It
-VIA VT1709
-.El
+The
+.Nm
+driver supports more then two hundred different controllers and CODECs.
+There is no sense to list all of them here, as in most cases specific CODEC
+configuration and wiring are more important then type of the CODEC itself.
.Sh SEE ALSO
.Xr sound 4 ,
.Xr snd_ich 4 ,
@@ -665,19 +615,17 @@ This manual page was written by
and
.An Giorgos Keramidas Aq keramida@FreeBSD.org .
.Sh BUGS
-A few Hardware/OEM vendors tend to screw up BIOS settings, thus
-rendering the
-.Nm
-driver useless.
-This usually results in a state where the
+Some Hardware/OEM vendors tend to screw up BIOS settings or use custom
+unusual CODEC wiring that create problems to the driver.
+This may result in missing pcm devices, or a state where the
.Nm
driver seems to attach and work, but no sound is played.
Some cases can be solved by tuning
.Pa loader.conf
variables.
-Before trying to fix problem that way, make sure that there really is a problem
-and that the PCM audio device in use really corresponds to the expected
-audio connector.
+But before trying to fix problem that way, make sure that there really is
+a problem and that the PCM audio device in use really corresponds to the
+expected audio connector.
.Pp
Some vendors use non-standardized General Purpose I/O (GPIO) pins of the codec
to control external amplifiers.
diff --git a/share/man/man4/snd_hdspe.4 b/share/man/man4/snd_hdspe.4
new file mode 100644
index 0000000..a403a17
--- /dev/null
+++ b/share/man/man4/snd_hdspe.4
@@ -0,0 +1,76 @@
+.\" Copyright (c) 2012 Ruslan Bukin <br@bsdpad.com>
+.\" 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$
+.\"
+.Dd February 13, 2012
+.Dt SND_HDSPE 4
+.Os
+.Sh NAME
+.Nm snd_hdspe
+.Nd "RME HDSPe brigde device driver"
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device sound"
+.Cd "device snd_hdspe"
+.Ed
+.Pp
+Alternatively, to load the driver as a module at boot time, place the
+following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+snd_hdspe_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+bridge driver allows the generic audio driver
+.Xr sound 4
+to attach to RME HDSPe audio devices.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following audio devices:
+.Pp
+.Bl -bullet -compact
+.It
+RME HDSPe AIO
+.It
+RME HDSPe RayDAT
+.El
+.Sh SEE ALSO
+.Xr sound 4
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Ruslan Bukin <br@bsdpad.com> .
diff --git a/share/man/man4/snd_ich.4 b/share/man/man4/snd_ich.4
index 71f47a7..c4359c8 100644
--- a/share/man/man4/snd_ich.4
+++ b/share/man/man4/snd_ich.4
@@ -52,7 +52,7 @@ bridge driver allows the generic audio driver
to attach to Intel ICH AC'97 and compatible audio devices.
.Pp
Some later chips, like ICH6/ICH7, depending on wiring can instead implement
-newer Intel HD Audio specification, which is supported by
+newer Intel HD Audio specification, which is supported by
.Xr snd_hda 4
driver.
.Sh HARDWARE
diff --git a/share/man/man4/syscons.4 b/share/man/man4/syscons.4
index 7685c89..d9f8d24 100644
--- a/share/man/man4/syscons.4
+++ b/share/man/man4/syscons.4
@@ -501,15 +501,15 @@ Note that you cannot put any white space inside the quoted string,
because of the current implementation of
.Xr config 8 .
.Pp
-.Dl "options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
-.Dl "options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
+.Dl "options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)"
+.Dl "options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)"
.Pp
The following lines will set the default colors of the kernel message.
The kernel message will be printed bright red on black background.
The reversed message will be black on red background.
.Pp
-.Dl "options SC_KERNEL_CONS_ATTR=(FG_LIGHTRED|BG_BLACK)
-.Dl "options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
+.Dl "options SC_KERNEL_CONS_ATTR=(FG_LIGHTRED|BG_BLACK)"
+.Dl "options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)"
.Pp
The following example adds the font files
.Pa cp850-8x16.fnt ,
@@ -519,7 +519,7 @@ and
to the kernel.
.Pp
.Dl "options SC_DFLT_FONT"
-.Dl "makeoptions SC_DFLT_FONT=cp850
+.Dl "makeoptions SC_DFLT_FONT=cp850"
.Dl "device sc"
.\".Sh DIAGNOSTICS
.Sh SEE ALSO
diff --git a/share/man/man4/tap.4 b/share/man/man4/tap.4
index a306108..3bfab5b 100644
--- a/share/man/man4/tap.4
+++ b/share/man/man4/tap.4
@@ -1,7 +1,7 @@
.\" $FreeBSD$
.\" Based on PR#2411
.\"
-.Dd September 8, 2008
+.Dd January 26, 2012
.Dt TAP 4
.Os
.Sh NAME
@@ -89,11 +89,7 @@ Control devices (once successfully opened) persist until
is unloaded or the interface is destroyed.
.Pp
Each interface supports the usual Ethernet network interface
-.Xr ioctl 2 Ns s ,
-such as
-.Dv SIOCSIFADDR
-and
-.Dv SIOCSIFNETMASK ,
+.Xr ioctl 2 Ns s
and thus can be used with
.Xr ifconfig 8
like any other Ethernet interface.
diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4
index e2d4ad3..aa2755e 100644
--- a/share/man/man4/tcp.4
+++ b/share/man/man4/tcp.4
@@ -38,7 +38,7 @@
.\" From: @(#)tcp.4 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd November 14, 2011
+.Dd March 7, 2012
.Dt TCP 4
.Os
.Sh NAME
@@ -146,6 +146,65 @@ connection.
See
.Xr mod_cc 4
for details.
+.It Dv TCP_KEEPINIT
+This write-only
+.Xr setsockopt 2
+option accepts a per-socket timeout argument of
+.Vt "u_int"
+in seconds, for new, non-established
+.Tn TCP
+connections.
+For the global default in milliseconds see
+.Va keepinit
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPIDLE
+This write-only
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+for the amount of time, in seconds, that the connection must be idle
+before keepalive probes (if enabled) are sent for the connection of this
+socket.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default in milliseconds see
+.Va keepidle
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPINTVL
+This write-only
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+to set the per-socket interval, in seconds, between keepalive probes sent
+to a peer.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default in milliseconds see
+.Va keepintvl
+in the
+.Sx MIB Variables
+section further down.
+.It Dv TCP_KEEPCNT
+This write-only
+.Xr setsockopt 2
+option accepts an argument of
+.Vt "u_int"
+and allows a per-socket tuning of the number of probes sent, with no response,
+before the connection will be dropped.
+If set on a listening socket, the value is inherited by the newly created
+socket upon
+.Xr accept 2 .
+For the global default see the
+.Va keepcnt
+in the
+.Sx MIB Variables
+section further down.
.It Dv TCP_NODELAY
Under most circumstances,
.Tn TCP
@@ -196,8 +255,10 @@ or the internal send buffer is filled.
.It Dv TCP_MD5SIG
This option enables the use of MD5 digests (also known as TCP-MD5)
on writes to the specified socket.
-In the current release, only outgoing traffic is digested;
-digests on incoming traffic are not verified.
+Outgoing traffic is digested;
+digests on incoming traffic are verified if the
+.Va net.inet.tcp.signature_verify_input
+sysctl is nonzero.
The current default behavior for the system is to respond to a system
advertising this option with TCP-MD5; this may change.
.Pp
@@ -296,17 +357,21 @@ The Maximum Segment Lifetime, in milliseconds, for a packet.
Timeout, in milliseconds, for new, non-established
.Tn TCP
connections.
+The default is 75000 msec.
.It Va keepidle
Amount of time, in milliseconds, that the connection must be idle
before keepalive probes (if enabled) are sent.
+The default is 7200000 msec (2 hours).
.It Va keepintvl
The interval, in milliseconds, between keepalive probes sent to remote
machines, when no response is received on a
.Va keepidle
probe.
-After
-.Dv TCPTV_KEEPCNT
-(default 8) probes are sent, with no response, the connection is dropped.
+The default is 75000 msec.
+.It Va keepcnt
+Number of probes sent, with no response, before a connection
+is dropped.
+The default is 8 packets.
.It Va always_keepalive
Assume that
.Dv SO_KEEPALIVE
@@ -497,6 +562,7 @@ address.
.Xr intro 4 ,
.Xr ip 4 ,
.Xr mod_cc 4 ,
+.Xr siftr 4 ,
.Xr syncache 4 ,
.Xr setkey 8
.Rs
diff --git a/share/man/man4/tpm.4 b/share/man/man4/tpm.4
index 7615609..897aa00 100644
--- a/share/man/man4/tpm.4
+++ b/share/man/man4/tpm.4
@@ -48,7 +48,7 @@ In
The
.Nm
driver provides support for various trusted platform modules (TPM) that can
-store cryptographic keys.
+store cryptographic keys.
.Pp
Supported modules:
.Pp
diff --git a/share/man/man4/txp.4 b/share/man/man4/txp.4
index 6ef30db..e30f8b7 100644
--- a/share/man/man4/txp.4
+++ b/share/man/man4/txp.4
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 12, 2009
+.Dd January 26, 2012
.Dt TXP 4
.Os
.Sh NAME
@@ -77,17 +77,6 @@ segmentation, nor
.Xr ipsec 4
acceleration.
.Pp
-Each of the host's network addresses
-is specified at boot time with an
-.Dv SIOCSIFADDR
-.Xr ioctl 2 .
-The
-.Nm
-interface employs the address resolution protocol described in
-.Xr arp 4
-to dynamically map between Internet and Ethernet addresses on the local
-network.
-.Pp
When a
.Nm
interface is brought up, by default, it will attempt to auto-negotiate the
diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4
index 87e3824..db56044 100644
--- a/share/man/man4/u3g.4
+++ b/share/man/man4/u3g.4
@@ -18,7 +18,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 20, 2011
+.Dd February 8, 2012
.Dt U3G 4
.Os
.Sh NAME
@@ -63,6 +63,8 @@ Option GT 3G, GT 3G Quad, etc.
.It
Vodafone Mobile Connect Card 3G
.It
+Vodafone Mobile Broadband K3772-Z
+.It
Qualcomm Inc. CDMA MSM
.It
Huawei B190, E180v, E220 ('<Huawei Mobile>')
@@ -88,16 +90,15 @@ driver is present which contains Windows and Mac OS X drivers.
The device starts up in disk mode (TruInstall, ZeroCD, etc.) and requires
additional commands to switch it to modem mode. If your device is not
switching automatically, please try to add quirks. See
-.Xr usbconfig 5
+.Xr usbconfig 8
and
.Xr usb_quirk 4 .
-.Pp
.Sh SEE ALSO
.Xr tty 4 ,
.Xr ucom 4 ,
.Xr usb 4 ,
.Xr usb_quirk 4 ,
-.Xr usbconfig 5
+.Xr usbconfig 8
.Sh HISTORY
The
.Nm
diff --git a/share/man/man4/uark.4 b/share/man/man4/uark.4
index 945983c..a4e2e56 100644
--- a/share/man/man4/uark.4
+++ b/share/man/man4/uark.4
@@ -43,7 +43,7 @@ The
.Nm
driver supports Arkmicro Technologies ARK3116 based serial adapters.
.Sh HARDWARE
-The
+The
.Nm
driver supports the following adapters:
.Pp
diff --git a/share/man/man4/uath.4 b/share/man/man4/uath.4
index ad11809..e93094e 100644
--- a/share/man/man4/uath.4
+++ b/share/man/man4/uath.4
@@ -76,16 +76,15 @@ This is normally done by the
utility that is launched by
.Xr devd 8
when the device is inserted.
-.Xr uathload
+.Xr uathload
includes the firmware in the binary program.
This firmware is licensed for general use and is included in the base system.
.Sh HARDWARE
The
.Nm
driver should work with the following adapters:
-.Pp
-.Bl -column -compact "TRENDware International TEW-444UB" "AR5005UX" -offset 6n
-.It Em "Adapter Chipset"
+.Bl -column "TRENDware International TEW-444UB" "AR5005UX"
+.It Em "Adapter" Ta Em "Chipset"
.\".It Belkin F6D3050 AR5005UX
.It Li "Compex WLU108AG" Ta AR5005UX
.It Li "Compex WLU108G" Ta AR5005UG
diff --git a/share/man/man4/ufoma.4 b/share/man/man4/ufoma.4
index 77d192f..19028d9 100644
--- a/share/man/man4/ufoma.4
+++ b/share/man/man4/ufoma.4
@@ -99,7 +99,7 @@ When an interface is recognized by the system but not used, the interface
will be set to this mode.
.It Li unlinked
When an interface is not yet negotiated, the interface is in this mode.
-.El
+.El
.Sh HARDWARE
Devices supported by the
.Nm
diff --git a/share/man/man4/uipaq.4 b/share/man/man4/uipaq.4
index 310cbfe..96b23e3 100644
--- a/share/man/man4/uipaq.4
+++ b/share/man/man4/uipaq.4
@@ -86,10 +86,10 @@ driver which makes it behave like a
.Xr usb 4
.Sh HISTORY
The
-.Fx
+.Fx
support was imported from
-.Nx
-for
+.Nx
+for
.Fx 7.0 .
.Nx
added support in
diff --git a/share/man/man4/ulpt.4 b/share/man/man4/ulpt.4
index e0f5eb6..cd92bfd 100644
--- a/share/man/man4/ulpt.4
+++ b/share/man/man4/ulpt.4
@@ -57,7 +57,7 @@ bi- or uni-directional protocol.
The bits in the minor number select various features of the driver.
.Bl -column "Minor Bit" "Functionxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -offset indent
.Em "Minor Bit Function"
-64 Do not initialize (reset) the device on the port.
+64 "Do not initialize (reset) the device on the port."
.El
.Pp
Some printers cannot handle the reset on open; in case of problems try the
diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4
index 18ffde3..3b6bc1f 100644
--- a/share/man/man4/umass.4
+++ b/share/man/man4/umass.4
@@ -231,7 +231,7 @@ based file systems when storing information such as images and
videos.
These file systems can be accessed by specifying the file system
type as
-.Cm msdos
+.Cm msdosfs
when using
.Xr mount 8 .
.Sh SEE ALSO
diff --git a/share/man/man4/umcs.4 b/share/man/man4/umcs.4
index af8bd5f..8ccd2ca 100644
--- a/share/man/man4/umcs.4
+++ b/share/man/man4/umcs.4
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 20, 2011
+.Dd February 25, 2012
.Dt UMCS 4
.Os
.Sh NAME
@@ -54,9 +54,11 @@ umcs_load="YES"
The
.Nm
driver provides support for various multiport serial adapters based on the MosCom
-MCS7820 and MCS7840 chips. They are 2- or 4-port adapters with full-featured
-16550-compatible UARTs and very flexible baud generators. Also, these chips
-support RS422/RS485 and IrDA oprations.
+MCS7820 and MCS7840 chips.
+They are 2- or 4-port adapters with full-featured
+16550-compatible UARTs and very flexible baud generators.
+Also, these chips
+support RS422/RS485 and IrDA operations.
.Pp
The device is accessed through the
.Xr ucom 4
@@ -82,9 +84,6 @@ ST Lab U-400 four-port serial USB adapter
.Xr tty 4 ,
.Xr ucom 4 ,
.Xr usb 4
-.Sh BUGS
-This driver doesn't support access to any fine tunes of
-chip, like RS522/RS485 mode, non-standard baudrates, etc.
.Sh HISTORY
The
.Nm
@@ -97,3 +96,6 @@ The
driver was written by
.An Lev Serebryakov
.Aq lev@FreeBSD.org .
+.Sh BUGS
+This driver doesn't support access to any fine tunes of
+chip, like RS522/RS485 mode, non-standard baudrates, etc.
diff --git a/share/man/man4/upgt.4 b/share/man/man4/upgt.4
index 7042dd7..7b81438 100644
--- a/share/man/man4/upgt.4
+++ b/share/man/man4/upgt.4
@@ -181,13 +181,13 @@ Join an existing BSS network (i.e., connect to an access point):
.Bd -literal -offset indent
ifconfig wlan create wlandev upgt0 inet 192.168.0.20 \e
netmask 0xffffff00
-.Ed
-.Pp
+.Ed
+.Pp
Join a specific BSS network with network name
-.Dq Li my_net :
-.Pp
+.Dq Li my_net :
+.Pp
.Dl "ifconfig wlan create wlandev upgt0 ssid my_net up"
-.Pp
+.Pp
Join a specific BSS network with 64-bit WEP encryption:
.Bd -literal -offset indent
ifconfig wlan create wlandev upgt0 ssid my_net \e
diff --git a/share/man/man4/usb.4 b/share/man/man4/usb.4
index eb65fba8..f3f8104 100644
--- a/share/man/man4/usb.4
+++ b/share/man/man4/usb.4
@@ -150,6 +150,7 @@ specifications can be found at:
.Xr cue 4 ,
.Xr ehci 4 ,
.Xr kue 4 ,
+.Xr mos 4 ,
.Xr ohci 4 ,
.Xr pci 4 ,
.Xr rue 4 ,
diff --git a/share/man/man4/usb_quirk.4 b/share/man/man4/usb_quirk.4
index 00e4ba4..2323495 100644
--- a/share/man/man4/usb_quirk.4
+++ b/share/man/man4/usb_quirk.4
@@ -16,7 +16,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 27, 2011
+.Dd February 8, 2012
.Dt USB_QUIRK 4
.Os
.Sh NAME
@@ -41,7 +41,7 @@ The
.Nm
module provides support for dynamically adding and removing quirks for
USB devices with
-.Xr usbconfig 5 .
+.Xr usbconfig 8 .
.Sh General quirks:
.Bl -tag -width Ds
.It UQ_AUDIO_SWAP_LR
@@ -183,7 +183,7 @@ device which appears as a USB device on
usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT
.Ed
.Sh SEE ALSO
-.Xr usbconfig 5
+.Xr usbconfig 8
.Sh HISTORY
The
.Nm
diff --git a/share/man/man4/vge.4 b/share/man/man4/vge.4
index 3ab9bce..5d48850 100644
--- a/share/man/man4/vge.4
+++ b/share/man/man4/vge.4
@@ -82,7 +82,7 @@ groups, the driver will switch over to using the hash filter.
The jumbo frame support can be enabled by setting the interface MTU
to any value larger than the default of 1500 bytes, up to a maximum
of 9000 bytes.
-Jumbo frames are disabled on the VT6130/VT6132 controllers because the TX
+Jumbo frames are disabled on the VT6130/VT6132 controllers because the TX
MAC will hang when trying to send a frame that is larger than 4K.
The receive and transmit checksum offload support
can be toggled on and off using the
diff --git a/share/man/man4/virtio.4 b/share/man/man4/virtio.4
index 7787051..f30f339 100644
--- a/share/man/man4/virtio.4
+++ b/share/man/man4/virtio.4
@@ -24,11 +24,11 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 4, 2011
+.Dd January 22, 2012
.Dt VIRTIO 4
.Os
.Sh NAME
-.Nm virtio
+.Nm virtio
.Nd VirtIO Device Support
.Sh SYNOPSIS
To compile VirtIO device support into the kernel, place the following lines
@@ -48,24 +48,25 @@ virtio_pci_load="YES"
.Sh DESCRIPTION
VirtIO is a specification for para-virtualized I/O in a virtual machine (VM).
Traditionally, the hypervisor emulated real devices such as an Ethernet
-interface or disk controller to provide the VM with I/O. This emulation is
-often inefficient.
+interface or disk controller to provide the VM with I/O.
+This emulation is often inefficient.
.Pp
VirtIO defines an interface for efficient I/O between the hypervisor and VM.
-The
-.Xr virtio 4
+The
+.Xr virtio 4
module provides a shared memory transport called a virtqueue.
The
.Xr virtio_pci 4
device driver represents an emulated PCI device that the hypervisor makes
-available to the VM. This device provides the probing, configuration, and
-interrupt notifications need to interact with the hypervisor.
+available to the VM.
+This device provides the probing, configuration, and
+interrupt notifications needed to interact with the hypervisor.
.Fx
supports the following VirtIO devices:
.Bl -hang -offset indent -width xxxxxxxx
.It Nm Ethernet
An emulated Ethernet device is provided by the
-.Xr if_vtnet 4
+.Xr vtnet 4
device driver.
.It Nm Block
An emulated disk controller is provided by the
@@ -78,9 +79,9 @@ provided by the
device driver.
.El
.Sh SEE ALSO
-.Xr if_vtnet 4 ,
+.Xr virtio_balloon 4 ,
.Xr virtio_blk 4 ,
-.Xr virtio_balloon 4
+.Xr vtnet 4
.Sh HISTORY
Support for VirtIO first appeared in
.Fx 9.0 .
diff --git a/share/man/man4/virtio_balloon.4 b/share/man/man4/virtio_balloon.4
index 4053f78..96e8c73 100644
--- a/share/man/man4/virtio_balloon.4
+++ b/share/man/man4/virtio_balloon.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 4, 2011
+.Dd January 22, 2012
.Dt VIRTIO_BALLOON 4
.Os
.Sh NAME
@@ -51,8 +51,8 @@ device driver provides support for VirtIO memory balloon devices.
.Pp
The memory balloon allows the guest to, at the request of the
hypervisor, return memory allocated to the hypervisor so it can
-be made available to other guests. The hypervisor can later
-signal the balloon to return the memory.
+be made available to other guests.
+The hypervisor can later signal the balloon to return the memory.
.Sh SEE ALSO
.Xr virtio 4
.Sh HISTORY
diff --git a/share/man/man4/virtio_blk.4 b/share/man/man4/virtio_blk.4
index 4250141..7be4425 100644
--- a/share/man/man4/virtio_blk.4
+++ b/share/man/man4/virtio_blk.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 4, 2011
+.Dd January 22, 2012
.Dt VIRTIO_BLK 4
.Os
.Sh NAME
@@ -48,7 +48,6 @@ virtio_blk_load="YES"
The
.Nm
device driver provides support for VirtIO block devices.
-.Pp
.Sh LOADER TUNABLES
Tunables can be set at the
.Xr loader 8
@@ -57,7 +56,8 @@ prompt before booting the kernel or stored in
.Bl -tag -width "xxxxxx"
.It Va hw.vtblk.no_ident
This tunable disables retrieving the device identification string
-from the hypervisor. The default value is 0.
+from the hypervisor.
+The default value is 0.
.El
.Sh SEE ALSO
.Xr virtio 4
diff --git a/share/man/man4/vr.4 b/share/man/man4/vr.4
index de65fe1..cd49f4b 100644
--- a/share/man/man4/vr.4
+++ b/share/man/man4/vr.4
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 7, 2010
+.Dd February 25, 2012
.Dt VR 4
.Os
.Sh NAME
@@ -94,7 +94,7 @@ or
.Ar half-duplex
modes.
.It 100baseTX
-Set 100Mbps (Fast Fthernet) operation.
+Set 100Mbps (Fast Ethernet) operation.
The
.Ar mediaopt
option can also be used to select either
diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4
index 900d12d..febb0ac 100644
--- a/share/man/man4/vtnet.4
+++ b/share/man/man4/vtnet.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 4, 2011
+.Dd January 22, 2012
.Dt VTNET 4
.Os
.Sh NAME
@@ -62,7 +62,6 @@ utility configures the adapter to receive and transmit Jumbo Frames.
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
-.El
.Sh LOADER TUNABLES
Tunables can be set at the
.Xr loader 8
@@ -70,19 +69,21 @@ prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width "xxxxxx"
.It Va hw.vtnet.csum_disable
-This tunable disables receive and send checksum offload. The default
-value is 0.
+This tunable disables receive and send checksum offload.
+The default value is 0.
.It Va hw.vtnet.tso_disable
-This tunable disables TSO. The default value is 0.
+This tunable disables TSO.
+The default value is 0.
.It Va hw.vtnet.lro_disable
-This tunable disables LRO. The default value is 0.
+This tunable disables LRO.
+The default value is 0.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ng_ether 4 ,
-.Xr vlan 4 ,
.Xr virtio 4 ,
+.Xr vlan 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
diff --git a/share/man/man4/vxge.4 b/share/man/man4/vxge.4
index 888413e..fdca8e2 100644
--- a/share/man/man4/vxge.4
+++ b/share/man/man4/vxge.4
@@ -48,7 +48,7 @@ if_vxge_load="YES"
The
.Nm
driver provides support for Neterion X3100 adapters.
-The driver supports TCP Segmentation Offload (TSO/LSO),
+The driver supports TCP Segmentation Offload (TSO/LSO),
Large Receive Offload (LRO), Jumbo Frames, Receive Traffic Hash (RTH),
VLAN, Promiscuous mode and Multi function mode.
.Pp
diff --git a/share/man/man4/wbwd.4 b/share/man/man4/wbwd.4
new file mode 100644
index 0000000..67af2ec
--- /dev/null
+++ b/share/man/man4/wbwd.4
@@ -0,0 +1,117 @@
+.\"-
+.\" Copyright (c) 2012 Bjoern A. Zeeb <bz@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$
+.\"
+.Dd March 6, 2012
+.Dt WBWD 4
+.Os
+.Sh NAME
+.Nm wbwd
+.Nd device driver for watchdog timer found on Winbond Super I/O chips
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following line in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device wbwd"
+.Ed
+.Pp
+Alternatively, to load the driver as a module at boot time, place the following
+line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+wbwd_load="YES"
+.Ed
+.Pp
+In
+.Pa /boot/device.hints :
+.Cd hint.wbwd.0.at="isa"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides
+.Xr watchdog 4
+support for the watchdog interrupt timer present on at least the following
+Winbond Super I/O chips:
+.Pp
+.Bl -bullet -compact
+.It
+83627HF/F/HG/G Rev. G
+.It
+83627HF/F/HG/G Rev. J
+.It
+83627HF/F/HG/G Rev. UD-A
+.It
+83627DHG IC ver. 5
+.El
+.Sh SYSCTL VARIABLES
+The
+.Nm
+driver provides the following options as
+.Xr sysctl 8
+variables.
+.Bl -tag -width "xxxxxx"
+.It Va dev.wbwd.0.timeout_override
+This variable allows to program the timer to a value independent on the one
+provided by the
+.Xr watchdog 4
+framework while still relying on the regular updates from e.g.
+.Xr watchdogd 8 .
+This is particularly useful if your system provides multiple watchdogs and
+you want them to fire in a special sequence to trigger an NMI after a shorter
+period than the reset timeout for example.
+The value set must not be lower than the sleep time of
+.Xr watchdogd 8 .
+A value of 0 disables this feature and the timeout value provided by
+.Xr watchdog 4
+will be used.
+.It Va dev.wbwd.0.debug_verbose
+If set this sysctl will tell the driver to log its current state before and
+after the timer reset on each invocation from
+.Xr watchdog 9
+to the kernel message buffer for debugging.
+.It Va dev.wbwd.0.debug
+This read-only value gives the state of some registers on last update.
+.El
+.Pp
+The
+.Nm
+driver also provides further sysctl options that are hidden by default.
+See the source code for more information.
+.Sh SEE ALSO
+.Xr watchdog 4 ,
+.Xr device.hints 5 ,
+.Xr watchdog 8 ,
+.Xr watchdogd 8 ,
+.Xr watchdog 9
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+This manual page was written by
+.An Bjoern A. Zeeb Aq bz@FreeBSD.org .
diff --git a/share/man/man4/wi.4 b/share/man/man4/wi.4
index c8b49a5..92dedff 100644
--- a/share/man/man4/wi.4
+++ b/share/man/man4/wi.4
@@ -355,7 +355,7 @@ Lucent cards prior to firmware version 6.0.6 do not implement IBSS
mode and are not supported.
.Pp
Prior versions of
-.Nm
+.Nm
supported Symbol firmware.
That support has been removed due to persistent problems with this
firmware as well as getting proper documentation on this firmware.
diff --git a/share/man/man4/wlan.4 b/share/man/man4/wlan.4
index 4a2d1e7..76e797c 100644
--- a/share/man/man4/wlan.4
+++ b/share/man/man4/wlan.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 8, 2009
+.Dd February 22, 2012
.Dt WLAN 4
.Os
.Sh NAME
@@ -174,13 +174,16 @@ may not interoperate.
.Xr an 4 ,
.Xr ath 4 ,
.Xr bwi 4 ,
+.Xr bwn 4 ,
.Xr ipw 4 ,
.Xr iwi 4 ,
.Xr iwn 4 ,
.Xr malo 4 ,
+.Xr mwl 4 ,
.Xr netintro 4 ,
.Xr ral 4 ,
.Xr rum 4 ,
+.Xr run 4 ,
.Xr uath 4 ,
.Xr upgt 4 ,
.Xr ural 4 ,
diff --git a/share/man/man4/wlan_acl.4 b/share/man/man4/wlan_acl.4
index 9a05aad..25314bd 100644
--- a/share/man/man4/wlan_acl.4
+++ b/share/man/man4/wlan_acl.4
@@ -40,7 +40,7 @@ module implements a MAC-based access control plugin for use
with 802.11 devices operating as an access point.
The
.Nm
-must be loaded for
+must be loaded for
.Xr ifconfig 8
to handle the
.Cm mac:*
diff --git a/share/man/man4/wlan_amrr.4 b/share/man/man4/wlan_amrr.4
index f810a9c..9247767 100644
--- a/share/man/man4/wlan_amrr.4
+++ b/share/man/man4/wlan_amrr.4
@@ -48,7 +48,7 @@ algorithm for use by 802.11 device drivers.
.Xr wpi 4 ,
.Xr zyd 4
.Sh STANDARDS
-More information can be found in the paper describing the
+More information can be found in the paper describing the
.Em AMRR
algorithm at
.Pa http://hal.inria.fr/inria-00070784/en/ .
diff --git a/share/man/man4/wpi.4 b/share/man/man4/wpi.4
index 3fc1b6d..efcfdba 100644
--- a/share/man/man4/wpi.4
+++ b/share/man/man4/wpi.4
@@ -106,14 +106,14 @@ ifconfig wlan0 create wlandev wpi0 wlanmode adhoc ssid my_net \e
The driver failed to load the firmware image using the
.Xr firmware 9
subsystem.
-Verify the
+Verify the
.Xr wpifw
firmware module is installed.
.It "wpi%d: fatal firmware error"
An unknown error has occurred in the uploaded firmware, you may have to
unload/reload the driver to continue.
.It "wpi%d: Radio transmitter is switched off"
-The hardware switch controlling the radio is currently turned off.
+The hardware switch controlling the radio is currently turned off.
Data transmission is not possible in this state.
.El
.Sh SEE ALSO
@@ -133,8 +133,8 @@ driver was written for
.Ox
by
.An Damien Bergamini Aq damien.bergamini@free.fr .
-.An Benjamin Close Aq benjsc@FreeBSD.org
-ported
+.An Benjamin Close Aq benjsc@FreeBSD.org
+ported
.Nm
to
.Fx .
diff --git a/share/man/man4/xen.4 b/share/man/man4/xen.4
index 31096d0..e053fc5 100644
--- a/share/man/man4/xen.4
+++ b/share/man/man4/xen.4
@@ -1,7 +1,7 @@
.\" Copyright (c) 2010 Robert N. M. Watson
.\" All rights reserved.
.\"
-.\" This software was developed by SRI International and the University of
+.\" This software was developed by SRI International and the University of
.\" Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237
.\" ("CTSRD"), as part of the DARPA CRASH research program.
.\"
@@ -32,7 +32,7 @@
.Dt XEN 4
.Os
.Sh NAME
-.Nm xen
+.Nm xen
.Nd Xen Hypervisor Guest (DomU) Support
.Sh SYNOPSIS
To compile para-virtualized (PV) Xen guest support into an i386 kernel, place
diff --git a/share/man/man4/xnb.4 b/share/man/man4/xnb.4
new file mode 100644
index 0000000..d4ebae8
--- /dev/null
+++ b/share/man/man4/xnb.4
@@ -0,0 +1,141 @@
+.\" Copyright (c) 2012 Spectra Logic Corporation
+.\" 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,
+.\" without modification.
+.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
+.\" substantially similar to the "NO WARRANTY" disclaimer below
+.\" ("Disclaimer") and any redistribution must be conditioned upon
+.\" including a substantially similar Disclaimer requirement for further
+.\" binary redistribution.
+.\"
+.\" NO WARRANTY
+.\" 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 MERCHANTIBILITY AND FITNESS FOR
+.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+.\"
+.\" Authors: Alan Somers (Spectra Logic Corporation)
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 6, 2012
+.Dt XNB 4
+.Os
+.Sh NAME
+.Nm xnb
+.Nd "Xen Paravirtualized Backend Ethernet Driver"
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "options XENHVM"
+.Cd "device xenpci"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides the back half of a paravirtualized
+.Xr xen 4
+network connection.
+The netback and netfront drivers appear to their respective operating
+systems as Ethernet devices linked by a crossover cable.
+Typically,
+.Nm
+will run on Domain 0 and the netfront driver will run on a guest domain.
+However, it is also possible to run
+.Nm
+on a guest domain.
+It may be bridged or routed to provide the netfront's
+domain access to other guest domains or to a physical network.
+.Pp
+In most respects, the
+.Nm
+device appears to the OS as an other Ethernet device.
+It can be configured at runtime entirely with
+.Xr ifconfig 8 .
+In particular, it supports MAC changing, arbitrary MTU sizes, checksum
+offload for IP, UDP, and TCP for both receive and transmit, and TSO.
+However, see
+.Sx CAVEATS
+before enabling txcsum, rxcsum, or tso.
+.Sh SYSCTL VARIABLES
+The following read-only variables are available via
+.Xr sysctl 8 :
+.Bl -tag -width indent
+.It Va dev.xnb.%d.dump_rings
+Displays information about the ring buffers used to pass requests between the
+netfront and netback.
+Mostly useful for debugging, but can also be used to
+get traffic statistics.
+.It Va dev.xnb.%d.unit_test_results
+Runs a builtin suite of unit tests and displays the results.
+Does not affect the operation of the driver in any way.
+Note that the test suite simulates error conditions; this will result in
+error messages being printed to the system system log.
+.El
+.Sh SEE ALSO
+.Xr arp 4 ,
+.Xr netintro 4 ,
+.Xr ng_ether 4 ,
+.Xr xen 4 ,
+.Xr ifconfig 8
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Alan Somers
+.Aq alans@spectralogic.com
+and
+.An John Suykerbuyk
+.Aq johns@spectralogic.com
+.Sh CAVEATS
+Packets sent through Xennet pass over shared memory, so the protocol includes
+no form of link-layer checksum or CRC.
+Furthermore, Xennet drivers always report to their hosts that they support
+receive and transmit checksum offloading.
+They "offload" the checksum calculation by simply skipping it.
+That works fine for packets that are exchanged between two domains on the same
+machine.
+However, when a Xennet interface is bridged to a physical interface,
+a correct checksum must be attached to any packets bound for that physical
+interface.
+Currently, FreeBSD lacks any mechanism for an ethernet device to
+inform the OS that newly received packets are valid even though their checksums
+are not.
+So if the netfront driver is configured to offload checksum calculations,
+it will pass non-checksumed packets to
+.Nm ,
+which must then calculate the checksum in software before passing the packet
+to the OS.
+.Pp
+For this reason, it is recommended that if
+.Nm
+is bridged to a physcal interface, then transmit checksum offloading should be
+disabled on the netfront.
+The Xennet protocol does not have any mechanism for the netback to request
+the netfront to do this; the operator must do it manually.
+.Sh BUGS
+The
+.Nm
+driver does not properly checksum UDP datagrams that span more than one
+Ethernet frame.
+Nor does it correctly checksum IPv6 packets.
+To workaround that bug, disable transmit checksum offloading on the
+netfront driver.
diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile
index fdf3b33..b05c1eb 100644
--- a/share/man/man5/Makefile
+++ b/share/man/man5/Makefile
@@ -76,6 +76,7 @@ MLINKS+=fs.5 inode.5
MLINKS+=hosts.equiv.5 rhosts.5
MLINKS+=msdosfs.5 msdos.5
MLINKS+=passwd.5 master.passwd.5
+MLINKS+=portindex.5 INDEX.5
MLINKS+=quota.user.5 quota.group.5
MLINKS+=rc.conf.5 rc.conf.local.5
MLINKS+=resolver.5 resolv.conf.5
diff --git a/share/man/man5/ar.5 b/share/man/man5/ar.5
index 81bc7e6..1c1d79b 100644
--- a/share/man/man5/ar.5
+++ b/share/man/man5/ar.5
@@ -24,8 +24,8 @@
.\" $FreeBSD$
.\"
.Dd November 28, 2010
-.Os
.Dt AR 5
+.Os
.Sh NAME
.Nm ar
.Nd archive file format for
@@ -126,7 +126,7 @@ The BSD and SVR4/GNU variants use different schemes for encoding file
names for members.
.Bl -tag -width "SVR4/GNU"
.It "BSD"
-File names that are upto 16 bytes long and which do not contain
+File names that are up to 16 bytes long and which do not contain
embedded spaces are stored directly in the
.Ar ar_name
field of the archive header.
@@ -164,7 +164,7 @@ ASCII
.Dq "A BC D"
.Pc .
.It "SVR4/GNU"
-File names that are upto 15 characters long are stored directly in the
+File names that are up to 15 characters long are stored directly in the
.Ar ar_name
field of the header, terminated by a
.Dq Li /
@@ -237,7 +237,7 @@ the ASCII string
No padding is used to separate adjacent file names.
.Ss "Archive Symbol Tables"
Archive symbol tables are used to speed up link editing by providing a
-mapping between the program symbols defined in the archive
+mapping between the program symbols defined in the archive
and the corresponding archive members.
Archive symbol tables are managed by the
.Xr ranlib 1
diff --git a/share/man/man5/devfs.5 b/share/man/man5/devfs.5
index 8c7e598..504a062 100644
--- a/share/man/man5/devfs.5
+++ b/share/man/man5/devfs.5
@@ -38,7 +38,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 18, 2010
+.Dd February 9, 2012
.Dt DEVFS 5
.Os
.Sh NAME
@@ -90,6 +90,30 @@ and
.Pa 2 .
.Xr fdescfs 5
creates files for all open descriptors.
+.Pp
+The options are as follows:
+.Bl -tag -width indent
+.It Fl o Ar options
+Use the specified mount
+.Ar options ,
+as described in
+.Xr mount 8 .
+The following devfs file system-specific options are available:
+.Bl -tag -width indent
+.It Cm ruleset Ns No = Ns Ar ruleset
+Set ruleset number
+.Ar ruleset
+as the current ruleset for the mount-point and apply all its rules.
+If the ruleset number
+.Ar ruleset
+does not exist, an empty ruleset with the number
+.Ar ruleset
+is created.
+See
+.Xr devfs 8
+for more information on working with devfs rulesets.
+.El
+.El
.Sh FILES
.Bl -tag -width /dev/XXXX -compact
.It Pa /dev
diff --git a/share/man/man5/fdescfs.5 b/share/man/man5/fdescfs.5
index b87d160..9c61581 100644
--- a/share/man/man5/fdescfs.5
+++ b/share/man/man5/fdescfs.5
@@ -101,7 +101,7 @@ creates entries for all file descriptors opened by the process.
.It Pa /dev/fd/#
.El
.Sh EXAMPLES
-To mount a
+To mount a
.Nm
volume located on
.Pa /dev/fd :
diff --git a/share/man/man5/fs.5 b/share/man/man5/fs.5
index abb0f47..5a5171c 100644
--- a/share/man/man5/fs.5
+++ b/share/man/man5/fs.5
@@ -145,12 +145,12 @@ struct fs {
int8_t fs_old_flags; /* old FS_ flags */
u_char fs_fsmnt[MAXMNTLEN]; /* name mounted on */
u_char fs_volname[MAXVOLLEN]; /* volume name */
- u_int64_t fs_swuid; /* system-wide uid */
+ uint64_t fs_swuid; /* system-wide uid */
int32_t fs_pad; /* due to alignment of fs_swuid */
/* these fields retain the current block allocation info */
int32_t fs_cgrotor; /* last cg searched */
void *fs_ocsp[NOCSPTRS]; /* padding; was list of fs_cs buffers */
- u_int8_t *fs_contigdirs; /* # of contiguously allocated dirs */
+ uint8_t *fs_contigdirs; /* # of contiguously allocated dirs */
struct csum *fs_csp; /* cg summary info buffer for fs_cs */
int32_t *fs_maxcluster; /* max cluster in each cyl group */
u_int *fs_active; /* used by snapshots to track fs */
@@ -175,7 +175,7 @@ struct fs {
int32_t fs_contigsumsize; /* size of cluster summary array */
int32_t fs_maxsymlinklen; /* max length of an internal symlink */
int32_t fs_old_inodefmt; /* format of on-disk inodes */
- u_int64_t fs_maxfilesize; /* maximum representable file size */
+ uint64_t fs_maxfilesize; /* maximum representable file size */
int64_t fs_qbmask; /* ~fs_bmask for use with 64-bit size */
int64_t fs_qfmask; /* ~fs_fmask for use with 64-bit size */
int32_t fs_state; /* validate fs_clean field */
@@ -408,10 +408,10 @@ Each macro takes a pointer to an extattr structure.
Returns a pointer to the next extended attribute following
.Fa eap .
.It Dv EXTATTR_CONTENT(eap)
-Returns a pointer to the extended attribute content referenced by
+Returns a pointer to the extended attribute content referenced by
.Fa eap .
.It Dv EXTATTR_CONTENT_SIZE(eap)
-Returns the size of the extended attribute content referenced by
+Returns the size of the extended attribute content referenced by
.Fa eap .
.It Dv EXTATTR_SET_LENGTHS(eap, size)
Called with the size of the attribute content after initializing
diff --git a/share/man/man5/fstab.5 b/share/man/man5/fstab.5
index adbf489..060d57c 100644
--- a/share/man/man5/fstab.5
+++ b/share/man/man5/fstab.5
@@ -235,7 +235,7 @@ programs to determine the order in which file system and quota
checks are done at reboot time.
The
.Fa fs_passno
-field can be any value between 0 and
+field can be any value between 0 and
.Ql INT_MAX Ns -1 .
.Pp
The root file system should be specified with a
@@ -245,7 +245,7 @@ of 1, and other file systems should have a
of 2 or greater.
A file system with a
.Fa fs_passno
-value of 1 is always checked sequentially and be completed before
+value of 1 is always checked sequentially and be completed before
another file system is processed, and it will be processed before
all file systems with a larger
.Fa fs_passno .
@@ -269,7 +269,7 @@ will assume that the file system does not need to be checked.
.Pp
The
.Fa fs_passno
-field can be used to implement finer control when
+field can be used to implement finer control when
the system utilities may determine that the file system resides
on a different physical device, when it actually does not, as with a
.Xr ccd 4
diff --git a/share/man/man5/nsmb.conf.5 b/share/man/man5/nsmb.conf.5
index f315f82..2548a05 100644
--- a/share/man/man5/nsmb.conf.5
+++ b/share/man/man5/nsmb.conf.5
@@ -133,7 +133,7 @@ is also assigned in this section.
.Dq Li FSERVER:USER ,
defines the user settings and is useful for saving the password used
during a specific connection.
-The password may be plaintext or obfuscated using simple encryption.
+The password may be plaintext or obfuscated using simple encryption.
The simple encrypted password starts with the `$$1' symbols.
Warning: the encryption function is very weak and intended only to hide
clear text passwords.
@@ -141,7 +141,7 @@ If the use of simple encryption is desired, the following command may be
used on a password:
.Bd -literal -offset indent
smbutil crypt
-.Ed
+.Ed
.Sh COMPATIBILITY
At the time of this writing, the
.Tn IPX
diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5
index 8b8772e..228c4e3 100644
--- a/share/man/man5/passwd.5
+++ b/share/man/man5/passwd.5
@@ -232,7 +232,7 @@ user's home phone number
.Pp
The full
.Ar name
-may contain a ampersand
+may contain an ampersand
.Pq Ql &
which will be replaced by
the capitalized login
diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5
index 540ef2e..4ab009c 100644
--- a/share/man/man5/periodic.conf.5
+++ b/share/man/man5/periodic.conf.5
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 8, 2011
+.Dd February 7, 2012
.Dt PERIODIC.CONF 5
.Os
.Sh NAME
@@ -335,6 +335,28 @@ utility when
.Va daily_status_disks_enable
is set to
.Dq Li YES .
+.It Va daily_status_zfs_enable
+.Pq Vt bool
+Set to
+.Dq Li YES
+if you want to run
+.Nm zpool Cm status
+on your
+.Xr zfs 8
+pools.
+.It Va daily_status_zfs_zpool_list_enable
+.Pq Vt bool
+Set to
+.Dq Li YES
+if you want to run
+.Nm zpool Cm list
+on your
+.Xr zfs 8
+pools.
+Requires
+.Va daily_status_zfs_enable
+to be set to
+.Li YES .
.It Va daily_status_ata_raid_enable
.Pq Vt bool
Set to
diff --git a/share/man/man5/portindex.5 b/share/man/man5/portindex.5
index f7b126f..3526196 100644
--- a/share/man/man5/portindex.5
+++ b/share/man/man5/portindex.5
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 28, 2009
+.Dd February 8, 2012
.Dt PORTINDEX 5
.Os
.Sh NAME
@@ -90,7 +90,7 @@ branch.
vim-6.3.15|/usr/ports/editors/vim|/usr/local|Vi "workalike", with many additional features|/usr/ports/editors/vim/pkg-descr|obrien@FreeBSD.org|editors|libiconv-1.9.2_1|libiconv-1.9.2_1|http://www.vim.org/|||
.Ed
.Sh SEE ALSO
-.Xr build 1 ,
+.Xr build 7 ,
.Xr csup 1 ,
.Xr ports 7
.Sh AUTHORS
diff --git a/share/man/man5/quota.user.5 b/share/man/man5/quota.user.5
index f502a51..c314b65 100644
--- a/share/man/man5/quota.user.5
+++ b/share/man/man5/quota.user.5
@@ -44,7 +44,7 @@ It is possible to specify a different location and file name with the
and
.Dq Li groupquota
options in the
-.Xr fstab 5
+.Xr fstab 5
file.
.Pp
The data files contain the following information:
@@ -72,9 +72,9 @@ See
.Xr edquota 8
for an explanation on the various limits and grace periods.
.Pp
-During normal quota operations the
+During normal quota operations the
.Xr quotactl 2
-interface is used to query or set quota information and the kernel
+interface is used to query or set quota information and the kernel
will maintain the data files as needed.
If quotas are disabled on
a file system, but marked as having quotas enabled in
@@ -104,8 +104,8 @@ or
.Dq Dv dbq_itime
fields are non-zero, they are used to indicate the grace period on
that file system for users who have exceeded their soft limit.
-These times can be set by
-.Xr edquota 8
+These times can be set by
+.Xr edquota 8
with the
.Fl t
flag.
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index 47a325b..a45ee01 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 13, 2011
+.Dd February 27, 2012
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -149,6 +149,19 @@ and before changing it one should ensure that there are
adequate provisions to recover from a failed boot
(such as physical contact with the machine,
or reliable remote console access).
+.It Va always_force_depends
+.Pq Vt bool
+Various
+.Pa rc.d
+scripts use the force_depend function to check whether required
+services are already running, and to start them if necessary.
+By default during boot time this check is bypassed if the
+required service is enabled in
+.Pa /etc/rc.conf[.local] .
+Setting this option will bypass that check at boot time and
+always test whether or not the service is actually running.
+Enabling this option is likely to increase your boot time if
+services are enabled that utilize the force_depend check.
.It Va swapfile
.Pq Vt str
If set to
@@ -187,7 +200,7 @@ to handle device added, removed or unknown events from the kernel.
.Pq Vt bool
Run
.Xr ddb 8
-to install
+to install
.Xr ddb 4
scripts at boot time.
.It Va ddb_config
@@ -1260,7 +1273,7 @@ options in this variable, in addition to the
file.
For instance, to configure an
.Xr ath 4
-wireless device in station mode with an address obtained
+wireless device in station mode with an address obtained
via DHCP, using WPA authentication and 802.11b mode, it is
possible to use something like:
.Bd -literal
@@ -1414,7 +1427,7 @@ Note that ICMPv6 Router Advertisement messages will be
accepted even when
.Va net.inet6.ip6.forwarding
is 1
-.Pq packet fowarding is enabled
+.Pq packet forwarding is enabled
when
.Va net.inet6.ip6.rfc6204w3
is set to 1.
@@ -1436,7 +1449,8 @@ Aliases should be set by
.Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n
with
.Dq Li inet6
-keyword. For example:
+keyword.
+For example:
.Bd -literal
ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64"
ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64"
@@ -1539,14 +1553,17 @@ If
.Dq Li AUTO
is specified, it attempts to read a file
.Pa /etc/ip6addrctl.conf
-first. If this file is found,
+first.
+If this file is found,
.Xr ip6addrctl 8
-reads and installs it. If not found, a policy is automatically set
+reads and installs it.
+If not found, a policy is automatically set
according to
.Va ipv6_activate_all_interfaces
variable; if the variable is set to
.Dq Li YES
-the IPv6-preferred one is used. Otherwise IPv4-preferred.
+the IPv6-preferred one is used.
+Otherwise IPv4-preferred.
.Pp
The default value of
.Va ip6addrctl_enable
@@ -3673,6 +3690,25 @@ is set to
these are the flags passed to the
.Xr watchdogd 8
daemon.
+.It Va devfs_rulesets
+.Pq Vt str
+List of files containing sets of rules for
+.Xr devfs 8 .
+.It Va devfs_system_ruleset
+.Pq Vt str
+Rule name(s) to apply to the system
+.Pa /dev
+itself.
+.It Va devfs_set_rulesets
+.Pq Vt str
+Pairs of already-mounted
+.Pa dev
+directories and rulesets that should be applied to them.
+For example: /mount/dev=ruleset_name
+.It Va devfs_load_rulesets
+.Pq Vt bool
+If set, always load the default rulesets listed in
+.Va devfs_rulesets .
.It Va performance_cx_lowest
.Pq Vt str
CPU idle state to use while on AC power.
@@ -3718,11 +3754,11 @@ indicates that the highest frequency (less power savings) should be used.
If set to
.Dq Li NO ,
any configured jails will not be started.
-.It jail_parallel_start
+.It Va jail_parallel_start
.Pq Vt bool
If set to
-.Dq Li YES
-all configured jails will be started in the background (= in parallel).
+.Dq Li YES ,
+all configured jails will be started in the background (in parallel).
.It Va jail_list
.Pq Vt str
A space separated list of names for jails.
@@ -4532,6 +4568,7 @@ The default is 30.
.Xr chkprintcap 8 ,
.Xr chown 8 ,
.Xr cron 8 ,
+.Xr devfs 8 ,
.Xr dhclient 8 ,
.Xr ftpd 8 ,
.Xr geli 8 ,
diff --git a/share/man/man5/services.5 b/share/man/man5/services.5
index 55e0c9d..d1153d9 100644
--- a/share/man/man5/services.5
+++ b/share/man/man5/services.5
@@ -66,7 +66,7 @@ Service names may contain any printable
character other than a field delimiter, newline,
or comment character.
.Pp
-If
+If
.Dq db
is specified as source in the
.Xr nsswitch.conf 5 ,
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 37f490f..e209a26 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,7 +1,7 @@
.\" DO NOT EDIT-- this file is automatically generated.
.\" from FreeBSD: head/tools/build/options/makeman 221733 2011-05-10 13:01:11Z ru
.\" $FreeBSD$
-.Dd December 30, 2011
+.Dd March 25, 2012
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -252,7 +252,7 @@ Set to build some programs without optional bzip2 support.
Set to not build
.Xr calendar 1 .
.It Va WITHOUT_CAPSICUM
-.\" $FreeBSD$
+.\" from FreeBSD: head/tools/build/options/WITHOUT_CAPSICUM 229319 2012-01-02 21:57:58Z rwatson
Set to not build Capsicum support into system programs.
.It Va WITHOUT_CDDL
.\" from FreeBSD: head/tools/build/options/WITHOUT_CDDL 163861 2006-11-01 09:02:11Z jb
@@ -270,13 +270,33 @@ When set, it also enforces the following options:
Set to not build the Clang C/C++ compiler.
.Pp
It is a default setting on
-arm/arm, arm/armeb, ia64/ia64, mips/mipsel, mips/mipseb, mips/mips64el, mips/mips64eb, mips/mipsn32eb and sparc64/sparc64.
+arm/arm, arm/armeb, ia64/ia64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32 and sparc64/sparc64.
+When set, it also enforces the following options:
+.Pp
+.Bl -item -compact
+.It
+.Va WITHOUT_CLANG_EXTRAS
+.It
+.Va WITHOUT_CLANG_IS_CC
+.El
.It Va WITH_CLANG
.\" from FreeBSD: head/tools/build/options/WITH_CLANG 221730 2011-05-10 11:14:40Z ru
Set to build the Clang C/C++ compiler.
.Pp
It is a default setting on
amd64/amd64, i386/i386, pc98/i386, powerpc/powerpc and powerpc/powerpc64.
+.It Va WITH_CLANG_EXTRAS
+.\" from FreeBSD: head/tools/build/options/WITH_CLANG_EXTRAS 231057 2012-02-05 23:56:22Z dim
+Set to build additional clang and llvm tools, such as bugpoint.
+.It Va WITH_CLANG_IS_CC
+.\" from FreeBSD: head/tools/build/options/WITH_CLANG_IS_CC 232322 2012-02-29 22:58:51Z dim
+Set to install the Clang C/C++ compiler as
+.Pa /usr/bin/cc
+,
+.Pa /usr/bin/c++
+and
+.Pa /usr/bin/cpp
+.
.It Va WITHOUT_CPP
.\" from FreeBSD: head/tools/build/options/WITHOUT_CPP 156932 2006-03-21 07:50:50Z ru
Set to not build
@@ -333,6 +353,8 @@ When set, it also enforces the following options:
.It
.Va WITHOUT_CLANG
.It
+.Va WITHOUT_CLANG_IS_CC
+.It
.Va WITHOUT_GROFF
.El
.It Va WITHOUT_DICT
@@ -362,7 +384,7 @@ Set to build Flattened Device Tree support as part of the base system.
This includes the device tree compiler (dtc) and libfdt support library.
.Pp
It is a default setting on
-arm/arm, arm/armeb, mips/mipsel, mips/mipseb, mips/mips64el, mips/mips64eb, mips/mipsn32eb, powerpc/powerpc and powerpc/powerpc64.
+arm/arm, arm/armeb, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc and powerpc/powerpc64.
.It Va WITHOUT_FLOPPY
.\" from FreeBSD: head/tools/build/options/WITHOUT_FLOPPY 221540 2011-05-06 19:13:03Z ru
Set to not build or install programs
@@ -869,6 +891,23 @@ as a set-user-ID root program.
Set to not build the
.Bx 4.4
legacy docs.
+.It Va WITHOUT_SOURCELESS
+.\" from FreeBSD: head/tools/build/options/WITHOUT_SOURCELESS 230972 2012-02-04 00:54:43Z rmh
+Set to not build kernel modules that include sourceless code (either microcode or native code for host CPU).
+When set, it also enforces the following options:
+.Pp
+.Bl -item -compact
+.It
+.Va WITHOUT_SOURCELESS_HOST
+.It
+.Va WITHOUT_SOURCELESS_UCODE
+.El
+.It Va WITHOUT_SOURCELESS_HOST
+.\" from FreeBSD: head/tools/build/options/WITHOUT_SOURCELESS_HOST 230972 2012-02-04 00:54:43Z rmh
+Set to not build kernel modules that include sourceless native code for host CPU.
+.It Va WITHOUT_SOURCELESS_UCODE
+.\" from FreeBSD: head/tools/build/options/WITHOUT_SOURCELESS_UCODE 230972 2012-02-04 00:54:43Z rmh
+Set to not build kernel modules that include sourceless microcode.
.It Va WITHOUT_SSP
.\" from FreeBSD: head/tools/build/options/WITHOUT_SSP 180012 2008-06-25 21:33:28Z ru
Set to not build world with propolice stack smashing protection.
@@ -922,6 +961,8 @@ When set, it also enforces the following options:
.It
.Va WITHOUT_CLANG
.It
+.Va WITHOUT_CLANG_IS_CC
+.It
.Va WITHOUT_GCC
.It
.Va WITHOUT_GDB
@@ -930,16 +971,15 @@ When set, it also enforces the following options:
.\" from FreeBSD: head/tools/build/options/WITHOUT_USB 156932 2006-03-21 07:50:50Z ru
Set to not build USB-related programs and libraries.
.It Va WITHOUT_UTMPX
-.\" from FreeBSD: head/tools/build/options/WITHOUT_UTMPX 223209 2011-06-17 21:30:21Z ed
+.\" from FreeBSD: head/tools/build/options/WITHOUT_UTMPX 231530 2012-02-11 20:28:42Z ed
Set to not build user accounting tools such as
.Xr last 1 ,
.Xr users 1 ,
.Xr who 1 ,
-.Xr wtmpcvt 1 ,
.Xr ac 8 ,
.Xr lastlogin 8
and
-.Xr utxrm 8 .
+.Xr utx 8 .
.It Va WITHOUT_WIRELESS
.\" from FreeBSD: head/tools/build/options/WITHOUT_WIRELESS 183242 2008-09-21 22:02:26Z sam
Set to not build programs used for 802.11 wireless networks; especially
diff --git a/share/man/man5/style.Makefile.5 b/share/man/man5/style.Makefile.5
index bdf2830..c3a3288 100644
--- a/share/man/man5/style.Makefile.5
+++ b/share/man/man5/style.Makefile.5
@@ -143,7 +143,7 @@ is an important thing.
The usage of
.Va WARNS
is spelled
-.Dq Li "WARNS?= " ,
+.Dq Li "WARNS?= " ,
so that it may be overridden on the command line or in
.Xr make.conf 5 .
.It
diff --git a/share/man/man5/tmpfs.5 b/share/man/man5/tmpfs.5
index 4d66f5d..78568d2 100644
--- a/share/man/man5/tmpfs.5
+++ b/share/man/man5/tmpfs.5
@@ -49,7 +49,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 16, 2010
+.Dd April 23, 2012
.Dt TMPFS 5
.Os
.Sh NAME
@@ -141,9 +141,4 @@ to
This manual page was written by
.An Xin LI Aq delphij@FreeBSD.org .
.Sh BUGS
-The
-.Nm
-kernel implementation is currently considered as
-an experimental feature.
-Some file system mount
-time options are not well supported.
+Some file system mount time options may not be well-supported.
diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7
index b7aa57e..df76f46 100644
--- a/share/man/man7/hier.7
+++ b/share/man/man7/hier.7
@@ -639,6 +639,8 @@ third-party, and/or local source files
.Bl -tag -width ".Pa kerberos5/" -compact
.It Pa bin/
source code for files in /bin
+.It Pa cddl/
+Utilities covered by the Common Development and Distribution License
.It Pa contrib/
source code for contributed software
.It Pa crypto/
diff --git a/share/man/man7/mailaddr.7 b/share/man/man7/mailaddr.7
index 07370fb..7726006 100644
--- a/share/man/man7/mailaddr.7
+++ b/share/man/man7/mailaddr.7
@@ -66,7 +66,6 @@ For example, a user on ``calder.berkeley.edu'' could send to ``eric@CS''
without adding the ``berkeley.edu'' since it is the same on both sending
and receiving hosts.
.Ss Compatibility.
-.Pp
Certain old address formats are converted to the new format to provide
compatibility with the previous mail system.
In particular,
@@ -94,16 +93,13 @@ is converted to
.Pp
This is normally converted back to the ``host!user'' form before being sent
on for compatibility with older UUCP hosts.
-.Pp
.Ss Case Distinctions.
-.Pp
Domain names (i.e., anything after the ``@'' sign) may be given in any mixture
of upper and lower case with the exception of UUCP hostnames.
Most hosts
accept any combination of case in user names, with the notable exception of
MULTICS sites.
.Ss Route-addrs.
-.Pp
Under some circumstances it may be necessary to route a message through
several hosts to get it to the final destination.
Normally this routing
@@ -134,11 +130,9 @@ Many sites also support the ``percent hack'' for simplistic routing:
.Pp
is routed as indicated in the previous example.
.Ss Postmaster.
-.Pp
Every site is required to have a user or user alias designated ``postmaster''
to which problems with the mail system may be addressed.
.Ss Other Networks.
-.Pp
Some other networks can be reached by giving the name of the network as the
last component of the domain.
.Em This is not a standard feature
diff --git a/share/man/man7/operator.7 b/share/man/man7/operator.7
index e7c35cd..0ca8abd 100644
--- a/share/man/man7/operator.7
+++ b/share/man/man7/operator.7
@@ -45,7 +45,7 @@
.It "-------- -------------"
.It "() [] -> . left to right"
.It "! ~ ++ -- - (type) * & sizeof new delete right to left"
-.It "->* .* left to right
+.It "->* .* left to right"
.It "* / % left to right"
.It "+ - left to right"
.It "<< >> left to right"
diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7
index 975b825..29312da 100644
--- a/share/man/man7/ports.7
+++ b/share/man/man7/ports.7
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 30, 2011
+.Dd February 9, 2012
.Dt PORTS 7
.Os
.Sh NAME
@@ -408,10 +408,13 @@ Directory to put the package in.
.It Va PKGFILE
The full path to the package.
.El
-.It Va PREFIX
-Where to install things in general
-(usually
+.It Va LOCALBASE
+Where existing things are installed and where to search for files when
+resolving dependencies (usually
.Pa /usr/local ) .
+.It Va PREFIX
+Where to install this port (usually set to the same as
+.Va LOCALBASE ) .
.It Va MASTER_SITES
Primary sites for distribution files if not found locally.
.It Va PATCH_SITES
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index f527c24..a725fc6 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 18, 2011
+.Dd January 14, 2012
.Dt RELEASE 7
.Os
.Sh NAME
@@ -53,7 +53,7 @@ and with clean checkouts of specific versions of the doc, src, and ports
trees. For this purpose, a script
.Pq Pa src/release/generate-release.sh
is provided to automate these checkouts and then execute
-.Dq Li "make release"
+.Dq Li "make release"
in a clean
.Xr chroot 8 .
.Pp
@@ -65,7 +65,7 @@ and should have experience upgrading systems from source.
The release build process requires that
.Pa /usr/obj
be populated with the output of
-.Dq Li "make buildworld"
+.Dq Li "make buildworld"
and
.Dq Li "make buildkernel" .
This is necessary to provide the object files for the release or, when
@@ -139,7 +139,7 @@ must be specified for ports and documentation to be included in the release.
.It Ev CVS_TAG
If the variable
.Ev CVS_TAG
-is set, that tag will be used for CVS checkouts (doc and ports), otherwise
+is set, that tag will be used for CVS checkouts (doc and ports), otherwise
.Ic generate-release.sh
will use HEAD.
.It Ev MAKE_FLAGS
@@ -151,7 +151,7 @@ The location of the FreeBSD SVN source repository. Defaults to
.Pa svn://svn.freebsd.org/base .
.It Ev RELSTRING
Optional base name for generated media images (e.g. FreeBSD-9.0-RC2-amd64).
-Defaults to the output of
+Defaults to the output of
.Ic `uname -s`-`uname -r`-`uname -p`
within the chroot.
.El
@@ -170,12 +170,12 @@ targets.
Meta-target to build all release media and distributions applicable to this
platform.
.It Cm install
-Copy all produced release media to
+Copy all produced release media to
.Pa ${DESTDIR} .
.It Cm cdrom
Builds installation CD-ROM images. On some systems, this may require that
.Xr mkisofs 8
-be installed
+be installed
.Pq Pa sysutils/cdrtools
and possibly that the
.Xr md 4
@@ -239,7 +239,7 @@ Location of a directory containing the doc tree. By default,
.Pa /usr/doc .
If it is unset or cannot be found, most documentation will not be included in
the release; see
-.Ev NODOC
+.Ev NODOC
below.
.It Va NOPORTS
If defined, the Ports Collection will be omitted from the release.
@@ -316,9 +316,7 @@ The following sequence of commands can be used to build a
.Dq "-CURRENT snapshot"
in a clean environment, including ports and documentation:
.Bd -literal -offset indent
-cd /usr/src
-make buildworld
-cd release
+cd /usr/src/release
export CVSUP_HOST=cvsupN.freebsd.org
sh generate-release.sh head /local3/release
.Ed
@@ -371,7 +369,7 @@ of building a release in a sterile environment.
.Pp
For the
.Fx 9.0
-release,
+release,
.Pa src/release/Makefile
was overhauled and the wrapper script
.Pa src/release/generate-release.sh
diff --git a/share/man/man7/security.7 b/share/man/man7/security.7
index 197fe3e..a3882d6 100644
--- a/share/man/man7/security.7
+++ b/share/man/man7/security.7
@@ -23,7 +23,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 7, 2010
+.Dd February 8, 2012
.Dt SECURITY 7
.Os
.Sh NAME
@@ -579,7 +579,7 @@ configuration cannot be adjusted.
.El
.Pp
The security level can be configured with variables documented in
-.Xr rc.conf 8 .
+.Xr rc.conf 5 .
.Sh CHECKING FILE INTEGRITY: BINARIES, CONFIG FILES, ETC
When it comes right down to it, you can only protect your core system
configuration and control files so much before the convenience factor
diff --git a/share/man/man8/picobsd.8 b/share/man/man8/picobsd.8
index e95786d..07373f6 100644
--- a/share/man/man8/picobsd.8
+++ b/share/man/man8/picobsd.8
@@ -648,7 +648,7 @@ already exists on disk (e.g.\& as a result of a previous update).
.Xr crunchgen 1 ,
.Xr mdconfig 8 ,
.Xr nanobsd 8 ,
-.Xr swapon 8
+.Xr swapon 8
.Sh AUTHORS
.An -nosplit
.An Andrzej Bialecki Aq abial@FreeBSD.org ,
diff --git a/share/man/man8/rc.8 b/share/man/man8/rc.8
index 82737d4..56a33ce 100644
--- a/share/man/man8/rc.8
+++ b/share/man/man8/rc.8
@@ -35,7 +35,7 @@
.\" @(#)rc.8 8.2 (Berkeley) 12/11/93
.\" $FreeBSD$
.\"
-.Dd November 17, 2009
+.Dd January 14, 2012
.Dt RC 8
.Os
.Sh NAME
@@ -485,7 +485,7 @@ Most scripts require little more than the following.
\&. /etc/rc.subr
name="foo"
-rcvar=`set_rcvar`
+rcvar=foo_enable
command="/usr/local/bin/foo"
load_rc_config $name
@@ -506,7 +506,7 @@ The script may list and define as many commands at it needs.
\&. /etc/rc.subr
name="foo"
-rcvar=`set_rcvar`
+rcvar=foo_enable
command="/usr/local/bin/foo"
extra_commands="nop hello"
hello_cmd="echo Hello World."
diff --git a/share/man/man8/rc.subr.8 b/share/man/man8/rc.subr.8
index 9f6c7fa..8ed2470 100644
--- a/share/man/man8/rc.subr.8
+++ b/share/man/man8/rc.subr.8
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 18, 2007
+.Dd January 14, 2012
.Dt RC.SUBR 8
.Os
.Sh NAME
@@ -73,8 +73,6 @@
.It
.Ic run_rc_script Ar file Ar argument
.It
-.Ic set_rcvar Op Ar base
-.It
.Ic wait_for_pids Op Ar pid ...
.It
.Ic warn Ar message
@@ -339,7 +337,7 @@ with
being the list of valid arguments
prefixed by
.Sm off
-.Dq Bq Li fast | force | one .
+.Dq Bq Li fast | force | one | quiet .
.Sm on
.It Ic reverse_list Ar item ...
Print the list of
@@ -427,6 +425,22 @@ Skip the checks for
being set to
.Dq Li YES ,
but performs all the other prerequisite tests.
+.It Li quiet
+Inhibits some verbose diagnostics.
+Currently, this includes messages
+.Qq Starting ${name}
+(as checked by
+.Ic check_startmsgs
+inside
+.Nm )
+and errors about usage of services that are not enabled in
+.Xr rc.conf 5 .
+This prefix also sets
+.Va rc_quiet Ns = Ns Li YES .
+.Em Please, note:
+.Va rc_quiet
+is not intended to completely mask all debug and warning messages,
+but only certain small classes of them.
.El
.Pp
.Ic run_rc_command
@@ -816,32 +830,6 @@ signal is sent to the parent
process, which is assumed to be
.Xr rc 8 .
Otherwise, the shell exits with a non-zero status.
-.It Ic set_rcvar Op Ar base
-Set the variable name required to start a service.
-In
-.Fx
-a daemon is usually controlled by an
-.Xr rc.conf 5
-variable consisting of a daemon's name postfixed by the string
-.Dq Li "_enable" .
-This is not the case in
-.Nx .
-When the following line is included in a script:
-.Pp
-.Dl "rcvar=`set_rcvar`"
-.Pp
-this function will use the value of the
-.Va $name
-variable, which should be defined by the calling script,
-to construct the appropriate
-.Xr rc.conf 5
-knob.
-If the
-.Ar base
-argument is set it will use
-.Ar base
-instead of
-.Va $name .
.It Ic wait_for_pids Op Ar pid ...
Wait until all of the provided
.Ar pids
diff --git a/share/man/man9/BUS_DESCRIBE_INTR.9 b/share/man/man9/BUS_DESCRIBE_INTR.9
index 0163e70..b7f137b 100644
--- a/share/man/man9/BUS_DESCRIBE_INTR.9
+++ b/share/man/man9/BUS_DESCRIBE_INTR.9
@@ -45,7 +45,7 @@
.Ft int
.Fo bus_describe_intr
.Fa "device_t dev" "struct resource *irq" "void *cookie" "const char *fmt"
-.Fa ...
+.Fa ...
.Fc
.Sh DESCRIPTION
The
diff --git a/share/man/man9/BUS_SETUP_INTR.9 b/share/man/man9/BUS_SETUP_INTR.9
index 3910570..8264a99 100644
--- a/share/man/man9/BUS_SETUP_INTR.9
+++ b/share/man/man9/BUS_SETUP_INTR.9
@@ -130,8 +130,8 @@ Mutexes are not allowed to be held across calls to these functions.
A filter runs in primary interrupt context.
In this context, normal mutexes cannot be used.
Only the spin lock version of these can be used (specified by passing
-.Dv MTX_SPIN
-to
+.Dv MTX_SPIN
+to
.Fn mtx_init
when initializing the mutex).
.Xr wakeup 9
diff --git a/share/man/man9/DB_COMMAND.9 b/share/man/man9/DB_COMMAND.9
index 44fe32b..d452057 100644
--- a/share/man/man9/DB_COMMAND.9
+++ b/share/man/man9/DB_COMMAND.9
@@ -38,19 +38,18 @@
.Fo DB_COMMAND
.Fa command_name
.Fa command_function
-.Fc
-.Fn DB_SHOW_COMMAND "command_name" "command_function"
-.Fn DB_SHOW_ALL_COMMAND "command_name" "command_function"
+.Fc
+.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
.Fa command_name
to the list of top-level commands.
-Invoking
+Invoking
.Fa command_name
-from ddb will call
+from ddb will call
.Fa command_function .
.Pp
The
@@ -61,14 +60,14 @@ are roughly equivalent to
.Fn DB_COMMAND
but in these cases,
.Fa command_name
-is a sub-command of the ddb
+is a sub-command of the ddb
.Sy show
command and
.Sy show all
command, respectively.
.Pp
The general command syntax:
-.Cm command Ns Op Li \&/ Ns Ar modifier
+.Cm command Ns Op Li \&/ Ns Ar modifier
.Ar address Ns Op Li , Ns Ar count ,
translates into the following parameters for
.Fa command_function :
diff --git a/share/man/man9/DEVICE_PROBE.9 b/share/man/man9/DEVICE_PROBE.9
index bf592c5..86b8339 100644
--- a/share/man/man9/DEVICE_PROBE.9
+++ b/share/man/man9/DEVICE_PROBE.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 3, 2008
+.Dd February 8, 2012
.Dt DEVICE_PROBE 9
.Os
.Sh NAME
@@ -96,7 +96,7 @@ all the rules, or special needs drivers).
.It BUS_PROBE_VENDOR
The device is supported by a vendor driver.
This is for source or binary drivers that are not yet integrated into the
-.Fx
+.Fx
tree.
Its use in the base OS is prohibited.
.It BUS_PROBE_DEFAULT
@@ -119,8 +119,8 @@ drivers matching particular types of serial ports that need special
treatment for some reason.
.It BUS_PROBE_HOOVER
The driver matches all unclaimed devices on a bus.
-The
-.Xr ugen 5
+The
+.Xr ugen 4
device is one example.
.It BUS_PROBE_NOWILDCARD
The driver expects its parent to tell it which children to manage
diff --git a/share/man/man9/DEV_MODULE.9 b/share/man/man9/DEV_MODULE.9
index 13a81c1..28465b3 100644
--- a/share/man/man9/DEV_MODULE.9
+++ b/share/man/man9/DEV_MODULE.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 11, 2001
+.Dd January 19, 2012
.Dt DEV_MODULE 9
.Os
.Sh NAME
@@ -68,7 +68,7 @@ on load and to destroy it when it is unloaded using
static struct cdevsw foo_devsw = { ... };
-static dev_t sdev;
+static struct cdev *sdev;
static int
foo_load(module_t mod, int cmd, void *arg)
diff --git a/share/man/man9/LOCK_PROFILING.9 b/share/man/man9/LOCK_PROFILING.9
index 94b2246..d64b328 100644
--- a/share/man/man9/LOCK_PROFILING.9
+++ b/share/man/man9/LOCK_PROFILING.9
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 11, 2006
+.Dd March 7, 2012
.Dt LOCK_PROFILING 9
.Os
.Sh NAME
@@ -82,32 +82,6 @@ Enable or disable the lock profiling code.
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 +112,14 @@ reached.
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 ,
diff --git a/share/man/man9/MD5.9 b/share/man/man9/MD5.9
index b2d257f..1b9fcd2 100644
--- a/share/man/man9/MD5.9
+++ b/share/man/man9/MD5.9
@@ -44,7 +44,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
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 7d2af8a..06b0e33 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -12,6 +12,7 @@ MAN= accept_filter.9 \
boot.9 \
bpf.9 \
buf.9 \
+ buf_ring.9 \
BUF_ISLOCKED.9 \
BUF_LOCK.9 \
BUF_LOCKFREE.9 \
@@ -99,6 +100,7 @@ MAN= accept_filter.9 \
devtoname.9 \
disk.9 \
domain.9 \
+ drbr.9 \
driver.9 \
DRIVER_MODULE.9 \
EVENTHANDLER.9 \
@@ -410,6 +412,16 @@ MLINKS+=bpf.9 bpfattach.9 \
bpf.9 bpf_tap.9 \
bpf.9 bpf_validate.9
MLINKS+=buf.9 bp.9
+MLINKS+=buf_ring.9 buf_ring_alloc.9 \
+ buf_ring.9 buf_ring_free.9 \
+ buf_ring.9 buf_ring_enqueue.9 \
+ buf_ring.9 buf_ring_enqueue_bytes.9 \
+ buf_ring.9 buf_ring_dequeue_mc.9 \
+ buf_ring.9 buf_ring_dequeue_sc.9 \
+ buf_ring.9 buf_ring_count.9 \
+ buf_ring.9 buf_ring_empty.9 \
+ buf_ring.9 buf_ring_full.9 \
+ buf_ring.9 buf_ring_peek.9
MLINKS+=bus_activate_resource.9 bus_deactivate_resource.9
MLINKS+=bus_alloc_resource.9 bus_alloc_resource_any.9
MLINKS+=BUS_BIND_INTR.9 bus_bind_intr.9
@@ -603,11 +615,19 @@ MLINKS+=disk.9 disk_alloc.9 \
disk.9 disk_destroy.9 \
disk.9 disk_gone.9
MLINKS+=domain.9 DOMAIN_SET.9 \
- domain.9 net_add_domain.9 \
+ domain.9 domain_add.9 \
domain.9 pfctlinput.9 \
domain.9 pfctlinput2.9 \
domain.9 pffindproto.9 \
domain.9 pffindtype.9
+MLINKS+=drbr.9 drbr_free.9 \
+ drbr.9 drbr_enqueue.9 \
+ drbr.9 drbr_dequeue.9 \
+ drbr.9 drbr_dequeue_cond.9 \
+ drbr.9 drbr_flush.9 \
+ drbr.9 drbr_empty.9 \
+ drbr.9 drbr_inuse.9 \
+ drbr.9 drbr_stats_update.9
MLINKS+=EVENTHANDLER.9 EVENTHANDLER_DECLARE.9 \
EVENTHANDLER.9 EVENTHANDLER_DEREGISTER.9 \
EVENTHANDLER.9 eventhandler_deregister.9 \
@@ -753,6 +773,8 @@ MLINKS+=kqueue.9 knlist_add.9 \
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 \
@@ -951,16 +973,32 @@ MLINKS+=namei.9 NDFREE.9 \
MLINKS+=pbuf.9 getpbuf.9 \
pbuf.9 relpbuf.9 \
pbuf.9 trypbuf.9
-MLINKS+=pci.9 pci_disable_busmaster.9 \
+MLINKS+=pci.9 pci_alloc_msi.9 \
+ pci.9 pci_alloc_msix.9 \
+ pci.9 pci_disable_busmaster.9 \
pci.9 pci_disable_io.9 \
pci.9 pci_enable_busmaster.9 \
pci.9 pci_enable_io.9 \
pci.9 pci_find_bsf.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_get_max_read_req.9 \
pci.9 pci_get_powerstate.9 \
+ pci.9 pci_get_vpd_ident.9 \
+ pci.9 pci_get_vpd_readonly.9 \
+ pci.9 pci_msi_count.9 \
+ pci.9 pci_msix_count.9 \
+ pci.9 pci_pending_msix.9 \
pci.9 pci_read_config.9 \
+ pci.9 pci_release_msi.9 \
+ pci.9 pci_remap_msix.9 \
+ pci.9 pci_restore_state.9 \
+ 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
MLINKS+=pfil.9 pfil_add_hook.9 \
pfil.9 pfil_hook_get.9 \
@@ -1212,6 +1250,7 @@ MLINKS+=store.9 subyte.9 \
store.9 suword32.9 \
store.9 suword64.9
MLINKS+=swi.9 swi_add.9 \
+ swi.9 swi_remove.9 \
swi.9 swi_sched.9
MLINKS+=sx.9 sx_assert.9 \
sx.9 sx_destroy.9 \
diff --git a/share/man/man9/SYSINIT.9 b/share/man/man9/SYSINIT.9
index 9140dd8..1837d25 100644
--- a/share/man/man9/SYSINIT.9
+++ b/share/man/man9/SYSINIT.9
@@ -29,7 +29,7 @@
.Os
.Sh NAME
.Nm SYSINIT ,
-.Nm SYSUNINIT
+.Nm SYSUNINIT
.Nd a framework for dynamic kernel initialization
.Sh SYNOPSIS
.In sys/param.h
diff --git a/share/man/man9/bios.9 b/share/man/man9/bios.9
index 0621b72..48bbe16 100644
--- a/share/man/man9/bios.9
+++ b/share/man/man9/bios.9
@@ -40,8 +40,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
diff --git a/share/man/man9/buf_ring.9 b/share/man/man9/buf_ring.9
new file mode 100644
index 0000000..ffade94
--- /dev/null
+++ b/share/man/man9/buf_ring.9
@@ -0,0 +1,144 @@
+.\" Copyright (c) 2009 Bitgravity Inc
+.\" Written by: Kip Macy <kmacy@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$
+.\"
+.Dd January 30, 2012
+.Dt BUF_RING 9
+.Os
+.Sh NAME
+.Nm buf_ring ,
+.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 ,
+.Nd multi-producer, {single, multi}-consumer lock-less ring buffer
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/buf_ring.h
+.Ft struct buf_ring *
+.Fn buf_ring_alloc "int count" "struct malloc_type *type" "int flags" "struct mtx *sc_lock"
+.Ft void
+.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 *
+.Fn buf_ring_dequeue_sc "struct buf_ring *br"
+.Ft int
+.Fn buf_ring_count "struct buf_ring *br"
+.Ft int
+.Fn buf_ring_empty "struct buf_ring *br"
+.Ft int
+.Fn buf_ring_full "struct buf_ring *br"
+.Ft void *
+.Fn buf_ring_peek "struct buf_ring *br"
+.Sh DESCRIPTION
+The
+.Nm
+functions provide a lock-less multi-producer and lock-less multi-consumer as
+well as single-consumer ring buffer.
+.Pp
+The
+.Fn buf_ring_alloc
+function is used to allocate a buf_ring ring buffer with
+.Fa count
+slots using malloc_type
+.Fa type
+and memory flags
+.Fa flags .
+The single consumer interface is protected by
+.Fa sc_lock .
+.Pp
+The
+.Fn buf_ring_free
+function is used to free a buf_ring.
+The user is responsible for freeing any enqueued items.
+.Pp
+The
+.Fn buf_ring_enqueue
+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
+The
+.Fn buf_ring_dequeue_sc
+function is a single-consumer interface to dequeue elements - requiring
+the user to serialize accesses with a lock.
+.Pp
+The
+.Fn buf_ring_count
+function returns the number of elements in a buf_ring.
+.Pp
+The
+.Fn buf_ring_empty
+function returns
+.Dv TRUE
+if the buf_ring is empty,
+.Dv FALSE
+otherwise.
+.Pp
+The
+.Fn buf_ring_full
+function returns
+.Dv TRUE
+if no more items can be enqueued,
+.Dv FALSE
+otherwise.
+.Pp
+The
+.Fn buf_ring_peek
+function returns a pointer to the last element in the buf_ring if the
+buf_ring is not empty,
+.Dv NULL
+otherwise.
+.Sh RETURN VALUES
+The
+.Fn buf_ring_enqueue
+and
+.Fn buf_ring_enqueue_bytes
+functions return
+.Er ENOBUFS
+if there are no available slots in the buf_ring.
+.Sh HISTORY
+These functions were introduced in
+.Fx 8.0 .
diff --git a/share/man/man9/bus_dma.9 b/share/man/man9/bus_dma.9
index 7886b14..3b5ca78 100644
--- a/share/man/man9/bus_dma.9
+++ b/share/man/man9/bus_dma.9
@@ -82,7 +82,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"
diff --git a/share/man/man9/bus_space.9 b/share/man/man9/bus_space.9
index b3234c4..59c3607 100644
--- a/share/man/man9/bus_space.9
+++ b/share/man/man9/bus_space.9
@@ -167,77 +167,77 @@
.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
.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 +247,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 +391,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
diff --git a/share/man/man9/byteorder.9 b/share/man/man9/byteorder.9
index f47f609..20e3136 100644
--- a/share/man/man9/byteorder.9
+++ b/share/man/man9/byteorder.9
@@ -123,7 +123,7 @@ The
.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
diff --git a/share/man/man9/condvar.9 b/share/man/man9/condvar.9
index db3eab1..7b89d46 100644
--- a/share/man/man9/condvar.9
+++ b/share/man/man9/condvar.9
@@ -117,10 +117,10 @@ argument is a pointer to either a
or
.Xr sx 9
lock.
-A
+A
.Xr mutex 9
argument must be initialized with
-.Dv MTX_DEF
+.Dv MTX_DEF
and not
.Dv MTX_SPIN .
A thread must hold
diff --git a/share/man/man9/contigmalloc.9 b/share/man/man9/contigmalloc.9
index f0797be..ba1f428 100644
--- a/share/man/man9/contigmalloc.9
+++ b/share/man/man9/contigmalloc.9
@@ -42,7 +42,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
diff --git a/share/man/man9/crypto.9 b/share/man/man9/crypto.9
index ba13254..c2682af 100644
--- a/share/man/man9/crypto.9
+++ b/share/man/man9/crypto.9
@@ -26,29 +26,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 +64,7 @@ struct cryptoini {
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 +83,7 @@ struct cryptodesc {
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 +108,7 @@ struct cryptkop {
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 +450,7 @@ is called to perform a keying operation.
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 +524,10 @@ The calling convention for the three driver-supplied routines is:
.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 *" ;
diff --git a/share/man/man9/devclass_get_maxunit.9 b/share/man/man9/devclass_get_maxunit.9
index fc2bc25..c3be627 100644
--- a/share/man/man9/devclass_get_maxunit.9
+++ b/share/man/man9/devclass_get_maxunit.9
@@ -48,7 +48,7 @@ The
.Fn devclass_get_maxunit
function returns -1 if
.Fa dc
-is
+is
.Dv NULL;
otherwise it returns the next unit
number in
diff --git a/share/man/man9/device_get_children.9 b/share/man/man9/device_get_children.9
index 677d8eb..cbc1124 100644
--- a/share/man/man9/device_get_children.9
+++ b/share/man/man9/device_get_children.9
@@ -48,9 +48,9 @@ and the count in
.Fa *devcountp .
The memory allocated for the list should be freed using
.Fn free "*devlistp" "M_TEMP" .
-.Fa devlistp
+.Fa devlistp
and
-.Fa devcountp
+.Fa devcountp
are not changed when an error is returned.
.Sh RETURN VALUES
Zero is returned on success, otherwise an appropriate error is returned.
diff --git a/share/man/man9/device_set_flags.9 b/share/man/man9/device_set_flags.9
index aed3069..3a836ff 100644
--- a/share/man/man9/device_set_flags.9
+++ b/share/man/man9/device_set_flags.9
@@ -39,8 +39,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
diff --git a/share/man/man9/devstat.9 b/share/man/man9/devstat.9
index fa37856..7ed7ec1 100644
--- a/share/man/man9/devstat.9
+++ b/share/man/man9/devstat.9
@@ -45,7 +45,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 +57,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
diff --git a/share/man/man9/devtoname.9 b/share/man/man9/devtoname.9
index f93e77b..07ec04f 100644
--- a/share/man/man9/devtoname.9
+++ b/share/man/man9/devtoname.9
@@ -24,32 +24,23 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 25, 1999
+.Dd February 10, 2012
.Dt DEVTONAME 9
.Os
.Sh NAME
.Nm devtoname
-.Nd "converts dev_t data into a string indicating the device name"
+.Nd "converts character device into a string indicating the device name"
.Sh SYNOPSIS
.In sys/param.h
.In sys/conf.h
.Ft const char *
-.Fn devtoname "dev_t dev"
+.Fn devtoname "struct cdev *dev"
.Sh DESCRIPTION
The
.Fn devtoname
function returns a pointer to the name of the device passed to it.
The name is whatever was set to it in
.Fn make_dev .
-If no name is associated with
-.Va dev ,
-a pointer to a string consisting of a
-.Dq #
-followed by
-.Dq Va major Ns / Ns Va minor
-as it applies to
-.Va dev
-is returned.
.Sh HISTORY
The
.Fn devtoname
diff --git a/share/man/man9/domain.9 b/share/man/man9/domain.9
index e868c97..7d665b3 100644
--- a/share/man/man9/domain.9
+++ b/share/man/man9/domain.9
@@ -26,11 +26,11 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 23, 2008
+.Dd February 23, 2012
.Dt DOMAIN 9
.Os
.Sh NAME
-.Nm net_add_domain ,
+.Nm domain_add ,
.Nm pfctlinput ,
.Nm pfctlinput2 ,
.Nm pffindproto ,
@@ -43,7 +43,7 @@
.In sys/protosw.h
.In sys/domain.h
.Ft void
-.Fn net_add_domain "void *data"
+.Fn domain_add "void *data"
.Ft void
.Fn pfctlinput "int cmd" "struct sockaddr *sa"
.Ft void
@@ -142,7 +142,7 @@ have their
.Fn pr_ctlinput
function called.
.Pp
-.Fn net_add_domain
+.Fn domain_add
adds a new protocol domain to the system.
The argument
.Fa data
@@ -153,13 +153,13 @@ within the function, but is declared
in order to prevent compiler warnings when new domains are registered with
.Fn SYSINIT .
In most cases
-.Fn net_add_domain
+.Fn domain_add
is not called directly, instead
.Fn DOMAIN_SET
is used.
.Pp
If the new domain has defined an initialization routine, it is called by
-.Fn net_add_domain ;
+.Fn domain_add ;
as well, each of the protocols within the domain that have defined an
initialization routine will have theirs called.
.Pp
diff --git a/share/man/man9/drbr.9 b/share/man/man9/drbr.9
new file mode 100644
index 0000000..168ce10
--- /dev/null
+++ b/share/man/man9/drbr.9
@@ -0,0 +1,147 @@
+.\" Copyright (c) 2009 Bitgravity Inc
+.\" Written by: Kip Macy <kmacy@@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$
+.\"
+.Dd January 30, 2012
+.Dt DRBR 9
+.Os
+.Sh NAME
+.Nm drbr ,
+.Nm drbr_free ,
+.Nm drbr_enqueue ,
+.Nm drbr_dequeue ,
+.Nm drbr_dequeue_cond ,
+.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
+.In net/if.h
+.In net/if_var.h
+.Ft void
+.Fn drbr_free "struct buf_ring *br" "struct malloc_type *type"
+.Ft int
+.Fn drbr_enqueue "struct ifnet *ifp" "struct buf_ring *br" "struct mbuf *m"
+.Ft struct mbuf *
+.Fn drbr_dequeue "struct ifnet *ifp" "struct buf_ring *br"
+.Ft struct mbuf *
+.Fn drbr_dequeue_cond "struct ifnet *ifp" "struct buf_ring *br" "int (*func) (struct mbuf *, void *)" "void *arg"
+.Ft void
+.Fn drbr_flush "struct ifnet *ifp" "struct buf_ring *br"
+.Ft int
+.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
+functions provide an API to network drivers for using
+.Xr buf_ring 9
+for enqueueing and dequeueing packets.
+This is meant as a replacement for the IFQ interface for packet queuing.
+It allows a packet to be enqueued with a single atomic and packet
+dequeue to be done without any per-packet atomics as it is protected
+by the driver's tx queue lock.
+If
+.Dv INVARIANTS
+is enabled,
+.Fn drbr_dequeue
+will assert that the tx queue lock is held when it is called.
+.Pp
+The
+.Fn drbr_free
+function frees all the enqueued mbufs and then frees the buf_ring.
+.Pp
+The
+.Fn drbr_enqueue
+function is used to enqueue an mbuf to a buf_ring, falling back to the
+ifnet's IFQ if
+.Xr ALTQ 4
+is enabled.
+.Pp
+The
+.Fn drbr_dequeue
+function is used to dequeue an mbuf from a buf_ring or, if
+.Xr ALTQ 4
+is enabled, from the ifnet's IFQ.
+.Pp
+The
+.Fn drbr_dequeue_cond
+function is used to conditionally dequeue an mbuf from a buf_ring based
+on whether
+.Fa func
+returns
+.Dv TRUE
+or
+.Dv FALSE .
+.Pp
+The
+.Fn drbr_flush
+function frees all mbufs enqueued in the buf_ring and the ifnet's IFQ.
+.Pp
+The
+.Fn drbr_empty
+function returns
+.Dv TRUE
+if there are no mbufs enqueued,
+.Dv FALSE
+otherwise.
+.Pp
+The
+.Fn drbr_inuse
+function returns the number of mbufs enqueued.
+Note to users that this is intrinsically racy as there is no guarantee that
+there will not be more mbufs when
+.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
+function returns
+.Er ENOBUFS
+if there are no slots available in the buf_ring and
+.Dv 0
+on success.
+.Pp
+The
+.Fn drbr_dequeue
+and
+.Fn drbr_dequeue_cond
+functions return an mbuf on success and
+.Dv NULL
+if the buf_ring is empty.
+.Sh HISTORY
+These functions were introduced in
+.Fx 8.0 .
diff --git a/share/man/man9/eventtimers.9 b/share/man/man9/eventtimers.9
index db530a9..2ed15d0 100644
--- a/share/man/man9/eventtimers.9
+++ b/share/man/man9/eventtimers.9
@@ -52,7 +52,7 @@ struct eventtimer {
#define ET_FLAGS_POW2DIV 16
int et_quality;
int et_active;
- u_int64_t et_frequency;
+ uint64_t et_frequency;
struct bintime et_min_period;
struct bintime et_max_period;
et_start_t *et_start;
@@ -213,7 +213,7 @@ is the opposite to
It releases the event timer for other consumers use.
.Pp
.Fn ET_LOCK
-and
+and
.Fn ET_UNLOCK
macros should be used to manage
.Xr mutex 9
diff --git a/share/man/man9/fail.9 b/share/man/man9/fail.9
index 0973cea..5505d13 100644
--- a/share/man/man9/fail.9
+++ b/share/man/man9/fail.9
@@ -165,7 +165,6 @@ term only cascades when passed a non-zero argument.
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
.It Sy sysctl debug.fail_point.foobar="2.1%return(5)"
diff --git a/share/man/man9/firmware.9 b/share/man/man9/firmware.9
index 5254f24..9987e09 100644
--- a/share/man/man9/firmware.9
+++ b/share/man/man9/firmware.9
@@ -157,7 +157,7 @@ argument may be set to
to indicate that
firmware_put is free to reclaim resources associated with
the firmware image if this is the last reference.
-By default a firmware image will be deferred to a
+By default a firmware image will be deferred to a
.Xr taskqueue 9
thread so the call may be done while holding a lock.
In certain cases, such as on driver detach, this cannot be allowed.
diff --git a/share/man/man9/get_cyclecount.9 b/share/man/man9/get_cyclecount.9
index 30db0d8..eabaeb1 100644
--- a/share/man/man9/get_cyclecount.9
+++ b/share/man/man9/get_cyclecount.9
@@ -34,7 +34,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
diff --git a/share/man/man9/ieee80211.9 b/share/man/man9/ieee80211.9
index 30affc9..1e53cf6 100644
--- a/share/man/man9/ieee80211.9
+++ b/share/man/man9/ieee80211.9
@@ -29,7 +29,7 @@
.Dt IEEE80211 9
.Os
.Sh NAME
-.Nm IEEE80211
+.Nm IEEE80211
.Nd 802.11 network layer
.Sh SYNOPSIS
.In net80211/ieee80211_var.h
@@ -164,7 +164,7 @@ Table of channels the device is capable of operating on.
This is initially provided by the driver but may be changed
through calls that change the regulatory state.
.It Dv ic_nchan
-Number of entries in
+Number of entries in
.Dv ic_channels .
.El
.Pp
@@ -221,7 +221,7 @@ There is no default method; the pointer may be NULL in which case
it will not be used.
.It Dv ic_node_alloc
Allocate and initialize a
-.Vt ieee80211_node
+.Vt ieee80211_node
structure.
This method cannot sleep.
The default method allocates zero'd memory using
@@ -232,7 +232,7 @@ Memory allocated by the driver must be tagged with
.Dv M_80211_NODE
to balance the memory allocation statistics.
.It Dv ic_node_free
-Reclaim storage of a node allocated by
+Reclaim storage of a node allocated by
.Dv ic_node_alloc .
Drivers are expected to
.Em interpose
@@ -302,7 +302,7 @@ and must initiate the work to scan a channel and schedule a timer
to advance to the next channel in the scan list.
This callback is done in a sleepable context.
The default method handles active scan work (e.g. sending ProbeRequest
-frames), and schedules a call to
+frames), and schedules a call to
.Xr ieee80211_scan_next 9
according to the maximum dwell time for the channel.
Drivers that off-load scan work to firmware typically use this method
@@ -354,7 +354,7 @@ Terminate receipt of A-MPDU data from the specified station for the TID.
.El
.Pp
Once the
-.Nm
+.Nm
layer is attached to a driver there are two more steps typically done
to complete the work:
.Bl -enum
@@ -405,7 +405,7 @@ The following general capabilities are defined:
Device is capable of operating in station (aka Infrastructure) mode.
.It Dv IEEE80211_C_8023ENCAP
Device requires 802.3-encapsulated frames be passed for transmit.
-By default
+By default
.Nm
will encapsulate all outbound frames as 802.11 frames (without a PLCP header).
.It Dv IEEE80211_C_FF
@@ -529,16 +529,16 @@ Device supports L-SIG TXOP protection.
.It Dv IEEE80211_HTC_AMPDU
Device supports A-MPDU aggregation.
Note that any 802.11n compliant device must support A-MPDU receive
-so this implicitly means support for
+so this implicitly means support for
.Em transmit
of A-MPDU frames.
.It Dv IEEE80211_HTC_AMSDU
Device supports A-MSDU aggregation.
Note that any 802.11n compliant device must support A-MSDU receive
-so this implicitly means support for
+so this implicitly means support for
.Em transmit
of A-MSDU frames.
-.It Dv IEEE80211_HTC_HT
+.It Dv IEEE80211_HTC_HT
Device supports High Throughput (HT) operation.
This capability must be set to enable 802.11n functionality
in
diff --git a/share/man/man9/ieee80211_amrr.9 b/share/man/man9/ieee80211_amrr.9
index 8206b2d..a90de3d 100644
--- a/share/man/man9/ieee80211_amrr.9
+++ b/share/man/man9/ieee80211_amrr.9
@@ -86,7 +86,7 @@ rate for each frame.
To maximize throughput algorithms try to use the highest rate that
is appropriate for the operating conditions.
The rate will vary as conditions change; the distance between two stations
-may change, transient noise may be present that affects signal quality,
+may change, transient noise may be present that affects signal quality,
etc.
.Nm
uses very simple information from a driver to do it's job:
@@ -119,8 +119,8 @@ The
.Vt amrr
structure member holds the per-vap state for
.Nm
-and
-.Xr ral 4
+and
+.Xr ral 4
initializes it in the vap create method with:
.Bd -literal -offset indent
ieee80211_amrr_init(&rvp->amrr, vap,
diff --git a/share/man/man9/ieee80211_bmiss.9 b/share/man/man9/ieee80211_bmiss.9
index bd82c3c..63b8e9f 100644
--- a/share/man/man9/ieee80211_bmiss.9
+++ b/share/man/man9/ieee80211_bmiss.9
@@ -56,9 +56,9 @@ This causes some number of ProbeRequest frames to be sent to the
access point to check if the association is still alive.
If no response is received and roaming mode is set to
.Dv IEEE80211_ROAMING_AUTO
-then
+then
.Nm net80211
-will try to re-associate and if that fails
+will try to re-associate and if that fails
trigger a scan to look for the access point or another suitable AP.
When the
.Nm net80211
diff --git a/share/man/man9/ieee80211_crypto.9 b/share/man/man9/ieee80211_crypto.9
index e21bc26..9f48f21 100644
--- a/share/man/man9/ieee80211_crypto.9
+++ b/share/man/man9/ieee80211_crypto.9
@@ -127,7 +127,7 @@ driver is unable to provide necessary hardware services.
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 +153,7 @@ hardware.
.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,7 +235,7 @@ to the driver that are already prepared for transmission.
For receive, drivers mark frames with the
.Dv M_WEP
mbuf flag to indicate the hardware has decrypted the payload.
-If frames have the
+If frames have the
.Dv IEEE80211_FC1_WEP
bit marked in their 802.11 header and are not tagged with
.Dv M_WEP
diff --git a/share/man/man9/ieee80211_input.9 b/share/man/man9/ieee80211_input.9
index 61b11a5..9422f0b 100644
--- a/share/man/man9/ieee80211_input.9
+++ b/share/man/man9/ieee80211_input.9
@@ -110,7 +110,7 @@ RSSI and noise are used by the
layer to make scanning and roaming decisions in station mode
and to do auto channel selection for hostap and similar modes.
Otherwise the values are made available to user applications
-(with the rssi presented as a filtered average over the last ten values
+(with the rssi presented as a filtered average over the last ten values
and the noise floor the last reported value).
.Sh SEE ALSO
.Xr ieee80211 9
diff --git a/share/man/man9/ieee80211_node.9 b/share/man/man9/ieee80211_node.9
index 180d8c4..452bbcc 100644
--- a/share/man/man9/ieee80211_node.9
+++ b/share/man/man9/ieee80211_node.9
@@ -67,18 +67,18 @@
.Ft void
.Fo ieee80211_dump_nodes
.Fa "struct ieee80211_node_table *"
-.Fc
+.Fc
.\"
.Ft void
.Fo ieee80211_dump_node
.Fa "struct ieee80211_node *"
-.Fc
+.Fc
.Sh DESCRIPTION
The
.Nm net80211
layer that supports 802.11 device drivers maintains a database of
peer stations called the
-.Dq node table
+.Dq node table
in the
.Vt ic_sta
entry of the
@@ -125,7 +125,7 @@ field.
This reference must be reclaimed by the driver when transmit processing
is done.
For each frame received the driver must lookup the table entry to
-use in dispatching the frame
+use in dispatching the frame
.Dq up the stack .
This lookup implicitly obtains a reference to the table entry and
the driver must reclaim the reference when frame processing is completed.
@@ -139,7 +139,7 @@ Entries may be looked up using one of the pre-defined API's or the
.Fn ieee80211_iterate_nodes
call may be used to iterate through all entries to do per-node
processing or implement some non-standard search mechanism.
-Note that
+Note that
.Fn ieee80211_iterate_nodes
is single-threaded per-device
and the effort processing involved is fairly
@@ -206,7 +206,7 @@ iwi_node_free(struct ieee80211_node *ni)
struct ieee80211com *ic = ni->ni_ic;
struct iwi_softc *sc = ic->ic_ifp->if_softc;
struct iwi_node *in = (struct iwi_node *)ni;
-
+
if (in->in_station != -1)
free_unr(sc->sc_unr, in->in_station);
sc->sc_node_free(ni); /* invoke net80211 free handler */
diff --git a/share/man/man9/ieee80211_output.9 b/share/man/man9/ieee80211_output.9
index 82393bd..6a8d3a7 100644
--- a/share/man/man9/ieee80211_output.9
+++ b/share/man/man9/ieee80211_output.9
@@ -110,13 +110,13 @@ node table entry in the
field.
The node is associated with the frame destination.
Typically it is the receiver's entry but in some situations it may be
-a placeholder entry or the
+a placeholder entry or the
.Dq next hop station
(such as in a mesh network).
In all cases the reference must be reclaimed with
.Fn ieee80211_free_node
when the transmit work is completed.
-The rule to remember is:
+The rule to remember is:
.Nm net80211
passes responsibility for the
.Vt mbuf
@@ -131,7 +131,7 @@ assigned to the receiving station and/or any Diffserv setting
in an IP or IPv6 header.
If both vlan and Diffserv priority are present the higher of the
two is used.
-If WME/WMM is being used then any ACM policy (in station mode) is
+If WME/WMM is being used then any ACM policy (in station mode) is
also enforced.
The resulting AC is attached to the mbuf and may be read back using the
.Fn M_WME_GETAC
@@ -182,7 +182,7 @@ The callback is done using
.Fn ieee80211_process_callback
with the last parameter set to a non-zero value if an error occurred
and zero otherwise.
-Note
+Note
.Nm net80211
understands that drivers may be incapable of determining status;
a device may not report if an ACK frame is received and/or a device may queue
diff --git a/share/man/man9/ieee80211_proto.9 b/share/man/man9/ieee80211_proto.9
index 1938d6e..88412eb 100644
--- a/share/man/man9/ieee80211_proto.9
+++ b/share/man/man9/ieee80211_proto.9
@@ -108,7 +108,7 @@ Beware that data traffic is also gated by whether the associated
.Dq port
is authorized.
When WPA/802.11i/802.1x is operational authorization may happen separately;
-e.g. in station mode
+e.g. in station mode
.Xr wpa_supplicant 8
must complete the handshakes and plumb the necessary keys before a port
is authorized.
@@ -143,14 +143,14 @@ Certain
.Nm net80211
data are valid only in certain states; e.g. the
.Vt iv_bsschan
-that specifies the channel for the operating BSS should never be used
+that specifies the channel for the operating BSS should never be used
except in
.Dv IEEE80211_S_RUN
or greater.
.Sh STATE CHANGES
State machine changes are typically handled internal to the
.Nm net80211
-layer in response to
+layer in response to
.Xr ioctl 2
requests, received frames, or external events such as a beacon miss.
The
@@ -161,7 +161,7 @@ The request is initially processed to handle coordination of multiple vaps.
For example, only one vap at a time can be scanning, if multiple vaps
request a change to
.Dv IEEE80211_S_SCAN
-the first will be permitted to run and the others will be
+the first will be permitted to run and the others will be
.Em deferred
until the scan operation completes at which time the selected channel
will be adopted.
@@ -197,12 +197,12 @@ call the
handles two state changes specially.
On transition to
.Dv IEEE80211_S_RUN
-the
+the
.Dv IFF_DRV_OACTIVE
bit on the vap's transmit queue is cleared so traffic can flow.
On transition to
.Dv IEEE80211_S_INIT
-any state in the scan cache associated with the vap is flushed
+any state in the scan cache associated with the vap is flushed
and any frames pending on the transmit queue are flushed.
.Sh DRIVER INTEGRATION
Drivers are expected to override the
diff --git a/share/man/man9/ieee80211_radiotap.9 b/share/man/man9/ieee80211_radiotap.9
index 8d44a47..cea2eb4 100644
--- a/share/man/man9/ieee80211_radiotap.9
+++ b/share/man/man9/ieee80211_radiotap.9
@@ -61,7 +61,7 @@ The
.Nm net80211
layer used by 802.11 drivers includes support for a device-independent
packet capture format called
-.Nm radiotap
+.Nm radiotap
that is understood by tools such as
.Xr tcpdump 1 .
This facility is designed for capturing 802.11 traffic,
@@ -257,7 +257,7 @@ struct wi_rx_radiotap_header {
uint16_t wr_chan_flags;
uint8_t wr_antsignal;
uint8_t wr_antnoise;
-} __packed;
+} __packed;
.Ed
.Pp
and transmit definitions for the Atheros driver:
diff --git a/share/man/man9/ieee80211_regdomain.9 b/share/man/man9/ieee80211_regdomain.9
index 527deb5..da310dd 100644
--- a/share/man/man9/ieee80211_regdomain.9
+++ b/share/man/man9/ieee80211_regdomain.9
@@ -56,7 +56,7 @@ The
software layer provides a support framework for drivers that includes
comprehensive regulatory support.
.Nm net80211
-provides mechanisms that enforce
+provides mechanisms that enforce
.Em "regulatory policy"
by privileged user applications.
.Pp
@@ -102,7 +102,7 @@ and leave proper setup to user applications.
If default settings are known they can be installed and/or an event
can be dispatched to user space using
.Fn ieee80211_notify_country
-so that
+so that
.Xr devd 8
will do the appropriate setup work at system boot (or device insertion).
.Pp
diff --git a/share/man/man9/ieee80211_scan.9 b/share/man/man9/ieee80211_scan.9
index b2b77cf..54cefa7 100644
--- a/share/man/man9/ieee80211_scan.9
+++ b/share/man/man9/ieee80211_scan.9
@@ -322,7 +322,7 @@ Existing entries are typically updated based on the latest information
though some information such as RSSI and noise floor readings may be
combined to present an average.
.Pp
-The cache contents is aged through
+The cache contents is aged through
.Fn ieee80211_scan_timeout
calls.
Typically these happen together with other station table activity; every
diff --git a/share/man/man9/ieee80211_vap.9 b/share/man/man9/ieee80211_vap.9
index f5ef20b..0c68f6d 100644
--- a/share/man/man9/ieee80211_vap.9
+++ b/share/man/man9/ieee80211_vap.9
@@ -93,7 +93,7 @@ This data structure must have an
structure at the front but is usually extended with driver-private state.
Next the vap is setup with a call to
.Fn ieee80211_vap_setup .
-This request initializes
+This request initializes
.Nm net80211
state but does not activate the interface.
The driver can then override methods setup by
@@ -108,7 +108,7 @@ A vap is deleted when an
.Dv SIOCIFDESTROY
ioctl request is made or when the device detaches (causing all
associated vaps to automatically be deleted).
-Delete requests cause the
+Delete requests cause the
.Vt ic_vap_delete
method to be called.
Drivers must quiesce the device before calling
diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9
index e015fb7..dd4fdf5 100644
--- a/share/man/man9/ifnet.9
+++ b/share/man/man9/ifnet.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 3, 2011
+.Dd March 23, 2012
.Dt IFNET 9
.Os
.Sh NAME
@@ -66,21 +66,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 +93,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 +103,7 @@
.Ft int
.Fo \*(lp*if_output\*(rp
.Fa "struct ifnet *ifp" "struct mbuf *m"
-.Fa "struct sockaddr *dst" "struct rtentry *rt"
+.Fa "struct sockaddr *dst" "struct route *ro"
.Fc
.Ft void
.Fn \*(lp*if_start\*(rp "struct ifnet *ifp"
@@ -107,9 +112,7 @@
.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"
-.Ft void
-.Fn \*(lp*if_watchdog\*(rp "struct ifnet *ifp"
+.Fn \*(lp*if_ioctl\*(rp "struct ifnet *ifp" "u_long cmd" "caddr_t data"
.Ft void
.Fn \*(lp*if_init\*(rp "void *if_softc"
.Ft int
@@ -119,12 +122,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 +181,23 @@ return pointers to these structures.
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 +229,18 @@ A pointer to the driver's private state block.
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 +271,11 @@ if a unit number is not associated with the device.
(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 +288,13 @@ A count of promiscuous listeners on this interface, used to
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 +312,13 @@ to refer to a particular interface by index
.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 +333,6 @@ Flags describing the capabilities the interface supports (see below).
.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 +349,113 @@ More statistics and information; see
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,7 +480,7 @@ This function will return
.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
@@ -372,8 +488,8 @@ pair to ifq.
The suggested internal software queueing 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
@@ -394,10 +510,6 @@ flag is not set.
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 +524,6 @@ flags and flushing queues.
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 +583,14 @@ The interface is a loopback device.
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 +627,31 @@ multiple physical layers on some devices.)
.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 trafic 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 +685,7 @@ Userland code shall use
.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 +697,8 @@ This interface can do checksum calculation on transmitting data.
.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 +708,35 @@ without having to decrease MTU on
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 +749,27 @@ as those sent by
.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
@@ -668,20 +825,7 @@ The capability of a network interface to operate in
.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 +835,29 @@ on the particular interface.
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
-.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.
+The actual mode change is managed by the driver-specific
+.Fn if_ioctl
+routine.
+The
+.Xr polling
+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 +893,6 @@ to attempt to ensure that there is always
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 +973,6 @@ Number of packets dropped on input.
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 +1015,8 @@ Parallel-port IP
.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 +1100,29 @@ external routing protocol.
.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 +1182,11 @@ addresses on that interface, and create a link-layer
.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 +1251,17 @@ Return an
.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 +1375,8 @@ or
.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 +1424,9 @@ subject to its configured netmask, or a point-to-point interface
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 +1440,10 @@ precisely
.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 +1451,7 @@ The
.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 +1508,11 @@ Both functions return zero on success, or a
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.
diff --git a/share/man/man9/kproc.9 b/share/man/man9/kproc.9
index a20ab70..613ac31 100644
--- a/share/man/man9/kproc.9
+++ b/share/man/man9/kproc.9
@@ -77,8 +77,8 @@ A new family of
.Fn kthread_* 9
functions was added to produce
.Em real
-kernel
-.Em threads .
+kernel
+.Em threads .
See the
.Xr kthread 9
man page for more information on those calls.
@@ -227,7 +227,7 @@ The actual suspension of the kernel process is done with
.Pp
The
.Fn kproc_kthread_add
-function is much like the
+function is much like the
.Fn kproc_create
function above except that if the kproc already exists,
then only a new thread (see
diff --git a/share/man/man9/kqueue.9 b/share/man/man9/kqueue.9
index 8f0d109..555fe54 100644
--- a/share/man/man9/kqueue.9
+++ b/share/man/man9/kqueue.9
@@ -24,14 +24,14 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 5, 2011
+.Dd March 26, 2012
.Dt KQUEUE 9
.Os
.Sh NAME
.Nm kqueue_add_filteropts , kqueue_del_filteropts ,
.Nm kqfd_register ,
.Nm knote_fdclose ,
-.Nm knlist_init , knlist_init_mtx ,
+.Nm knlist_init , knlist_init_mtx , knlist_init_rw_reader ,
.Nm knlist_add , knlist_remove , knlist_remove_inevent , knlist_empty ,
.Nm knlist_clear , knlist_delete , knlist_destroy ,
.Nm KNOTE_LOCKED , KNOTE_UNLOCKED
@@ -57,6 +57,8 @@
.Ft void
.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"
@@ -259,8 +261,10 @@ If used, the
.Vt knlist
must be initialized with either
.Fn knlist_init
+,
+.Fn knlist_init_mtx
or
-.Fn knlist_init_mtx .
+.Fn knlist_init_rw_reader .
The
.Vt knlist
structure may be embedded into the object structure.
@@ -294,7 +298,7 @@ locks will be used instead.
.Pp
The function
.Fn knlist_init_mtx
-may be used to initalize a
+may be used to initialize a
.Vt knlist
when
.Fa lock
@@ -305,6 +309,19 @@ style
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
returns true when there are no
.Vt knotes
diff --git a/share/man/man9/kthread.9 b/share/man/man9/kthread.9
index d2c770b..25a20ce 100644
--- a/share/man/man9/kthread.9
+++ b/share/man/man9/kthread.9
@@ -82,7 +82,7 @@ kernel threads.
See the
.Xr kproc 9
man page for more information on the renamed calls.
-Also note that the
+Also note that the
.Fn kproc_kthread_add 9
function appears in both pages as its functionality is split.
.Pp
@@ -184,11 +184,11 @@ member of the new thread's
.Pp
The
.Fn kproc_kthread_add
-function is much like the
+function is much like the
.Fn kthread_add
function above except that if the kproc does not already
-exist, it is created.
-This function is better documented in the
+exist, it is created.
+This function is better documented in the
.Xr kproc 9
manual page.
.Pp
diff --git a/share/man/man9/lock.9 b/share/man/man9/lock.9
index 049de42..0e5cfb1 100644
--- a/share/man/man9/lock.9
+++ b/share/man/man9/lock.9
@@ -299,7 +299,6 @@ Assert that the current thread has a recursed lock on
Assert that the current thread does not have a recursed lock on
.Fa lkp .
.El
-.Pp
.Sh RETURN VALUES
The
.Fn lockmgr
@@ -364,7 +363,7 @@ or
the
.Fa ilk
must be held prior to calling
-.Fn lockmgr
+.Fn lockmgr
or
.Fn lockmgr_rw ,
and will be returned unlocked.
diff --git a/share/man/man9/locking.9 b/share/man/man9/locking.9
index 4a54800..00478bf 100644
--- a/share/man/man9/locking.9
+++ b/share/man/man9/locking.9
@@ -82,7 +82,7 @@ since it may modify protected data.
Reader/writer locks can be treated as mutexes (see above and
.Xr mutex 9 )
with shared/exclusive semantics.
-More specifically, regular mutexes can be
+More specifically, regular mutexes can be
considered to be equivalent to a write-lock on an
.Em rw_lock.
The
@@ -94,7 +94,7 @@ 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
+This ability should not be used lightly and
.Em may go away.
.Pp
See
@@ -122,7 +122,7 @@ 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
+In fact it could in some cases be
considered a conditional sleep.
.Pp
See
@@ -235,7 +235,6 @@ mutex before the function returns.
See
.Xr sleep 9
for details.
-.Pp
.Ss Lockmanager locks
Shared/exclusive locks, used mostly in
.Xr VFS 9 ,
@@ -294,9 +293,7 @@ running inside an interrupt thread.
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 Em "You have: You want:" Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock Ta sleep
.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
@@ -337,13 +334,11 @@ for details.
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
-.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 Em "Context:" Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock 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
.El
.Sh SEE ALSO
.Xr witness 4 ,
diff --git a/share/man/man9/make_dev.9 b/share/man/man9/make_dev.9
index dad08ed..2827235 100644
--- a/share/man/man9/make_dev.9
+++ b/share/man/man9/make_dev.9
@@ -369,7 +369,6 @@ 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 ,
diff --git a/share/man/man9/malloc.9 b/share/man/man9/malloc.9
index ff6b4d2..7490939 100644
--- a/share/man/man9/malloc.9
+++ b/share/man/man9/malloc.9
@@ -29,7 +29,7 @@
.\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $
.\" $FreeBSD$
.\"
-.Dd October 23, 2008
+.Dd January 28, 2012
.Dt MALLOC 9
.Os
.Sh NAME
@@ -123,6 +123,9 @@ operational characteristics as follows:
.Bl -tag -width indent
.It Dv M_ZERO
Causes the allocated memory to be set to all zeros.
+.It Dv M_NODUMP
+For allocations greater than page size, causes the allocated
+memory to be excluded from kernel core dumps.
.It Dv M_NOWAIT
Causes
.Fn malloc ,
diff --git a/share/man/man9/mbchain.9 b/share/man/man9/mbchain.9
index f9a4521..4e05e7a 100644
--- a/share/man/man9/mbchain.9
+++ b/share/man/man9/mbchain.9
@@ -66,15 +66,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
diff --git a/share/man/man9/mbuf_tags.9 b/share/man/man9/mbuf_tags.9
index d84c56b..d9627e8 100644
--- a/share/man/man9/mbuf_tags.9
+++ b/share/man/man9/mbuf_tags.9
@@ -29,7 +29,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 +51,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 +100,9 @@ bytes of a tag contain a
.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
diff --git a/share/man/man9/mdchain.9 b/share/man/man9/mdchain.9
index 57291c7..5b0bf4a 100644
--- a/share/man/man9/mdchain.9
+++ b/share/man/man9/mdchain.9
@@ -63,19 +63,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 +193,8 @@ function can safely be called to destroy it.
.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);
diff --git a/share/man/man9/mi_switch.9 b/share/man/man9/mi_switch.9
index 2f82b5a..46e7a8e 100644
--- a/share/man/man9/mi_switch.9
+++ b/share/man/man9/mi_switch.9
@@ -62,7 +62,7 @@ From within a function such as
.Xr cv_wait 9 ,
.Xr mtx_lock ,
or
-.Xr tsleep 9
+.Xr tsleep 9
when the current thread
voluntarily relinquishes the CPU to wait for some resource or lock to become
available.
diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9
index c941004..1ba475a 100644
--- a/share/man/man9/namei.9
+++ b/share/man/man9/namei.9
@@ -33,7 +33,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 21, 2005
+.Dd March 1, 2012
.Dt NAMEI 9
.Os
.Sh NAME
@@ -196,10 +196,6 @@ With this flag,
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
@@ -344,6 +340,13 @@ permissions.
Too many symbolic links were encountered in translating the pathname.
.It Bq Er EISDIR
An attempt is made to open a directory with write mode specified.
+.It Bq Er EINVAL
+The last component of the pathname specified for a
+.Dv DELETE
+or
+.Dv RENAME
+operation is
+.Ql \&. .
.It Bq Er EROFS
An attempt is made to modify a file or directory on a read-only file system.
.El
diff --git a/share/man/man9/netisr.9 b/share/man/man9/netisr.9
index ee6fbed..bb64b0e 100644
--- a/share/man/man9/netisr.9
+++ b/share/man/man9/netisr.9
@@ -50,7 +50,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
diff --git a/share/man/man9/osd.9 b/share/man/man9/osd.9
index 871575c..ba9c632 100644
--- a/share/man/man9/osd.9
+++ b/share/man/man9/osd.9
@@ -125,7 +125,7 @@ and remains valid until a corresponding call to
.Ss Functions
The
.Fn osd_register
-function registers a type/slot identifier pair with the
+function registers a type/slot identifier pair with the
.Nm
framework for use with a new data type.
The function may sleep and therefore cannot be called from a non-sleepable
diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9
index d8ed624..4089ee8 100644
--- a/share/man/man9/pci.9
+++ b/share/man/man9/pci.9
@@ -25,55 +25,109 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 30, 2007
+.Dd March 5, 2012
.Dt PCI 9
.Os
.Sh NAME
.Nm pci ,
-.Nm pci_read_config ,
-.Nm pci_write_config ,
-.Nm pci_enable_busmaster ,
+.Nm pci_alloc_msi ,
+.Nm pci_alloc_msix ,
.Nm pci_disable_busmaster ,
-.Nm pci_enable_io ,
.Nm pci_disable_io ,
-.Nm pci_set_powerstate ,
-.Nm pci_get_powerstate ,
+.Nm pci_enable_busmaster ,
+.Nm pci_enable_io ,
.Nm pci_find_bsf ,
+.Nm pci_find_cap ,
.Nm pci_find_dbsf ,
-.Nm pci_find_device
+.Nm pci_find_device ,
+.Nm pci_find_extcap ,
+.Nm pci_find_htcap ,
+.Nm pci_get_max_read_req ,
+.Nm pci_get_powerstate ,
+.Nm pci_get_vpd_ident ,
+.Nm pci_get_vpd_readonly ,
+.Nm pci_msi_count ,
+.Nm pci_msix_count ,
+.Nm pci_pending_msix ,
+.Nm pci_read_config ,
+.Nm pci_release_msi ,
+.Nm pci_remap_msix ,
+.Nm pci_restore_state ,
+.Nm pci_save_state ,
+.Nm pci_set_max_read_req ,
+.Nm pci_set_powerstate ,
+.Nm pci_write_config
.Nd PCI bus interface
.Sh SYNOPSIS
.In sys/bus.h
-.In dev/pci/pcivar.h
.In dev/pci/pcireg.h
-.In machine/pci_cfgreg.h
-.Ft void
-.Fn pci_write_config "device_t dev" "int reg" "uint32_t val" "int width"
+.In dev/pci/pcivar.h
.Ft int
-.Fn pci_enable_busmaster "device_t dev"
+.Fn pci_alloc_msi "device_t dev" "int *count"
.Ft int
-.Fn pci_disable_busmaster "device_t dev"
+.Fn pci_alloc_msix "device_t dev" "int *count"
.Ft int
-.Fn pci_enable_io "device_t dev" "int space"
+.Fn pci_disable_busmaster "device_t dev"
.Ft int
.Fn pci_disable_io "device_t dev" "int space"
.Ft int
-.Fn pci_set_powerstate "device_t dev" "int state"
+.Fn pci_enable_busmaster "device_t dev"
.Ft int
-.Fn pci_get_powerstate "device_t dev"
-.Ft uint32_t
-.Fn pci_read_config "device_t dev" "int reg" "int width"
+.Fn pci_enable_io "device_t dev" "int space"
.Ft device_t
.Fn pci_find_bsf "uint8_t bus" "uint8_t slot" "uint8_t func"
+.Ft int
+.Fn pci_find_cap "device_t dev" "int capability" "int *capreg"
.Ft device_t
.Fn pci_find_dbsf "uint32_t domain" "uint8_t bus" "uint8_t slot" "uint8_t func"
.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 int
+.Fn pci_get_max_read_req "device_t dev"
+.Ft int
+.Fn pci_get_powerstate "device_t dev"
+.Ft int
+.Fn pci_get_vpd_ident "device_t dev" "const char **identptr"
+.Ft int
+.Fn pci_get_vpd_readonly "device_t dev" "const char *kw" "const char **vptr"
+.Ft int
+.Fn pci_msi_count "device_t dev"
+.Ft int
+.Fn pci_msix_count "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"
+.Ft int
+.Fn pci_release_msi "device_t dev"
+.Ft int
+.Fn pci_remap_msix "device_t dev" "int count" "const u_int *vectors"
+.Ft void
+.Fn pci_restore_state "device_t dev"
+.Ft void
+.Fn pci_save_state "device_t dev"
+.Ft int
+.Fn pci_set_max_read_req "device_t dev" "int size"
+.Ft int
+.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"
.Sh DESCRIPTION
The
.Nm
set of functions are used for managing PCI devices.
-.Pp
+The functions are split into several groups:
+raw configuration access,
+locating devices,
+device information,
+device configuration,
+and
+message signaled interrupts.
+.Ss Raw Configuration Access
The
.Fn pci_read_config
function is used to read data from the PCI configuration
@@ -98,6 +152,169 @@ 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
+.Fn pci
+function.
+.Ss Locating Devices
+The
+.Fn pci_find_bsf
+function looks up the
+.Vt device_t
+of a PCI device, given its
+.Fa bus ,
+.Fa slot ,
+and
+.Fa func .
+The
+.Fa slot
+number actually refers to the number of the device on the bus,
+which does not necessarily indicate its geographic location
+in terms of a physical slot.
+Note that in case the system has multiple PCI domains,
+the
+.Fn pci_find_bsf
+function only searches the first one.
+Actually, it is equivalent to:
+.Bd -literal -offset indent
+pci_find_dbsf(0, bus, slot, func);
+.Ed
+.Pp
+The
+.Fn pci_find_dbsf
+function looks up the
+.Vt device_t
+of a PCI device, given its
+.Fa domain ,
+.Fa bus ,
+.Fa slot ,
+and
+.Fa func .
+The
+.Fa slot
+number actually refers to the number of the device on the bus,
+which does not necessarily indicate its geographic location
+in terms of a physical slot.
+.Pp
+The
+.Fn pci_find_device
+function looks up the
+.Vt device_t
+of a PCI device, given its
+.Fa vendor
+and
+.Fa device
+IDs.
+Note that there can be multiple matches for this search; this function
+only returns the first matching device.
+.Ss Device Information
+The
+.Fn pci_find_cap
+function is used to locate the first instance of a PCI capability
+register set for the device
+.Fa dev .
+The capability to locate is specified by ID via
+.Fa capability .
+Constant macros of the form
+.Dv PCIY_xxx
+for standard capability IDs 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_cap
+returns zero.
+If the capability is not found or the device does not support capabilities,
+.Fn pci_find_cap
+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_get_vpd_ident
+function is used to fetch a device's Vital Product Data
+.Pq VPD
+identifier string.
+If the device
+.Fa dev
+supports VPD and provides an identifier string,
+then
+.Fa *identptr
+is set to point at a read-only, null-terminated copy of the identifier
+string,
+and
+.Fn pci_get_vpd_ident
+returns zero.
+If the device does not support VPD or does not provide an identifier
+string,
+then
+.Fn pci_get_vpd_ident
+returns an error.
+.Pp
+The
+.Fn pci_get_vpd_readonly
+function is used to fetch the value of a single VPD read-only keyword
+for the device
+.Fa dev .
+The keyword to fetch is identified by the two character string
+.Fa kw .
+If the device supports VPD and provides a read-only value for the
+requested keyword,
+then
+.Fa *vptr
+is set to point at a read-only, null-terminated copy of the value,
+and
+.Fn pci_get_vpd_readonly
+returns zero.
+If the device does not support VPD or does not provide the requested
+keyword,
+then
+.Fn pci_get_vpd_readonly
+returns an error.
+.Ss Device Configuration
The
.Fn pci_enable_busmaster
function enables PCI bus mastering for the device
@@ -132,20 +349,51 @@ argument specifies which resource is affected; this can be either
or
.Dv SYS_RES_IOPORT
as appropriate.
+Device drivers should generally not use these routines directly.
+The PCI bus will enable decoding automatically when a
+.Dv SYS_RES_MEMORY
+or
+.Dv SYS_RES_IOPORT
+resource is activated via
+.Xr bus_alloc_resource 9
+or
+.Xr bus_activate_resource 9 .
.Pp
-.Em NOTE :
-These functions should be used in preference to manually manipulating
-the configuration space.
+The
+.Fn pci_get_max_read_req
+function returns the current maximum read request size in bytes for a
+PCI-express device.
+If the
+.Fa dev
+device is not a PCI-express device,
+.Fn pci_get_max_read_req
+returns zero.
+.Pp
+The
+.Fn pci_set_max_read_req
+sets the PCI-express maximum read request size for
+.Fa dev .
+The requested
+.Fa size
+may be adjusted,
+and
+.Fn pci_set_max_read_req
+returns the actual size set in bytes.
+If the
+.Fa dev
+device is not a PCI-express device,
+.Fn pci_set_max_read_req
+returns zero.
.Pp
The
.Fn pci_get_powerstate
-function returns the current ACPI power state of the device
+function returns the current power state of the device
.Fa dev .
If the device does not support power management capabilities, then the default
state of
.Dv PCI_POWERSTATE_D0
is returned.
-The following power states are defined by ACPI:
+The following power states are defined by PCI:
.Bl -hang -width ".Dv PCI_POWERSTATE_UNKNOWN"
.It Dv PCI_POWERSTATE_D0
State in which device is on and running.
@@ -177,66 +425,243 @@ The
.Fn pci_set_powerstate
function is used to transition the device
.Fa dev
-to the ACPI power state
+to the PCI power state
.Fa state .
-It checks to see if the device is PCI 2.2 compliant.
-If so, it checks the
-capabilities pointer to determine which power states the device supports.
-If the device does not have power management capabilities, the default state
-of
-.Dv PCI_POWERSTATE_D0
-is set.
+If the device does not support power management capabilities or
+it does not support the specific power state
+.Fa state ,
+then the function will fail with
+.Er EOPNOTSUPP .
.Pp
The
-.Fn pci_find_bsf
-function looks up the
-.Vt device_t
-of a PCI device, given its
-.Fa bus ,
-.Fa slot ,
+.Fn pci_save_state
and
-.Fa func .
+.Fn pci_restore_state
+functions can be used by a device driver to save and restore standard PCI
+config registers.
The
-.Fa slot
-number actually refers to the number of the device on the bus,
-which does not necessarily indicate its geographic location
-in terms of a physical slot.
-Note that in case the system has multiple PCI domains,
-the
-.Fn pci_find_bsf
-function only searches the first one.
-Actually, it is equivalent to:
-.Bd -literal -offset indent
-pci_find_dbsf(0, bus, slot, func);
-.Ed
+.Fn pci_save_state
+function must be invoked while the device has valid state before
+.Fn pci_restore_state
+can be used.
+If the device is not in the fully-powered state
+.Pq Dv PCI_POWERSTATE_D0
+when
+.Fn pci_restore_state
+is invoked,
+then the device will be transitioned to
+.Dv PCI_POWERSTATE_D0
+before any config registers are restored.
+.Ss Message Signaled Interrupts
+Message Signaled Interrupts
+.Pq MSI
+and
+Enhanced Message Signaled Interrupts
+.Pq MSI-X
+are PCI capabilities that provide an alternate method for PCI
+devices to signal interrupts.
+The legacy INTx interrupt is available to PCI devices as a
+.Dv SYS_RES_IRQ
+resource with a resource ID of zero.
+MSI and MSI-X interrupts are available to PCI devices as one or more
+.Dv SYS_RES_IRQ
+resources with resource IDs greater than zero.
+A driver must ask the PCI bus to allocate MSI or MSI-X interrupts
+using
+.Fn pci_alloc_msi
+or
+.Fn pci_alloc_msix
+before it can use MSI or MSI-X
+.Dv SYS_RES_IRQ
+resources.
+A driver is not allowed to use the legacy INTx
+.Dv SYS_RES_IRQ
+resource if MSI or MSI-X interrupts have been allocated,
+and attempts to allocate MSI or MSI-X interrupts will fail if the
+driver is currently using the legacy INTx
+.Dv SYS_RES_IRQ
+resource.
+A driver is only allowed to use either MSI or MSI-X,
+but not both.
.Pp
The
-.Fn pci_find_dbsf
-function looks up the
-.Vt device_t
-of a PCI device, given its
-.Fa domain ,
-.Fa bus ,
-.Fa slot ,
-and
-.Fa func .
+.Fn pci_count_msi
+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
+returns zero.
+.Pp
The
-.Fa slot
-number actually refers to the number of the device on the bus,
-which does not necessarily indicate its geographic location
-in terms of a physical slot.
+.Fn pci_alloc_msi
+function attempts to allocate
+.Fa *count
+MSI messages for the device
+.Fa dev .
+The
+.Fn pci_alloc_msi
+function may allocate fewer messages than requested for various
+reasons including requests for more messages than the device
+.Fa dev
+supports,
+or if the system has a shortage of available MSI messages.
+On success,
+.Fa *count
+is set to the number of messages allocated and
+.Fn pci_alloc_msi
+returns zero.
+The
+.Dv SYS_RES_IRQ
+resources for the allocated messages will be available at consecutive
+resource IDs beginning with one.
+If
+.Fn pci_alloc_msi
+is not able to allocate any messages,
+it returns an error.
+Note that MSI only supports message counts that are powers of two;
+requests to allocate a non-power of two count of messages will fail.
.Pp
The
-.Fn pci_find_device
-function looks up the
-.Vt device_t
-of a PCI device, given its
-.Fa vendor
-and
-.Fa device
-IDs.
-Note that there can be multiple matches for this search; this function
-only returns the first matching device.
+.Fn pci_release_msi
+function is used to release any allocated MSI or MSI-X messages back
+to the system.
+If any MSI or MSI-X
+.Dv SYS_RES_IRQ
+resources are allocated by the driver or have a configured interrupt
+handler,
+this function will fail with
+.Er EBUSY .
+The
+.Fn pci_release_msi
+function returns zero on success and an error on failure.
+.Pp
+The
+.Fn pci_count_msix
+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
+returns zero.
+.Pp
+The
+.Fn pci_alloc_msix
+function attempts to allocate
+.Fa *count
+MSI-X messages for the device
+.Fa dev .
+The
+.Fn pci_alloc_msix
+function may allocate fewer messages than requested for various
+reasons including requests for more messages than the device
+.Fa dev
+supports,
+or if the system has a shortage of available MSI-X messages.
+On success,
+.Fa *count
+is set to the number of messages allocated and
+.Fn pci_alloc_msix
+returns zero.
+For MSI-X messages,
+the resource ID for each
+.Dv SYS_RES_IRQ resource identifies the index in the MSI-X table of the
+corresponding message.
+A resource ID of one maps to the first index of the MSI-X table;
+a resource ID two identifies the second index in the table, etc.
+The
+.Fn pci_alloc_msix
+function assigns the
+.Fa *count
+messages allocated to the first
+.Fa *count
+table indicies.
+If
+.Fn pci_alloc_msix
+is not able to allocate any messages,
+it returns an error.
+Unlike MSI,
+MSI-X does not require message counts that are powers of two.
+.Pp
+The
+.Fn pci_pending_msix
+function examines the
+.Fa dev
+device's Pending Bit Array
+.Pq PBA
+to determine the pending status of the MSI-X message at table index
+.Fa index .
+If the indicated message is pending,
+this function returns a non-zero value;
+otherwise,
+it returns zero.
+Passing an invalid
+.Fa index
+to this function will result in undefined behavior.
+.Pp
+As mentioned in the description of
+.Fn pci_alloc_msix ,
+MSI-X messages are initially assigned to the first N table entries.
+A driver may use a different distribution of available messages to
+table entries via the
+.Fn pci_remap_msix
+function.
+Note that this function must be called after a succesful call to
+.Fn pci_alloc_msix
+but before any of the
+.Dv SYS_RES_IRQ
+resources are allocated.
+The
+.Fn pci_remap_msix
+function returns zero on success,
+or an error on failure.
+.Pp
+The
+.Fa vectors
+array should contain
+.Fa count
+message vectors.
+The array maps directly to the MSI-X table in that the first entry in
+the array specifies the message used for the first entry in the MSI-X
+table,
+the second entry in the array corresponds to the second entry in the
+MSI-X table,
+etc.
+The vector value in each array index can either be zero to indicate
+that no message should be assigned to the corresponding MSI-X table entry,
+or it can be a number from one to N
+.Po
+where N is the count returned from the previous call to
+.Fn pci_alloc_msix
+.Pc
+to indicate which of the allocated messages should be assigned to the
+corresponding MSI-X table entry.
+.Pp
+If
+.Fn pci_remap_msix
+succeeds,
+each MSI-X table entry with a non-zero vector will have an associated
+.Dv SYS_RES_IRQ
+resource whose resource ID corresponds to the table index as described
+above for
+.Fn pci_alloc_msix .
+MSI-X table entries that with a vector of zero will not have an
+associated
+.Dv SYS_RES_IRQ resource.
+Additionally,
+if any of the original messages allocated by
+.Fn pci_alloc_msix
+are not used in the new distribution of messages in the MSI-X table,
+they will be released automatically.
+Note that if a driver wishes to use fewer messages than were allocated by
+.Fn pci_alloc_msix ,
+the driver must use a single, contiguous range of messages beginning
+with one in the new distribution.
+The
+.Fn pci_remap_msix
+function will fail if this condition is not met.
.Sh IMPLEMENTATION NOTES
The
.Vt pci_addr_t
@@ -269,7 +694,9 @@ space on the target architecture.
.Re
.Sh AUTHORS
This manual page was written by
-.An Bruce M Simpson Aq bms@FreeBSD.org .
+.An Bruce M Simpson Aq bms@FreeBSD.org
+and
+.An John Baldwin Aq jhb@FreeBSD.org .
.Sh BUGS
The kernel PCI code has a number of references to
.Dq "slot numbers" .
diff --git a/share/man/man9/physio.9 b/share/man/man9/physio.9
index 7d7174e..977c467 100644
--- a/share/man/man9/physio.9
+++ b/share/man/man9/physio.9
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 8, 2004
+.Dd January 19, 2012
.Dt PHYSIO 9
.Os
.Sh NAME
@@ -41,7 +41,7 @@
.In sys/bio.h
.In sys/buf.h
.Ft int
-.Fn physio "dev_t dev" "struct uio *uio" "int ioflag"
+.Fn physio "struct cdev *dev" "struct uio *uio" "int ioflag"
.Sh DESCRIPTION
The
.Fn physio
diff --git a/share/man/man9/random.9 b/share/man/man9/random.9
index 1d7c7da..a6bccda 100644
--- a/share/man/man9/random.9
+++ b/share/man/man9/random.9
@@ -44,7 +44,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
diff --git a/share/man/man9/rijndael.9 b/share/man/man9/rijndael.9
index 48b402b..1d8d904 100644
--- a/share/man/man9/rijndael.9
+++ b/share/man/man9/rijndael.9
@@ -43,47 +43,47 @@
.Ft int
.Fo rijndael_makeKey
.Fa "keyInstance *key"
-.Fa "u_int8_t direction"
+.Fa "uint8_t direction"
.Fa "int keyLen"
.Fa "char *keyMaterial"
.Fc
.Ft int
.Fo rijndael_cipherInit
.Fa "cipherInstance *cipher"
-.Fa "u_int8_t mode"
+.Fa "uint8_t mode"
.Fa "char *IV"
.Fc
.Ft int
.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
diff --git a/share/man/man9/rmlock.9 b/share/man/man9/rmlock.9
index bc20d70..893eb25 100644
--- a/share/man/man9/rmlock.9
+++ b/share/man/man9/rmlock.9
@@ -80,7 +80,7 @@ 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
-is an expensive operation.
+is an expensive operation.
.Pp
Although reader/writer locks look very similar to
.Xr sx 9
@@ -196,9 +196,9 @@ This function releases a shared lock previously acquired by
.Fn rm_rlock .
The
.Fa tracker
-argument must match the
-.Fa tracker
-argument used for acquiring the shared lock
+argument must match the
+.Fa tracker
+argument used for acquiring the shared lock
.It Fn rm_wunlock "struct rmlock *rm"
This function releases an exclusive lock previously acquired by
.Fn rm_wlock .
@@ -248,7 +248,7 @@ The
implementation uses a single per CPU list shared by all
rmlocks in the system.
If rmlocks become popular, hashing to multiple per CPU queues may
-be needed to speed up the writer lock process.
+be needed to speed up the writer lock process.
.Pp
The
.Nm
diff --git a/share/man/man9/shm_map.9 b/share/man/man9/shm_map.9
index a711fb6..4ba8222 100644
--- a/share/man/man9/shm_map.9
+++ b/share/man/man9/shm_map.9
@@ -125,7 +125,7 @@ shm_example(int fd)
fdrop(fp, curthread);
return (error);
}
-
+
/* Do something with 'mem'. */
error = shm_unmap(fp, mem, 16384);
diff --git a/share/man/man9/sleep.9 b/share/man/man9/sleep.9
index 469df9c..9141762 100644
--- a/share/man/man9/sleep.9
+++ b/share/man/man9/sleep.9
@@ -93,7 +93,7 @@ then the thread will be made
runnable with the specified
.Fa priority
when it resumes.
-.Dv PZERO
+.Dv PZERO
should never be used, as it is for compatibility only.
A new priority of 0 means to use the thread's current priority when
it is made runnable again.
@@ -243,7 +243,7 @@ It is the programmer's responsibility to choose a unique
value.
The older
.Fn wakeup
-function did not require this, though it was never good practice
+function did not require this, though it was never good practice
for threads to share a
.Fa chan
value.
diff --git a/share/man/man9/spl.9 b/share/man/man9/spl.9
index 95a5fc2..08fd4d4 100644
--- a/share/man/man9/spl.9
+++ b/share/man/man9/spl.9
@@ -80,8 +80,8 @@ code locking that the spl did when converting code from versions of the
kernel prior to
.Fx 5.0 .
The examples in this man page are also obsolete and should not be viewed
-as documenting
-.Fx 5.0
+as documenting
+.Fx 5.0
and newer.
.Ef
.Pp
diff --git a/share/man/man9/swi.9 b/share/man/man9/swi.9
index ec2c3d6..831a67e 100644
--- a/share/man/man9/swi.9
+++ b/share/man/man9/swi.9
@@ -24,25 +24,24 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 30, 2000
+.Dd April 19, 2012
.Dt SWI 9
.Os
.Sh NAME
.Nm swi_add ,
+.Nm swi_remove ,
.Nm swi_sched
.Nd register and schedule software interrupt handlers
.Sh SYNOPSIS
.In sys/param.h
.In sys/bus.h
.In sys/interrupt.h
-.Vt "extern struct ithd *tty_ithd" ;
-.Vt "extern struct ithd *clk_ithd" ;
-.Vt "extern void *net_ih" ;
-.Vt "extern void *softclock_ih" ;
+.Vt "extern struct intr_event *tty_intr_event" ;
+.Vt "extern struct intr_event *clk_intr_event" ;
.Vt "extern void *vm_ih" ;
.Ft int
.Fo swi_add
-.Fa "struct ithd **ithdp"
+.Fa "struct intr_event **eventp"
.Fa "const char *name"
.Fa "driver_intr_t handler"
.Fa "void *arg"
@@ -50,6 +49,8 @@
.Fa "enum intr_type flags"
.Fa "void **cookiep"
.Fc
+.Ft int
+.Fn swi_remove "void *cookie"
.Ft void
.Fn swi_sched "void *cookie" "int flags"
.Sh DESCRIPTION
@@ -67,20 +68,21 @@ time, and that they can be run via a lightweight context switch.
.Pp
The
.Fn swi_add
-function is used to register a new software interrupt handler.
+function is used to add a new software interrupt handler to a specified
+interrupt event.
The
-.Fa ithdp
+.Fa eventp
argument is an optional pointer to a
-.Vt struct ithd
+.Vt struct intr_event
pointer.
-If this argument points to an existing software interrupt thread, then this
-handler will be attached to that thread.
-Otherwise a new thread will be created, and if
-.Fa ithdp
+If this argument points to an existing event that holds a list of
+interrupt handlers, then this handler will be attached to that event.
+Otherwise a new event will be created, and if
+.Fa eventp
is not
.Dv NULL ,
then the pointer at that address to will be modified to point to the
-newly created thread.
+newly created event.
The
.Fa name
argument is used to associate a name with a specific handler.
@@ -99,7 +101,7 @@ The
.Fa pri
value specifies the priority of this interrupt handler relative to other
software interrupt handlers.
-If an interrupt thread is created, then this value is used as the vector,
+If an interrupt event is created, then this value is used as the vector,
and the
.Fa flags
argument is used to specify the attributes of a handler such as
@@ -113,6 +115,14 @@ This cookie will be set to a value that uniquely identifies this handler,
and is used to schedule the handler for execution later on.
.Pp
The
+.Fn swi_remove
+function is used to teardown an interrupt handler pointed to by the
+.Fa cookie
+argument.
+It detaches the interrupt handler from the associated interrupt event
+and frees its memory.
+.Pp
+The
.Fn swi_sched
function is used to schedule an interrupt handler and its associated thread to
run.
@@ -140,30 +150,29 @@ in earlier versions of
.El
.Pp
The
-.Va tty_ithd
+.Va tty_intr_event
and
-.Va clk_ithd
-variables contain pointers to the software interrupt threads for the tty and
+.Va clk_intr_event
+variables contain pointers to the software interrupt handlers for the tty and
clock software interrupts, respectively.
-.Va tty_ithd
+.Va tty_intr_event
is used to hang tty software interrupt handlers off of the same thread.
-.Va clk_ithd
+.Va clk_intr_event
is used to hang delayed handlers off of the clock software interrupt thread so
that the functionality of
.Fn setdelayed
can be obtained in conjunction with
.Dv SWI_DELAY .
The
-.Va net_ih ,
-.Va softclock_ih ,
-and
.Va vm_ih
-handler cookies are used to schedule software interrupt threads to run for the
-networking stack, clock interrupt, and VM subsystem respectively.
+handler cookie is used to schedule software interrupt threads to run for the
+VM subsystem.
.Sh RETURN VALUES
The
.Fn swi_add
-function returns zero on success and non-zero on failure.
+and
+.Fn swi_remove
+functions return zero on success and non-zero on failure.
.Sh ERRORS
The
.Fn swi_add
@@ -183,7 +192,7 @@ argument specifies
.Dv INTR_ENTROPY .
.It Bq Er EINVAL
The
-.Fa ithdp
+.Fa eventp
argument points to a hardware interrupt thread.
.It Bq Er EINVAL
Either of the
@@ -195,11 +204,22 @@ arguments are
.It Bq Er EINVAL
The
.Dv INTR_EXCL
-flag is specified and the interrupt thread pointed to by
-.Fa ithdp
-already has at least one handler, or the interrupt thread already has an
+flag is specified and the interrupt event pointed to by
+.Fa eventp
+already has at least one handler, or the interrupt event already has an
exclusive handler.
.El
+.Pp
+The
+.Fn swi_remove
+function will fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+A software interrupt handler pointed to by
+.Fa cookie
+is
+.Dv NULL .
+.El
.Sh SEE ALSO
.Xr ithread 9 ,
.Xr taskqueue 9
@@ -220,6 +240,10 @@ and
.Fn schedsoft*
functions which date back to at least
.Bx 4.4 .
+The
+.Fn swi_remove
+function first appeared in
+.Fx 6.1 .
.Sh BUGS
Most of the global variables described in this manual page should not be
global, or at the very least should not be declared in
diff --git a/share/man/man9/sysctl.9 b/share/man/man9/sysctl.9
index f6ba537..d58573b 100644
--- a/share/man/man9/sysctl.9
+++ b/share/man/man9/sysctl.9
@@ -138,9 +138,9 @@ This sysctl can be written to by processes in
.It Dv CTLFLAG_SKIP
When iterating the sysctl name space, do not list this sysctl.
.It Dv CTLFLAG_TUN
-Also declare a system tunable with the same name to initialize this variable.
+Advisory flag that a system tunable also exists for this variable.
.It Dv CTLFLAG_RDTUN
-Also declare a system tunable with the same name to initialize this variable;
+Advisory flag that a system tunable also exists for this variable;
however, the run-time variable is read-only.
.El
.Pp
diff --git a/share/man/man9/sysctl_ctx_init.9 b/share/man/man9/sysctl_ctx_init.9
index f17ca3a..cbca5c6 100644
--- a/share/man/man9/sysctl_ctx_init.9
+++ b/share/man/man9/sysctl_ctx_init.9
@@ -135,7 +135,7 @@ in most cases, the programmer specifies
as the oid number when creating an oid.
However, during registration of the oid in the tree,
this number is changed to the first available number
-greater than or equal to
+greater than or equal to
.Dv CTL_AUTO_START .
If the first step of context deletion fails,
re-registration of the oid does not change the already assigned oid number
diff --git a/share/man/man9/taskqueue.9 b/share/man/man9/taskqueue.9
index 056ee66..319aa2f 100644
--- a/share/man/man9/taskqueue.9
+++ b/share/man/man9/taskqueue.9
@@ -116,8 +116,8 @@ thread).
The memory location where the thread identity is recorded is used
to signal the service thread(s) to terminate--when this value is set to
zero and the thread is signaled it will terminate.
-If the queue is intended for use in fast interrupt handlers
-.Fn taskqueue_create_fast
+If the queue is intended for use in fast interrupt handlers
+.Fn taskqueue_create_fast
should be used in place of
.Fn taskqueue_create .
.Pp
@@ -296,9 +296,9 @@ The variable
is used to enqueue tasks onto the queue.
.Pp
.Fn TASKQUEUE_FAST_DEFINE
-and
+and
.Fn TASKQUEUE_FAST_DEFINE_THREAD
-act just like
+act just like
.Fn TASKQUEUE_DEFINE
and
.Fn TASKQUEUE_DEFINE_THREAD
diff --git a/share/man/man9/timeout.9 b/share/man/man9/timeout.9
index 36731c8..ddc66b5 100644
--- a/share/man/man9/timeout.9
+++ b/share/man/man9/timeout.9
@@ -197,9 +197,9 @@ The function
initializes a callout so it can be passed to
.Fn callout_stop ,
.Fn callout_drain ,
-.Fn callout_reset
+.Fn callout_reset
or
-.Fn callout_schedule
+.Fn callout_schedule
without any side effects.
If the
.Fa mpsafe
diff --git a/share/man/man9/uio.9 b/share/man/man9/uio.9
index 9d569b7..fd66e3d 100644
--- a/share/man/man9/uio.9
+++ b/share/man/man9/uio.9
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 9, 2011
+.Dd January 19, 2012
.Dt UIO 9
.Os
.Sh NAME
@@ -154,7 +154,7 @@ static char buffer[BUFSIZE];
static int data_available; /* amount of data that can be read */
static int
-fooread(dev_t dev, struct uio *uio, int flag)
+fooread(struct cdev *dev, struct uio *uio, int flag)
{
int rv, amnt;
diff --git a/share/man/man9/usbdi.9 b/share/man/man9/usbdi.9
index 0e9f9f2..c04c946 100644
--- a/share/man/man9/usbdi.9
+++ b/share/man/man9/usbdi.9
@@ -179,7 +179,7 @@ zero upon success. A non-zero return value indicates failure.
.
.Fn usbd_transfer_unsetup
This function will release the given USB transfers and all allocated
-resources associated with these USB transfers.
+resources associated with these USB transfers.
.Fa pxfer
is a pointer to an array of USB transfer pointers, that may be NULL,
that should be freed by the USB system.
@@ -283,15 +283,15 @@ usb_default_callback(struct usb_xfer *xfer, usb_error_t error)
usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL);
switch (USB_GET_STATE(xfer)) {
- case USB_ST_SETUP:
+ case USB_ST_SETUP:
/*
* Setup xfer frame lengths/count and data
*/
usbd_transfer_submit(xfer);
break;
- case USB_ST_TRANSFERRED:
- /*
+ case USB_ST_TRANSFERRED:
+ /*
* Read usb frame data, if any.
* "actlen" has the total length for all frames
* transferred.
@@ -300,13 +300,13 @@ usb_default_callback(struct usb_xfer *xfer, usb_error_t error)
default: /* Error */
/*
- * Print error message and clear stall
+ * Print error message and clear stall
* for example.
*/
break;
}
- /*
- * Here it is safe to do something without the private
+ /*
+ * Here it is safe to do something without the private
* USB mutex locked.
*/
return;
@@ -320,7 +320,7 @@ First the SETUP packet, then DATA packet(s) and then a STATUS
packet.
.
The SETUP packet is always pointed to by frame 0 and the
-length is set by
+length is set by
.Fn usbd_xfer_frame_len
also if there should not be
sent any SETUP packet! If an USB control transfer has no DATA stage,
@@ -375,7 +375,7 @@ module defines a USB config structure where it is possible to specify
the characteristics of the wanted endpoint.
.Bd -literal -offset indent
-struct usb_config {
+struct usb_config {
bufsize,
callback
direction,
diff --git a/share/man/man9/vcount.9 b/share/man/man9/vcount.9
index 41263b9..186a350 100644
--- a/share/man/man9/vcount.9
+++ b/share/man/man9/vcount.9
@@ -32,7 +32,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 6, 2001
+.Dd January 19, 2012
.Dt VCOUNT 9
.Os
.Sh NAME
@@ -47,7 +47,7 @@
.Ft int
.Fn vcount "struct vnode *vp"
.Ft int
-.Fn count_dev "dev_t dev"
+.Fn count_dev "struct cdev *dev"
.Sh DESCRIPTION
.Fn vcount
is used to get the number of references to a particular device.
@@ -56,7 +56,7 @@ It allows for the fact that multiple vnodes may reference the same device.
does the same thing as
.Fn vcount ,
but takes a
-.Vt dev_t
+.Vt "struct cdev"
rather than a
.Vt "struct vnode"
pointer as an argument.
diff --git a/share/man/man9/vm_map_find.9 b/share/man/man9/vm_map_find.9
index 4aa5fb8..1d21bae 100644
--- a/share/man/man9/vm_map_find.9
+++ b/share/man/man9/vm_map_find.9
@@ -71,7 +71,7 @@ by the caller before calling this function to account for the new entry.
If
.Fa find_space
is either
-.Dv VMFS_ALIGNED_SPACE
+.Dv VMFS_ALIGNED_SPACE
or
.Dv VMFS_ANY_SPACE ,
the function will call
diff --git a/share/man/man9/vm_page_alloc.9 b/share/man/man9/vm_page_alloc.9
index 4497e48..9397d21 100644
--- a/share/man/man9/vm_page_alloc.9
+++ b/share/man/man9/vm_page_alloc.9
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 3, 2010
+.Dd January 28, 2012
.Dt VM_PAGE_ALLOC 9
.Os
.Sh NAME
@@ -90,23 +90,18 @@ than zero.
.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 have the
+.Dv VPO_BUSY
+flag set.
+.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 +112,14 @@ Only allocate the page if it is not cached in the
If the page at the specified
.Fa pindex
is cached, NULL is returned instead.
+.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
diff --git a/share/man/man9/vnode.9 b/share/man/man9/vnode.9
index cfc6f7d..eba208f 100644
--- a/share/man/man9/vnode.9
+++ b/share/man/man9/vnode.9
@@ -119,13 +119,13 @@ No type.
.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
diff --git a/share/man/man9/watchdog.9 b/share/man/man9/watchdog.9
index 170812b..2df9fd6 100644
--- a/share/man/man9/watchdog.9
+++ b/share/man/man9/watchdog.9
@@ -53,7 +53,7 @@ is zero, the watchdog must be disabled and the
argument left untouched.
If the watchdog cannot be disabled, the
.Fa error
-argument must be set to
+argument must be set to
.Dv EOPNOTSUPP .
.Pp
Else the watchdog should be reset and configured to a timeout of
diff --git a/share/man/man9/zone.9 b/share/man/man9/zone.9
index 32531bb..a77fd5b 100644
--- a/share/man/man9/zone.9
+++ b/share/man/man9/zone.9
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 9, 2010
+.Dd February 25, 2012
.Dt ZONE 9
.Os
.Sh NAME
@@ -47,7 +47,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"
@@ -210,7 +210,7 @@ The
.Fn uma_zone_get_cur
function returns the approximate current occupancy of the zone.
The returned value is approximate because appropriate synchronisation to
-determine an exact value is not performend by the implementation.
+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.
.Sh RETURN VALUES
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index 822e5f2..43ab9d6 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -246,12 +246,16 @@ FreeBSD 5.2 | | | |
| | | | | NetBSD 5.1 | |
| FreeBSD FreeBSD | | | |
| 8.2 7.4 | | | DragonFly 2.10.1
- | v | | OpenBSD 4.9 |
+ | | | | OpenBSD 4.9 |
+ | `-----. Mac OS X | | |
+ | \ 10.7 | | |
+ | | | | OpenBSD 5.0 |
+ *--FreeBSD | | | | |
+ | 9.0 | | | | DragonFly 3.0.1
+ | v FreeBSD | | | |
+ | 8.3 | | | |
| | | | |
- | | | | |
- | | | OpenBSD 5.0 |
- | | | | |
-FreeBSD 9 -current | NetBSD -current OpenBSD -current |
+FreeBSD 10 -current | NetBSD -current OpenBSD -current |
| | | | |
v v v v v
@@ -537,7 +541,11 @@ FreeBSD 7.4 2011-02-24 [FBD]
FreeBSD 8.2 2011-02-24 [FBD]
DragonFly 2.10.1 2011-04-26 [DFB]
OpenBSD 4.9 2011-05-01 [OBD]
+Mac OS X 10.7 2011-07-20 [APL]
OpenBSD 5.0 2011-11-01 [OBD]
+FreeBSD 9.0 2012-01-12 [FBD]
+DragonFly 3.0.1 2012-02-21 [DFB]
+FreeBSD 8.3 2012-04-18 [FBD]
Bibliography
------------------------
@@ -595,7 +603,7 @@ original BSD announcements from Usenet or tapes.
Steven M. Schultz for providing 2.8BSD, 2.10BSD, 2.11BSD manual pages.
--
-Copyright (c) 1997-2007 Wolfram Schneider <wosch@FreeBSD.ORG>
+Copyright (c) 1997-2012 Wolfram Schneider <wosch@FreeBSD.ORG>
URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree
$FreeBSD$
diff --git a/share/misc/committers-doc.dot b/share/misc/committers-doc.dot
index 278ccb9..9908dfa 100644
--- a/share/misc/committers-doc.dot
+++ b/share/misc/committers-doc.dot
@@ -72,6 +72,7 @@ maxim [label="Maxim Konovalov\nmaxim@FreeBSD.org\n2002/02/07"]
miwi [label="Martin Wilke\nmiwi@FreeBSD.org\n2007/10/26"]
murray [label="Murray Stokely\nmurray@FreeBSD.org\n2000/04/05"]
pav [label="Pav Lucistnik\npav@FreeBSD.org\n2005/08/12"]
+pluknet [label="Sergey Kandaurov\npluknet@FreeBSD.org\n2012/02/14"]
remko [label="Remko Lodder\nremko@FreeBSD.org\n2004/10/16"]
rene [label="Rene Ladan\nrene@FreeBSD.org\n2008/11/03"]
roam [label="Peter Pentchev\nroam@FreeBSD.org\n2003/02/14"]
@@ -129,6 +130,7 @@ keramida -> gjb
keramida -> pav
marck -> bvs
+marck -> pluknet
marck -> taras
maxim -> taras
diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot
index a4e858c..2e897f2 100644
--- a/share/misc/committers-ports.dot
+++ b/share/misc/committers-ports.dot
@@ -44,6 +44,7 @@ node [color=lightblue2, style=filled, bgcolor=black];
ache [label="Andrey Chernov\nache@FreeBSD.org\n1994/11/15"]
acm [label="Jose Alonso Cardenas Marquez\nacm@FreeBSD.org\n2006/07/18"]
ahze [label="Michael Johnson\nahze@FreeBSD.org\n2004/10/29"]
+ak [label="Alex Kozlov\nak@FreeBSD.org\n2012/02/29"]
ale [label="Alex Dupre\nale@FreeBSD.org\n2004/01/12"]
alepulver [label="Alejandro Pulver\nalepulver@FreeBSD.org\n2006/04/01"]
alexbl [label="Alexander Botero-Lowry\nalexbl@FreeBSD.org\n2006/09/11"]
@@ -127,6 +128,7 @@ lme [label="Lars Engels\nlme@FreeBSD.org\n2007/07/09"]
lth [label="Lars Thegler\nlth@FreeBSD.org\n2004/05/04"]
lwhsu [label="Li-Wen Hsu\nlwhsu@FreeBSD.org\n2007/04/03"]
lx [label="David Thiel\nlx@FreeBSD.org\n2006/11/29"]
+madpilot [label="Guido Falsi\nmadpilot@FreeBSD.org\n2012/04/12"]
maho [label="Maho Nakata\nmaho@FreeBSD.org\n2002/10/17"]
makc [label="Max Brazhnikov\nmakc@FreeBSD.org\n2008/08/25"]
mandree [label="Matthias Andree\nmandree@FreeBSD.org\n2009/11/18"]
@@ -134,6 +136,7 @@ marcus [label="Joe Marcus Clarke\nmarcus@FreeBSD.org\n2002/04/05"]
markus [label="Markus Brueffer\nmarkus@FreeBSD.org\n2004/02/21"]
martymac [label="Ganael Laplanche\nmartymac@FreeBSD.org\n2010/09/24"]
mat [label="Mathieu Arnold\nmat@FreeBSD.org\n2003/08/15"]
+matthew [label="Matthew Seaman\nmatthew@FreeBSD.org\n2012/02/07"]
mezz [label="Jeremy Messenger\nmezz@FreeBSD.org\n2004/04/30"]
miwi [label="Martin Wilke\nmiwi@FreeBSD.org\n2006/06/04"]
mm [label="Martin Matuska\nmm@FreeBSD.org\n2007/04/04"]
@@ -170,6 +173,7 @@ shaun [label="Shaun Amott\nshaun@FreeBSD.org\n2006/06/19"]
simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2005/01/08"]
skreuzer [label="Steven Kreuzer\nskreuzer@FreeBSD.org\n2009/03/25"]
sobomax[label="Maxim Sobolev\nsobomax@FreeBSD.org\n2000/05/17"]
+sperber[label="Armin Pirkovitsch\nsperber@FreeBSD.org\n2012/04/15"]
stas [label="Stanislav Sedov\nstas@FreeBSD.org\n2006/09/18"]
stefan [label="Stefan Walter\nstefan@FreeBSD.org\n2006/05/07"]
stephen [label="Stephen Montgomery-Smith\nstephen@FreeBSD.org\n2011/06/13"]
@@ -184,6 +188,7 @@ trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.org\n2007/04/12"]
trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2004/07/06"]
thierry [label="Thierry Thomas\nthierry@FreeBSD.org\n2004/03/15"]
tmclaugh [label="Tom McLaughlin\ntmclaugh@FreeBSD.org\n2005/09/15"]
+uqs [label="Ulrich Spoerlein\nuqs@FreeBSD.org\n2012/01/19"]
vd [label="Vasil Dimov\nvd@FreeBSD.org\n2006/01/19"]
wen [label="Wen Heping\nwen@FreeBSD.org\n2010/12/13"]
wxs [label="Wesley Shields\nwxs@FreeBSD.org\n2008/01/03"]
@@ -220,6 +225,8 @@ bapt -> eadler
bapt -> jlaffaye
beat -> decke
+beat -> sperber
+beat -> uqs
beech -> glarkin
beech -> mva
@@ -236,12 +243,17 @@ clsung -> lwhsu
clsung -> tabthorpe
crees -> jgh
+crees -> madpilot
+
+decke -> sperber
delphij -> nemoliu
delphij -> rafan
demon -> mat
+eadler -> ak
+
edwin -> cperciva
edwin -> erwin
edwin -> linimon
@@ -293,6 +305,7 @@ glewis -> jkim
ijliao -> leeym
+itetcu -> ak
itetcu -> araujo
itetcu -> dryice
itetcu -> sahil
@@ -361,6 +374,7 @@ miwi -> nox
miwi -> pawel
miwi -> rm
miwi -> sbz
+miwi -> sperber
miwi -> sylvio
miwi -> tabthorpe
miwi -> trasz
@@ -411,6 +425,7 @@ sem -> delphij
sem -> stas
shaun -> timur
+shaun -> matthew
sobomax -> demon
sobomax -> glewis
@@ -432,6 +447,7 @@ tabthorpe -> fluffy
tabthorpe -> jacula
tabthorpe -> jadawin
tabthorpe -> jlaffaye
+tabthorpe -> madpilot
tabthorpe -> pgj
tabthorpe -> rene
tabthorpe -> zi
diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot
index c894455..c3f00d5 100644
--- a/share/misc/committers-src.dot
+++ b/share/misc/committers-src.dot
@@ -118,6 +118,7 @@ cokane [label="Coleman Kane\ncokane@FreeBSD.org\n2000/06/19"]
cperciva [label="Colin Percival\ncperciva@FreeBSD.org\n2004/01/20"]
csjp [label="Christian S.J. Peron\ncsjp@FreeBSD.org\n2004/05/04"]
das [label="David Schultz\ndas@FreeBSD.org\n2003/02/21"]
+davide [label="Davide Italiano\ndavide@FreeBSD.org\n2012/01/27"]
davidxu [label="David Xu\ndavidxu@FreeBSD.org\n2002/09/02"]
dchagin [label="Dmitry Chagin\ndchagin@FreeBSD.org\n2009/02/28"]
delphij [label="Xin Li\ndelphij@FreeBSD.org\n2004/09/14"]
@@ -126,6 +127,7 @@ dfr [label="Doug Rabson\ndfr@FreeBSD.org\n????/??/??"]
dg [label="David Greenman\ndg@FreeBSD.org\n1993/06/14"]
dim [label="Dimitry Andric\ndim@FreeBSD.org\n2010/08/30"]
dougb [label="Doug Barton\ndougb@FreeBSD.org\n2000/10/26"]
+dteske [label="Devin Teske\ndteske@FreeBSD.org\n2012/04/10"]
dwmalone [label="David Malone\ndwmalone@FreeBSD.org\n2000/07/11"]
ed [label="Ed Schouten\ned@FreeBSD.org\n2008/05/22"]
edwin [label="Edwin Groothuis\nedwin@FreeBSD.org\n2007/06/25"]
@@ -155,6 +157,7 @@ iedowse [label="Ian Dowse\niedowse@FreeBSD.org\n2000/12/01"]
imp [label="Warner Losh\nimp@FreeBSD.org\n1996/09/20"]
ivoras [label="Ivan Voras\nivoras@FreeBSD.org\n2008/06/10"]
jamie [label="Jamie Gritton\njamie@FreeBSD.org\n2009/01/28"]
+jasone [label="Jason Evans\njasone@FreeBSD.org\n1999/03/03"]
jceel [label="Jakub Klama\njceel@FreeBSD.org\n2011/09/25"]
jchandra [label="Jayachandran C.\njchandra@FreeBSD.org\n2010/05/19"]
jeff [label="Jeff Roberson\njeff@FreeBSD.org\n2002/02/21"]
@@ -166,6 +169,7 @@ jimharris [label="Jim Harris\njimharris@FreeBSD.org\n2011/12/09"]
jinmei [label="JINMEI Tatuya\njinmei@FreeBSD.org\n2007/03/17"]
jkim [label="Jung-uk Kim\njkim@FreeBSD.org\n2005/07/06"]
jkoshy [label="A. Joseph Koshy\njkoshy@FreeBSD.org\n1998/05/13"]
+jlh [label="Jeremie Le Hen\njlh@FreeBSD.org\n2012/04/22"]
jls [label="Jordan Sissel\njls@FreeBSD.org\n2006/12/06"]
joerg [label="Joerg Wunsch\njoerg@FreeBSD.org\n1993/11/14"]
jon [label="Jonathan Chen\njon@FreeBSD.org\n2000/10/17"]
@@ -194,6 +198,7 @@ mdodd [label="Matthew N. Dodd\nmdodd@FreeBSD.org\n1999/07/27"]
melifaro [label="Alexander V. Chernikov\nmelifaro@FreeBSD.org\n2011/10/04"]
mjacob [label="Matt Jacob\nmjacob@FreeBSD.org\n1997/08/13"]
mlaier [label="Max Laier\nmlaier@FreeBSD.org\n2004/02/10"]
+monthadar [label="Monthadar Al Jaberi\nmonthadar@FreeBSD.org\n2012/04/02"]
mr [label="Michael Reifenberger\nmr@FreeBSD.org\n2001/09/30"]
mux [label="Maxime Henrion\nmux@FreeBSD.org\n2002/03/03"]
neel [label="Neel Natu\nneel@FreeBSD.org\n2009/09/20"]
@@ -279,11 +284,14 @@ day1 -> rgrimes
day1 -> alm
day1 -> dg
+adrian -> monthadar
adrian -> ray
adrian -> rmh
ae -> melifaro
+alc -> davide
+
andre -> qingli
anholt -> jkim
@@ -356,6 +364,7 @@ eivind -> des
eivind -> rwatson
emaste -> rstone
+emaste -> dteske
emax -> markus
@@ -376,6 +385,7 @@ gnn -> ivoras
gnn -> vanhu
gnn -> lstewart
gnn -> np
+gnn -> davide
grog -> edwin
grog -> le
@@ -453,6 +463,7 @@ kan -> kib
kib -> ae
kib -> dchagin
+kib -> jlh
kib -> jpaetzel
kib -> lulf
kib -> melifaro
@@ -472,6 +483,7 @@ marcel -> arun
marcel -> marius
marcel -> nwhitehorn
+markm -> jasone
markm -> sheldonh
mav -> ae
@@ -488,6 +500,7 @@ mlaier -> thompsa
mlaier -> eri
msmith -> cokane
+msmith -> jasone
msmith -> scottl
murray -> delphij
diff --git a/share/misc/scsi_modes b/share/misc/scsi_modes
index f6116e8..4f7e59a 100644
--- a/share/misc/scsi_modes
+++ b/share/misc/scsi_modes
@@ -92,6 +92,25 @@
{Reserved} *i1
}
+0x15 "Extended Page";
+
+0x16 "Extended Device-Type Specific Page";
+
+0x1c "Informational Exceptions Control Page" {
+ {PERF} t1
+ {Reserved} *t1
+ {EBF} t1
+ {EWasc} t1
+ {DExcpt} t1
+ {TEST} t1
+ {EBACKERR} t1
+ {LogErr} t1
+ {Reserved} *t4
+ {MRIE} b4
+ {Interval Timer} i4
+ {Report Count} i4
+}
+
0x09 "Peripheral Device Page" {
{Interface Identifier} i2
{Reserved} *i1
@@ -100,7 +119,7 @@
{Reserved} *i1
}
-0x1a "Power Control" {
+0x1a "Power Condition Page" {
{Reserved} *i1
{Reserved} *t6
{Idle} t1
@@ -109,6 +128,10 @@
{Standby Condition Timer} i4
}
+0x18 "Protocol-Specific LUN Page";
+
+0x19 "Protocol-Specific Port Page";
+
# DIRECT ACCESS DEVICES
0x08 "Caching Page" {
{IC} t1
diff --git a/share/mk/bsd.crunchgen.mk b/share/mk/bsd.crunchgen.mk
index 5ebfd94..540c6d2 100644
--- a/share/mk/bsd.crunchgen.mk
+++ b/share/mk/bsd.crunchgen.mk
@@ -22,6 +22,8 @@
# Specific links can be suppressed by setting
# CRUNCH_SUPPRESS_LINK_$(NAME) to 1.
#
+# If CRUNCH_GENERATE_LINKS is set to no, no links will be generated.
+#
# $FreeBSD$
@@ -39,6 +41,7 @@ CANONICALOBJDIR:= ${MAKEOBJDIRPREFIX}${.CURDIR}
.else
CANONICALOBJDIR:= /usr/obj${.CURDIR}
.endif
+CRUNCH_GENERATE_LINKS?= yes
CLEANFILES+= $(CONF) *.o *.lo *.c *.mk *.cache *.a *.h
@@ -51,6 +54,7 @@ $(OUTPUTS): $(CRUNCH_SRCDIR_${P})/Makefile
.else
$(OUTPUTS): $(.CURDIR)/../../$(D)/$(P)/Makefile
.endif
+.if ${CRUNCH_GENERATE_LINKS} == "yes"
.ifndef CRUNCH_SUPPRESS_LINK_${P}
LINKS+= $(BINDIR)/$(PROG) $(BINDIR)/$(P)
.endif
@@ -59,6 +63,7 @@ LINKS+= $(BINDIR)/$(PROG) $(BINDIR)/$(P)
LINKS+= $(BINDIR)/$(PROG) $(BINDIR)/$(A)
.endif
.endfor
+.endif
.endfor
.endfor
diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk
index c9e0e6b..c4381bc 100644
--- a/share/mk/bsd.endian.mk
+++ b/share/mk/bsd.endian.mk
@@ -10,6 +10,6 @@ TARGET_ENDIANNESS= 1234
${MACHINE_ARCH} == "powerpc64" || \
${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "armeb" || \
- ${MACHINE_ARCH:Mmips*eb} != ""
+ ${MACHINE_ARCH:Mmips*} != ""
TARGET_ENDIANNESS= 4321
.endif
diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk
index 9c0434f..fd4f993 100644
--- a/share/mk/bsd.kmod.mk
+++ b/share/mk/bsd.kmod.mk
@@ -9,7 +9,7 @@ SYSDIR= ${_dir}
.endfor
.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) || \
!exists(${SYSDIR}/conf/kmod.mk)
-.error "can't find kernel source tree"
+.error Unable to locate the kernel source tree. Set SYSDIR to override.
.endif
.include "${SYSDIR}/conf/kmod.mk"
diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
index 3211660..564074e 100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@ -60,7 +60,9 @@ LIBGSSAPI?= ${DESTDIR}${LIBDIR}/libgssapi.a
LIBGSSAPI_KRB5?= ${DESTDIR}${LIBDIR}/libgssapi_krb5.a
LIBHDB?= ${DESTDIR}${LIBDIR}/libhdb.a
LIBHISTORY?= ${DESTDIR}${LIBDIR}/libhistory.a
+LIBHEIMBASE?= ${DESTDIR}${LIBDIR}/libheimbase.a
LIBHEIMNTLM?= ${DESTDIR}${LIBDIR}/libheimntlm.a
+LIBHEIMSQLITE?= ${DESTDIR}${LIBDIR}/libheimsqlite.a
LIBHX509?= ${DESTDIR}${LIBDIR}/libhx509.a
LIBIPSEC?= ${DESTDIR}${LIBDIR}/libipsec.a
.if ${MK_IPX} != "no"
@@ -75,6 +77,7 @@ LIBJAIL?= ${DESTDIR}${LIBDIR}/libjail.a
LIBKADM5CLNT?= ${DESTDIR}${LIBDIR}/libkadm5clnt.a
LIBKADM5SRV?= ${DESTDIR}${LIBDIR}/libkadm5srv.a
LIBKAFS5?= ${DESTDIR}${LIBDIR}/libkafs5.a
+LIBKDC?= ${DESTDIR}${LIBDIR}/libkdc.a
LIBKEYCAP?= ${DESTDIR}${LIBDIR}/libkeycap.a
LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
@@ -161,6 +164,7 @@ LIBUTIL?= ${DESTDIR}${LIBDIR}/libutil.a
LIBUUTIL?= ${DESTDIR}${LIBDIR}/libuutil.a
LIBVGL?= ${DESTDIR}${LIBDIR}/libvgl.a
LIBVMMAPI?= ${DESTDIR}${LIBDIR}/libvmmapi.a
+LIBWIND?= ${DESTDIR}${LIBDIR}/libwind.a
LIBWRAP?= ${DESTDIR}${LIBDIR}/libwrap.a
LIBXPG4?= ${DESTDIR}${LIBDIR}/libxpg4.a
LIBY?= ${DESTDIR}${LIBDIR}/liby.a
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index d3183c4..55d6ba2 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -320,6 +320,9 @@ __DEFAULT_YES_OPTIONS = \
BOOT \
BSD_CPIO \
BSNMP \
+ SOURCELESS \
+ SOURCELESS_HOST \
+ SOURCELESS_UCODE \
BZIP2 \
CALENDAR \
CAPSICUM \
@@ -415,6 +418,8 @@ __DEFAULT_NO_OPTIONS = \
BIND_LIBS \
BIND_SIGCHASE \
BIND_XML \
+ CLANG_EXTRAS \
+ CLANG_IS_CC \
CTF \
HESIOD \
ICONV \
@@ -436,7 +441,8 @@ __T=${TARGET_ARCH}
__T=${MACHINE_ARCH}
.endif
# Clang is only for x86 and powerpc right now, by default.
-.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*}
+# XXX: Temporarily disabled for 32-bit powerpc, due to a binutils bug.
+.if ${__T} == "amd64" || ${__T} == "i386" || ${__T} == "powerpc64"
__DEFAULT_YES_OPTIONS+=CLANG
.else
__DEFAULT_NO_OPTIONS+=CLANG
@@ -511,11 +517,20 @@ MK_BIND_UTILS:= no
MK_BIND_ETC:= no
.endif
+.if ${MK_SOURCELESS} == "no"
+MK_SOURCELESS_HOST:= no
+MK_SOURCELESS_UCODE:= no
+.endif
+
.if ${MK_CDDL} == "no"
MK_ZFS:= no
MK_CTF:= no
.endif
+.if ${MK_CLANG} == "no"
+MK_CLANG_EXTRAS:= no
+.endif
+
.if ${MK_CRYPT} == "no"
MK_OPENSSL:= no
MK_OPENSSH:= no
@@ -561,6 +576,10 @@ MK_GCC:= no
MK_GDB:= no
.endif
+.if ${MK_CLANG} == "no"
+MK_CLANG_IS_CC:= no
+.endif
+
#
# Set defaults for the MK_*_SUPPORT variables.
#
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 7a72ca6..f023750 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -6,104 +6,122 @@
# Enable various levels of compiler warning checks. These may be
# overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS.
-# for GCC: http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143
+# for GCC: http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Warning-Options.html
# the default is gnu99 for now
-CSTD ?= gnu99
+CSTD?= gnu99
.if ${CSTD} == "k&r"
-CFLAGS += -traditional
+CFLAGS+= -traditional
.elif ${CSTD} == "c89" || ${CSTD} == "c90"
-CFLAGS += -std=iso9899:1990
+CFLAGS+= -std=iso9899:1990
.elif ${CSTD} == "c94" || ${CSTD} == "c95"
-CFLAGS += -std=iso9899:199409
+CFLAGS+= -std=iso9899:199409
.elif ${CSTD} == "c99"
-CFLAGS += -std=iso9899:1999
-.else
-CFLAGS += -std=${CSTD}
-.endif
+CFLAGS+= -std=iso9899:1999
+.else # CSTD
+CFLAGS+= -std=${CSTD}
+.endif # CSTD
.if !defined(NO_WARNS)
# -pedantic is problematic because it also imposes namespace restrictions
-#CFLAGS += -pedantic
-. if defined(WARNS)
-. if ${WARNS} >= 1
-CWARNFLAGS += -Wsystem-headers
-. if !defined(NO_WERROR)
-CWARNFLAGS += -Werror
-. endif
-. endif
-. if ${WARNS} >= 2
-CWARNFLAGS += -Wall -Wno-format-y2k
-. endif
-. if ${WARNS} >= 3
-CWARNFLAGS += -W -Wno-unused-parameter -Wstrict-prototypes\
- -Wmissing-prototypes -Wpointer-arith
-. endif
-. if ${WARNS} >= 4
-CWARNFLAGS += -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch\
- -Wshadow -Wunused-parameter
-. if !defined(NO_WCAST_ALIGN)
-CWARNFLAGS += -Wcast-align
-. endif
-. endif
+#CFLAGS+= -pedantic
+.if defined(WARNS)
+.if ${WARNS} >= 1
+CWARNFLAGS+= -Wsystem-headers
+.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
+ ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+CWARNFLAGS+= -Werror
+.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+.endif # WARNS >= 1
+.if ${WARNS} >= 2
+CWARNFLAGS+= -Wall -Wno-format-y2k
+.endif # WARNS >= 2
+.if ${WARNS} >= 3
+CWARNFLAGS+= -W -Wno-unused-parameter -Wstrict-prototypes\
+ -Wmissing-prototypes -Wpointer-arith
+.endif # WARNS >= 3
+.if ${WARNS} >= 4
+CWARNFLAGS+= -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow\
+ -Wunused-parameter
+.if !defined(NO_WCAST_ALIGN) && ((${MK_CLANG_IS_CC} == "no" && \
+ ${CC:T:Mclang} != "clang") || !defined(NO_WCAST_ALIGN.clang))
+CWARNFLAGS+= -Wcast-align
+.endif # !NO_WCAST_ALIGN && (!CLANG || !NO_WCAST_ALIGN.clang)
+.endif # WARNS >= 4
# BDECFLAGS
-. if ${WARNS} >= 6
-CWARNFLAGS += -Wchar-subscripts -Winline -Wnested-externs\
- -Wredundant-decls -Wold-style-definition
-. endif
-. if ${WARNS} >= 2 && ${WARNS} <= 4
+.if ${WARNS} >= 6
+CWARNFLAGS+= -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls\
+ -Wold-style-definition
+.endif # WARNS >= 6
+.if ${WARNS} >= 2 && ${WARNS} <= 4
# XXX Delete -Wuninitialized by default for now -- the compiler doesn't
# XXX always get it right.
-CWARNFLAGS += -Wno-uninitialized
-. endif
-CWARNFLAGS += -Wno-pointer-sign
+CWARNFLAGS+= -Wno-uninitialized
+.endif # WARNS >=2 && WARNS <= 4
+CWARNFLAGS+= -Wno-pointer-sign
# Clang has more warnings enabled by default, and when using -Wall, so if WARNS
# is set to low values, these have to be disabled explicitly.
-. if ${CC:T:Mclang} == "clang"
-. if ${WARNS} <= 3
-CWARNFLAGS += -Wno-tautological-compare -Wno-unused-value\
- -Wno-parentheses-equality -Wno-unused-function\
- -Wno-conversion
-. endif
-. if ${WARNS} <= 2
-CWARNFLAGS += -Wno-switch-enum -Wno-empty-body
-. endif
-. if ${WARNS} <= 1
-CWARNFLAGS += -Wno-parentheses
-. endif
-. if defined(NO_WARRAY_BOUNDS)
-CWARNFLAGS += -Wno-array-bounds
-. endif
-. endif
-. endif
+.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+.if ${WARNS} <= 6
+CWARNFLAGS+= -Wno-empty-body -Wno-string-plus-int
+.endif # WARNS <= 6
+.if ${WARNS} <= 3
+CWARNFLAGS+= -Wno-tautological-compare -Wno-unused-value\
+ -Wno-parentheses-equality -Wno-unused-function -Wno-conversion
+.endif # WARNS <= 3
+.if ${WARNS} <= 2
+CWARNFLAGS+= -Wno-switch -Wno-switch-enum
+.endif # WARNS <= 2
+.if ${WARNS} <= 1
+CWARNFLAGS+= -Wno-parentheses
+.endif # WARNS <= 1
+.if defined(NO_WARRAY_BOUNDS)
+CWARNFLAGS+= -Wno-array-bounds
+.endif # NO_WARRAY_BOUNDS
+.endif # CLANG
+.endif # WARNS
-. if defined(FORMAT_AUDIT)
-WFORMAT = 1
-. endif
-. if defined(WFORMAT)
-. if ${WFORMAT} > 0
-#CWARNFLAGS += -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
-CWARNFLAGS += -Wformat=2 -Wno-format-extra-args
-. if !defined(NO_WERROR)
-CWARNFLAGS += -Werror
-. endif
-. endif
-. endif
-. if defined(NO_WFORMAT)
-CWARNFLAGS += -Wno-format
-. endif
-.endif
+.if defined(FORMAT_AUDIT)
+WFORMAT= 1
+.endif # FORMAT_AUDIT
+.if defined(WFORMAT)
+.if ${WFORMAT} > 0
+#CWARNFLAGS+= -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
+CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args
+.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+.if ${WARNS} <= 3
+CWARNFLAGS+= -Wno-format-nonliteral
+.endif # WARNS <= 3
+.endif # CLANG
+.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
+ ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+CWARNFLAGS+= -Werror
+.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+.endif # WFORMAT > 0
+.endif # WFORMAT
+.if defined(NO_WFORMAT) || ((${MK_CLANG_IS_CC} != "no" || \
+ ${CC:T:Mclang} == "clang") && defined(NO_WFORMAT.clang))
+CWARNFLAGS+= -Wno-format
+.endif # NO_WFORMAT || (CLANG && NO_WFORMAT.clang)
+.endif # !NO_WARNS
.if defined(IGNORE_PRAGMA)
-CWARNFLAGS += -Wno-unknown-pragmas
-.endif
+CWARNFLAGS+= -Wno-unknown-pragmas
+.endif # IGNORE_PRAGMA
+
+.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+CLANG_NO_IAS= -no-integrated-as
+CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\
+ -mllvm -enable-load-pre=false -mllvm -simplifycfg-dup-ret
+CFLAGS+= -Qunused-arguments
+.endif # CLANG
.if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \
${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
# Don't use -Wstack-protector as it breaks world with -Werror.
-SSP_CFLAGS ?= -fstack-protector
-CFLAGS += ${SSP_CFLAGS}
-.endif
+SSP_CFLAGS?= -fstack-protector
+CFLAGS+= ${SSP_CFLAGS}
+.endif # SSP && !IA64 && !ARM && !MIPS
# Allow user-specified additional warning flags
-CFLAGS += ${CWARNFLAGS}
+CFLAGS+= ${CWARNFLAGS}
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index e8ec4c1..533b1dd 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -13,7 +13,7 @@ unix ?= We run FreeBSD, not UNIX.
# and/or endian. This is called MACHINE_CPU in NetBSD, but that's used
# for something different in FreeBSD.
#
-MACHINE_CPUARCH=${MACHINE_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.endif
# If the special target .POSIX appears (without prerequisites or
@@ -123,6 +123,10 @@ LINTLIBFLAGS ?= -cghapbxu -C ${LIB}
MAKE ?= make
+.if !defined(%POSIX)
+NM ?= nm
+.endif
+
OBJC ?= cc
OBJCFLAGS ?= ${OBJCINCLUDES} ${CFLAGS} -Wno-import
diff --git a/share/termcap/termcap.5 b/share/termcap/termcap.5
index fefc592..1fae963 100644
--- a/share/termcap/termcap.5
+++ b/share/termcap/termcap.5
@@ -1157,7 +1157,6 @@ These are primarily useful if the terminal does not have
.Sy \&cm ,
such as the Tektronix 4025.
.Ss Cursor Motions
-.Pp
If the terminal has a fast way to home the cursor
(to the very upper left corner of the screen), this can be given as
.Sy \&ho .
OpenPOWER on IntegriCloud