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