xref: /openbmc/linux/Documentation/core-api/index.rst (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
124755a55SSilvio Fricke======================
293dc3a11SJonathan CorbetCore API Documentation
324755a55SSilvio Fricke======================
424755a55SSilvio Fricke
593dc3a11SJonathan CorbetThis is the beginning of a manual for core kernel APIs.  The conversion
693dc3a11SJonathan Corbet(and writing!) of documents for this manual is much appreciated!
793dc3a11SJonathan Corbet
893dc3a11SJonathan CorbetCore utilities
993dc3a11SJonathan Corbet==============
1024755a55SSilvio Fricke
115e720172SJonathan CorbetThis section has general and "core core" documentation.  The first is a
125e720172SJonathan Corbetmassive grab-bag of kerneldoc info left over from the docbook days; it
135e720172SJonathan Corbetshould really be broken up someday when somebody finds the energy to do
145e720172SJonathan Corbetit.
155e720172SJonathan Corbet
1624755a55SSilvio Fricke.. toctree::
1724755a55SSilvio Fricke   :maxdepth: 1
1824755a55SSilvio Fricke
19baca8a0cSMauro Carvalho Chehab   kernel-api
205e720172SJonathan Corbet   workqueue
21f5461124SRandy Dunlap   watch_queue
2290c165f0SRicardo Cañuelo   printk-basics
235e720172SJonathan Corbet   printk-formats
24a5c7a39fSPetr Mladek   printk-index
255e720172SJonathan Corbet   symbol-namespaces
26f4bf1cd4SJonathan Corbet   asm-annotations
275e720172SJonathan Corbet
285e720172SJonathan CorbetData structures and low-level utilities
295e720172SJonathan Corbet=======================================
305e720172SJonathan Corbet
315e720172SJonathan CorbetLibrary functionality that is used throughout the kernel.
325e720172SJonathan Corbet
335e720172SJonathan Corbet.. toctree::
345e720172SJonathan Corbet   :maxdepth: 1
355e720172SJonathan Corbet
365fed00dcSSameer Rahmani   kobject
371ac00669SMauro Carvalho Chehab   kref
38c3cbf1a7SSilvio Fricke   assoc_array
39992a8e60SMatthew Wilcox   xarray
4054a611b6SLiam R. Howlett   maple_tree
415e720172SJonathan Corbet   idr
42d8a121e3SMauro Carvalho Chehab   circular-buffers
4314bbe3e3SMatthew Wilcox (Oracle)   rbtree
44ba20ba2eSKent Overstreet   generic-radix-tree
455e720172SJonathan Corbet   packing
46c9b54d6fSMauro Carvalho Chehab   this_cpu_ops
475e720172SJonathan Corbet   timekeeping
485e720172SJonathan Corbet   errseq
49e40573a4SJonathan Corbet   wrappers/atomic_t
50e40573a4SJonathan Corbet   wrappers/atomic_bitops
515e720172SJonathan Corbet
52bf026e2eSThomas GleixnerLow level entry and exit
53bf026e2eSThomas Gleixner========================
54bf026e2eSThomas Gleixner
55bf026e2eSThomas Gleixner.. toctree::
56bf026e2eSThomas Gleixner   :maxdepth: 1
57bf026e2eSThomas Gleixner
58bf026e2eSThomas Gleixner   entry
59bf026e2eSThomas Gleixner
605e720172SJonathan CorbetConcurrency primitives
615e720172SJonathan Corbet======================
625e720172SJonathan Corbet
635e720172SJonathan CorbetHow Linux keeps everything from happening at the same time.  See
64a822b2eeSMauro Carvalho ChehabDocumentation/locking/index.rst for more related documentation.
655e720172SJonathan Corbet
665e720172SJonathan Corbet.. toctree::
675e720172SJonathan Corbet   :maxdepth: 1
685e720172SJonathan Corbet
695e720172SJonathan Corbet   refcount-vs-atomic
70e00b0ab8SMauro Carvalho Chehab   irq/index
715e720172SJonathan Corbet   local_ops
725e720172SJonathan Corbet   padata
735e720172SJonathan Corbet   ../RCU/index
74e40573a4SJonathan Corbet   wrappers/memory-barriers.rst
755e720172SJonathan Corbet
765e720172SJonathan CorbetLow-level hardware management
775e720172SJonathan Corbet=============================
785e720172SJonathan Corbet
795e720172SJonathan CorbetCache management, managing CPU hotplug, etc.
805e720172SJonathan Corbet
815e720172SJonathan Corbet.. toctree::
825e720172SJonathan Corbet   :maxdepth: 1
835e720172SJonathan Corbet
845e720172SJonathan Corbet   cachetlb
855e720172SJonathan Corbet   cpu_hotplug
865e720172SJonathan Corbet   memory-hotplug
875e720172SJonathan Corbet   genericirq
885e720172SJonathan Corbet   protection-keys
895e720172SJonathan Corbet
905e720172SJonathan CorbetMemory management
915e720172SJonathan Corbet=================
925e720172SJonathan Corbet
935e720172SJonathan CorbetHow to allocate and use memory in the kernel.  Note that there is a lot
94ee65728eSMike Rapoportmore memory-management documentation in Documentation/mm/index.rst.
955e720172SJonathan Corbet
965e720172SJonathan Corbet.. toctree::
975e720172SJonathan Corbet   :maxdepth: 1
985e720172SJonathan Corbet
9952272c92SMike Rapoport   memory-allocation
100c9b54d6fSMauro Carvalho Chehab   unaligned-memory-access
101728c1471SMauro Carvalho Chehab   dma-api
102728c1471SMauro Carvalho Chehab   dma-api-howto
103728c1471SMauro Carvalho Chehab   dma-attributes
104728c1471SMauro Carvalho Chehab   dma-isa-lpc
10541f35b39SMike Rapoport   mm-api
1065e720172SJonathan Corbet   genalloc
107eddb1c22SJohn Hubbard   pin_user_pages
108ae9d8845SMike Rapoport   boot-time-mm
1095e720172SJonathan Corbet   gfp_mask-from-fs-io
110e7f08ffbSSilvio Fricke
11193dc3a11SJonathan CorbetInterfaces for kernel debugging
11293dc3a11SJonathan Corbet===============================
11393dc3a11SJonathan Corbet
11493dc3a11SJonathan Corbet.. toctree::
11593dc3a11SJonathan Corbet   :maxdepth: 1
11693dc3a11SJonathan Corbet
11793dc3a11SJonathan Corbet   debug-objects
118d6ba7a9cSJonathan Corbet   tracepoint
119a74e2a22SMauro Carvalho Chehab   debugging-via-ohci1394
12093dc3a11SJonathan Corbet
1215e720172SJonathan CorbetEverything else
1225e720172SJonathan Corbet===============
1235e720172SJonathan Corbet
1245e720172SJonathan CorbetDocuments that don't fit elsewhere or which have yet to be categorized.
1255e720172SJonathan Corbet
1265e720172SJonathan Corbet.. toctree::
1275e720172SJonathan Corbet   :maxdepth: 1
1285e720172SJonathan Corbet
1295e720172SJonathan Corbet   librs
130*9d6a6507SJakub Kicinski   netlink
1315e720172SJonathan Corbet
1329c970ab5SMauro Carvalho Chehab.. only:: subproject and html
13324755a55SSilvio Fricke
13424755a55SSilvio Fricke   Indices
13524755a55SSilvio Fricke   =======
13624755a55SSilvio Fricke
13724755a55SSilvio Fricke   * :ref:`genindex`
138