Subject: Table of contents addition for intro(9) manual
To: None <tech-kern@netbsd.org>
From: Mindaugas R. <rmind@NetBSD.org>
List: tech-kern
Date: 02/17/2007 02:53:58
This is a multi-part message in MIME format.

--Multipart=_Sat__17_Feb_2007_02_53_58_+0200_Cu07wMK0Ao2e0hi.
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,
here is an attached patch for intro(9) to add table of contents in this
manual. Of course, it could be structurized better, and not everything is
inserted. I would suggest to prefer the following scheme where possible:
  Table of contents (intro.9)
    Abstract description of subsystems (memoryallocators.9)
      Concrete description of subsystem (vmem.9)
Currently, we haven't enough abstract-description manuals. If someone could
do this job... :)

While we still have no system for generating TOC, what do you think about
commiting this patch? Maybe something more should be included?

-- 
Best regards,
Mindaugas
www.NetBSD.org

--Multipart=_Sat__17_Feb_2007_02_53_58_+0200_Cu07wMK0Ao2e0hi.
Content-Type: text/plain;
 name="intro.9.diff"
Content-Disposition: attachment;
 filename="intro.9.diff"
Content-Transfer-Encoding: 7bit

Index: intro.9
===================================================================
RCS file: /cvsroot/src/share/man/man9/intro.9,v
retrieving revision 1.4
diff -u -p -r1.4 intro.9
--- intro.9	8 Oct 1999 20:13:43 -0000	1.4
+++ intro.9	17 Feb 2007 00:29:08 -0000
@@ -52,6 +52,208 @@ additional section:
 Contains the pathname(s) of the source file(s) which contain the definition
 and/or source code of the variables or functions being documented.
 .El
+.Sh MEMORY MANAGEMENT
+General purpose extent manager. See
+.Xr extent 9 .
+.Pp
+Introduction to kernel memory allocators. See
+.Xr memoryallocators 9 .
+.Pp
+Machine-dependent portion of the virtual memory system. See
+.Xr pmap 9 .
+.Pp
+Virtual memory system external interface. See
+.Xr uvm 9 .
+.Pp
+Kernel space to/from user space copy functions. See
+.Xr copy 9 .
+.Pp
+Store data to user-space. See
+.Xr store 9 .
+.Pp
+Fetch data from user-space. See
+.Xr fetch 9 .
+.Pp
+.Sh NETWORKING
+Kernel interfaces for manipulating output queues on network interfaces. See
+.Xr altq 9 .
+.Pp
+Externally visible ARP functions. See
+.Xr arp 9 .
+.Pp
+Ethernet and FDDI driver support functions and macros. See
+.Xr ethersubr 9 .
+.Pp
+Functions and macros for managing memory used by networking code. See
+.Xr mbuf 9 .
+.Pp
+Packet filter interface. See
+.Xr pfil 9 .
+.Pp
+.Sh I/O SUBSYSTEMS
+Bus and Machine Independent DMA Mapping Interface. See
+.Xr bus_dma 9 .
+.Pp
+Bus space manipula tion functions. See
+.Xr bus_space 9 .
+.Pp
+How to implement a new ioctl call to access device drivers. See
+.Xr ioctl 9 .
+.Pp
+Industry-standard Architecture. See
+.Xr isa 9 .
+.Pp
+Peripheral Component Interconnect. See
+.Xr pci 9 .
+.Pp
+.Sh LOCKING
+Condition variables. See
+.Xr condvar 9 .
+.Pp
+Kernel lock functions. See
+.Xr lock 9 .
+.Pp
+Memory barriers. See
+.Xr mb 9 .
+.Pp
+Mutual exclusion primitives. See
+.Xr mutex 9 .
+.Pp
+Restartable atomic sequences. See
+.Xr ras 9 .
+.Pp
+Reader / writer lock primitives. See
+.Xr rwlock 9 .
+.Pp
+Functions to modify system interrupt priority level. See
+.Xr spl 9 .
+.Pp
+.Sh SECURITY
+Kernel authorization framework. See
+.Xr kauth 9 .
+.Pp
+API for cryptographic services in the kernel. See
+.Xr opencrypto 9 .
+.Pp
+Security model development guidelines. See
+.Xr secmodel 9 .
+.Pp
+.Sh PROCESS MANAGEMENT
+Process scheduling subsystem. See
+.Xr scheduler 9 .
+.Pp
+New processes and kernel threads. See
+.Xr fork1 9 ,
+.Xr kthread 9 .
+.Pp
+.Sh FILE SYSTEMS
+Kernel interface to file systems. See
+.Xr vfs 9 .
+.Pp
+Operations on file entries. See
+.Xr file 9 .
+.Pp
+In-kernel, file-system independent, file-meta data
+association. See
+.Xr fileassoc 9 .
+.Pp
+Pathname lookup and cache. See
+.Xr namei 9 ,
+.Xr namecache 9 .
+.Pp
+.Sh DEVICES AND DRIVER SUBSYSTEMS
+Interface between low and high level audio drivers. See
+.Xr audio 9 .
+.Pp
+Bluetooth Device/Protocol API. See
+.Xr bluetooth 9 .
+.Pp
+Support for CardBus PC-Card devices. See
+.Xr cardbus 9 .
+.Pp
+VESA Display Data Channel V2. See
+.Xr ddc 9 .
+.Pp
+Description of a device driver. See
+.Xr driver 9 .
+.Pp
+Firmware loader API for device drivers. See
+.Xr firmware 9 .
+.Pp
+Core 802.11 network stack functions. See
+.Xr ieee80211 9 .
+.Pp
+Inter IC (I2C) bus. See
+.Xr iic 9 .
+.Pp
+Baseboard I/O control ASIC for DEC TURBOchannel systems. See
+.Xr ioasic 9 .
+.Pp
+MicroChannel Architecture bus. See
+.Xr mca 9 .
+.Pp
+Support for PCMCIA PC-Card devices. See
+.Xr pcmcia 9 .
+.Pp
+User-space interface to ppbus parallel port. See
+.Xr ppi 9 .
+.Pp
+Interface between low and high level radio drivers. See
+.Xr radio 9 .
+.Pp
+SCSI/ATAPI middle-layer interface. See
+.Xr scsipi 9 .
+.Pp
+Machine-independent IDE/ATAPI driver. See
+.Xr wdc 9 .
+.Pp
+Versa Module Euroboard bus. See
+.Xr vme 9 .
+.Sh OTHER KERNEL SUBSYSTEMS
+.Pp
+Autoconfiguration frame-work. See
+.Xr autoconf 9 .
+.Pp
+Buffer cache interfaces. See
+.Xr buffercache 9 .
+.Pp
+Device buffer queues. See
+.Xr bufq 9 .
+.Pp
+Execute a function after a specified length of time. See
+.Xr callout 9 .
+.Pp
+Generic disk framework. See
+.Xr disk 9 .
+.Pp
+Disk label management routines. See
+.Xr disklabel 9 .
+.Pp
+Kernel internal error numbers. See
+.Xr errno 9 .
+.Pp
+Continuation-passing framework for deferring execution and
+for notification of asynchronous events. See
+.Xr kcont 9 .
+.Pp
+Kernel formatted output conversion. See
+.Xr kprintf 9 .
+.Pp
+Software signal facilities. See
+.Xr signal 9 .
+.Pp
+System variable control interfaces. See
+.Xr sysctl 9 .
+.Pp
+System time variables. See
+.Xr timecounter 9 .
+.Pp
+Simple do-it-in-thread-context framework. See
+.Xr workqueue 9 .
+.Pp
+Machine-independent console support. See
+.Xr wscons 9 .
+.Pp
 .Sh HISTORY
 The
 .Nx

--Multipart=_Sat__17_Feb_2007_02_53_58_+0200_Cu07wMK0Ao2e0hi.
Content-Type: text/plain;
 name="intro.9.txt"
Content-Disposition: attachment;
 filename="intro.9.txt"
Content-Transfer-Encoding: 7bit

INTRO(9)               NetBSD Kernel Developer's Manual               INTRO(9)

NNAAMMEE
     iinnttrroo -- introduction to kernel internals

DDEESSCCRRIIPPTTIIOONN
     This section contains information related to the internal operation of
     the system kernel.  It describes function interfaces and variables of use
     to the systems and device driver programmer.

     In addition to the normal man page format, the kernel pages include an
     additional section:

     CODE REFERENCES  Contains the pathname(s) of the source file(s) which
                      contain the definition and/or source code of the vari-
                      ables or functions being documented.

MMEEMMOORRYY MMAANNAAGGEEMMEENNTT
     General purpose extent manager. See extent(9).

     Introduction to kernel memory allocators. See memoryallocators(9).

     Machine-dependent portion of the virtual memory system. See pmap(9).

     Virtual memory system external interface. See uvm(9).

     Kernel space to/from user space copy functions. See copy(9).

     Store data to user-space. See store(9).

     Fetch data from user-space. See fetch(9).

NNEETTWWOORRKKIINNGG
     Kernel interfaces for manipulating output queues on network interfaces.
     See altq(9).

     Externally visible ARP functions. See arp(9).

     Ethernet and FDDI driver support functions and macros. See ethersubr(9).

     Functions and macros for managing memory used by networking code. See
     mbuf(9).

     Packet filter interface. See pfil(9).

II//OO SSUUBBSSYYSSTTEEMMSS
     Bus and Machine Independent DMA Mapping Interface. See bus_dma(9).

     Bus space manipula tion functions. See bus_space(9).

     How to implement a new ioctl call to access device drivers. See ioctl(9).

     Industry-standard Architecture. See isa(9).

     Peripheral Component Interconnect. See pci(9).

LLOOCCKKIINNGG
     Condition variables. See condvar(9).

     Kernel lock functions. See lock(9).

     Memory barriers. See mb(9).

     Mutual exclusion primitives. See mutex(9).

     Restartable atomic sequences. See ras(9).

     Reader / writer lock primitives. See rwlock(9).

     Functions to modify system interrupt priority level. See spl(9).

SSEECCUURRIITTYY
     Kernel authorization framework. See kauth(9).

     API for cryptographic services in the kernel. See opencrypto(9).

     Security model development guidelines. See secmodel(9).

PPRROOCCEESSSS MMAANNAAGGEEMMEENNTT
     Process scheduling subsystem. See scheduler(9).

     New processes and kernel threads. See fork1(9), kthread(9).

FFIILLEE SSYYSSTTEEMMSS
     Kernel interface to file systems. See vfs(9).

     Operations on file entries. See file(9).

     In-kernel, file-system independent, file-meta data association. See
     fileassoc(9).

     Pathname lookup and cache. See namei(9), namecache(9).

DDEEVVIICCEESS AANNDD DDRRIIVVEERR SSUUBBSSYYSSTTEEMMSS
     Interface between low and high level audio drivers. See audio(9).

     Bluetooth Device/Protocol API. See bluetooth(9).

     Support for CardBus PC-Card devices. See cardbus(9).

     VESA Display Data Channel V2. See ddc(9).

     Description of a device driver. See driver(9).

     Firmware loader API for device drivers. See firmware(9).

     Core 802.11 network stack functions. See ieee80211(9).

     Inter IC (I2C) bus. See iic(9).

     Baseboard I/O control ASIC for DEC TURBOchannel systems. See ioasic(9).

     MicroChannel Architecture bus. See mca(9).

     Support for PCMCIA PC-Card devices. See pcmcia(9).

     User-space interface to ppbus parallel port. See ppi(9).

     Interface between low and high level radio drivers. See radio(9).

     SCSI/ATAPI middle-layer interface. See scsipi(9).

     Machine-independent IDE/ATAPI driver. See wdc(9).

     Versa Module Euroboard bus. See vme(9).

OOTTHHEERR KKEERRNNEELL SSUUBBSSYYSSTTEEMMSS
     Autoconfiguration frame-work. See autoconf(9).

     Buffer cache interfaces. See buffercache(9).

     Device buffer queues. See bufq(9).

     Execute a function after a specified length of time. See callout(9).

     Generic disk framework. See disk(9).

     Disk label management routines. See disklabel(9).

     Kernel internal error numbers. See errno(9).

     Continuation-passing framework for deferring execution and for notifica-
     tion of asynchronous events. See kcont(9).

     Kernel formatted output conversion. See kprintf(9).

     Software signal facilities. See signal(9).

     System variable control interfaces. See sysctl(9).

     System time variables. See timecounter(9).

     Simple do-it-in-thread-context framework. See workqueue(9).

     Machine-independent console support. See wscons(9).

HHIISSTTOORRYY
     The NetBSD kernel internals section first appeared in NetBSD 1.2.

NetBSD 3.0_STABLE                May 21, 1997                NetBSD 3.0_STABLE

--Multipart=_Sat__17_Feb_2007_02_53_58_+0200_Cu07wMK0Ao2e0hi.--