xref: /linux/Documentation/core-api/index.rst (revision c060f8168bdf22aa986970955af99702d142dfbe)
1======================
2Core API Documentation
3======================
4
5This is the beginning of a manual for core kernel APIs.  The conversion
6(and writing!) of documents for this manual is much appreciated!
7
8Core utilities
9==============
10
11This section has general and "core core" documentation.  The first is a
12massive grab-bag of kerneldoc info left over from the docbook days; it
13should really be broken up someday when somebody finds the energy to do
14it.
15
16.. toctree::
17   :maxdepth: 1
18
19   kernel-api
20   workqueue
21   watch_queue
22   printk-basics
23   printk-formats
24   printk-index
25   symbol-namespaces
26   asm-annotations
27
28Data structures and low-level utilities
29=======================================
30
31Library functionality that is used throughout the kernel.
32
33.. toctree::
34   :maxdepth: 1
35
36   kobject
37   kref
38   cleanup
39   assoc_array
40   folio_queue
41   xarray
42   maple_tree
43   idr
44   circular-buffers
45   rbtree
46   generic-radix-tree
47   packing
48   this_cpu_ops
49   timekeeping
50   errseq
51   wrappers/atomic_t
52   wrappers/atomic_bitops
53   floating-point
54   union_find
55
56Low level entry and exit
57========================
58
59.. toctree::
60   :maxdepth: 1
61
62   entry
63
64Concurrency primitives
65======================
66
67How Linux keeps everything from happening at the same time.  See
68Documentation/locking/index.rst for more related documentation.
69
70.. toctree::
71   :maxdepth: 1
72
73   refcount-vs-atomic
74   irq/index
75   local_ops
76   padata
77   ../RCU/index
78   wrappers/memory-barriers.rst
79
80Low-level hardware management
81=============================
82
83Cache management, managing CPU hotplug, etc.
84
85.. toctree::
86   :maxdepth: 1
87
88   cachetlb
89   cpu_hotplug
90   memory-hotplug
91   genericirq
92   protection-keys
93
94Memory management
95=================
96
97How to allocate and use memory in the kernel.  Note that there is a lot
98more memory-management documentation in Documentation/mm/index.rst.
99
100.. toctree::
101   :maxdepth: 1
102
103   memory-allocation
104   unaligned-memory-access
105   dma-api
106   dma-api-howto
107   dma-attributes
108   dma-isa-lpc
109   swiotlb
110   mm-api
111   genalloc
112   pin_user_pages
113   boot-time-mm
114   gfp_mask-from-fs-io
115
116Interfaces for kernel debugging
117===============================
118
119.. toctree::
120   :maxdepth: 1
121
122   debug-objects
123   tracepoint
124   debugging-via-ohci1394
125
126Everything else
127===============
128
129Documents that don't fit elsewhere or which have yet to be categorized.
130
131.. toctree::
132   :maxdepth: 1
133
134   librs
135   netlink
136
137.. only:: subproject and html
138
139   Indices
140   =======
141
142   * :ref:`genindex`
143