Commit Graph

407 Commits

Author SHA1 Message Date
Andrew Thompson
b84a4e0cf2 Link the defunct MUTEX_PROFILING option to LOCK_PROFILING. 2007-05-13 22:56:58 +00:00
Maxim Konovalov
8ad9c32345 o Document vdropl(9) [1].
o Add an MLINK for vdropl().

Reviewed by:	des [1]
Obtained from:	wording from vgone(9)
2007-04-01 09:48:59 +00:00
John Baldwin
4e7f640dfb Optimize sx locks to use simple atomic operations for the common cases of
obtaining and releasing shared and exclusive locks.  The algorithms for
manipulating the lock cookie are very similar to that rwlocks.  This patch
also adds support for exclusive locks using the same algorithm as mutexes.

A new sx_init_flags() function has been added so that optional flags can be
specified to alter a given locks behavior.  The flags include SX_DUPOK,
SX_NOWITNESS, SX_NOPROFILE, and SX_QUITE which are all identical in nature
to the similar flags for mutexes.

Adaptive spinning on select locks may be enabled by enabling the
ADAPTIVE_SX kernel option.  Only locks initialized with the SX_ADAPTIVESPIN
flag via sx_init_flags() will adaptively spin.

The common cases for sx_slock(), sx_sunlock(), sx_xlock(), and sx_xunlock()
are now performed inline in non-debug kernels.  As a result, <sys/sx.h> now
requires <sys/lock.h> to be included prior to <sys/sx.h>.

The new kernel option SX_NOINLINE can be used to disable the aforementioned
inlining in non-debug kernels.

The size of struct sx has changed, so the kernel ABI is probably greatly
disturbed.

MFC after:	1 month
Submitted by:	attilio
Tested by:	kris, pjd
2007-03-31 23:23:42 +00:00
Julian Elischer
27c20cc4b8 Connect the locking man page to the build.
Next step is to add it as a "See Also" to related man pages.
2007-03-30 17:56:19 +00:00
Maxim Konovalov
1f43095400 o Trim unneeded backslash. 2007-03-28 04:43:55 +00:00
Maxim Konovalov
dd3c9f51e5 o Actually add MLINKs for priv(9) functions. 2007-03-28 04:41:50 +00:00
Christian Brueffer
09dfbddbda Add MLINKs for priv(9) functions. 2007-03-27 21:20:57 +00:00
John Baldwin
e7573e7ad7 Allow threads to atomically release rw and sx locks while waiting for an
event.  Locking primitives that support this (mtx, rw, and sx) now each
include their own foo_sleep() routine.
- Rename msleep() to _sleep() and change it's 'struct mtx' object to a
  'struct lock_object' pointer.  _sleep() uses the recently added
  lc_unlock() and lc_lock() function pointers for the lock class of the
  specified lock to release the lock while the thread is suspended.
- Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks
  (rw_sleep()), and sx locks (sx_sleep()).  msleep() still exists and
  is now identical to mtx_sleep(), but it is deprecated.
- Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP.
- Rewrite much of sleep.9 to not be msleep(9) centric.
- Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS'
  section.
- Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will
  warn if you try to pass a NULL wait channel.  The functions already have
  a KASSERT to that effect.
2007-03-09 22:41:01 +00:00
John Baldwin
e6b69890ed - Document cv_wait_unlock(9).
- Don't claim that the mutex is atomically reacquired when a cv_wait
  routine returns.  There's nothing atomic or magical about the lock
  reacquire.  The only magic is that we atomically drop the lock by
  placing the thread on the sleep queue before dropping the lock.
2007-03-09 16:59:27 +00:00
John Baldwin
cc61ffc3fb - Sort functions in the order that rwlock(9) and mutex(9) use.
- Markup sx_unlock() as a function rather than saying it is a macro.
  The macro part is an implementation detail, and all the other sx_*lock()
  functions are actually macros, too.
- Use the same style as rwlock(9) and mutex(9) to markup sx_assert() and
  SX_SYSINIT() with respect to headers and kernel options.
- Add a missing MLINK.
2007-03-09 16:52:26 +00:00
John Baldwin
7d3052bbc4 - Sort rwlock functions similar to the order in mutex(9).
- Add a missing MLINK.
2007-03-09 16:44:58 +00:00
Chad David
6c2478125a Add vfs_getopt.9 to the build, and add links for related functions. 2007-03-02 17:03:56 +00:00
Robert Watson
149b6b0b12 Add rw_wowned(9) symlink. 2007-02-26 19:09:36 +00:00
Ruslan Ermilov
066eef7a1d Remove the traces of vm_page_unmanage(). 2007-02-25 06:51:11 +00:00
John Baldwin
37e80fcac2 Add a new kernel sleep function pause(9). pause(9) is for places that
want an equivalent of DELAY(9) that sleeps instead of spins.  It accepts
a wmesg and a timeout and is not interrupted by signals.  It uses a private
wait channel that should never be woken up by wakeup(9) or wakeup_one(9).

Glanced at by:	phk
2007-02-23 16:22:09 +00:00
Pawel Jakub Dawidek
eb62f84553 VFS_VPTOFH(9) was replaced with VOP_VPTOFH(9).
VFS_VPTOFH.9 was repo-copied to VOP_VPTOFH.9.

Repo-copy done by:	joe
2007-02-16 14:27:59 +00:00
John Baldwin
f4ad756aef MLINK for bus_dmamap_load_mbuf_sg(9) 2007-02-12 17:53:21 +00:00
Robert Watson
806c2dc9bf Add MLINKS for sf_buf.9. 2007-01-29 11:27:44 +00:00
Robert Watson
5a05988c32 Add a rudimentary man page for sf_bufs, based on my rudimentary
understanding of sf_bufs.
2007-01-28 16:07:50 +00:00
Randall Stewart
b939bb368a Reviewed by: rwatson
Approved by:	gnn

Add a new function hashinit_flags() which allows NOT-waiting
for memory (or waiting). The old hashinit() function now
calls hashinit_flags(..., HASH_WAITOK);
2007-01-15 15:06:28 +00:00
Robert Watson
6a751174bd Add a basic man page for the socket(9) kernel programming interface used
by the NFS client and server, netsmb, netncp, etc.

Reviewed by:	ru
Fixed by:	ru
2006-12-15 23:35:15 +00:00
Warner Losh
f0bab87823 devsw() was removed by phk:
revision 1.199
	date: 2004/09/24 08:30:57;  author: phk;  state: Exp;  lines: +0 -1
	Remove the cdevsw() function which is now unused.

(the log is wrong, it was really devsw that was removed).

# we really need to actually document the functions in sys/conf.h as well
# as things like d_open...
2006-11-25 22:36:09 +00:00
Ceri Davies
9bda7d940b Add manuals for cr_cansee(9) and p_cansee(9).
Thanks to Ruslan for the time he spent reviewing these.

Reviewed by:	ru
Approved by:	ru
2006-11-19 13:35:03 +00:00
Ruslan Ermilov
cd852a2996 Fix build (forgotten MUTEX_PROFILING.9 -> LOCK_PROFILING.9). 2006-11-11 08:59:34 +00:00
Robert Watson
800c940832 Add a new priv(9) kernel interface for checking the availability of
privilege for threads and credentials.  Unlike the existing suser(9)
interface, priv(9) exposes a named privilege identifier to the privilege
checking code, allowing more complex policies regarding the granting of
privilege to be expressed.  Two interfaces are provided, replacing the
existing suser(9) interface:

suser(td)                 ->   priv_check(td, priv)
suser_cred(cred, flags)   ->   priv_check_cred(cred, priv, flags)

A comprehensive list of currently available kernel privileges may be
found in priv.h.  New privileges are easily added as required, but the
comments on adding privileges found in priv.h and priv(9) should be read
before doing so.

The new privilege interface exposed sufficient information to the
privilege checking routine that it will now be possible for jail to
determine whether a particular privilege is granted in the check routine,
rather than relying on hints from the calling context via the
SUSER_ALLOWJAIL flag.  For now, the flag is maintained, but a new jail
check function, prison_priv_check(), is exposed from kern_jail.c and used
by the privilege check routine to determine if the privilege is permitted
in jail.  As a result, a centralized list of privileges permitted in jail
is now present in kern_jail.c.

The MAC Framework is now also able to instrument privilege checks, both
to deny privileges otherwise granted (mac_priv_check()), and to grant
privileges otherwise denied (mac_priv_grant()), permitting MAC Policy
modules to implement privilege models, as well as control a much broader
range of system behavior in order to constrain processes running with
root privilege.

The suser() and suser_cred() functions remain implemented, now in terms
of priv_check() and the PRIV_ROOT privilege, for use during the transition
and possibly continuing use by third party kernel modules that have not
been updated.  The PRIV_DRIVER privilege exists to allow device drivers to
check privilege without adopting a more specific privilege identifier.

This change does not modify the actual security policy, rather, it
modifies the interface for privilege checks so changes to the security
policy become more feasible.

Sponsored by:		nCircle Network Security, Inc.
Obtained from:		TrustedBSD Project
Discussed on:		arch@
Reviewed (at least in part) by:	mlaier, jmg, pjd, bde, ceri,
			Alex Lyashkov <umka at sevcity dot net>,
			Skip Ford <skip dot ford at verizon dot net>,
			Antoine Brodin <antoine dot brodin at laposte dot net>
2006-11-06 13:37:19 +00:00
Ruslan Ermilov
72377e4c4b Sort MAN and MLINKS lists. 2006-10-05 12:40:44 +00:00
John-Mark Gurney
32d5d9ffc9 sort MLINKS properly
Pointed out by:	ru
2006-10-05 08:55:35 +00:00
John-Mark Gurney
90db62aca6 add man page talking about how to interface w/ the kqueue system so others
can write additional filters...

mdoc police please!
2006-10-04 20:16:23 +00:00
Andre Oppermann
b2c1b09193 Connect hash(9) to the build and add MLINKS for all functions.
Pointed out by:	ru
2006-10-02 11:51:25 +00:00
Warner Losh
fa81ece897 Document config_intrhook.
MFC After: 250 millifortnights
2006-09-25 20:12:13 +00:00
Maxim Konovalov
533baf579b o Sort sx(9) MLINKS. 2006-07-12 19:12:16 +00:00
Pawel Jakub Dawidek
d8e7058159 Document sx_xlocked(9).
Submitted by:	ssouhlal
2006-07-12 15:40:35 +00:00
Warner Losh
9f14302d3c Add a stub man page for device_get_sysctl{_ctx,tree}. Needs some
work, but is better than nothing.  Any help appreciated.
2006-05-23 22:11:20 +00:00
Robert Watson
dba9e9ccbf Add a basic man page for the sysctl(9) macro interfaces. Previously man
pages existed only for the dynamic sysctl interfaces.  There's probably
more complete and accurate content, better advice, etc, that could be added
here.

Per scottl's suggest, add a small piece of moralizing text regarding the
fact that sysctl names quickly get embedded in system configuration files,
libraries, third party applications, and even books, so renaming and
removing names after they've been published is a tricky issue.

MFC after:	1 month
2006-04-28 10:45:27 +00:00
John-Mark Gurney
af3b868186 document the various bus_space_*_stream_? functions... 2006-04-22 03:58:41 +00:00
John Baldwin
c1ffaf8c9a Add MLINKS for rwlock(9). 2006-04-19 21:09:39 +00:00
John-Mark Gurney
18f1afb9f4 add links for the functions documented in bus_space.9... 2006-04-04 22:56:08 +00:00
Gleb Smirnoff
3182fc7b3e Document read/write locks.
Reviewed by:	jhb, ru
2006-02-01 19:39:25 +00:00
Pawel Jakub Dawidek
847a2a1716 Add buffer corruption protection (RedZone) for kernel's malloc(9).
It detects both: buffer underflows and buffer overflows bugs at runtime
(on free(9) and realloc(9)) and prints backtraces from where memory was
allocated and from where it was freed.

Tested by:	kris
2006-01-31 11:09:21 +00:00
Max Laier
6aec1278dc firmware(9) is a subsystem to load binary data into the kernel via a
specially crafted module.  There are several handrolled sollutions to this
problem in the tree already which will be replaced with this.  They include
iwi(4), ipw(4), ispfw(4) and digi(4).

No objection from:	arch
MFC after:		2 weeks
X-MFC after:		some drivers have been converted
2006-01-29 02:52:42 +00:00
John Baldwin
61d963bc57 - Don't list sleep() in the NAME section as we haven't had a sleep()
function in years.
- Change the 'ident' paramters to 'wchan' to match <sys/systm.h>.
- Use 'otherwise' in place of 'else' in one place so that this reads like
  English rather than C.
- Document the new msleep_spin() function.
- Add history notes for msleep() and msleep_spin().
2006-01-03 17:00:38 +00:00
Ian Dowse
0a9a8c2efa Add basic documentation for many of the kernel USB functions that
USB device drivers use to talk to USB devices. This is probably
still a bit rough and it does not yet include the functions specific
to HID, ethernet, hubs, host controller drivers, task threads or
debugging.
2005-12-31 03:53:02 +00:00
John Baldwin
eefd941ba2 Update this manpage:
- Remove references to cpu_critical_*() as they no longer exist.
- Explain that any preemptions that occur during a critical section are
  deferred until the current thread exits the section.
- Remove a bogus example usage of a critical section.
- Note that one can interlock critical sections with spin mutexes in
  certain situations.

MFC after:	3 days
2005-10-05 19:48:21 +00:00
Ruslan Ermilov
bf5a89d1d5 Sort MLINKS. 2005-09-28 07:32:43 +00:00
John Baldwin
4ea211a4f4 - Document atomic_fetchadd(9) and add a MLINK.
- Add arm and ppc to the list of archs not supporting operations on 64-bit
  integers.
- Update the sample code for acquiring a mutex to be more recent and to
  take into account the recent atomic_foo_ptr() changes.

MFC after:	1 week
2005-09-27 17:59:29 +00:00
Robert Watson
6b8a3687a1 Add discussion of Giant, the MPSAFE flag, and NDHASGIANT() to namei(9).
Add a VFS_LOCK_GIANT(9)/VFS_UNLOCK_GIANT(9) man page.

Discussed with:	jeff
MFC after:	3 days
2005-09-21 10:19:57 +00:00
Scott Long
e91f1998a1 Now that VFS_START.9 has been removed, don't try to reference it from the
Makefile.
2005-07-27 02:08:21 +00:00
Warner Losh
751c35718a Don a flack jacket and start to document the FreeBSD bus_space
implementation.  I took the NetBSD man page, and hacked it to, I hope,
to reflect the preliminary version of the bus space that Justin Gibbs
committed as part of the CAM integration in FreeBSD 3.0.

This isn't perfect, but it is better than we have now (which is, ahem,
nothing).  Please coordinate changes to the file through me through
the 6.0 release.

Approved by: re (blanket for this one file)
2005-06-14 03:40:01 +00:00
Hiten Pandya
27c3fa33d9 Add manual page for newly added pmap_page_init(9) function, part of the
PMAP KPI.

Reviewed-by:	alc
2005-06-10 17:16:16 +00:00
Gleb Smirnoff
f9e6931c3d Manpage for unit allocator functions.
Reviewed by:	phk
2005-04-20 19:11:05 +00:00
Pawel Jakub Dawidek
ba9bc36af1 Add missing links.
MFC after:	2 weeks
2005-04-15 10:57:34 +00:00
Pawel Jakub Dawidek
c5e1d51bcd Create links to crypto.9 for every crypto(9) function.
OK'ed by:	sam
MFC after:	2 weeks
2005-04-09 18:38:54 +00:00
Nate Lawson
f86f6ce6e4 Hook up new man page for devclass_get_drivers() to build
Reminded by:	ru
2005-04-07 17:27:14 +00:00
Christian Brueffer
64716bfbf4 Connect memguard(9) to the build. 2005-02-22 17:42:12 +00:00
Ian Dowse
98c926b20f Add a mechanism for associating a mutex with a callout when the
callout is first initialised, using a new function callout_init_mtx().
The callout system will acquire this mutex before calling the callout
function and release it on return.

In addition, the callout system uses the mutex to avoid most of the
complications and race conditions inherent in asynchronous timer
facilities, so mutex-protected callouts have much simpler semantics.
As long as the mutex is held when invoking callout_stop() or
callout_reset(), then these functions will guarantee that the callout
will be stopped, even if softclock() had already begun to process
the callout.

Existing Giant-locked callouts will automatically pick up the new
race-free semantics. This should close a number of race conditions
in the USB code and probably other areas of the kernel too.

There should be no change in behaviour for "MP-safe" callouts; these
still need to use the techniques mentioned in timeout(9) to avoid
race conditions.
2005-02-07 02:47:33 +00:00
Maxim Konovalov
15575dc0aa Finish src part VFS_INIT.9 removal. Need to check www/. 2005-01-07 15:38:21 +00:00
Warner Losh
93c22173bd The format of the MLINKS entries is pairwise, not MLINKS += wise. So
list kernel_mount.9 the required number of times to allow make
installworld to complete.
2004-12-13 23:09:19 +00:00
Tom Rhodes
fe10ebf1f4 Add kernel_mount.9 and appropriate MLINKS to the build. 2004-12-13 19:29:40 +00:00
Alan Cox
898bd99ea5 This jumbo allocator has been removed from the kernel. 2004-12-06 04:24:17 +00:00
Joseph Koshy
235b396aa1 Add a manual page for the kernel's EVENTHANDLER facility.
Reviewed by:	ru
2004-12-03 14:05:55 +00:00
Robert Watson
6f00fa1397 Link critical_enter.9 to critical.9 to make it easier to find. 2004-11-24 18:03:52 +00:00
Joseph Koshy
0252ce1723 Bring signal(9) in sync with -current.
Reviewed by:	ru (mdoc changes)
2004-11-20 02:11:42 +00:00
Joseph Koshy
9bd82b5c5d Add a manual page for hashinit(9), hashdestroy(9) and phashinit(9).
Reviewed by:	ru
2004-10-12 02:36:24 +00:00
Gleb Smirnoff
d7e6966d45 Add more MLINKS for rtalloc.9
Approved by:	ru
2004-10-08 09:52:56 +00:00
Alan Cox
af3db1449f Document the O(log n) algorithm for finding free space.
Submitted by: Mark W. Krentel
2004-09-27 04:22:41 +00:00
Ruslan Ermilov
346763649a Sort MAN and MLINKS in dictionary order ignoring case. 2004-09-19 05:17:21 +00:00
John-Mark Gurney
0283f35b4b add MLINKs for the mbuf.9 man page..
MFC after:	3 days
2004-09-18 19:04:24 +00:00
Brooks Davis
35779bdbd1 Bring kernel time variable and access function docs up to date by
updating the list of variables and mentioning the bin(up)time functions.
2004-09-17 07:24:18 +00:00
Joerg Wunsch
0da40ab229 Add documentation for log(9).
MFC after:	1 week
2004-08-10 09:19:08 +00:00
Max Laier
251b8d4557 Add altq(9) explaining about the IFQ_* and IFQ_DRV_* macros in if_var.h and
how to convert drivers.

Obtained from:	NetBSD (with changes)
Reviewed by:	josef
2004-08-07 12:35:56 +00:00
Warner Losh
899eeaa62f It appears that cdevsw_add/remove were removed quite a while ago, so
remove them from here.
2004-08-07 04:59:16 +00:00
Alfred Perlstein
cf92b47413 document vfs_suser. 2004-07-09 22:33:43 +00:00
Pawel Jakub Dawidek
f0f26fe5ac Add missing link. 2004-06-06 13:35:37 +00:00
Ruslan Ermilov
e85cc3f560 Document mbuf tags based on the OpenBSD manpage.
Submitted by:	Gleb Smirnoff
2004-05-20 09:34:19 +00:00
David Malone
83676de9d5 Add a man page for the kernel part of bpf. I made some edits to the
man page after Orla, so the mistakes are probably mine. Leave a
note on the door welcoming the mdoc police.

Submitted by: Orla McGann <orly@cnri.dit.ie>
2004-05-19 20:39:22 +00:00
Hiten Pandya
11053af551 Add rman_get_device(9) to SYNOPSIS, .Nm and MLINK it to
rman(9).
2004-05-17 21:25:02 +00:00
Warner Losh
aebc6093f9 The DEVICE_IDENTIFY man page refers to this, create a dummy one
directing people to device_add_child.
2004-05-13 20:28:18 +00:00
Nate Lawson
bdffb39f34 Add bus_alloc_resource_any(9), which does bus_alloc_resource() with the
appropriate default values.  Document it in the manpage.

Submitted by:	Mark Santcroos <marks@ripe.net>
Reviewed by:	imp, dfr, bde
Abstains:	bde
2004-03-17 17:40:34 +00:00
John Baldwin
bf0e60bbbb Rewrite sleepqueue manpage to catch up to the new sleep queue interface. 2004-03-12 19:07:18 +00:00
Pawel Jakub Dawidek
9e5681745a Connect g_access(9) to the build. 2004-03-11 19:51:14 +00:00
John Baldwin
f5531a094d - Document cv_broadcastpri().
- Remove references to cv_waitq_*() as they no longer exist.
2004-03-10 15:57:25 +00:00
Josef El-Rayes
2cd7fe4dc1 Document kernel functions securelevel_gt and securelevel_ge.
Approved by:            simon(mentor)
Submitted by:           Christian S.J. Peron <maneo@bsdpro.com>
PR:                     docs/62331
mdoc(7) cleanup by:     ru
2004-03-07 15:22:08 +00:00
Joseph Koshy
9cfa00a649 Link in contigmalloc(9) to the build. 2004-03-06 08:01:16 +00:00
Bruce M Simpson
904fd6bae5 Fix a typo. 2004-03-05 02:50:28 +00:00
Bruce M Simpson
54947b972f Hook ieee80211 manpages up to the build; fix 1 snafu which crept in.
Noticed by:	Matthias Schuendehuette
Pointy hat to:	bms
2004-03-04 21:13:06 +00:00
Bruce M Simpson
48fbb40803 Add an MLINKS entry for radiotap(9). 2004-03-04 12:54:22 +00:00
Bruce M Simpson
3f3f4cdba2 Initial import of documentation for net80211 interface code.
Of particular interest here is the ieee80211_radiotap(9) man page.

TODO: Flesh out ieee80211_node.9, ieee80211_proto.9.

Submitted by:	bms (with help from Darron Broad)
2004-03-04 12:52:10 +00:00
Lukas Ertl
06aed75cac Add MLINKs for MALLOC_DEFINE and MALLOC_DECLARE.
Approved by:     grog (mentor)
2004-02-28 23:01:20 +00:00
Poul-Henning Kamp
2bedf807f4 Add contents to manualpage for generic watchdog facility.
Formatting likely to break several UN resolutions.
2004-02-28 20:08:41 +00:00
Dag-Erling Smørgrav
c7ea226dc2 Document sysctl_move_oid(). 2004-02-27 17:13:42 +00:00
Pawel Jakub Dawidek
16710e88da Create symbolic link for g_print_bio(9) manual page.
Approved by:	scottl (mentor)
2004-02-11 18:43:20 +00:00
Pawel Jakub Dawidek
eb4f5d9df6 Added GEOM kernel API manuals to the build.
Reviewed by:	scottl
Approved by:	phk, scottl (mentor)
2004-02-11 10:09:17 +00:00
Dag-Erling Smørgrav
77c36c1710 Add a manual page for the mutex profiling code. 2004-01-25 12:23:53 +00:00
Ruslan Ermilov
b760de9691 Use a single style for share/man/ makefiles:
- Sort MAN and MLINKS in "dictionary" order ignoring case.

- For multi-value MAN and multi-pair MLINKS, put each value/pair
  on its own line, for easier sorting and so that further diffs
  are easier to see.
2004-01-20 10:27:23 +00:00
Robert Watson
9b1faf0afb Add a basic manpage for vn_fullpath().
Sponsored by:	DARPA, McAfee Research
2004-01-11 19:54:48 +00:00
Simon L. B. Nielsen
d42944a1b8 Add missing manual page links for rman(9) and sysctl_add_oid(9).
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
PR:		docs/60088
2004-01-09 20:15:51 +00:00
Joseph Koshy
f096643b2d Document a few kernel functions and the sysctl tunables that
affect their behaviour.
2003-12-11 13:29:05 +00:00
Scott Long
4fb638c329 Add a manual page for the consolidated debugging commit. 2003-12-07 20:48:00 +00:00
Hiten Pandya
dab12c8eba Manual page for Asynchronous Logging Queues (ALQ) facility.
The manual page contains enough information to get someone started
with ALQ.

MLINKS have been added appropriately.

Approved by:	jeff, des
Reviewed by:	des, jeff, sam, brooks, rwatson, mtm
2003-11-10 22:45:09 +00:00
Warner Losh
302662db50 resource_query_string is dead. Kill it. 2003-11-05 04:36:13 +00:00
Bruce M Simpson
1aba005ab5 Add pmap_wired_count() and pmap_resident_count() to the pmap documentation.
Discussed with:	peter
2003-10-06 01:49:35 +00:00
Bruce M Simpson
cdf9f3771e Update the pmap(9) documentation to reflect the movement of pmap_prefault()
to the machine-independent VM layer, as per alc's recent commit.
Add a definition for the new pmap_is_prefaultable() helper function.
2003-10-04 01:30:01 +00:00
Bruce M Simpson
c753166c6a Add manual pages for the vm_map(9) part of the VM.
Reviewed by:	juli
Approved by:	jake (mentor)
2003-09-30 00:56:17 +00:00
Bruce M Simpson
7d216f0fa9 Add manual pages for the vm_map(9) part of the VM.
Reviewed by:    juli
Approved by:    jake (mentor)
2003-09-30 00:51:31 +00:00
Robert Watson
ef43d3b590 Documentation of kernel disk_create() and disk_destroy() APIs. These
APIs permit disk device drivers to register and deregister storage devices
for use by storage device consumers.  No doubt this API will change
more as time flies by, but this should be helpful to the creators of
new storage device drivers.

Reviewed by:	phk
2003-09-26 21:43:25 +00:00
Bruce M Simpson
2951193672 Fix MLINKS.
Noticed by:	bde
Pointy hat to:	bms
2003-09-25 23:44:15 +00:00
Bruce M Simpson
8019c643f1 Add manual page documentation for the machine-independent PMAP subsystem.
Include documentation of alc's new pmap_extract_and_hold() function.

Reviewed by:	hmp
Approved by:	jake (mentor)
2003-09-25 19:14:40 +00:00
Marcel Moolenaar
09d0a77ccd Hook up BUS_CONFIG_INTR.9 2003-09-24 05:18:41 +00:00
Hartmut Brandt
d7bbb21a9d Document uma_zone_set_max and its non-obvious behaviour.
Reviewed by:	bmilekic
2003-07-21 14:20:58 +00:00
Don Lewis
076c2f950a Document mutex pool API enhancements that allow creation and use of
multiple mutex pools.
2003-07-16 08:16:40 +00:00
Hartmut Brandt
7e9024cdd9 Add a facility for devices, specifically network interfaces, that require
large to huge amounts of small or medium sized receive buffers. The problem
with these situations is that they eat up the available DMA address space
very quickly when using mbufs or even mbuf clusters. Additionally this
facility provides a direct mapping between 32-bit integers and these buffers.
This is needed for devices originally designed for 32-bit systems. Ususally
the virtual address of the buffer is used as a handle to find the buffer as
soon as it is returned by the card. This does not work for 64-bit machines
and hence this mapping is needed.
2003-07-15 08:59:38 +00:00
Hiten Pandya
32c4d090ab Add MLINK for busdma(9) to bus_dma(9).
This resolves confusion for at least 10 people.

Suggested by:	Bruce M. Simpson <bms@spc.org>
Approved by:	des (mentor)
2003-06-17 19:50:59 +00:00
Hartmut Brandt
591f4054cb This is a driver for the physical layer chips used in ATM interfaces.
It currently supports the PMC Sierra Lite, Ultra and 622 chips and
the IDT 77105. The driver handles media options and state in a consistent
manner for ATM drivers. The next commit to the midway driver will make
it use utopia.
2003-06-12 14:28:32 +00:00
Hiten Pandya
33659d9aad Hook up pci(9) manual page to the build.
Approved by:	des (mentor)
2003-06-09 17:33:25 +00:00
Robert Watson
1792c88d10 Document VOP_LISTEXTATTR(9).
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-06-05 14:20:48 +00:00
Hiten Pandya
2450346579 Add the bus_dma(9) manual page to our section 9 collection. It
provides comprehensive documentation on FreeBSD's Bus DMA interface.

Approved by: gibbs, re@ (scottl)
Reviewed by: gibbs, scottl, des, sam, jake, tmm
2003-05-30 22:57:54 +00:00
Ruslan Ermilov
02531bb0b0 Link {be,le}{16,32,64}{enc,dec}.9 to byteorder.9.
Approved by:	re (blanket)
2003-05-21 17:37:22 +00:00
Hiten Pandya
5f616912b4 Document the ``resource management'' routines in rman(9).
Submitted by: Bruce M. Simpson <bms@spc.org>
Reviewed by: mdodd

Approved by: des (mentor), re (scottl)
2003-05-16 19:22:27 +00:00
Hiten Pandya
0d740fd5e8 Add a manual page for the CTASSERT(9) macro.
Approved by: des (mentor), re (scottl)
2003-05-16 15:24:07 +00:00
Hiten Pandya
03a0a09e98 Add missing MLINK for arc4rand(9). It is documented in
random(9) and referenced by gbde(4).

PR: docs/51254
Submitted by: Simon L. Nielsen <simon@nitro.dk>
Approved and Reviewed by: des (mentor), re (bmah)
2003-05-09 09:12:10 +00:00
Warner Losh
bf2331bae4 Document device_set_driver(9)
# now all driver_* functions used outside of subr_bus.o in my kernel
# are documented.
2003-04-22 03:43:44 +00:00
Warner Losh
6e684dce35 Document device_printf(9). 2003-04-22 03:32:31 +00:00
Warner Losh
c56c6bab42 Document device_set_ivars(9) as well. 2003-04-22 03:25:14 +00:00
Warner Losh
44d993e38a man page for device_get_parent. 2003-04-22 00:26:02 +00:00
Warner Losh
c82d43ff7a device_is_alive already was documented in device_get_state, so remove the
separate man page.  Document new device_is_attached there and remove that
new man page too.

Connect device_get_name to build, and install a link for
device_get_nameunit.

strangely nobody noticed this yet...
2003-04-22 00:21:28 +00:00
Warner Losh
41c44039c9 Simple man page for new device_is_attached. 2003-04-21 18:25:04 +00:00
Warner Losh
dd7520c9eb Add a man page for device_is_alive. 2003-04-21 18:24:05 +00:00
Warner Losh
d082b08904 Document what bus_set_resource(9) does. It is used by bus drivers to
bind resources that client drivers later access.
2003-03-30 00:25:23 +00:00
Kris Kennaway
6a897e3f7e Correct a typo in previous commit 2003-03-29 10:12:15 +00:00
Warner Losh
ec33f2d50f Add a new man page for bus_activate_resource and
bus_deactivate_resource.  It could use some improvement, and others
are welcomed to do so :-)
2003-03-29 05:16:15 +00:00
Warner Losh
9b89e63ce7 Create a man page for bus_child_present(9), a function to see if a
given device is considered accessible by its parent device bus driver
(or its parent, etc).
2003-03-28 07:09:17 +00:00
John Baldwin
7313b3d87e Remove obsolete at_fork() and at_exit() manpages. Curiously, at_exec()
didn't have a manpage.

Reminded by:	ru
2003-03-25 16:36:47 +00:00
Chris Costello
3ebc28efa8 Document the following MAC policies:
o Biba: A data integrity policy
o BSD Extended: Support for the firewall-like access controls (ugidfw(8))
o MLS: Multi-level security, a confidentiality policy

(These files originally lived in src/share/man/man9)

Approved by:	re (blanket)
Sponsored by:	DARPA, Network Associates Labs
Obtained from:	TrustedBSD Project
2002-12-05 00:05:38 +00:00
Chris Costello
431dda01b6 Document the MLS policy
Approved by:	re
Sponsored by:	DARPA, Network Associates Labs
Obtained from:	TrustedBSD Project
2002-12-02 01:04:37 +00:00
Chris Costello
2699228f1e Activate mac_biba.9
Approved by:	re
Sponsored by:	DARPA, Network Associates Labs
2002-11-20 22:28:20 +00:00
Robert Watson
64027e4d85 Add mac(9), a man page providing a basic introduction to the concepts
associated with the TrustedBSD MAC Framework, as well as some credits
to developers and contributors.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-21 23:51:18 +00:00
Chris Costello
6bc41f415a Add a new man page describing the mac_bsdextended policy.
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-10-18 05:40:48 +00:00
Mike Barcroft
31cfc49a4e Remove the posix4(9) manual. It no longer contains relevant
information.
2002-10-16 14:24:41 +00:00
Sam Leffler
f4bf433552 manual pages for the new kernel crypto support (need work)
Obtained from:	openbsd
2002-10-04 20:43:30 +00:00
Julian Elischer
a4fd02efc7 link in the man page for thread_exit
Also change some line breaks.
2002-07-08 17:52:00 +00:00
Kenneth D. Merry
98cb733c67 At long last, commit the zero copy sockets code.
MAKEDEV:	Add MAKEDEV glue for the ti(4) device nodes.

ti.4:		Update the ti(4) man page to include information on the
		TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
		and also include information about the new character
		device interface and the associated ioctls.

man9/Makefile:	Add jumbo.9 and zero_copy.9 man pages and associated
		links.

jumbo.9:	New man page describing the jumbo buffer allocator
		interface and operation.

zero_copy.9:	New man page describing the general characteristics of
		the zero copy send and receive code, and what an
		application author should do to take advantage of the
		zero copy functionality.

NOTES:		Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
		TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files:	Add uipc_jumbo.c and uipc_cow.c.

conf/options:	Add the 5 options mentioned above.

kern_subr.c:	Receive side zero copy implementation.  This takes
		"disposable" pages attached to an mbuf, gives them to
		a user process, and then recycles the user's page.
		This is only active when ZERO_COPY_SOCKETS is turned on
		and the kern.ipc.zero_copy.receive sysctl variable is
		set to 1.

uipc_cow.c:	Send side zero copy functions.  Takes a page written
		by the user and maps it copy on write and assigns it
		kernel virtual address space.  Removes copy on write
		mapping once the buffer has been freed by the network
		stack.

uipc_jumbo.c:	Jumbo disposable page allocator code.  This allocates
		(optionally) disposable pages for network drivers that
		want to give the user the option of doing zero copy
		receive.

uipc_socket.c:	Add kern.ipc.zero_copy.{send,receive} sysctls that are
		enabled if ZERO_COPY_SOCKETS is turned on.

		Add zero copy send support to sosend() -- pages get
		mapped into the kernel instead of getting copied if
		they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
		can be used elsewhere.  (uipc_cow.c)

if_media.c:	In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
		calling malloc() with M_WAITOK.  Return an error if
		the M_NOWAIT malloc fails.

		The ti(4) driver and the wi(4) driver, at least, call
		this with a mutex held.  This causes witness warnings
		for 'ifconfig -a' with a wi(4) or ti(4) board in the
		system.  (I've only verified for ti(4)).

ip_output.c:	Fragment large datagrams so that each segment contains
		a multiple of PAGE_SIZE amount of data plus headers.
		This allows the receiver to potentially do page
		flipping on receives.

if_ti.c:	Add zero copy receive support to the ti(4) driver.  If
		TI_PRIVATE_JUMBOS is not defined, it now uses the
		jumbo(9) buffer allocator for jumbo receive buffers.

		Add a new character device interface for the ti(4)
		driver for the new debugging interface.  This allows
		(a patched version of) gdb to talk to the Tigon board
		and debug the firmware.  There are also a few additional
		debugging ioctls available through this interface.

		Add header splitting support to the ti(4) driver.

		Tweak some of the default interrupt coalescing
		parameters to more useful defaults.

		Add hooks for supporting transmit flow control, but
		leave it turned off with a comment describing why it
		is turned off.

if_tireg.h:	Change the firmware rev to 12.4.11, since we're really
		at 12.4.11 plus fixes from 12.4.13.

		Add defines needed for debugging.

		Remove the ti_stats structure, it is now defined in
		sys/tiio.h.

ti_fw.h:	12.4.11 firmware.

ti_fw2.h:	12.4.11 firmware, plus selected fixes from 12.4.13,
		and my header splitting patches.  Revision 12.4.13
		doesn't handle 10/100 negotiation properly.  (This
		firmware is the same as what was in the tree previously,
		with the addition of header splitting support.)

sys/jumbo.h:	Jumbo buffer allocator interface.

sys/mbuf.h:	Add a new external mbuf type, EXT_DISPOSABLE, to
		indicate that the payload buffer can be thrown away /
		flipped to a userland process.

socketvar.h:	Add prototype for socow_setup.

tiio.h:		ioctl interface to the character portion of the ti(4)
		driver, plus associated structure/type definitions.

uio.h:		Change prototype for uiomoveco() so that we'll know
		whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c:	In vm_fault(), check to see whether we need to do a page
		based copy on write fault.

vm_object.c:	Add a new function, vm_object_allocate_wait().  This
		does the same thing that vm_object allocate does, except
		that it gives the caller the opportunity to specify whether
		it should wait on the uma_zalloc() of the object structre.

		This allows vm objects to be allocated while holding a
		mutex.  (Without generating WITNESS warnings.)

		vm_object_allocate() is implemented as a call to
		vm_object_allocate_wait() with the malloc flag set to
		M_WAITOK.

vm_object.h:	Add prototype for vm_object_allocate_wait().

vm_page.c:	Add page-based copy on write setup, clear and fault
		routines.

vm_page.h:	Add page based COW function prototypes and variable in
		the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.
2002-06-26 03:37:47 +00:00
Chad David
920a6f7e8f Add signal.9 and friends. 2002-06-10 03:01:36 +00:00
Jeroen Ruigrok van der Werven
382682b2a4 Add description for uma_zcreate().
Submitted by:	arr
2002-05-18 11:12:02 +00:00
Jeroen Ruigrok van der Werven
7c32182e06 Prefix the remaining functions with uma_ as is now the case in UMA. 2002-04-30 12:45:31 +00:00
Jeroen Ruigrok van der Werven
2f91527664 zinit() does not exist anymore. 2002-04-30 12:29:59 +00:00
Jeroen Ruigrok van der Werven
9daecfc462 Add a MLINKS to uma.9 from zone.9. 2002-04-30 09:41:25 +00:00
Jeroen Ruigrok van der Werven
268c1b9c75 Remove MLINKS to zinitna, it does not exist anymore. 2002-04-30 09:38:06 +00:00
Jeroen Ruigrok van der Werven
c25d2ac8cb Remove MLINKS to zbootinit. This has been gone for a while now. 2002-04-30 09:36:02 +00:00
Mike Barcroft
aabc5d3d44 Add links for bswap16.9, bswap32.9, and bswap64.9. 2002-04-29 17:04:23 +00:00
Chad David
468f8a27bb Add entries for selrecord.9. 2002-04-12 06:19:34 +00:00