xref: /netbsd-src/share/man/man9/intro.9 (revision edfa7875a1fbf85ca353552a3cb49abcff5f42fd)
1*edfa7875Swiz.\"     $NetBSD: intro.9,v 1.26 2019/09/01 19:09:00 wiz Exp $
2d58b5c29Sjeremy.\"
3e3179c1bSrmind.\" Copyright (c) 1997, 2007 The NetBSD Foundation, Inc.
4d58b5c29Sjeremy.\" All rights reserved.
5d58b5c29Sjeremy.\"
6d58b5c29Sjeremy.\" This code is derived from software contributed to The NetBSD Foundation
7e3179c1bSrmind.\" by Jeremy Cooper, and Mindaugas Rasiukevicius.
8d58b5c29Sjeremy.\"
9d58b5c29Sjeremy.\" Redistribution and use in source and binary forms, with or without
10d58b5c29Sjeremy.\" modification, are permitted provided that the following conditions
11d58b5c29Sjeremy.\" are met:
12d58b5c29Sjeremy.\" 1. Redistributions of source code must retain the above copyright
13d58b5c29Sjeremy.\"    notice, this list of conditions and the following disclaimer.
14d58b5c29Sjeremy.\" 2. Redistributions in binary form must reproduce the above copyright
15d58b5c29Sjeremy.\"    notice, this list of conditions and the following disclaimer in the
16d58b5c29Sjeremy.\"    documentation and/or other materials provided with the distribution.
17d58b5c29Sjeremy.\"
18d58b5c29Sjeremy.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19d58b5c29Sjeremy.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20d58b5c29Sjeremy.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21d58b5c29Sjeremy.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
22d58b5c29Sjeremy.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23d58b5c29Sjeremy.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24d58b5c29Sjeremy.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25d58b5c29Sjeremy.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26d58b5c29Sjeremy.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27d58b5c29Sjeremy.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28d58b5c29Sjeremy.\" POSSIBILITY OF SUCH DAMAGE.
29d58b5c29Sjeremy.\"
3094924a74Smaxv.Dd July 14, 2018
31d58b5c29Sjeremy.Dt INTRO 9
32e9a2afbdSjoerg.Os
33d58b5c29Sjeremy.Sh NAME
34d58b5c29Sjeremy.Nm intro
35d58b5c29Sjeremy.Nd introduction to kernel internals
36d58b5c29Sjeremy.Sh DESCRIPTION
370fcbe067SmsaitohThis section contains information related to the internal operation of the
38d58b5c29Sjeremysystem kernel.
39d58b5c29SjeremyIt describes function interfaces and variables of use to the systems and device
40d58b5c29Sjeremydriver programmer.
41d58b5c29Sjeremy.Pp
42d58b5c29SjeremyIn addition to the normal man page format, the kernel pages include an
43d58b5c29Sjeremyadditional section:
44d58b5c29Sjeremy.Bl -tag -width "CODE REFERENCES"
45d58b5c29Sjeremy.It "CODE REFERENCES"
46d58b5c29SjeremyContains the pathname(s) of the source file(s) which contain the definition
47d58b5c29Sjeremyand/or source code of the variables or functions being documented.
4805859157SwizAny paths are relative to the top level of the source tree (traditionally
4905859157Swiz.Pa /usr/src ) .
50d58b5c29Sjeremy.El
51e3179c1bSrmind.Sh MEMORY MANAGEMENT
52e3179c1bSrmindIntroduction to kernel memory allocators.
53e3179c1bSrmindSee
54e3179c1bSrmind.Xr memoryallocators 9 .
55e3179c1bSrmind.Pp
56e3179c1bSrmindMachine-dependent portion of the virtual memory system.
57e3179c1bSrmindSee
58e3179c1bSrmind.Xr pmap 9 .
59e3179c1bSrmind.Pp
60e3179c1bSrmindVirtual memory system external interface.
61e3179c1bSrmindSee
62e3179c1bSrmind.Xr uvm 9 .
63e3179c1bSrmind.Sh I/O SUBSYSTEM
64e3179c1bSrmindBuffer cache interfaces.
65e3179c1bSrmindSee
66e3179c1bSrmind.Xr buffercache 9 .
67e3179c1bSrmind.Pp
68e3179c1bSrmindDevice buffer queues.
69e3179c1bSrmindSee
70e3179c1bSrmind.Xr bufq 9 .
71e3179c1bSrmind.Pp
72e3179c1bSrmindInitiate I/O on raw devices.
73e3179c1bSrmindSee
74e3179c1bSrmind.Xr physio 9 .
75e3179c1bSrmind.Pp
76e3179c1bSrmindI/O descriptor allocation interface.
77e3179c1bSrmindSee
78e3179c1bSrmind.Xr getiobuf 9 .
79e3179c1bSrmind.Sh PROCESS CONTROL
80e3179c1bSrmindIdle CPU while waiting for work.
81e3179c1bSrmindSee
82e3179c1bSrmind.Xr cpu_idle 9 .
83e3179c1bSrmind.Pp
84e3179c1bSrmindFinish a fork operation.
85e3179c1bSrmindSee
86e3179c1bSrmind.Xr cpu_lwp_fork 9 .
87e3179c1bSrmind.Pp
88e3179c1bSrmindSwitch to another light weight process.
89e3179c1bSrmindSee
90a5cda1e9Swiz.Xr mi_switch 9 .
91e3179c1bSrmind.Pp
92e3179c1bSrmindCurrent process and processor.
93e3179c1bSrmindSee
94e3179c1bSrmind.Xr curproc 9 .
95e3179c1bSrmind.Pp
96e3179c1bSrmindSet process uid and gid.
97e3179c1bSrmindSee
98e3179c1bSrmind.Xr do_setresuid 9 .
99e3179c1bSrmind.Pp
100e3179c1bSrmindNew processes and kernel threads.
101e3179c1bSrmindSee
102e3179c1bSrmind.Xr fork1 9 ,
103e3179c1bSrmind.Xr kthread 9 .
104e3179c1bSrmind.Pp
105e3179c1bSrmindContext switch notification.
106e3179c1bSrmindSee
107b197e6e2Swiz.Xr cpu_need_resched 9 .
108e3179c1bSrmind.Pp
10997cfc6c7SjruohoCommon scheduler framework.
110e3179c1bSrmindSee
11197cfc6c7Sjruoho.Xr csf 9 .
112e3179c1bSrmind.Pp
113e3179c1bSrmindSoftware signal facilities.
114e3179c1bSrmindSee
115e3179c1bSrmind.Xr signal 9 .
116e3179c1bSrmind.Pp
117e3179c1bSrmindSuspend the scheduler.
118e3179c1bSrmindSee
119e3179c1bSrmind.Xr suspendsched 9 .
120e3179c1bSrmind.Pp
121e3179c1bSrmindReturn path to user-mode execution.
122e3179c1bSrmindSee
123e3179c1bSrmind.Xr userret 9 .
124e3179c1bSrmind.Sh FILE SYSTEM
125e3179c1bSrmindHigh-level file operations.
126e3179c1bSrmindSee
127e3179c1bSrmind.Xr dofileread 9 .
128e3179c1bSrmind.Pp
129e3179c1bSrmindConvert an extended attribute namespace identifier to a string and
130e3179c1bSrmindvice versa.
131e3179c1bSrmindSee
132e3179c1bSrmind.Xr extattr 9 .
133e3179c1bSrmind.Pp
134e3179c1bSrmindOperations on file entries.
135e3179c1bSrmindSee
136e3179c1bSrmind.Xr file 9 .
137e3179c1bSrmind.Pp
138b787339bSwizIn-kernel, file system independent, file-meta data association.
139e3179c1bSrmindSee
140e3179c1bSrmind.Xr fileassoc 9 .
141e3179c1bSrmind.Pp
142e3179c1bSrmindFile descriptor tables and operations.
143e3179c1bSrmindSee
144e3179c1bSrmind.Xr filedesc 9 .
145e3179c1bSrmind.Pp
146e3179c1bSrmindFile descriptor owner handling functions.
147e3179c1bSrmindSee
148e3179c1bSrmind.Xr fsetown 9 .
149e3179c1bSrmind.Pp
150e3179c1bSrmindFile system suspension helper subsystem.
151e3179c1bSrmindSee
152e3179c1bSrmind.Xr fstrans 9 .
153e3179c1bSrmind.Pp
154e3179c1bSrmindPathname lookup, cache and management.
155e3179c1bSrmindSee
156e3179c1bSrmind.Xr namei 9 ,
15715429f1dSabhinav.Xr namecache 9 .
158e3179c1bSrmind.Pp
159e3179c1bSrmindKernel interface to file systems.
160e3179c1bSrmindSee
161e3179c1bSrmind.Xr vfs 9 .
162e3179c1bSrmind.Pp
163e3179c1bSrmindKernel representation of a file or directory and vnode attributes.
164e3179c1bSrmindSee
165e3179c1bSrmind.Xr vnode 9 ,
166e3179c1bSrmind.Xr vattr 9 .
167e3179c1bSrmind.Sh NETWORKING
168e3179c1bSrmindKernel interfaces for manipulating output queues on network interfaces.
169e3179c1bSrmindSee
170e3179c1bSrmind.Xr altq 9 .
171e3179c1bSrmind.Pp
172e3179c1bSrmindExternally visible ARP functions.
173e3179c1bSrmindSee
174e3179c1bSrmind.Xr arp 9 .
175e3179c1bSrmind.Pp
176e3179c1bSrmindEthernet and FDDI driver support functions and macros.
177e3179c1bSrmindSee
178e3179c1bSrmind.Xr ethersubr 9 .
179e3179c1bSrmind.Pp
180e3179c1bSrmindCore 802.11 network stack functions and rate adaptation based on
181e3179c1bSrmindreceived signal strength.
182e3179c1bSrmindSee
183e3179c1bSrmind.Xr ieee80211 9 ,
184e3179c1bSrmind.Xr rssadapt 9 .
185e3179c1bSrmind.Pp
186e3179c1bSrmindCompute Internet checksum.
187e3179c1bSrmindSee
188e3179c1bSrmind.Xr in_cksum 9 .
189e3179c1bSrmind.Pp
190e3179c1bSrmindLook up the IPv4 source address best matching an IPv4 destination.
191e3179c1bSrmindSee
192e3179c1bSrmind.Xr in_getifa 9 .
193e3179c1bSrmind.Pp
194e3179c1bSrmindFunctions and macros for managing memory used by networking code.
195e3179c1bSrmindSee
196e3179c1bSrmind.Xr mbuf 9 .
197e3179c1bSrmind.Pp
198e3179c1bSrmindPacket filter interface.
199e3179c1bSrmindSee
200e3179c1bSrmind.Xr pfil 9 .
201e3179c1bSrmind.Pp
202e3179c1bSrmindRoute callout functions.
203e3179c1bSrmindSee
204e3179c1bSrmind.Xr rt_timer 9 .
205e3179c1bSrmind.Pp
206e3179c1bSrmindTCP congestion control API.
207e3179c1bSrmindSee
208e3179c1bSrmind.Xr tcp_congctl 9 .
209e3179c1bSrmind.Sh LOCKING AND INTERRUPT CONTROL
210549823fbSriastradhSee
211549823fbSriastradh.Xr locking 9
212549823fbSriastradhfor an overview.
213549823fbSriastradh.Pp
214e3179c1bSrmindCondition variables.
215e3179c1bSrmindSee
216e3179c1bSrmind.Xr condvar 9 .
217e3179c1bSrmind.Pp
218e3179c1bSrmindKernel lock functions.
219e3179c1bSrmindSee
220e3179c1bSrmind.Xr lock 9 .
221e3179c1bSrmind.Pp
222e3179c1bSrmindMemory barriers.
223e3179c1bSrmindSee
224549823fbSriastradh.Xr membar_ops 3 .
225e3179c1bSrmind.Pp
226e3179c1bSrmindMutual exclusion primitives.
227e3179c1bSrmindSee
228e3179c1bSrmind.Xr mutex 9 .
229e3179c1bSrmind.Pp
230e3179c1bSrmindRestartable atomic sequences.
231e3179c1bSrmindSee
232e3179c1bSrmind.Xr ras 9 .
233e3179c1bSrmind.Pp
234e3179c1bSrmindReader / writer lock primitives.
235e3179c1bSrmindSee
236e3179c1bSrmind.Xr rwlock 9 .
237e3179c1bSrmind.Pp
238e3179c1bSrmindMachine-independent software interrupt framework.
239e3179c1bSrmindSee
24050f73940Sriastradh.Xr softint 9 .
241e3179c1bSrmind.Pp
242e3179c1bSrmindFunctions to modify system interrupt priority level.
243e3179c1bSrmindSee
244e3179c1bSrmind.Xr spl 9 .
245e3179c1bSrmind.Pp
2467e80fe3cSriastradhFunctions to raise the system priority level.
247e3179c1bSrmindSee
248e3179c1bSrmind.Xr splraiseipl 9 .
249e3179c1bSrmind.Sh SECURITY
250e3179c1bSrmindKernel authorization framework.
251e3179c1bSrmindSee
252e3179c1bSrmind.Xr kauth 9 .
253e3179c1bSrmind.Pp
254e3179c1bSrmindAPI for cryptographic services in the kernel.
255e3179c1bSrmindSee
256e3179c1bSrmind.Xr opencrypto 9 .
257e3179c1bSrmind.Pp
258e3179c1bSrmindSecurity model development guidelines.
259e3179c1bSrmindSee
260e3179c1bSrmind.Xr secmodel 9 .
261e3179c1bSrmind.Sh SYSTEM TIME CONTROL
262e3179c1bSrmindExecute a function after a specified length of time.
263e3179c1bSrmindSee
264e3179c1bSrmind.Xr callout 9 .
265e3179c1bSrmind.Pp
266e3179c1bSrmindMicrosecond delay.
267e3179c1bSrmindSee
268e3179c1bSrmind.Xr delay 9 .
269e3179c1bSrmind.Pp
270e3179c1bSrmindReal-time timer.
271e3179c1bSrmindSee
272e3179c1bSrmind.Xr hardclock 9 .
273e3179c1bSrmind.Pp
274e3179c1bSrmindSystem clock frequency.
275e3179c1bSrmindSee
276e3179c1bSrmind.Xr hz 9 .
277e3179c1bSrmind.Pp
278e3179c1bSrmindInitialization of system time and time-of-day clock support.
279e3179c1bSrmindSee
280e3179c1bSrmind.Xr inittodr 9 ,
281e3179c1bSrmind.Xr todr 9 .
282e3179c1bSrmind.Pp
283e3179c1bSrmindCheck that a timeval value is valid, and correct.
284e3179c1bSrmindSee
285e3179c1bSrmind.Xr itimerfix 9 .
286e3179c1bSrmind.Pp
287e3179c1bSrmindSystem time variables.
288e3179c1bSrmindSee
289e3179c1bSrmind.Xr timecounter 9 .
290e3179c1bSrmind.Pp
291e3179c1bSrmindRealtime system clock.
292e3179c1bSrmindSee
293e3179c1bSrmind.Xr microtime 9 .
294e3179c1bSrmind.Pp
295e3179c1bSrmindGet the time elapsed since boot.
296e3179c1bSrmindSee
297e3179c1bSrmind.Xr microuptime 9 .
298e3179c1bSrmind.Pp
299e3179c1bSrmindConvert milliseconds to system clock ticks.
300e3179c1bSrmindSee
301e3179c1bSrmind.Xr mstohz 9 .
302e3179c1bSrmind.Pp
303e3179c1bSrmindFunction to help implement rate-limited actions.
304e3179c1bSrmindSee
305e3179c1bSrmind.Xr ppsratecheck 9 .
306e3179c1bSrmind.Pp
307e3179c1bSrmindFunction to help implement rate-limited actions.
308e3179c1bSrmindSee
309e3179c1bSrmind.Xr ratecheck 9 .
310e3179c1bSrmind.Pp
311e3179c1bSrmindSet battery-backed clock from system time.
312e3179c1bSrmindSee
313e3179c1bSrmind.Xr resettodr 9 .
314e3179c1bSrmind.Pp
315e3179c1bSrmindSystem time variables.
316e3179c1bSrmindSee
317e3179c1bSrmind.Xr time_second 9 .
318e3179c1bSrmind.Sh KERNEL AND USER SPACE DATA COPY FUNCTIONS
319e3179c1bSrmindKernel space to/from user space copy functions.
320e3179c1bSrmindSee
321e3179c1bSrmind.Xr copy 9 .
322e3179c1bSrmind.Pp
323e3179c1bSrmindStore data to user-space.
324e3179c1bSrmindSee
3259f2ab3a0Soster.Xr ustore 9 .
326e3179c1bSrmind.Pp
327e3179c1bSrmindFetch data from user-space.
328e3179c1bSrmindSee
329*edfa7875Swiz.Xr ufetch 9 .
330e3179c1bSrmind.Pp
331e3179c1bSrmindMove data described by a struct uio.
332e3179c1bSrmindSee
333e3179c1bSrmind.Xr uiomove 9 .
334e3179c1bSrmind.Sh MACHINE DEPENDENT KERNEL FUNCTIONS
335e3179c1bSrmindMachine-dependent clock setup interface.
336e3179c1bSrmindSee
337e3179c1bSrmind.Xr cpu_initclocks 9 .
338e3179c1bSrmind.Pp
339e3179c1bSrmindMachine-dependent process core dump interface.
340e3179c1bSrmindSee
341e3179c1bSrmind.Xr cpu_coredump 9 .
342e3179c1bSrmind.Pp
343e3179c1bSrmindMachine-dependent kernel core dumps.
344e3179c1bSrmindSee
345e3179c1bSrmind.Xr cpu_dumpconf 9 .
346e3179c1bSrmind.Pp
347e3179c1bSrmindUnique CPU identification number
348e3179c1bSrmindSee
349e3179c1bSrmind.Xr cpu_number 9 .
350e3179c1bSrmind.Pp
351e3179c1bSrmindHalt or reboot the system
352e3179c1bSrmindSee
353e3179c1bSrmind.Xr cpu_reboot 9 .
354e3179c1bSrmind.Pp
355e3179c1bSrmindMachine-dependent root file system setup
356e3179c1bSrmindSee
357e3179c1bSrmind.Xr cpu_rootconf 9 .
358e3179c1bSrmind.Pp
359e3179c1bSrmindMachine-dependent CPU startup
360e3179c1bSrmindSee
361e3179c1bSrmind.Xr cpu_startup 9 .
362e3179c1bSrmind.Pp
363e3179c1bSrmindDisk label management routines.
364e3179c1bSrmindSee
365e3179c1bSrmind.Xr disklabel 9 .
366e3179c1bSrmind.Sh DEVICE CONFIGURATION
367e3179c1bSrmindAutoconfiguration frame-work.
368e3179c1bSrmindSee
369e3179c1bSrmind.Xr autoconf 9 .
370e3179c1bSrmind.Pp
371e3179c1bSrmindDescription of a device driver.
372e3179c1bSrmindSee
373e3179c1bSrmind.Xr driver 9 .
374e3179c1bSrmind.Pp
375e3179c1bSrmindThe autoconfiguration framework ``device definition'' language.
376e3179c1bSrmindSee
377e3179c1bSrmind.Xr config 9 .
378e3179c1bSrmind.Pp
379e3179c1bSrmindMachine-dependent device autoconfiguration.
380e3179c1bSrmindSee
381e3179c1bSrmind.Xr cpu_configure 9 .
382e3179c1bSrmind.Sh MI DEVICE DRIVER API
383e3179c1bSrmindBus and Machine Independent DMA Mapping Interface.
384e3179c1bSrmindSee
385e3179c1bSrmind.Xr bus_dma 9 .
386e3179c1bSrmind.Pp
387e3179c1bSrmindBus space manipulation functions.
388e3179c1bSrmindSee
389e3179c1bSrmind.Xr bus_space 9 .
390e3179c1bSrmind.Pp
391e3179c1bSrmindGeneric disk framework.
392e3179c1bSrmindSee
393e3179c1bSrmind.Xr disk 9 .
394e3179c1bSrmind.Pp
395e3179c1bSrmindHardware-assisted data mover interface.
396e3179c1bSrmindSee
397e3179c1bSrmind.Xr dmover 9 .
398e3179c1bSrmindGeneric event counter framework.
399e3179c1bSrmindSee
400e3179c1bSrmind.Xr evcnt 9 .
401e3179c1bSrmind.Pp
402e3179c1bSrmindFirmware loader API for device drivers.
403e3179c1bSrmindSee
404e3179c1bSrmind.Xr firmload 9 .
405e3179c1bSrmind.Pp
406e3179c1bSrmindHow to implement a new ioctl call to access device drivers.
407e3179c1bSrmindSee
408e3179c1bSrmind.Xr ioctl 9 .
409e3179c1bSrmind.Pp
410e3179c1bSrmindExtensible line discipline framework.
411e3179c1bSrmindSee
412e3179c1bSrmind.Xr linedisc 9 .
413e3179c1bSrmind.Sh CONSOLE DEVICES
414e3179c1bSrmindConsole magic key sequence management.
415e3179c1bSrmindSee
416e3179c1bSrmind.Xr cnmagic 9 .
417e3179c1bSrmind.Pp
418e3179c1bSrmindConsole access interface.
419e3179c1bSrmindSee
420e3179c1bSrmind.Xr cons 9 .
421e3179c1bSrmind.Pp
422e3179c1bSrmindRaster display operations.
423e3179c1bSrmindSee
424e3179c1bSrmind.Xr rasops 9 .
425e3179c1bSrmind.Pp
426e3179c1bSrmindGeneric virtual console framework.
427e3179c1bSrmindSee
428e3179c1bSrmind.Xr vcons 9 .
429e3179c1bSrmind.Pp
430e3179c1bSrmindMachine-independent console support.
431e3179c1bSrmindSee
432e3179c1bSrmind.Xr wscons 9 .
433e3179c1bSrmind.Sh DEVICE SPECIFIC IMPLEMENTATION
434e3179c1bSrmindInterface between low and high level audio drivers.
435e3179c1bSrmindSee
436e3179c1bSrmind.Xr audio 9 .
437e3179c1bSrmind.Pp
438e3179c1bSrmindBluetooth Device/Protocol API.
439e3179c1bSrmindSee
440e3179c1bSrmind.Xr bluetooth 9 .
441e3179c1bSrmind.Pp
442e3179c1bSrmindSupport for CardBus PC-Card devices.
443e3179c1bSrmindSee
444e3179c1bSrmind.Xr cardbus 9 .
445e3179c1bSrmind.Pp
446e3179c1bSrmindVESA Display Data Channel V2.
447e3179c1bSrmindSee
448e3179c1bSrmind.Xr ddc 9 .
449e3179c1bSrmind.Pp
450e3179c1bSrmindVESA Extended Display Identification Data.
451e3179c1bSrmindSee
452e3179c1bSrmind.Xr edid 9 .
453e3179c1bSrmind.Pp
454e3179c1bSrmindInter IC (I2C) bus.
455e3179c1bSrmindSee
456e3179c1bSrmind.Xr iic 9 .
457e3179c1bSrmind.Pp
458e3179c1bSrmindBaseboard I/O control ASIC for DEC TURBOchannel systems.
459e3179c1bSrmindSee
460e3179c1bSrmind.Xr ioasic 9 .
461e3179c1bSrmind.Pp
462e3179c1bSrmindIndustry-standard Architecture.
463e3179c1bSrmindSee
464e3179c1bSrmind.Xr isa 9 .
465e3179c1bSrmind.Pp
466e3179c1bSrmindIntroduction to ISA Plug-and-Play support.
467e3179c1bSrmindSee
468e3179c1bSrmind.Xr isapnp 9 .
469e3179c1bSrmind.Pp
470e3179c1bSrmindMicroChannel Architecture bus.
471e3179c1bSrmindSee
472e3179c1bSrmind.Xr mca 9 .
473e3179c1bSrmind.Pp
474e3179c1bSrmindPPBUS microseqencer developer's guide.
475e3179c1bSrmindSee
476e3179c1bSrmind.Xr microseq 9 .
477e3179c1bSrmind.Pp
478e3179c1bSrmindPeripheral Component Interconnect.
479e3179c1bSrmindSee
480e3179c1bSrmind.Xr pci 9 .
481e3179c1bSrmind.Pp
482e3179c1bSrmindPerform PCI bus configuration.
483e3179c1bSrmindSee
484e3179c1bSrmind.Xr pci_configure_bus 9 .
485e3179c1bSrmind.Pp
486e3179c1bSrmindPCI bus interrupt manipulation functions.
487e3179c1bSrmindSee
488e3179c1bSrmind.Xr pci_intr 9 .
489e3179c1bSrmind.Pp
490e3179c1bSrmindPC keyboard port interface.
491e3179c1bSrmindSee
492e3179c1bSrmind.Xr pckbport 9 .
493e3179c1bSrmind.Pp
494e3179c1bSrmindSupport for PCMCIA PC-Card devices.
495e3179c1bSrmindSee
496e3179c1bSrmind.Xr pcmcia 9 .
497e3179c1bSrmind.Pp
498e3179c1bSrmindInterface between low and high level radio drivers.
499e3179c1bSrmindSee
500e3179c1bSrmind.Xr radio 9 .
501e3179c1bSrmind.Pp
502e3179c1bSrmindFunctions to make a device available for entropy collection.
503e3179c1bSrmindSee
504e3179c1bSrmind.Xr rnd 9 .
505e3179c1bSrmind.Pp
506e3179c1bSrmindSCSI/ATAPI middle-layer interface.
507e3179c1bSrmindSee
508e3179c1bSrmind.Xr scsipi 9 .
509e3179c1bSrmind.Pp
510e3179c1bSrmindTURBOchannel bus.
511e3179c1bSrmindSee
512e3179c1bSrmind.Xr tc 9 .
513e3179c1bSrmind.Pp
514e3179c1bSrmindUSB tty support.
515e3179c1bSrmindSee
516e3179c1bSrmind.Xr ucom 9 .
517e3179c1bSrmind.Pp
518e3179c1bSrmindUSB device drivers interface.
519e3179c1bSrmindSee
520e3179c1bSrmind.Xr usbdi 9 .
521e3179c1bSrmind.Pp
522e3179c1bSrmindVersa Module Euroboard bus.
523e3179c1bSrmindSee
524e3179c1bSrmind.Xr vme 9 .
525e3179c1bSrmind.Pp
526e3179c1bSrmindMachine-independent IDE/ATAPI driver.
527e3179c1bSrmindSee
528e3179c1bSrmind.Xr wdc 9 .
529e3179c1bSrmind.Sh KERNEL EVENT
530e3179c1bSrmindFunctions to add or remove kernel event filters.
531e3179c1bSrmindSee
532e3179c1bSrmind.Xr kfilter_register 9 .
533e3179c1bSrmind.Pp
534e3179c1bSrmindFunctions to raise kernel event.
535e3179c1bSrmindSee
536e3179c1bSrmind.Xr knote 9 .
537e3179c1bSrmind.Pp
538e3179c1bSrmindRecord and wakeup select requests.
539e3179c1bSrmindSee
540e3179c1bSrmind.Xr selrecord 9 .
541e3179c1bSrmind.Pp
542e3179c1bSrmindSimple do-it-in-thread-context framework.
543e3179c1bSrmindSee
544e3179c1bSrmind.Xr workqueue 9 .
545e3179c1bSrmind.Sh KERNEL HELPER FUNCTIONS
546e3179c1bSrmindKernel expression verification macros.
547e3179c1bSrmindSee
548e3179c1bSrmind.Xr KASSERT 9 .
549e3179c1bSrmind.Pp
550e3179c1bSrmindConvert a single byte between (unsigned) packed bcd and binary.
551e3179c1bSrmindSee
552e3179c1bSrmind.Xr bcdtobin 9 .
553e3179c1bSrmind.Pp
554e3179c1bSrmindBitmask output conversion.
555e3179c1bSrmindSee
5566be7b1d9Schristos.Xr snprintb 3 .
557e3179c1bSrmind.Pp
558e3179c1bSrmindGeneral purpose extent manager.
559e3179c1bSrmindSee
560e3179c1bSrmind.Xr extent 9 .
561e3179c1bSrmind.Pp
562e3179c1bSrmindCompare integers.
563e3179c1bSrmindSee
564e3179c1bSrmind.Xr imax 9 .
565e3179c1bSrmind.Pp
566e3179c1bSrmindKernel formatted output conversion.
567e3179c1bSrmindSee
568e3179c1bSrmind.Xr kprintf 9 .
569e3179c1bSrmind.Pp
570e3179c1bSrmindData comparing, moving, copying, setting and cleaning.
571e3179c1bSrmindSee
572e3179c1bSrmind.Xr memcmp 9 ,
573e3179c1bSrmind.Xr memmove 9 ,
574e3179c1bSrmind.Xr memcpy 9 ,
575e3179c1bSrmind.Xr memset 9 ,
576e3179c1bSrmind.Xr bcmp 9 ,
577e3179c1bSrmind.Xr bcopy 9 ,
578e3179c1bSrmind.Xr bzero 9 ,
579e3179c1bSrmind.Xr kcopy 9 .
580e3179c1bSrmind.Pp
581e3179c1bSrmindLog a message from the kernel through the /dev/klog device.
582e3179c1bSrmindSee
583e3179c1bSrmind.Xr log 9 .
584e3179c1bSrmind.Pp
585e3179c1bSrmindBring down system on fatal error.
586e3179c1bSrmindSee
587e3179c1bSrmind.Xr panic 9 .
588e3179c1bSrmind.Sh MISC
58997cfc6c7SjruohoPower management and inter-driver messaging.
590e3179c1bSrmindSee
59197cfc6c7Sjruoho.Xr pmf 9 .
592e3179c1bSrmind.Pp
593e3179c1bSrmindRun all shutdown hooks.
594e3179c1bSrmindSee
595187677b0Sdyoung.Xr pmf_system_shutdown 9 .
596e3179c1bSrmind.Pp
597e3179c1bSrmindKernel internal error numbers.
598e3179c1bSrmindSee
599e3179c1bSrmind.Xr errno 9 .
600e3179c1bSrmind.Pp
601e3179c1bSrmindKernel hash functions, hash table construction and destruction.
602e3179c1bSrmindSee
603e3179c1bSrmind.Xr hash 9 ,
604e3179c1bSrmind.Xr hashinit 9 .
605e3179c1bSrmind.Pp
606e3179c1bSrmindFormat a number into a human readable form.
607e3179c1bSrmindSee
608e3179c1bSrmind.Xr humanize_number 9 .
609e3179c1bSrmind.Pp
610e3179c1bSrmindOptions string management.
611e3179c1bSrmindSee
612b197e6e2Swiz.Xr optstr 9 .
613e3179c1bSrmind.Pp
614e3179c1bSrmindPerforms pattern matching on strings.
615e3179c1bSrmindSee
616e3179c1bSrmind.Xr pmatch 9 .
617e3179c1bSrmind.Pp
618e3179c1bSrmindAdd or remove a shutdown hook.
619e3179c1bSrmindSee
620187677b0Sdyoung.Xr pmf 9 .
621e3179c1bSrmind.Pp
622e3179c1bSrmindNon-local jumps.
623e3179c1bSrmindSee
624e3179c1bSrmind.Xr setjmp 9 .
625e3179c1bSrmind.Pp
626e3179c1bSrmindSystem variable control interfaces.
627e3179c1bSrmindSee
628e3179c1bSrmind.Xr sysctl 9 .
629d58b5c29Sjeremy.Sh HISTORY
63034a98169SperryThe
63134a98169Sperry.Nx
63234a98169Sperrykernel internals section first appeared in
633d58b5c29Sjeremy.Nx 1.2 .
634