Home | History | Annotate | Download | only in man9
History log of /src/share/man/man9/Makefile
RevisionDateAuthorComments
 1.475  06-Sep-2025  riastradh paravirt_membar_sync(9): New memory barrier.

For use in paravirtualized drivers which require store-before-load
ordering -- irrespective of whether the kernel is built for a single
processor, or whether the (virtual) machine is booted with a single
processor.

This is even required on architectures that don't even have a
store-before-load ordering barrier, like m68k; adding, e.g., a virtio
bus is _as if_ the architecture has been extended with relaxed memory
ordering when talking with that new bus. Such architectures need
some way to request the hypervisor enforce that ordering -- on m68k,
that's done by issuing a CASL instruction, which qemu maps to an
atomic r/m/w with sequential consistency ordering in the host.

PR kern/59618: occasional virtio block device lock ups/hangs
 1.474  21-Jun-2025  gutteridge Add heartbeat(9) to installed man pages
 1.473  05-Aug-2024  christos Add a man page for acct_process to be referenced from acct.5
 1.472  24-Jul-2024  rin crashme(9): Install man page

Suggested by ozaki-r@
 1.471  10-Jul-2024  rin man9: Provide all combinations of {,u}{i,l}{max,min}(9)
 1.470  14-Jun-2024  riastradh branches: 1.470.2;
uvm_obj_wirepages(9): New man page.
 1.469  07-Jan-2024  pgoyette Install securelevel.9 as an alias of secmodel_securelevel.9

According to submitter, this should be sufficient to address misc/57824.
 1.468  02-Dec-2023  thorpej Add a vmem_xalloc_addr() function, which allocates a specific address
from an arena. This is just a convenience wrapper around vmem_xalloc(),
that's just a bit more obvious how to use and performs some additional
sanity checks.
 1.467  08-Jul-2023  christos Document how system call versioning is done. From this summer's compat-linux
GSoC, by Theodore Preduta.
 1.466  06-Mar-2023  uwe portfeatures(9): the man page for the __HAVE macros

The man page itself is a skeleton/template for now. Please add short
descriptions and xrefs. If the target man page doesn't yet document
relevant __HAVE macros (hi, mutex(9)), please add something there,
possibly in a .Sh IMPLEMENTATION NOTES section.
 1.465  04-Sep-2022  thorpej branches: 1.465.2;
Document the pktqueue interface.
 1.464  15-Feb-2022  riastradh KERNEL_LOCK(9): New man page for old not-dead-yet hack.

I'm not documenting this to encourage anyone to use it. I'm only
documenting this to remind myself what the semantics is, because it's
kind of confusing and not at all like mutex(9).
 1.463  12-Feb-2022  riastradh __cpu_simple_lock(9): New man page.

This doesn't mean you should use it! Mostly it's to document the
semantics to help understand existing uses, which should not
proliferate, and audit definitions.
 1.462  17-Jan-2022  christos Add new acl vnode op pages
 1.461  17-Jan-2022  christos Add acl related changes; there is no more vaccess; document the genfs functions
instead.
 1.460  22-Dec-2021  thorpej Document PR_PSERIALIZE. Remove documentation for pool_cache_setpredestruct().
 1.459  21-Dec-2021  thorpej Add pool_cache_setpredestruct(), which allows a pool cache to specify
a function to be called before the destructor for a batch of one or more
objects is called. This can be used as a synchronization point by
subsystems that rely on the type-stable nature of pool cache objects or
subsystems that use other forms of passive serialization.
 1.458  28-Apr-2021  thorpej Update autoconf(9) for recent autoconfiguration changes.
 1.457  16-Apr-2021  msaitoh - Remove obsolete cltom(9) and mtocl(9).
- Add missing manual page's link of m_adj.
 1.456  10-Mar-2021  simonb Add printf_nostamp(9), kernel printf() without prepending a timestamp.
 1.455  24-Jan-2021  thorpej Add kmem_tmpbuf_alloc(), a utility function for allocating memory for
temporary use where allocation on the stack is desirable, but only up to
a certain size. If the requested size fits within the specified stack
buffer, the stack buffer is returned. Otherwise, memory is allocated with
kmem_alloc(). Add a corresponding kmem_tmpbuf_free() function that frees
the memory using kmem_free() if it is not the tempory stack buffer location.
 1.454  21-Jan-2021  thorpej Add a manual page for strlist(9).
 1.453  31-Oct-2020  uwe Install ddb(9). Xref it from ddb(4).
 1.452  10-Jul-2020  thorpej Update pci_configure_bus(9) to reflect the new reality -- no more manual
fiddling with extent maps, use pciconf_resource_{init,add,fini}() instead.
 1.451  16-Jun-2020  thorpej Add vmem_xfreeall(), which frees all allocated regions in the specified arena.
All outstanding allocations MUST have been performed with vmem_xalloc() or
else the behavior is undefined. (This also implies that the arena must also
not have a quantum cache; note this in the documentation.)
 1.450  01-May-2020  jdolecek link also m_apply(9) to mbuf(9)
 1.449  30-Apr-2020  riastradh Rewrite entropy subsystem.

Primary goals:

1. Use cryptography primitives designed and vetted by cryptographers.
2. Be honest about entropy estimation.
3. Propagate full entropy as soon as possible.
4. Simplify the APIs.
5. Reduce overhead of rnd_add_data and cprng_strong.
6. Reduce side channels of HWRNG data and human input sources.
7. Improve visibility of operation with sysctl and event counters.

Caveat: rngtest is no longer used generically for RND_TYPE_RNG
rndsources. Hardware RNG devices should have hardware-specific
health tests. For example, checking for two repeated 256-bit outputs
works to detect AMD's 2019 RDRAND bug. Not all hardware RNGs are
necessarily designed to produce exactly uniform output.

ENTROPY POOL

- A Keccak sponge, with test vectors, replaces the old LFSR/SHA-1
kludge as the cryptographic primitive.

- `Entropy depletion' is available for testing purposes with a sysctl
knob kern.entropy.depletion; otherwise it is disabled, and once the
system reaches full entropy it is assumed to stay there as far as
modern cryptography is concerned.

- No `entropy estimation' based on sample values. Such `entropy
estimation' is a contradiction in terms, dishonest to users, and a
potential source of side channels. It is the responsibility of the
driver author to study the entropy of the process that generates
the samples.

- Per-CPU gathering pools avoid contention on a global queue.

- Entropy is occasionally consolidated into global pool -- as soon as
it's ready, if we've never reached full entropy, and with a rate
limit afterward. Operators can force consolidation now by running
sysctl -w kern.entropy.consolidate=1.

- rndsink(9) API has been replaced by an epoch counter which changes
whenever entropy is consolidated into the global pool.
. Usage: Cache entropy_epoch() when you seed. If entropy_epoch()
has changed when you're about to use whatever you seeded, reseed.
. Epoch is never zero, so initialize cache to 0 if you want to reseed
on first use.
. Epoch is -1 iff we have never reached full entropy -- in other
words, the old rnd_initial_entropy is (entropy_epoch() != -1) --
but it is better if you check for changes rather than for -1, so
that if the system estimated its own entropy incorrectly, entropy
consolidation has the opportunity to prevent future compromise.

- Sysctls and event counters provide operator visibility into what's
happening:
. kern.entropy.needed - bits of entropy short of full entropy
. kern.entropy.pending - bits known to be pending in per-CPU pools,
can be consolidated with sysctl -w kern.entropy.consolidate=1
. kern.entropy.epoch - number of times consolidation has happened,
never 0, and -1 iff we have never reached full entropy

CPRNG_STRONG

- A cprng_strong instance is now a collection of per-CPU NIST
Hash_DRBGs. There are only two in the system: user_cprng for
/dev/urandom and sysctl kern.?random, and kern_cprng for kernel
users which may need to operate in interrupt context up to IPL_VM.

(Calling cprng_strong in interrupt context does not strike me as a
particularly good idea, so I added an event counter to see whether
anything actually does.)

- Event counters provide operator visibility into when reseeding
happens.

INTEL RDRAND/RDSEED, VIA C3 RNG (CPU_RNG)

- Unwired for now; will be rewired in a subsequent commit.
 1.448  23-Feb-2020  mrg install rw_lock_op link too.
 1.447  07-Feb-2020  thorpej Document percpu_foreach_xcall().
 1.446  01-Feb-2020  riastradh New function percpu_create.

Associates a constructor and destructor with the percpu. Currently
the constructor runs immediately, but in principle we could use the
same API for future CPU hotplug support.

This lets you sleep for allocation or draining users before
deallocation when setting up or tearing down a percpu -- currently we
have many abuses of percpu_foreach in tree for that purpose.

Proposed on tech-kern:
https://mail-index.NetBSD.org/tech-kern/2020/01/30/msg026036.html
 1.445  20-Jan-2020  thorpej Remove FDDI support.
 1.444  29-Nov-2019  riastradh Missed a spot: delete mb.9 from MLINKS too.
 1.443  29-Nov-2019  riastradh New atomic load/store operations for the kernel.

Guarantee no fusing and no tearing, and can optionally impose
ordering relative to other memory operations.

Unordered:
- atomic_load_relaxed
- atomic_store_relaxed

Ordered:
- atomic_load_acquire
- atomic_load_consume
- atomic_store_release

These are intended to match C11 semantics, and can be defined in
terms of the C11 atomic API when ready.
 1.442  29-Nov-2019  riastradh Nix obsolete mb(9) man page.
 1.441  02-Oct-2019  rin Describe roundup2(9) in roundup(9).
Bump date.

Install it also as roundup2(9).
 1.440  28-Aug-2019  rmind Install thmap(9) man page.
 1.439  10-Aug-2019  mrg oops. i must have deleted the 'u' in 'ustore.9' when partially
fixing the alphabeta ordering here. fixes build.
 1.438  10-Aug-2019  mrg usbnet may be stable now. document it.
 1.437  08-May-2019  isaki branches: 1.437.2;
Update manpages respond to isaki-audio2 branch.
 1.436  06-Apr-2019  thorpej Overhaul the API used to fetch and store individual memory cells in
userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms. The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.
 1.435  24-Feb-2019  rin Install spi.9 and friends.
 1.434  24-Dec-2018  thorpej Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.
 1.433  22-Dec-2018  maxv Update the man page, we don't want M_COPY_PKTHDR, M_MOVE_PKTHDR, MH_ALIGN
and M_ALIGN.
 1.432  15-Nov-2018  maxv Simplify the mtag API:

- Remove m_tag_init(), m_tag_first(), m_tag_next() and
m_tag_delete_nonpersistent().

- Remove the 't' argument from m_tag_delete_chain().
 1.431  05-Oct-2018  hannken Bring back three state file system suspension:

NORMAL -> SUSPENDING -> SUSPENDED

and add operation fstrans_start_lazy() that only blocks while SUSPENDED.

Change vndthread() support operation handle_with_rdwr() to bracket
its file system operations by fstrans_start_lazy() and fstrans_done().

PR kern/53624 (dom0 freeze on domU exit)
 1.430  20-Sep-2018  rin Link pci_intr_*(9) to pci_intr(9), except for those described in pci_msi(9).
 1.429  15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.428  12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.427  03-Jun-2018  gson branches: 1.427.2;
Remove stray space to unbreak build
 1.426  03-Jun-2018  pgoyette Finish documenting the new modules(9) interfaces by adding the module
specificdata routines.
 1.425  03-Jun-2018  pgoyette Make a first pass at documenting the specificdata functionality.

XXX This is just a first pass, and I've probably made a ton of mistakes
XXX while reading the code! Updates and corrections greatly appreciated.
 1.424  03-Jun-2018  pgoyette Also add new entries in the .Nm list, and update Makefile to actually
build the MLINKS
 1.423  28-May-2018  pgoyette Add man-page links for new module_* accessor functions
 1.422  28-May-2018  nat Move the audio specification to section 9 under audio_system.

Ok wiz@
 1.421  27-May-2018  maya Don't mention sprintf and vsprintf, they don't exist in the kernel.
Drop MLINKS, too.
 1.420  12-May-2018  jdolecek remove ubc_alloc(9) and ubc_release(9) from ubc(9) from the documentation, they
are internal (static) functions

pointed out by Matthew Green in private email
 1.419  10-Apr-2018  maxv Remove m_getclr. It is unused, confusing (vs m_clget), and is a weak
implementation (eg you can't request a zeroed pkthdr mbuf).
 1.418  17-Jan-2018  maya branches: 1.418.2;
document pfil_{add,remove}_ihook, pfil_run_{addr,if}hooks

from ryo shimizu in PR bin/51941

changes by myself: fix mdoc -Tlint, add missing set lists, adjust date
to today, reword history addition.
 1.417  07-Nov-2017  christos document kmem_strdupsize/kmem_strdupfree
 1.416  31-Oct-2017  jdolecek remove ppi(9) manpage, the actual subsystem got never implemented

PR kern/52665 by Kamil Rytarowski
 1.415  13-Jun-2017  nat Add wsbell.

Found by wiz@.
 1.414  21-May-2017  abhinav branches: 1.414.2;
Add MLINKS for the functions described in bufq(9)
 1.413  19-May-2017  pgoyette Missed this during the localcount(9) import:

Add localcount(9) man-page - fix the build
 1.412  01-May-2017  pgoyette Ooops, localcount.9 was not supposed to be included here!
 1.411  01-May-2017  pgoyette Update mutex(9) for mutex_ownable()
 1.410  30-Apr-2017  pgoyette Make the primary name for this man-page devsw
 1.409  15-Apr-2017  kamil branches: 1.409.2;
Add new documentation locking(9)

It's a document from June 2015.

DESCRIPTION
The NetBSD kernel provides several synchronization and interrupt control
primitives. This manpage aims at giving an overview of these interfaces
and their proper application. This document includes also basic kernel
thread control primitives and rough overview of the NetBSD kernel design.

Part of interfaces are missing, like new mechanisms for networking SMP,
as this documentation page predates them.

Initial review back in 2015 by Thomas Klausner <wiz>
 1.408  15-Apr-2017  kamil Add new documentation for klua_mod_register(9) and klua_lock(9)

Lua kernel bindings.
 1.407  06-Apr-2017  abhinav Add MLINKS for extent_alloc1(9) and extent_alloc_subregion1(9).
 1.406  06-Apr-2017  pgoyette Oooppsss - the MLINK for splbio.9 was already present!
 1.405  06-Apr-2017  pgoyette Document splbio() as a deprecated synonym for splvm().
 1.404  06-Apr-2017  pgoyette Document ubc_zerorange(9). Add it (and ubc_purge(9)) to the MLINKS
 1.403  10-Mar-2017  martin PR misc/52058: replace all proc_trampoline with lwp_trampoline belatedly.
 1.402  22-Feb-2017  msaitoh Add links for kmem_intr_alloc.9, kmem_intr_free.9 and kmem_intr_zalloc.9.
 1.401  07-Jan-2017  ozaki-r branches: 1.401.2;
Add entries of pmap(9) functions
 1.400  02-Jan-2017  hannken Rename vget() to vcache_vget() and vcache_tryvget() respectively and
move the definitions to sys/vnode_impl.h.

No functional change intended.

Welcome to 7.99.54
 1.399  22-Dec-2016  cherry Add the uvm_hotplug.9 manpage to the build tree.
 1.398  28-Nov-2016  mlelstv Provide a man page for the disk driver subroutines (dksubr).
 1.397  20-Aug-2016  hannken Remove now obsolete operation vcache_remove().

Welcome to 7.99.36
 1.396  12-Jul-2016  knakahara branches: 1.396.2;
fix missing mans about pci.9 and pci_intr.9

- add links from pci.9 and pci_intr.9 to pci_msi.9
- add pci_intr_establish_xname entries
- add pci_intr_setattr entries
- add pci_intr_type descriptions
- fix pci_*_alloc functions' argument type

pointed out by nonaka@n.o.
 1.395  09-Apr-2016  riastradh Add passive references, intermediate between pserialize and refcount.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/01/24/msg020069.html

API is still experimental and likely to change. (Obvious changes:
either remove extra arguments everywhere, or shrink psref_target to a
single bit, at the expense of possibly valuable diagnostic checks.)
Should do some real testing before we use this in anger!
 1.394  09-Apr-2016  riastradh Introduce pserialize-safe linked lists.

These are like LIST_* from queue(3), but issue the appropriate memory
barriers for pserialize readers and writers.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/04/03/msg020365.html
 1.393  26-Oct-2015  mrg add documentation on "options KERNHIST".
 1.392  02-Oct-2015  msaitoh PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.391  17-Aug-2015  knakahara Add man about kernel APIs to support intrctl(8).
 1.390  14-Aug-2015  knakahara Add pci_get_ht_capability(9) man.
 1.389  21-Jul-2015  knakahara add pci_intr_alloc() man
 1.388  12-Jul-2015  hannken Operations getnewvnode() and ungetnewvnode() have been replaced with vcache.
- Remove now obsolete functions getnewvnode() and ungetnewvnode().
- Document vcache operations.

Welcome to 7.99.20
 1.387  14-May-2015  pgoyette Add new man page for devsw_attach() and friends.

From Kamil Ritarowski with some editting by myself.
 1.386  27-Apr-2015  knakahara add x86 MD MSI/MSI-X support code.
 1.385  27-Apr-2015  knakahara add pci_intr_distribute(9) for x86.
 1.384  21-Apr-2015  pooka Remove the unused and all-but-unusable kthread_destroy(). Also makes
it more obvious that the opposite of kthread_create() is kthread_exit().
 1.383  30-Mar-2015  riastradh Remove obsolete cprng_strong_getflags/setflags(9) man page links.

XXX pullup-7
 1.382  30-Mar-2015  riastradh Hook bufferio(9) man page into the build.

Remove separate getiobuf(9) man page, subsumed by bufferio(9).
 1.381  30-Mar-2015  riastradh Hook up the new wapbl(9) man page.
 1.380  27-Dec-2014  maxv Cleanup:
- remove struct kmembuckets (dead)
- correctly deadify MALLOC_XX
- remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
- remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
 1.379  22-Dec-2014  wiz Add clock(9) from Kamil Rytarowski.
 1.378  25-May-2014  rmind branches: 1.378.2;
MI IPI interface:
- Implement support for the asynchronous IPI calls.
- Rework synchronous IPI code to reuse the asynchronous mechanism.
- Add ipi(9) manual page; needs wizd(8).

Note: MD code can now provide a low level primitive for the ipi(9) and
reuse this interface instead of open-coding. Portmasters are encouraged
to convert. Ride 6.99.43!
 1.377  24-Mar-2014  hannken branches: 1.377.2;
- Make VI_XLOCK, VI_CLEAN and VI_LOCKSHARE private to kern/vfs_*.c.
- Make vwait() static.
- Add vdead_check() to check a vnode for being or becoming dead.

Discussed on tech-kern.

Welcome to 6.99.38
 1.376  22-Mar-2014  skrll Add mtsleep(9) and a description of how it, tsleep(9), and wakeup(9)
should all be replaced with condvar(9).

While here clear out the lock(9) reference(s) and the obsoleted example.

Based on misc/48671
 1.375  18-Mar-2014  hannken Operations vmark(), vunmark() and vismarker() have been replaced by
vfs_vnode_iterator_*(), remove them.

Document vfs_vnode_iterator_*().

Make VI_MARKER private to vfs_vnode.c, vfs_mount.c and unfortunately
to ufs/lfs/lfs_segment.c.

Welcome to 6.99.37
 1.374  19-Sep-2013  rmind G/C npf_ncode(9)
 1.373  06-Aug-2013  soren Build orphaned man pages.
 1.372  17-Jun-2013  ryo add m_copyup(9) obtained from FreeBSD (manual only)
 1.371  22-May-2013  christos add a man page for ts2timo.
 1.370  28-Mar-2013  wiz Add more links for kcpuset(9).
 1.369  02-Dec-2012  rkujawa Also add links to pcu(9).
 1.368  02-Dec-2012  rkujawa Add pcu(9).
 1.367  29-Jul-2012  mlelstv branches: 1.367.2;
add rootconf(9) as a link to cpu_rootconf(9)
 1.366  02-Jul-2012  jym Document atop(9), ptoa(9), round_page(9) and trunc_page(9).
 1.365  13-May-2012  mrg document a large chunk of the USB interface. some of this is kind of
generic and depends upon understanding USB itself (and since i don't
really that well, i might have gotten some wrong.)
 1.364  13-Mar-2012  elad Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
 1.363  17-Feb-2012  plunky document config_detach_children(9)
 1.362  04-Dec-2011  jym branches: 1.362.2;
Improvements in secmodel(9). Document secmodel_register(9), _deregister(9)
and _eval(9).

Add secmodel_extensions(9), and indicate the new sysctl(7) to let
ordinary users control the CPU affinity (user_set_cpu_affinity).
 1.361  29-Nov-2011  tls Add (links for) missing "cross-references" from cprng(9). Some of the
functions replaced by cprng were never documented at all.
 1.360  28-Nov-2011  tls Add cprng(9) manual page, remove arc4random(9) manual page
 1.359  15-Nov-2011  jym pool_cache_sethiwat(9), pool_cache_setlowat(9), pool_cache_sethardlimit(9)
 1.358  15-Nov-2011  jym pool_sethardlimit.9 => pool.9
 1.357  01-Nov-2011  yamt branches: 1.357.2;
document skpc
 1.356  01-Nov-2011  yamt document scanc
 1.355  24-Oct-2011  yamt document ucas
 1.354  06-Oct-2011  jruoho Add kcpuset(9). Ok rmind@.
 1.353  30-Sep-2011  njoly There's no stand alone vpanic.9 man page.
 1.352  29-Sep-2011  christos add vpanic
 1.351  28-Sep-2011  jruoho Add a simple cpufreq(9).

This is slightly improved version presented on tech-kern@ with proper
locking and few additional functions, mainly required for ioctl(9)/cpuctl(8).
 1.350  27-Sep-2011  jym Document new *ASSERTMSG() prototype, and update KASSERT(9).

See also
http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html
 1.349  30-Jul-2011  rmind Add pserialize(9) manual page.
 1.348  03-Jun-2011  rmind Sync (mostly, not fully) uvm_km(9) and uvm_map(9) man pages with reality.
 1.347  01-Jun-2011  rmind branches: 1.347.2;
Split parts of uvm(9) into uvm_km(9) and uvm_map(9) man pages.

OK mrg@
 1.346  06-Apr-2011  jruoho Note also KASSERTMSG(). Small markup changes.
 1.345  26-Feb-2011  ahoka Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.344  27-Jan-2011  wiz Link kprintf(9) to device_printf(9). For David.
 1.343  19-Nov-2010  dholland branches: 1.343.2;
Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.
 1.342  22-Aug-2010  rmind Import NPF - a packet filter. Some features:

- Designed to be fully MP-safe and highly efficient.

- Tables/IP sets (hash or red-black tree) for high performance lookups.

- Stateful filtering and Network Address Port Translation (NAPT).
Framework for application level gateways (ALGs).

- Packet inspection engine called n-code processor - inspired by BPF -
supporting generic RISC-like and specific CISC-like instructions for
common patterns (e.g. IPv4 address matching). See npf_ncode(9) manual.

- Convenient userland utility npfctl(8) with npf.conf(8).

NOTE: This is not yet a fully capable alternative to PF or IPFilter.
Further work (support for binat/rdr, return-rst/return-icmp, common ALGs,
state saving/restoring, logging, etc) is in progress.

Thanks a lot to Matt Thomas for various useful comments and code review.
Aye by: board@
 1.341  21-Aug-2010  jruoho Add x86_msr_xcall(9).
 1.340  11-Aug-2010  pgoyette Add documentation for the various module system initialization routines.
 1.339  07-Aug-2010  pgoyette Add documentation for module_find_section()
 1.338  31-Jul-2010  pgoyette Make a first pass at documenting the module(9) subsystem.

XXX This is by no means complete, but it is a beginning.
 1.337  30-Jul-2010  jruoho Document the stack macros from <sys/param.h>.
 1.336  25-Jul-2010  jruoho Document the fine nullop() family of dummy functions.
 1.335  01-Jul-2010  jruoho Briefly document proc_find() and pgrp_find().
 1.334  25-Jun-2010  tsutsui Add config_mountroot(9) in autoconf(9) man page and LINKS for it.
 1.333  18-Jun-2010  hannken Remove the concept of recursive vnode locks by eliminating
vn_setrecurse(), vn_restorerecurse() and LK_CANRECURSE.
Welcome to 5.99.31

Discussed on tech-kern.
 1.332  08-Jun-2010  jruoho Briefly document the bintime_add() family of static inline functions.
 1.331  13-May-2010  jruoho Hook kthread_join(9) to the build.
 1.330  29-Apr-2010  jruoho Remove gsignal(9) and kgsignal(). Add links for kpgsignal(9) and kpsignal(9).
 1.329  29-Apr-2010  jruoho branches: 1.329.2;
Remove sched_psignal(9) and sigmasked(9). From Tetsuya Isaki in PR #40125.
 1.328  16-Apr-2010  dyoung Add a link, bus_space_is_equal.9 -> bus_space.9.
 1.327  13-Apr-2010  jruoho cpu_swapout(9) is no more.
 1.326  13-Apr-2010  jruoho Document the ctod-family of macros from <sys/param.h>.

XXX: Someone may want to check if there is anything to add or correct.
 1.325  13-Apr-2010  jruoho As the cited setroot(9) was nonexistent, briefly document it here.
 1.324  13-Apr-2010  jruoho Briefly note also curlwp.
 1.323  25-Mar-2010  jruoho In addition to 'hz', document also 'tick', 'tickadj', 'stathz', and 'profhz'.

The idea comes from OpenBSD, but this was written largely based on the
comments in kern_clock.c. XXX: schedhz?
 1.322  25-Mar-2010  jruoho Document p_find(), pfind(), pg_find(), and pgfind().

XXX: Needs a quick proofread.
 1.321  22-Mar-2010  jruoho Document the questionable ISSET/SET/CLR macros.
 1.320  06-Mar-2010  dsieger Since someone (hi ahoka) added a reference to non-existant sched_m2(9),
add at least a stub now.
 1.319  04-Mar-2010  jruoho Document the counting and rounding macros from <sys/param.h>.
 1.318  01-Mar-2010  jruoho Document the bitmap related macros in <sys/param.h>.
 1.317  01-Mar-2010  jruoho In addition to mstohz(9), document also hztoms.
 1.316  12-Feb-2010  dyoung Fix a typo in the MLINKS line for kmem.9.
 1.315  11-Feb-2010  haad Hook kmem_asprintf and vrele_async manpages to the build.
 1.314  06-Feb-2010  dyoung Move MD spllower(9) and splraise(9) doco from the MI spl(9) to an i386
manual page.
 1.313  26-Jan-2010  jruoho Document also the sysmon power switches; sysmon_pswitch(9).
 1.312  26-Jan-2010  jruoho Build links for rest of the sysmon_taskq(9) functions.
 1.311  25-Jan-2010  jruoho Add a simple manual page for the simple sysmon task queue.

ok wiz@
 1.310  25-Jan-2010  jruoho Add CTASSERT(9). From FreeBSD.

ok @wiz
 1.309  23-Jan-2010  rmind Remove xc_init_cpu(), percpu_init(), percpu_init_cpu() - they are part
of implementation, not public API. OK dyoung@.
 1.308  23-Jan-2010  rmind Rename xc(9) to xcall(9). OK dyoung@.
 1.307  22-Jan-2010  dyoung Install manual pages for cross-calls and per-CPU storage.
 1.306  20-Jan-2010  pooka add short description for bpf.9
 1.305  20-Jan-2010  dyoung Update PMF documentation: rename pmf_device_resume_subtree to
pmf_device_subtree_resume. Briefly describe pmf_qual_t and add it to
the PMF function signatures.

There's still a lot left to document.
 1.304  20-Jan-2010  pooka Remove MKLINKS for VATTR_NULL, so that the obsolete lists don't
have to do the work every build.
 1.303  08-Jan-2010  pooka Undocument checkalias() -- it was removed two years ago.
 1.302  08-Jan-2010  pooka vcount() was removed
 1.301  08-Jan-2010  pooka Remove documentation for removed macros.
 1.300  08-Jan-2010  dyoung Install pcq.9 and links. Update set list accordingly.
 1.299  05-Dec-2009  pooka remove cv_wakeup.9 (it wasn't documented, just linked)
 1.298  17-Nov-2009  dyoung Describe spllower(9) and splraise(9).
 1.297  05-Nov-2009  dyoung Document the device iteration routines.

I derived this manual page from pmf(9), hence my retention of Jared's
copyright notice.
 1.296  15-Oct-2009  jym Remove pool_cache_invalidate_local(9) from the sets, and mark the
entries as obsolete.

Noted by haad@. Thanks!
 1.295  08-Oct-2009  jym Add pool_cache_invalidate_local() to the pool_cache(9) API, to permit
per-CPU objects invalidation when cached in the pool cache.

See http://mail-index.netbsd.org/tech-kern/2009/10/05/msg006206.html .

Reviewed by bouyer@. Thanks!
 1.294  05-Oct-2009  rmind Add callback(9) man page. Reviewed and improved by <wiz>, thanks!
 1.293  02-Oct-2009  elad First part of secmodel cleanup and other misc. changes:

- Separate the suser part of the bsd44 secmodel into its own secmodel
and directory, pending even more cleanups. For revision history
purposes, the original location of the files was

src/sys/secmodel/bsd44/secmodel_bsd44_suser.c
src/sys/secmodel/bsd44/suser.h

- Add a man-page for secmodel_suser(9) and update the one for
secmodel_bsd44(9).

- Add a "secmodel" module class and use it. Userland program and
documentation updated.

- Manage secmodel count (nsecmodels) through the module framework.
This eliminates the need for secmodel_{,de}register() calls in
secmodel code.

- Prepare for secmodel modularization by adding relevant module bits.
The secmodels don't allow auto unload. The bsd44 secmodel depends
on the suser and securelevel secmodels. The overlay secmodel depends
on the bsd44 secmodel. As the module class is only cosmetic, and to
prevent ambiguity, the bsd44 and overlay secmodels are prefixed with
"secmodel_".

- Adapt the overlay secmodel to recent changes (mainly vnode scope).

- Stop using link-sets for the sysctl node(s) creation.

- Keep sysctl variables under nodes of their relevant secmodels. In
other words, don't create duplicates for the suser/securelevel
secmodels under the bsd44 secmodel, as the latter is merely used
for "grouping".

- For the suser and securelevel secmodels, "advertise presence" in
relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).

- Get rid of the LKM preprocessor stuff.

- As secmodels are now modules, there's no need for an explicit call
to secmodel_start(); it's handled by the module framework. That
said, the module framework was adjusted to properly load secmodels
early during system startup.

- Adapt rump to changes: Instead of using empty stubs for securelevel,
simply use the suser secmodel. Also replace secmodel_start() with a
call to secmodel_suser_start().

- 5.99.20.

Testing was done on i386 ("release" build). Spearated module_init()
changes were tested on sparc and sparc64 as well by martin@ (thanks!).

Mailing list reference:

http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
 1.292  16-Sep-2009  dyoung Don't install config_activate links such as config_activate.9 ->
autoconf.9. In the set list, mark the config_activate links
obsolete.
 1.291  05-Sep-2009  apb Sort bzero to the correct position
 1.290  05-Sep-2009  apb The man page should be BOOT_FLAG.9, not BOOT_FLAGS.9.
I am not marking the incorrect name as "obsolete" in the set lists
because it's been less than 12 hours. If you have already installed the
incorrectly named file, you will have to delete it manually.
 1.289  04-Sep-2009  apb Add a boothowto(9) man page, and link it to BOOT_FLAGS(9).
 1.288  03-Aug-2009  rmind Merge vmem_alloc(9) & friends (it's a whole company) into a single vmem(9).
 1.287  03-Aug-2009  rmind Merge workqueue_create(9), workqueue_destroy(9) and workqueue_enqueue(9)
into a single workqueue(9) man page.
 1.286  03-Aug-2009  wiz I guess ubc(9) should be used for all ubc_*(9) man pages, not only for
some. Make it so.
 1.285  03-Aug-2009  rmind Unify kmem_alloc/zalloc/free under kmem(9). Links preserved.
 1.284  03-Aug-2009  rmind Split descriptions of UBC functions from uvm(9) into separate ubc(9) man page.
 1.283  06-Jun-2009  hubertf add mlinks for iic manpages
 1.282  20-May-2009  dyoung Install disk_begindetach.9 links.
 1.281  10-May-2009  tsutsui Add MLINKS for pmf(9) functions.
 1.280  08-May-2009  dyoung Install a link from vfs_mountalloc.9 to vfssubr.9.
 1.279  04-May-2009  ad + callout_halt
 1.278  31-Mar-2009  tsutsui Add byteorder(9) man page which describes htole32() etc. From FreeBSD
via PR misc/40770, with some tweaks by me.
 1.277  16-Jan-2009  uebayasi branches: 1.277.2;
config_found_sm(9) -> config_found_sm_loc(9)
 1.276  04-Jan-2009  jdc Add missing callout_* links and order the callout_* links as per the
manual page.
 1.275  16-Dec-2008  christos kill bitmask_snprintf
 1.274  24-Nov-2008  tsutsui Replace timecounter(9) man page with OpenBSD's tc_init(9)
since the previous one was derived from FreeBSD's time(9)
which was based on NetBSD's time_second(9), and
it didn't mention the timecounter framework itself.
 1.273  24-Nov-2008  tsutsui Add tvtohz(9) man page, which is Xref'ed from microtime(9) and microuptime(9),
from FreeBSD.
 1.272  24-Nov-2008  tsutsui Merge description about bintime(9), getbintime(9), getmicrotime(9),
nanotime(9), and getnanotime(9) from FreeBSD's microtime(9) man page,
and add appropriate MLINKS.
 1.271  24-Nov-2008  tsutsui Add MLINKS to binuptime(9), getbinuptime(9), getmicrouptime(9), nanouptime(9),
and getnanouptime(9) from microuptime(9).
 1.270  16-Sep-2008  pgoyette branches: 1.270.2;
Add MLINKS for all the routines that cnmagic.9 documents. Without this,
"apropos magic" indicates that cn_trap(9) and friends have man pages, but
"man cn_trap" thinks otherwise.
 1.269  06-Sep-2008  jmcneill Add video(4) and video(9) man pages.
 1.268  03-Sep-2008  erh Add man page links from ttyldisc_{add,lookup,remove} to linedisc
 1.267  10-Aug-2008  tls Manual pages for accept_filters(9), from FreeBSD. Also, document syntax we
added in NetBSD for specifying accept filters in inetd.conf.
 1.266  06-Aug-2008  drochner there was a backslash too much
 1.265  06-Aug-2008  plunky add man page for sockopt(9)
 1.264  06-May-2008  yamt branches: 1.264.2;
update to match with the recent reality.
 1.263  06-May-2008  yamt document kpreempt_disable, kpreempt_enable, and kpreempt_disabled.
 1.262  03-May-2008  plunky update disk.9 manpage to current reality
- add disk_init() (from vmlocking merge)
- add disk_destroy() (from vmlocking merge)
- remove disk_resetstat() (was removed)
- update structure defs
- update examples (ANSI, const, device_t etc)
 1.261  02-Apr-2008  xtraeme branches: 1.261.2; 1.261.4;
Add MLINKS for the sysmon_envsys_* functions.
 1.260  24-Mar-2008  yamt update after yamt-lazymbuf merge.
 1.259  02-Mar-2008  rmind Rename selrecord(9) man page to select(9). Sync selnotify() with reality,
remove selwakeup(), add and explain the usage of selinit() and seldestroy().

Reviewed by <ad>.
 1.258  09-Dec-2007  jmcneill branches: 1.258.4;
Add power management framework man page.
 1.257  09-Dec-2007  yamt document LWP_CACHE_CREDS.
 1.256  05-Dec-2007  ad Add links for softint_*
 1.255  05-Dec-2007  ad + mutex_spin_enter, mutex_spin_exit
 1.254  05-Dec-2007  ad +splsoftbio(9)
 1.253  21-Nov-2007  elad Make securelevel a "secmodel" of its own.

While it's true that it's part of the traditional 4.4BSD security model,
there may come a time where a different "primary" security model used for
fine-grained privileges (ie., splitting root's responsibilities to various
privileges that can be assigned) may want to still have a securelevel
setting.

Idea from Daniel Carosone:

http://mail-index.netbsd.org/tech-security/2006/08/25/0001.html

The location of the removed files, for reference, was:

src/secmodel/bsd44/secmodel_bsd44_securelevel.c
src/secmodel/bsd44/securelevel.h
 1.252  21-Nov-2007  pooka Short description of putter(9)
 1.251  15-Oct-2007  pooka - uvn_attach.9
+ ubc_uiomove.9
 1.250  07-Oct-2007  hannken Update the file system copy-on-write handler.

- Instead of hooking the handler on the specdev of a mounted file system
hook directly on the `struct mount'.

- Rename from `vn_cow_*' to `fscow_*' and move to `kern/vfs_trans.c'. Use
`mount_*specific' instead of clobbering `struct mount' or `struct specinfo'.

- Replace the hand-made reader/writer lock with a krwlock.

- Keep `vn_cow_*' functions and mark as obsolete.

- Welcome to NetBSD 4.99.32 - `struct specinfo' changed size.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.249  24-Sep-2007  wiz Document aprint*_dev and aprint*_ifnet. Requested by joerg@
 1.248  21-Jul-2007  dsieger branches: 1.248.4; 1.248.6;
Fix a glitch in previous commit:
s/mi_switch 9/mi_switch.9/

Reported by Paul Goyette.
 1.247  21-Jul-2007  dsieger Remove obsolete content about cpu_switchto() from ctxsw(9) and rename
it to mi_switch(9).

Suggested by yamt@
 1.246  18-Jul-2007  yamt document kpause. largely copied from condvar.9.
 1.245  15-Jul-2007  jnemeth setrunqueue is no more
 1.244  14-Jul-2007  dsieger Remove obsolete SCHED_LOCK(9), which is gone.

ok by <ad>
 1.243  14-Jul-2007  dsieger Move scheduler(9) to sched_4bsd(9) and sync its contents with reality. Also
add a reference to McKusick et. al., which still contains the best in-depth
description of the 4.4BSD scheduler.
 1.242  14-Jul-2007  dsieger Remove obsolete setrunqueue(9) manpage.

ok by <ad>.
 1.241  14-Jul-2007  dsieger Add initial manpage for the "new" scheduler API.

Note: More content will follow, to this manpage as well as the NetBSD
Internals book.

Ok by <ad>
 1.240  14-Jul-2007  ad Update mlinks for callout/kthread changes.
 1.239  14-Jul-2007  ad - kcont was removed.
- Replace some references to tsleep.
 1.238  03-Jul-2007  yamt update and document yield().
 1.237  01-Jul-2007  xtraeme Imported envsys 2, a brief description of the new features:
(Part 4: documentation and configuration files)

* Support for detachable sensors.
* Cleaned up the API for simplicity and efficiency.
* Ability to send capacity/critical/warning events to powerd(8).
* Adapted all the code to the new locking order.
* Compatibility with the old envsys API: the ENVSYS_GTREINFO
and ENVSYS_GTREDATA ioctl(2)s are supported.
* Added support for a 'dictionary based communication channel' between
sysmon_power(9) and powerd(8), that means there is no 32 bytes event
size restriction anymore.
* Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40.
* All drivers with the n^2 gtredata bug were fixed, PR kern/36226.

Tested by:

blymn: smsc(4).
bouyer: ipmi(4), mfi(4).
kefren: ug(4).
njoly: viaenv(4), adt7463.c.
riz: owtemp(4).
xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
 1.236  18-May-2007  yamt obsolete mi_switch.9 and cpu_switch.9 MLINKS. pointed by Blair Sadewitz.
 1.235  17-May-2007  yamt add cpu_idle.9.
 1.234  17-May-2007  yamt update after yamt-idlelwp merge.
- remove cpu_exit.9.
- remove ctxsw.9 from makefile because it's too stale.
XXX maybe it will revive as mi_switch.9 later.
- add cpu_switchto.9 to makefile.
 1.233  21-Feb-2007  mrg document bus_dmatag_subregion(9) and bus_dmatag_destroy(9).
 1.232  17-Feb-2007  yamt need_resched -> cpu_need_resched.
 1.231  17-Feb-2007  yamt remove cpu_idle.9. it has not been available on trunk.
 1.230  16-Feb-2007  hannken Make fstrans(9) the default helper for file system suspension.
Replaces the now obsolete vn_start_write()/vn_finished_write().
 1.229  15-Feb-2007  tron Remove entries for rw_owned(9) again. The set lists were incorrect,
not this "Makefile".
 1.228  15-Feb-2007  tron Create symbolic links for rw_owned(9).
 1.227  15-Feb-2007  skrll Sort some entries.
 1.226  11-Feb-2007  ad Fix up MLINKS for previous. From nick@.
 1.225  11-Feb-2007  ad Add mb/rwlock/condvar/mutex section 9 manual pages.
 1.224  21-Jan-2007  hannken Add and update documentation for fstrans(9) file system suspension helper.

wiz?
 1.223  07-Jan-2007  elad Add a memoryallocators(9) man-page to give a short summary of memory
allocators available in the kernel.

Tons of input from YAMAMOTO Takashi, thanks!
 1.222  21-Dec-2006  yamt document splraiseipl and makeiplcookie.
 1.221  13-Nov-2006  dyoung Add a source-address selection policy mechanism to the kernel.

Also, add ioctls SIOCGIFADDRPREF/SIOCSIFADDRPREF to get/set preference
numbers for addresses. Make ifconfig(8) set/display preference
numbers.

To activate source-address selection policies in your kernel, add
'options IPSELSRC' to your kernel configuration.

Miscellaneous changes in support of source-address selection:

1 Factor out some common code, producing rt_replace_ifa().

2 Abbreviate a for-loop with TAILQ_FOREACH().

3 Add the predicates on IPv4 addresses IN_LINKLOCAL() and
IN_PRIVATE(), that are true for link-local unicast
(169.254/16) and RFC1918 private addresses, respectively.
Add the predicate IN_ANY_LOCAL() that is true for link-local
unicast and multicast.

4 Add IPv4-specific interface attach/detach routines,
in_domifattach and in_domifdetach, which build #ifdef
IPSELSRC.

See in_getifa(9) for a more thorough description of source-address
selection policy.
 1.220  04-Nov-2006  yamt document vmem_xalloc/xfree.
 1.219  22-Oct-2006  yamt document vmem.
 1.218  09-Oct-2006  rpaulo Modular (I tried ;-) TCP congestion control API. Whenever certain conditions
happen in the TCP stack, this interface calls the specified callback to
handle the situation according to the currently selected congestion
control algorithm.
A new sysctl node was created: net.inet.tcp.congctl.{available,selected}
with obvious meanings.
The old net.inet.tcp.newreno MIB was removed.
The API is discussed in tcp_congctl(9).

In the near future, it will be possible to selected a congestion control
algorithm on a per-socket basis.

Discussed on tech-net and reviewed by <yamt>.
 1.217  07-Oct-2006  cube Synchronise documentation with code. E.g., config_search is no more, but
instead you have config_search_{loc,ia}. Add documentation for
config_finalize_regsiter, too. Mostly fixes PR#32106 by Gavan Fantom, as I
think the cfdriver_* and cfattach_* stuff should be documented too, but I'm
not entirely sure where yet.
 1.216  04-Oct-2006  pooka fix slight ooops in previous
 1.215  04-Oct-2006  pooka and lo, the uvm_coredump() peril was no more (since almost 5 years ago)
 1.214  17-Sep-2006  wiz Make links from ieee80211(9) to pages for all included functions.
 1.213  16-Sep-2006  yamt add workqueue_destroy.
 1.212  16-Sep-2006  elad Add a man-page for secmodel_overlay(9).
 1.211  15-Sep-2006  elad Add a man-page for secmodel_bsd44, describing a bit the concepts of
super-user and securelevel.

The securelevel part was compiled of text from both init(8) and OpenBSD's
securelevel(7), and brought in-sync with what we really do.
 1.210  08-Sep-2006  elad First take at security model abstraction.

- Add a few scopes to the kernel: system, network, and machdep.

- Add a few more actions/sub-actions (requests), and start using them as
opposed to the KAUTH_GENERIC_ISSUSER place-holders.

- Introduce a basic set of listeners that implement our "traditional"
security model, called "bsd44". This is the default (and only) model we
have at the moment.

- Update all relevant documentation.

- Add some code and docs to help folks who want to actually use this stuff:

* There's a sample overlay model, sitting on-top of "bsd44", for
fast experimenting with tweaking just a subset of an existing model.

This is pretty cool because it's *really* straightforward to do stuff
you had to use ugly hacks for until now...

* And of course, documentation describing how to do the above for quick
reference, including code samples.

All of these changes were tested for regressions using a Python-based
testsuite that will be (I hope) available soon via pkgsrc. Information
about the tests, and how to write new ones, can be found on:

http://kauth.linbsd.org/kauthwiki

NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the
following:

- Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,
- Checks 'securelevel' directly,
- Checks a uid/gid directly.

(or if you feel you have to, contact me first)

This is still work in progress; It's far from being done, but now it'll
be a lot easier.

Relevant mailing list threads:

http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html
http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html
http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html
http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html

Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help
stablizing kauth(9).

Full credit for the regression tests, making sure these changes didn't break
anything, goes to Matt Fleming and Jaime Fournier.

Happy birthday Randi! :)
 1.209  06-Sep-2006  wiz Fix todr(9) MLINKS line.
 1.208  06-Sep-2006  gdamore time.9 renamed to time_second.9. various updates to reflect API changes.
 1.207  27-Jul-2006  gdt man pages contributed by Igor Sobrado.
 1.206  25-Jul-2006  elad first take at veriexec(9) man page, finally documenting some more
internals.
 1.205  14-Jul-2006  elad okay, since there was no way to divide this to two commits, here it goes..

introduce fileassoc(9), a kernel interface for associating meta-data with
files using in-kernel memory. this is very similar to what we had in
veriexec till now, only abstracted so it can be used more easily by more
consumers.

this also prompted the redesign of the interface, making it work on vnodes
and mounts and not directly on devices and inodes. internally, we still
use file-id but that's gonna change soon... the interface will remain
consistent.

as a result, veriexec went under some heavy changes to conform to the new
interface. since we no longer use device numbers to identify file-systems,
the veriexec sysctl stuff changed too: kern.veriexec.count.dev_N is now
kern.veriexec.tableN.* where 'N' is NOT the device number but rather a
way to distinguish several mounts.

also worth noting is the plugging of unmount/delete operations
wrt/fileassoc and veriexec.

tons of input from yamt@, wrstuden@, martin@, and christos@.
 1.204  08-Jul-2006  skrll Some section 9 man page edits:
- Update ctxsw(9) to reflect reality a little better
- chooselwp doesn't exist in the kernel so remove the man page.
- Remove the references to chooseproc which existed briefly.
 1.203  25-Jun-2006  yamt document kmem_alloc, kmem_free, kmem_zalloc.
 1.202  24-Jun-2006  kardel add microuptime.9 (from FreeBSD) for timecounters
 1.201  24-Jun-2006  kardel include timecounter.9 description
 1.200  19-Jun-2006  gdamore Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@,
NetBSD Foundation Membership still pending.) This stack was written by
Iain under sponsorship from Itronix Inc.

The stack includes support for rfcomm networking (networking via your
bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.

Drivers for both PCMCIA and USB bluetooth controllers are included.
 1.199  04-Jun-2006  chap Document kernel function hashinit/hashdone.

"No[ objections] here." -christos@
 1.198  16-May-2006  elad branches: 1.198.2;
kill unused man-pages. prompted by Iain Hibbert.
 1.197  14-May-2006  elad add kauth man-page.
 1.196  14-May-2006  uwe G/c properties(9) and links. They are marked as obsolete in the sets
already.
 1.195  11-May-2006  gdamore Add preliminary documentation for DDC and EDID subsystem.
 1.194  11-Mar-2006  kleink branches: 1.194.2;
Document libkern's bcdtobin(9)/bintobcd(9).
 1.193  07-Mar-2006  pooka fdavail is a goner
 1.192  24-Feb-2006  pooka document fdclone
 1.191  12-Feb-2006  macallan add vcons.9
 1.190  03-Feb-2006  jmmv Implement options string parsing of the form 'a=b c=d ...'. This will be
initially used by i386's Multiboot support but will be useful in other
situations too (think refactoring mount(2)'s API).
 1.189  17-Jan-2006  thorpej Add a firmload(9) manual page.
 1.188  16-Jan-2006  yamt add getiobuf.9
 1.187  04-Jan-2006  xtraeme Manpage that explains the i2c framework... from OpenBSD.
 1.186  24-Dec-2005  matt Update man pages for new coredump interface.
 1.185  21-Dec-2005  rpaulo Fix links for cpu_lwp_fork.9. Pointed out by ghen@ and salo@.
 1.184  20-Dec-2005  rpaulo Adapt man pages to ktrace-lwp.
 1.183  24-Nov-2005  yamt document workqueue.
 1.182  24-Nov-2005  yamt document RUN_ONCE.
 1.181  02-Nov-2005  yamt sync with kernel. (yamt-vop)
 1.180  02-Oct-2005  kleink Remove MLINKS leftover from previous.
 1.179  01-Oct-2005  yamt we don't have the global runtime anymore.
 1.178  23-Sep-2005  jmmv Kill the tmpfs(9) manual page; it was just documenting internal details of
tmpfs' "API" and was already rotting.

Instead, merge all the relevant comments into the code. This includes
acknowledgements to Google's Summer of Code 2005 program (they were in the
AUTHORS section of tmpfs(9) before), so all the files need to be changed
to include this sentence alongside the title. (Note that this was not a
requirement of the program.)
 1.177  23-Sep-2005  jmmv Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
file sys/nfs/nfs_export.c. The former was becoming large and its code
is always compiled, regardless of the build options. Using the latter,
the code is only compiled in when NFSSERVER is enabled. While doing this,
also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
path and a set of export entries. At the moment it can only clear the
exports list or append entries, one by one, but it is done in a way that
allows setting the whole set of entries atomically in the future (see the
comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
that it becomes file system agnostic. In fact, all this whole thing was
done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
exports initialization; done internally by the kernel when initializing
the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
subsystems can run arbitrary code upon receipt of specific VFS events.
At the moment, this only provides support for unmount and is used to
destroy NFS exports lists from the file systems being unmounted, though it
has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.
 1.176  10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.175  28-Aug-2005  reinoud Create functions ioctl_copyin() and ioctl_copyout(). They are meant to be
used in ioctl routines to do the right thing when the FKIOCTL flag is
passed to the IOCTL routine indicating its a in-kernel VOP_IOCTL call and
indirect addresses provided in the arguments are to be seen as kernel
adresses rather than userland adresses.

A simple substitution and prepending of the `flags' passed on to the ioctl
handler is enough to DTRT.
 1.174  23-Aug-2005  yamt document M_MOVE_PKTHDR.
 1.173  14-Aug-2005  yamt remove disk_init.
 1.172  20-Jul-2005  pooka statfs -> statvfs
(better late than never)
 1.171  24-Apr-2005  dyoung Add IEEE 802.11 manual pages from FreeBSD to both the Makefiles
and the set lists.
 1.170  01-Apr-2005  yamt remove links to uvm.9 for removed functions.
 1.169  02-Jan-2005  thorpej branches: 1.169.2;
Document file system extended attribute functions.
 1.168  06-Dec-2004  yamt document uvm_unmap.
 1.167  03-Dec-2004  atatat Add a man page that describes the kernel-only errno values that never
get passed back up to userland.
 1.166  06-Sep-2004  yamt add MLINKS for each mbuf tagging functions.
 1.165  06-Sep-2004  yamt document mbuf tagging interfaces.
 1.164  06-Sep-2004  yamt - document m_copyback_cow and m_makewritable.
- note limitations of m_copyback.
- bump date.
 1.163  05-Jul-2004  sketch Complete removal of uvm_useracc(9), as described in

http://mail-index.netbsd.org/source-changes/2003/11/13/0011.html
 1.162  25-May-2004  hannken Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.

- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
Snapshots may not be opened for writing and the attributes are read-only.
Use the mtime as the time this snapshot was taken.
Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
a vnode.
- Add snapshot support to ls, fsck_ffs and dump.

Welcome to 2.0F.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>
 1.161  29-Mar-2004  dyoung Add a manual page to section 9 for rssadapt, the rate-adaptation
framework.
 1.160  24-Mar-2004  atatat branches: 1.160.2;
Add man page for new sysctl_teardown() function.
 1.159  23-Mar-2004  jonathan Add kcont(9) to Makefile, comp set.
 1.158  21-Mar-2004  he The man-page symlink should be pckbport_set_inputhandler, not
pckbport_set_inputhandle -- make it so.
 1.157  20-Mar-2004  bjh21 Kernel-internal documentation for pckbport.
 1.156  18-Feb-2004  yamt - document selnotify.
- add ref. to knote(9).
 1.155  14-Feb-2004  hannken Add a generic copy-on-write hook to add/remove functions that will be
called with every buffer written through spec_strategy().

Used by fss(4). Future file-system-internal snapshots will need them too.

Welcome to 1.6ZK

Approved by: Jason R. Thorpe <thorpej@netbsd.org>
 1.154  28-Jan-2004  jdolecek g/c obsolete cpu_wait(9)
reported in PR misc/24260 by Nicolas Joly
 1.153  21-Jan-2004  atatat Man page for kernel's sysctl infrastructure. Thanks for being
patient.
 1.152  20-Dec-2003  lha Add opencrypto.9 manpage, manpage copied from OpenBSD (Angelos D. Keromytis)
Some text added me (and thus all errors in the manpage are mine)
 1.151  04-Dec-2003  atatat Garbage collect some references to the old sysctl() infrastructure.
 1.150  16-Nov-2003  yamt a manpage of selrecord and selwakeup. from FreeBSD.
 1.149  21-Oct-2003  hannken Add section 9 man pages for:
vfs_write_suspend, vfs_write_resume, vn_start_write and vn_finished_write.
 1.148  13-Oct-2003  bouyer Add a man page for pmatch().
 1.147  28-Sep-2003  dsl Add do_setres[u,g}id
 1.146  21-Sep-2003  jdolecek add manpage for fsetown(9), fgetown(9), fownsignal(9)
 1.145  07-Sep-2003  seb Remove link from pool_cache.9 to itself.

Implicit approval by kleink@.
 1.144  07-Sep-2003  yamt a pool_cache(9) manpage.
maybe incomplete, but better than none.
 1.143  06-Sep-2003  yamt a man page for buffer cache interfaces.
(an incomplete page is better than no page)
 1.142  07-Apr-2003  gmcgarry vfs_setpublic.9 -> vfs_setpublicfs.9
 1.141  06-Apr-2003  gmcgarry Move vfs interface out of vfsops.9 into its own page. Document
it completely.
 1.140  04-Apr-2003  wiz Minimally document vfs_shutdown(9). XXX: Right man page?
 1.139  25-Mar-2003  thorpej Document pci_vpd_read() and pci_vpd_write().
 1.138  10-Feb-2003  drochner remove leftover pre-UVM manpages
 1.137  04-Feb-2003  thorpej Oops, forgot to remove links for callout_active and callout_deactivate.
 1.136  04-Feb-2003  thorpej Update for new callout(9) implemenatation.
 1.135  01-Feb-2003  thorpej Update for extensibe malloc types.
 1.134  11-Jan-2003  lha s/pfil_get_head/pfil_head_get/

fixes Joel Wilsson's <joelw@unix.se> misc/19796
 1.133  31-Dec-2002  thorpej Document aprint_error(), aprint_get_error_count(), and printf_nolog().
 1.132  31-Dec-2002  thorpej Document the "aprint" autoconfiguration message printing routines.
 1.131  23-Oct-2002  gmcgarry Add vgonel(), although it is used only once.
 1.130  20-Oct-2002  gmcgarry More kernel documentation.
 1.129  14-Oct-2002  gmcgarry link for vn_rdwr()
 1.128  14-Oct-2002  gmcgarry Move the vnode file descriptor operations into their own file.
Add vn_marktext() and vn_statfile() descriptions.
 1.127  05-Oct-2002  gmcgarry Document config_match().
 1.126  29-Sep-2002  jdolecek bring knote(9) and kfilter_register(9) from kqueue branch to mainline
HISTORY section mentions the interface is only available on experimental
kqueue branch (for now)
 1.125  29-Sep-2002  wiz Sort man page a bit after last.
 1.124  29-Sep-2002  wiz Rename sleep.9 to ltsleep.9, since sleep(9) is not there any more.
 1.123  22-Sep-2002  gmcgarry Document the details of the scheduler.
 1.122  28-Aug-2002  gmcgarry Documentation for Restartable Atomic Sequences (RAS).
 1.121  07-Aug-2002  tron Fix incorret (and obiously untested) symlink targets.
 1.120  07-Aug-2002  briggs Document new performance monitoring interface.
 1.119  04-Aug-2002  gmcgarry Document pci_set_powerstate()/pci_get_powerstate().
 1.118  02-Aug-2002  thorpej Manual page for hardware-assisted data mover interface.
 1.117  20-Jul-2002  thorpej * Add copyin_proc() and copyout_proc(), which are like copyin() and
copyout(), except they can operate on any process, not just curproc.
* Use this in uiomove() to allow UIO_USERSPACE to non-curproc.
 1.116  17-Jul-2002  hannken Add manpage for new device buffer queue interface.
With help from Thomas Klausner <wiz@netbsd.org>.
 1.115  16-Jul-2002  lha add missing pfil_head_get in manpage
add missing MLINKS
add new files to sets lists

fixes my own pr kern/15060
 1.114  14-Jul-2002  gmcgarry simple_lock_unlock -> simple_unlock
 1.113  09-Jul-2002  thorpej Overhaul documentation of the kernel signal facilities. Some text
liberally borrowed from Paul's psignal(9) manpage.

More work can be done here, but there's more here than before, at least.
 1.112  24-Jun-2002  gmcgarry Document for driver authors.
 1.111  31-May-2002  kleink Add missing bus_space_vaddr(9) link.
 1.110  28-May-2002  itojun add arc4random(9).
 1.109  25-May-2002  gmcgarry Document some mandatory machine-dependent interfaces. Addresses PR16272.
 1.108  05-Apr-2002  bouyer branches: 1.108.2;
Add a man page for mstohz()
 1.107  11-Feb-2002  kleink Add link for pci_conf_hook().
 1.106  07-Jan-2002  deberg add MALLOC.9 and FREE.9
 1.105  06-Jan-2002  deberg add VOP_GETPAGES to NAME and create link
 1.104  01-Jan-2002  augustss Add radio(4) man pages.
 1.103  24-Dec-2001  jdolecek Some basic documentation of uvm_loan() and uvm_unloan()
 1.102  05-Dec-2001  augustss Link malloc_roundup.9 to the right thing; section 9 links were off by one.
 1.101  05-Dec-2001  ad Document malloc_roundup().
 1.100  05-Dec-2001  lukem add hash(9)
 1.99  02-Dec-2001  gmcgarry Documentation for itimerfix(9), from Christos Zoulas.
 1.98  18-Nov-2001  kleink Create a bus_space_mmap(9) link, too.
 1.97  31-Oct-2001  gmcgarry Document new VEXECMAP vnode flag and rename vn_marktext() to vn_markexec().
 1.96  24-Oct-2001  enami s/fnctl/fcntl/
 1.95  22-Oct-2001  gmcgarry fnctl -> fcntl
 1.94  22-Oct-2001  gmcgarry Update for new pages and sort.
 1.93  04-Oct-2001  eeh Build the properties.9 manpage.
 1.92  10-Sep-2001  gmcgarry Document pci_find_device().
 1.91  09-Sep-2001  wiz Add hardclock(9). Written by myself, improved via some comments from
Christos (thanks!).
 1.90  04-Sep-2001  wiz Add hz(9) man page.
 1.89  04-Sep-2001  wiz Remove trailing whitespace
 1.88  28-Jul-2001  chs update uvm.9 links.
 1.87  12-Jul-2001  itojun add altq(9).
 1.86  07-Jul-2001  perry branches: 1.86.2;
add new b*() and mem*() man pages
 1.85  05-Jul-2001  nathanw Basic man page for setrunqueue() and remrunqueue(). Why not? They're easy.
 1.84  01-Jul-2001  gmcgarry Add some missing documentation.
 1.83  28-Jun-2001  itojun add m_pulldown.9 to MLINKS.
 1.82  21-Jun-2001  wiz disk_detach.9, not disk_detatch.9
 1.81  02-Jun-2001  jdolecek Document cnbell(), cngetc(), cngetsn(), cnpollc(), cnputc().
 1.80  24-May-2001  sommerfeld Clarify specification of in4_cksum; add description of in_cksum and
in6_cksum as well as makefile goo to install links.
 1.79  23-May-2001  sommerfeld Add in4_cksum
 1.78  12-May-2001  hubertf Add pool_init.9
 1.77  11-May-2001  bouyer Manual page describing interface between scsipi middle-layer and host bus
adapters.
 1.76  11-May-2001  eeh Install the cnmagic(9) manpage.
 1.75  27-Apr-2001  jdolecek Document ltsleep(9). Feel free to improve if you wish.
 1.74  24-Apr-2001  thorpej Add a manual page that describes the pmap(9) API and the requirements
of a pmap module.

Many thanks to Bill Sommerfeld for reviewing the document for me.
 1.73  18-Apr-2001  jdolecek Also create splvm(9) link to spl(9)
 1.72  10-Feb-2001  briggs Make and install pci_configure_bus(9) with a link to pci_conf_interrupt(9)
(called from pci_configure_bus()).
Also make and install pci_intr(9), which seems to have been overlooked in
the Makefile
 1.71  02-Nov-2000  eeh Add manpage for new line discipline stuff.
 1.70  13-Oct-2000  itojun document m_dup(9). talk a little bit about issues with shared
external storage (M_EXT).
 1.69  09-Aug-2000  tv Add manpage for bitmask_snprintf(9), describe tprintf(9), and simplify
kprintf(9) by removing the now unsupported "extra" printf format strings.
 1.68  03-Aug-2000  itojun add ppsratecheck(9).
 1.67  25-Jul-2000  pk Add man page for a new time-of-day clock driver interface. Also documents the
already existing clock_secs_to_ymdhms() & clock_ymdhms_to_secs().
 1.66  14-Jul-2000  gmcgarry Back out previous.
 1.65  13-Jul-2000  gmcgarry uvn_attach.9 -> uvm_attach.9
 1.64  26-Jun-2000  veego Fix the broken spinlockmgr.9 link to lock.9
 1.63  25-Jun-2000  gmcgarry lock(9) manpage. Not much, but it is a start.
 1.62  04-Jun-2000  cgd branches: 1.62.2;
Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.61  31-May-2000  cgd documentation of the NetBSD machine-independent software interrupt
framework, dredged out of the January, 1997 tech-kern e-mail archives.
 1.60  15-Apr-2000  augustss branches: 1.60.2;
Add a man page describing the ucom interface for making tty like USB devices.
 1.59  27-Mar-2000  soda add a MLINKS for spllowersoftclock.9
 1.58  23-Mar-2000  thorpej Documentation for new callout interfaces.
 1.57  03-Feb-2000  cgd add documentation for the ratecheck() function, a new kernel function
(not even committed... docs before changes?! CALL RIPLEY!!!)
which can help programmers implement rate-limited actions.
 1.56  07-Jan-2000  kleink vslock() is gone in UVM; uvm_vslock() can be found in uvm(9).
 1.55  15-Dec-1999  augustss Add a skeleton for the usbdi documentation.
This is still very incomplete.
 1.54  06-Dec-1999  augustss Back out one change that's not ready yet.
 1.53  06-Dec-1999  augustss Document powerhook functions.
 1.52  21-May-1999  lukem branches: 1.52.4;
add humanize_number(9) / format_bytes(9)
 1.51  03-Apr-1999  msaitoh add MLINKS for pool(9).
fix some bugs.
 1.50  07-Mar-1999  hwr branches: 1.50.2;
Enable ioctl.9.
 1.49  13-Feb-1999  nathanw Document uiomove().
 1.48  19-Oct-1998  bouyer Man page describing the interface between the MI core wdc and its bus
front-ends.
 1.47  01-Oct-1998  jtk add bioscall(9) for i386
 1.46  15-Sep-1998  jeremy Added microtime.9.
 1.45  03-Sep-1998  frueauf Keep the alphabetical order.
 1.44  03-Sep-1998  augustss Fix kprintf related Makefile problems.
From John.P.Darrow@wheaton.edu, fixes PR 6091.
 1.43  02-Sep-1998  jeremy Added kprintf.9 and its aliases.
 1.42  09-May-1998  mrg uvm_swapout is a static function, not exported. does not belong in uvm.9
 1.41  08-May-1998  kleink Create a link for uvm_swapout(9).
 1.40  04-May-1998  mrg add uvm.9
 1.39  29-Apr-1998  kml rt_timer documentation
 1.38  19-Feb-1998  gwr remove man9.sun3x from SUBDIR list
 1.37  10-Jan-1998  lukem add pool.9
 1.36  07-Jan-1998  thorpej Sigh, typo.
 1.35  07-Jan-1998  thorpej oops, forgot a \
 1.34  07-Jan-1998  thorpej Add fork1.9
 1.33  24-Dec-1997  jeremy Added sun3x subdirectory.
 1.32  12-Nov-1997  mrg add missing .Nm calls and MLINKS. from spz@serpens.swb.de
 1.31  01-Nov-1997  explorer Add rnd.9
 1.30  11-Oct-1997  mycroft branches: 1.30.2;
Use bsd.man.mk and bsd.subdir.mk as appropriate.
 1.29  04-Oct-1997  kleink Add manual page containing documentation on mbuf management functions and
macros; contributed by S.P.Zeidler <spz@serpens.swb.de>.
 1.28  27-Aug-1997  augustss Add audio(9).
 1.27  13-Aug-1997  christos Rename busdma -> bus_dma
 1.26  13-Aug-1997  cgd bus_space_*() function manual page. Written by me (as plain text),
converted to use the doc macros by Christos, then severely cleaned,
hacked, and improved by me.
 1.25  12-Aug-1997  mikel add busdma(9) and MLINKS for bus_dma* functions
 1.24  29-May-1997  jeremy My last commit included SUBDIRS that don't exist yet. Remove them.
 1.23  25-May-1997  is Documentation of Ethernet and FDDI driver support functions and macros.
 1.22  22-May-1997  jeremy Add intro(9).
 1.21  21-May-1997  jeremy Added SUBDIRS= for architecture dependent directories.
 1.20  12-May-1997  explorer Add kernel log() man page. Will add other logging/printing functions soon.
 1.19  27-Mar-1997  gwr Renamed boot to cpu_reboot
 1.18  17-Mar-1997  is add arpresolve and arpintr descriptions
 1.17  16-Mar-1997  is Pull the ARP support function man page up to the main branch.
 1.16  11-Mar-1997  mikel add incomplete spl(9); realphabetize Makefile.
 1.15  27-Dec-1996  veego branches: 1.15.2;
Fix typo in the last commit.
 1.14  27-Dec-1996  pk Document disklabel routines.
 1.13  25-Nov-1996  pk Have a shot at `mi_switch()' and `cpu_switch()'.
 1.12  24-Sep-1996  ghudson Install mrg's pfil man page, which he forgot to have installed.
 1.11  24-Sep-1996  ghudson Install extent.9 and symlinks for each of its functions.
 1.10  10-Aug-1996  explorer add panic(9) man page
 1.9  23-Jun-1996  pk Add timeout(9)/untimeout(9)
 1.8  23-Jun-1996  pk Add tsleep(9)/sleep(9)/wakeup(9)
 1.7  22-Jun-1996  pk Add psignal()/pgsignal()/gsignal()
 1.6  16-Jun-1996  pk malloc.9/free.9
 1.5  16-Jun-1996  pk Additions: access.9, physio.9, vslock.9
 1.4  09-Jan-1996  thorpej Add fetch(9) and store(9), which describe the {fu,su}{,i}{byte,word}
functions. Cross-reference with each-other and copy(9).
 1.3  09-Jan-1996  thorpej copy(9) manual page: describes the copyin(), copyout(), copystr(),
copyinstr(), and copyoutstr() functions.
 1.2  09-Jan-1996  thorpej Build and install the disk(9) manual page.
 1.1  25-Nov-1995  perry Added first section 9 man pages -- initial pages and Makefile from cgd
Section 9 man pages document the internals of the kernel.
 1.15.2.1  06-Mar-1997  is A start to define the arp functions.
 1.30.2.2  12-Nov-1997  mrg pull up from trunk: add missing .Nm calls and MLINKS. from spz@serpens.swb.de
 1.30.2.1  01-Nov-1997  mellon Pull rev 1.31 up from trunk (explorer)
 1.50.2.2  18-Feb-2000  he Pull up revision 1.57 (via patch, requested by thorpej):
Implement ratecheck(), a function which can help kernel programmers
implement rate-limited actions.
 1.50.2.1  15-Apr-1999  msaitoh pullup 1.50-1.51 (add MLINKS for pool.9)
 1.52.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.60.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.62.2.3  15-Nov-2001  he Pull up revisions 1.90-1.91 (via patch, requested by hubertf):
Add manual pages hz(9) and hardclock(9), already referenced from
microtime(9).
 1.62.2.2  04-Feb-2001  he Pull up revisions 1.63-1.64 (via patch, requested by pooka):
Install lock.9 man page.
 1.62.2.1  16-Aug-2000  itojun pullup (approved by releng-1-5)

add ppsratecheck(9).

distrib/sets/lists/comp/mi 1.251 -> 1.252
share/man/man9/Makefile 1.67 -> 1.68 (equivalent to)
share/man/man9/ppsratecheck.9 (new)
sys/kern/kern_time.c 1.49 -> 1.51, 1.52 -> 1.53
sys/sys/time.h 1.29 -> 1.30
 1.86.2.1  10-Jul-2001  lukem add kfilter_register(9), knote(9)
 1.108.2.3  14-Feb-2003  jmc Pullup rev 1.138 (reqeusted by drochner in ticket #1160)
Remove leftover pre-UVM manpages.
 1.108.2.2  09-Nov-2002  tron Pull up revision 1.117 (requested by thorpej in ticket #527):
* Add copyin_proc() and copyout_proc(), which are like copyin() and
copyout(), except they can operate on any process, not just curproc.
* Use this in uiomove() to allow UIO_USERSPACE to non-curproc.
 1.108.2.1  31-May-2002  tv Pull up revision 1.111 (requested by kleink in ticket #106):
Add missing bus_space_vaddr(9) link.
 1.160.2.1  11-Sep-2004  he Pull up revision 1.164 (requested by yamt in ticket #831):
Add m_copyback_cow and m_makewritable.
 1.169.2.1  21-Jul-2005  tron Pull up revision 1.172 (requested by pooka in ticket #605):
statfs -> statvfs
(better late than never)
 1.194.2.2  19-Apr-2006  elad install kauth.9... can't believe i forgot to commit this one.
 1.194.2.1  11-Mar-2006  elad file Makefile was added on branch elad-kernelauth on 2006-04-19 21:24:02 +0000
 1.198.2.1  19-Jun-2006  chap Sync with head.
 1.248.6.2  21-Jul-2007  dsieger Fix a glitch in previous commit:
s/mi_switch 9/mi_switch.9/

Reported by Paul Goyette.
 1.248.6.1  21-Jul-2007  dsieger file Makefile was added on branch matt-mips64 on 2007-07-21 15:35:47 +0000
 1.248.4.3  23-Mar-2008  matt sync with HEAD
 1.248.4.2  09-Jan-2008  matt sync with HEAD
 1.248.4.1  06-Nov-2007  matt sync with HEAD
 1.258.4.1  24-Mar-2008  keiichi sync with head.
 1.261.4.1  18-May-2008  yamt sync with head.
 1.261.2.3  05-Oct-2008  mjf Sync with HEAD.
 1.261.2.2  02-Jun-2008  mjf Sync with HEAD.
 1.261.2.1  02-Apr-2008  mjf file Makefile was added on branch mjf-devfs2 on 2008-06-02 13:21:40 +0000
 1.264.2.2  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.264.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.270.2.4  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #153):
distrib/sets/lists/comp/mi: revision 1.1214
share/man/man9/Makefile: revision 1.274
share/man/man9/timecounter.9: revision 1.3
Replace timecounter(9) man page with OpenBSD's tc_init(9)
since the previous one was derived from FreeBSD's time(9)
which was based on NetBSD's time_second(9), and
it didn't mention the timecounter framework itself.
 1.270.2.3  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #153):
distrib/sets/lists/comp/mi: revision 1.1213
share/man/man9/Makefile: revision 1.273
share/man/man9/tvtohz.9: revision 1.1
Add tvtohz(9) man page, which is Xref'ed from microtime(9) and microuptime(9),
from FreeBSD.
 1.270.2.2  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #153):
distrib/sets/lists/comp/mi: revision 1.1212
share/man/man9/Makefile: revision 1.272
share/man/man9/microtime.9: revision 1.13
Merge description about bintime(9), getbintime(9), getmicrotime(9),
nanotime(9), and getnanotime(9) from FreeBSD's microtime(9) man page,
and add appropriate MLINKS.
 1.270.2.1  01-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #153):
distrib/sets/lists/comp/mi: revision 1.1210
share/man/man9/Makefile: revision 1.271
Add MLINKS to binuptime(9), getbinuptime(9), getmicrouptime(9), nanouptime(9),
and getnanouptime(9) from microuptime(9).
 1.277.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.329.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.329.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.329.2.1  29-Apr-2010  uebayasi file Makefile was added on branch uebayasi-xip on 2010-08-17 06:40:04 +0000
 1.343.2.2  05-Mar-2011  bouyer Sync with HEAD
 1.343.2.1  08-Feb-2011  bouyer Sync with HEAD
 1.347.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.357.2.5  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.357.2.4  16-Jan-2013  yamt sync with (a bit old) head
 1.357.2.3  30-Oct-2012  yamt sync with head
 1.357.2.2  23-May-2012  yamt sync with head.
 1.357.2.1  17-Apr-2012  yamt sync with head
 1.362.2.2  27-Oct-2014  msaitoh Add genfs_rename.9 for ticket 1134. Rreported by Herbert J. Skuhra.
 1.362.2.1  08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.367.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.367.2.2  23-Jun-2013  tls resync from head
 1.367.2.1  25-Feb-2013  tls resync with head
 1.377.2.1  10-Aug-2014  tls Rebase.
 1.378.2.1  17-Jan-2015  martin Pull up following revision(s) (requested by maxv in ticket #427):
sys/compat/svr4/svr4_schedctl.c: revision 1.8
sys/netinet/tcp_timer.c: revision 1.88
sys/miscfs/genfs/layer_vfsops.c: revision 1.45
sys/compat/svr4/svr4_ioctl.c: revision 1.37
sys/ufs/chfs/chfs_vfsops.c: revision 1.14
sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30
sys/compat/common/kern_time_50.c: revision 1.28
sys/netinet6/ip6_forward.c: revision 1.74
sys/miscfs/umapfs/umap_vnops.c: revision 1.57
sys/compat/svr4/svr4_fcntl.c: revision 1.74
distrib/sets/lists/comp/mi: revision 1.1931
sys/netinet6/udp6_output.c: revision 1.46
sys/fs/puffs/puffs_compat.c: revision 1.3
sys/fs/udf/udf_rename.c: revision 1.11
sys/compat/svr4/svr4_filio.c: revision 1.24
sys/fs/udf/udf_rename.c: revision 1.12
sys/netinet/tcp_usrreq.c: revision 1.202
sys/miscfs/umapfs/umap_subr.c: revision 1.29
sys/compat/linux/common/linux_fadvise64.c: revision 1.3
sys/netinet/if_atm.c: revision 1.34
sys/miscfs/procfs/procfs_subr.c: revision 1.106
sys/miscfs/genfs/layer_subr.c: revision 1.37
sys/netinet/tcp_sack.c: revision 1.30
sys/compat/freebsd/freebsd_misc.c: revision 1.33
sys/compat/freebsd/freebsd_file.c: revision 1.33
sys/ufs/chfs/chfs_vnode.c: revision 1.12
sys/compat/svr4/svr4_ttold.c: revision 1.34
sys/compat/linux/common/linux_file.c: revision 1.114
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43
sys/compat/linux/common/linux_signal.c: revision 1.76
sys/compat/common/compat_util.c: revision 1.46
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18
sys/compat/svr4/svr4_sockio.c: revision 1.36
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32
sys/compat/svr4/svr4_signal.c: revision 1.66
sys/kern/kern_exec.c: revision 1.410
sys/fs/puffs/puffs_vfsops.c: revision 1.115
sys/compat/svr4/svr4_exec_elf64.c: revision 1.15
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50
sys/compat/linux32/common/linux32_misc.c: revision 1.24
sys/netinet/in_pcb.c: revision 1.153
sys/sys/malloc.h: revision 1.116
sys/compat/common/if_43.c: revision 1.9
share/man/man9/Makefile: revision 1.380
sys/netinet/tcp_vtw.c: revision 1.12
sys/miscfs/umapfs/umap_vfsops.c: revision 1.95
sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186
sys/compat/common/uipc_syscalls_43.c: revision 1.46
sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115
sys/fs/puffs/puffs_msgif.c: revision 1.97
sys/compat/svr4/svr4_ipc.c: revision 1.27
sys/compat/linux/common/linux_exec.c: revision 1.117
sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66
sys/netinet/tcp_output.c: revision 1.179
sys/compat/svr4/svr4_termios.c: revision 1.28
sys/fs/udf/udf_strat_bootstrap.c: revision 1.4
sys/fs/puffs/puffs_subr.c: revision 1.67
sys/fs/puffs/puffs_node.c: revision 1.36
sys/miscfs/overlay/overlay_vnops.c: revision 1.21
sys/fs/cd9660/cd9660_node.c: revision 1.34
sys/netinet/raw_ip.c: revision 1.146
sys/sys/mallocvar.h: revision 1.13
sys/miscfs/overlay/overlay_vfsops.c: revision 1.63
share/man/man9/malloc.9: revision 1.50
sys/netinet6/dest6.c: revision 1.18
sys/compat/linux/common/linux_uselib.c: revision 1.33
sys/compat/linux/common/linux_socket.c: revision 1.120
share/man/man9/malloc.9: revision 1.51
sys/netinet/tcp_subr.c: revision 1.257
sys/compat/linux/common/linux_socketcall.c: revision 1.45
sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3
sys/compat/freebsd/freebsd_ipc.c: revision 1.17
sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109
sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17
sys/netinet6/in6_pcb.c: revision 1.132
sys/netinet6/in6_ifattach.c: revision 1.94
sys/compat/svr4/svr4_exec_elf32.c: revision 1.15
sys/miscfs/nullfs/null_vfsops.c: revision 1.90
sys/fs/cd9660/cd9660_util.c: revision 1.12
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48
sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20
sys/miscfs/procfs/procfs_vfsops.c: revision 1.94
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28
sys/compat/linux/common/linux_sched.c: revision 1.67
sys/compat/linux/common/linux_exec_aout.c: revision 1.67
sys/compat/linux/common/linux_pipe.c: revision 1.67
sys/compat/linux/common/linux_llseek.c: revision 1.34
sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10
Do not uselessly include <sys/malloc.h>.
Cleanup:
- remove struct kmembuckets (dead)
- correctly deadify MALLOC_XX
- remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
- remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
New sentence, new line. Bump date for previous.
Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9)
man pages.
 1.396.2.6  26-Apr-2017  pgoyette Sync with HEAD
 1.396.2.5  20-Mar-2017  pgoyette Sync with HEAD
 1.396.2.4  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.396.2.3  18-Jul-2016  pgoyette Additional MLINKS for devsw_attach
 1.396.2.2  16-Jul-2016  pgoyette Add MLINKS for localcount(9)
 1.396.2.1  16-Jul-2016  pgoyette Initial man page for localcount(9).
 1.401.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.409.2.4  02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.409.2.3  30-Apr-2017  pgoyette Introduce mutex_ownable(9) and use it in localcount_release(9).

Commit of same code to head is awaiting discussion on tech-kern.
 1.409.2.2  28-Apr-2017  pgoyette Introduce config_detach_release() which does all the work from the
former config_detach(). Now, config_detach() simply acquires a
reference to the device, which config_detach_release() can release!

This is needed because some drivers call config_detach() with a
reference, while other drivers have not been updated to use the
localcount reference mechanism. So we provide a shim to make
everyone equal.
 1.409.2.1  27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.414.2.2  09-Oct-2018  martin Pull up following revision(s) (requested by hannken in ticket #1052):

sys/kern/vfs_trans.c: revision 1.51
distrib/sets/lists/comp/mi: revision 1.2233
share/man/man9/fstrans.9: revision 1.27
share/man/man9/Makefile: revision 1.431
sys/sys/fstrans.h: revision 1.12
sys/rump/librump/rumpkern/emul.c: revision 1.187
sys/dev/vnd.c: revision 1.266
sys/miscfs/genfs/genfs_vfsops.c: revision 1.8

Bring back three state file system suspension:

NORMAL -> SUSPENDING -> SUSPENDED

and add operation fstrans_start_lazy() that only blocks while SUSPENDED.

Change vndthread() support operation handle_with_rdwr() to bracket
its file system operations by fstrans_start_lazy() and fstrans_done().

PR kern/53624 (dom0 freeze on domU exit)
 1.414.2.1  07-Jun-2018  martin Pull up following revision(s) (requested by nat in ticket #848):

share/man/man9/Makefile: revision 1.422
distrib/sets/lists/comp/mi: revision 1.2198
share/man/man7/Makefile: revision 1.33
share/man/man9/audio.9: revision 1.47
share/man/man7/audio.7: file removal
sys/dev/audio.c: revision 1.456
sys/dev/audio.c: revision 1.457
distrib/sets/lists/man/mi: revision 1.1591
share/man/man9/intro.9: revision 1.20
share/man/man7/audio.7: revision 1.3
share/man/man9/audio_system.9: revision 1.1
share/man/man7/intro.7: revision 1.26
share/man/man4/audio.4: revision 1.86

Fix a typo with sc_out/inports when setting the hardware recording gain on the
mix ring. Found by mrg@
XXX pullup-8

Using audioctl without the -p switch defaults to the mix ring. This allows
setting the hardware gain etc.

Update the audio spec in audio.7 to reflect these changes.
Addresses PR kern/52781.

Move the audio specification to section 9 under audio_system.
Ok wiz@
 1.418.2.8  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.418.2.7  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.418.2.6  20-Oct-2018  pgoyette Sync with head
 1.418.2.5  30-Sep-2018  pgoyette Ssync with HEAD
 1.418.2.4  28-Jul-2018  pgoyette Sync with HEAD
 1.418.2.3  25-Jun-2018  pgoyette Sync with HEAD
 1.418.2.2  21-May-2018  pgoyette Sync with HEAD
 1.418.2.1  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.427.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.427.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.427.2.1  10-Jun-2019  christos Sync with HEAD
 1.437.2.4  20-Jul-2024  martin Pull up following revision(s) (requested by rin in ticket #1857):

share/man/man9/imax.9: revision 1.7
share/man/man9/imax.9: revision 1.8
share/man/man9/Makefile: revision 1.471
distrib/sets/lists/comp/mi: revision 1.2463

imax(9): Belatedly catch up with min/max --> uimin/uimax renaming
done almost 6 years ago:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/lib/libkern/libkern.h#rev1.130
Thanks asahi at iij for pointing this out :)

imax.9: Additional fixes for previous...

man9: Provide all combinations of {,u}{i,l}{max,min}(9)
sets/lists: Add all combinations of {,u}{i,l}{max,min}(9)
 1.437.2.3  08-Dec-2019  martin Pull up following revision(s) (requested by riastradh in ticket #508):

distrib/sets/lists/comp/mi: revision 1.2294
share/man/man9/Makefile: revision 1.443
sys/sys/atomic.h: revision 1.18
share/man/man9/atomic_loadstore.9: revision 1.1
share/man/man9/atomic_loadstore.9: revision 1.2

New atomic load/store operations for the kernel.

Guarantee no fusing and no tearing, and can optionally impose
ordering relative to other memory operations.

Unordered:
- atomic_load_relaxed
- atomic_store_relaxed

Ordered:
- atomic_load_acquire
- atomic_load_consume
- atomic_store_release

These are intended to match C11 semantics, and can be defined in
terms of the C11 atomic API when ready.

Document relation to atomic_ops(3) and membar_ops(3).
 1.437.2.2  01-Sep-2019  martin Pull up following revision(s) (requested by oster in ticket #166):

share/man/man9/Makefile: revision 1.439

oops. i must have deleted the 'u' in 'ustore.9' when partially
fixing the alphabeta ordering here. fixes build.
 1.437.2.1  01-Sep-2019  martin Pull up following revision(s) (requested by mrg in ticket #135):

distrib/sets/lists/comp/mi 1.2279
distrib/sets/lists/modules/mi 1.123
share/man/man9/Makefile 1.438
share/man/man9/usbnet.9 1.1-1.9
sys/dev/ic/rndisreg.h 1.3
sys/dev/usb/TODO 1.47-1.52
sys/dev/usb/TODO.usbmp 1.15,1.16
sys/dev/usb/files.usb 1.157-1.167
sys/dev/usb/if_aue.c 1.155-1.161
sys/dev/usb/if_auereg.h 1.30-1.32
sys/dev/usb/if_axe.c 1.103-1.119
sys/dev/usb/if_axen.c 1.51-1.53,1.55-1.67
sys/dev/usb/if_axenreg.h 1.15
sys/dev/usb/if_cdce.c 1.54-1.67
sys/dev/usb/if_cue.c 1.85,1.86
sys/dev/usb/if_cuereg.h 1.23
sys/dev/usb/if_kue.c 1.97-1.100
sys/dev/usb/if_kuereg.h 1.23,1.24
sys/dev/usb/if_mue.c 1.51-1.55
sys/dev/usb/if_muereg.h 1.6
sys/dev/usb/if_muevar.h 1.9
sys/dev/usb/if_smsc.c 1.46-1.61
sys/dev/usb/if_smscreg.h 1.6
sys/dev/usb/if_smscvar.h delete
sys/dev/usb/if_udav.c 1.60-1.71
sys/dev/usb/if_udavreg.h 1.14,1.15
sys/dev/usb/if_upl.c 1.65,1.66
sys/dev/usb/if_ure.c 1.15-1.31
sys/dev/usb/if_urevar.h 1.4,1.5
sys/dev/usb/if_url.c 1.67-1.70
sys/dev/usb/if_urlreg.h 1.14
sys/dev/usb/if_urndis.c 1.22-1.33
sys/dev/usb/if_urtwn.c 1.72
sys/dev/usb/ohci.c 1.290
sys/dev/usb/uhub.c 1.143
sys/dev/usb/usb.c 1.180
sys/dev/usb/usb.h 1.118
sys/dev/usb/usb_mem.c 1.71
sys/dev/usb/usb_subr.c 1.238,1.239
sys/dev/usb/usbdevs 1.772
sys/dev/usb/usbdi.c 1.183,1.186
sys/dev/usb/usbdi.h 1.97
sys/dev/usb/usbdi_util.c 1.75
sys/dev/usb/usbhist.h 1.5,1.6
sys/dev/usb/usbnet.c 1.1-1.24
sys/dev/usb/usbnet.h 1.1-1.14
sys/dev/usb/usbroothub.c 1.9
sys/dev/usb/xhci.c 1.109,1.110
sys/modules/Makefile 1.223
sys/modules/usbnet/Makefile 1.1

usbnet(9): Add common framework for USB network devices.
This bring various safety fixes to all updated drivers,
and includes locking clean up, detach safety when being
used or not, separate rx/tx locks to improve performance,
porting to NET_MPSAFE, many edge/error case bugs in
drivers fixed, as well as resovling PRs 54303 and 54308.
These drivers are converted: axe(4), axen(4), aue(4),
cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4),
upl(4), ure(4), url(4), and urndis(4).
 1.465.2.5  20-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #887):

share/man/man9/versioningsyscalls.9: revision 1.1
share/man/man9/versioningsyscalls.9: revision 1.2
share/man/man9/versioningsyscalls.9: revision 1.3
share/man/man9/versioningsyscalls.9: revision 1.4
share/man/man9/versioningsyscalls.9: revision 1.5
share/man/man9/versioningsyscalls.9: revision 1.6
share/man/man9/versioningsyscalls.9: revision 1.7
share/man/man9/Makefile: revision 1.467
distrib/sets/lists/comp/mi: revision 1.2435
distrib/sets/lists/comp/mi: revision 1.2436

Document how system call versioning is done. From this summer's compat-linux
GSoC, by Theodore Preduta.

fix typo
versioningsyscalls(9): markup fixes

While here, fix the pasto for the new ino_t and time_t size.

Forgot to commit the expanded userland portion

versioningsyscalls(9): wrap long line in the example

versioningsyscalls.9: fix typo

explain what the current and new numbering practice are.

s/and/an/
 1.465.2.4  20-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #878):

distrib/sets/lists/comp/mi: revision 1.2426
share/man/man9/portfeatures.9: revision 1.1
share/man/man9/portfeatures.9: revision 1.2
share/man/man9/portfeatures.9: revision 1.3
share/man/man9/Makefile: revision 1.466

portfeatures(9): the man page for the __HAVE macros

The man page itself is a skeleton/template for now. Please add short
descriptions and xrefs. If the target man page doesn't yet document
relevant __HAVE macros (hi, mutex(9)), please add something there,
possibly in a .Sh IMPLEMENTATION NOTES section.
fix typos

Document __HAVE_UCAS_FULL and __HAVE_UCAS_MP.
 1.465.2.3  24-Jul-2024  martin Pull up following revision(s) (requested by rin in ticket #767):

share/man/man9/Makefile: revision 1.472
distrib/sets/lists/comp/mi: revision 1.2465

crashme(9): Install man page

Suggested by ozaki-r@
 1.465.2.2  20-Jul-2024  martin Pull up following revision(s) (requested by rin in ticket #762):

share/man/man9/imax.9: revision 1.7
share/man/man9/imax.9: revision 1.8
share/man/man9/Makefile: revision 1.471
distrib/sets/lists/comp/mi: revision 1.2463

imax(9): Belatedly catch up with min/max --> uimin/uimax renaming
done almost 6 years ago:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/lib/libkern/libkern.h#rev1.130

Thanks asahi at iij for pointing this out :)

imax.9: Additional fixes for previous...
man9: Provide all combinations of {,u}{i,l}{max,min}(9)
sets/lists: Add all combinations of {,u}{i,l}{max,min}(9)
 1.465.2.1  14-Jan-2024  martin Pull up following revision(s) (requested by pgoyette in ticket #539):

distrib/sets/lists/comp/mi: revision 1.2452
share/man/man9/Makefile: revision 1.469

Install securelevel.9 as an alias of secmodel_securelevel.9
According to submitter, this should be sufficient to address misc/57824.
 1.470.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed