xref: /linux/Documentation/core-api/index.rst (revision c7546e2c3cb739a3c1a2f5acaf9bb629d401afe5)
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   xarray
41   maple_tree
42   idr
43   circular-buffers
44   rbtree
45   generic-radix-tree
46   packing
47   this_cpu_ops
48   timekeeping
49   errseq
50   wrappers/atomic_t
51   wrappers/atomic_bitops
52   floating-point
53   union_find
54
55Low level entry and exit
56========================
57
58.. toctree::
59   :maxdepth: 1
60
61   entry
62
63Concurrency primitives
64======================
65
66How Linux keeps everything from happening at the same time.  See
67Documentation/locking/index.rst for more related documentation.
68
69.. toctree::
70   :maxdepth: 1
71
72   refcount-vs-atomic
73   irq/index
74   local_ops
75   padata
76   ../RCU/index
77   wrappers/memory-barriers.rst
78
79Low-level hardware management
80=============================
81
82Cache management, managing CPU hotplug, etc.
83
84.. toctree::
85   :maxdepth: 1
86
87   cachetlb
88   cpu_hotplug
89   memory-hotplug
90   genericirq
91   protection-keys
92
93Memory management
94=================
95
96How to allocate and use memory in the kernel.  Note that there is a lot
97more memory-management documentation in Documentation/mm/index.rst.
98
99.. toctree::
100   :maxdepth: 1
101
102   memory-allocation
103   unaligned-memory-access
104   dma-api
105   dma-api-howto
106   dma-attributes
107   dma-isa-lpc
108   swiotlb
109   mm-api
110   genalloc
111   pin_user_pages
112   boot-time-mm
113   gfp_mask-from-fs-io
114
115Interfaces for kernel debugging
116===============================
117
118.. toctree::
119   :maxdepth: 1
120
121   debug-objects
122   tracepoint
123   debugging-via-ohci1394
124
125Everything else
126===============
127
128Documents that don't fit elsewhere or which have yet to be categorized.
129
130.. toctree::
131   :maxdepth: 1
132
133   librs
134   netlink
135
136.. only:: subproject and html
137
138   Indices
139   =======
140
141   * :ref:`genindex`
142