xref: /openbmc/linux/Documentation/core-api/index.rst (revision 1ac00669c35e02c3ce3a5f7c02e65ac6edca6595)
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
2190c165f0SRicardo Cañuelo   printk-basics
225e720172SJonathan Corbet   printk-formats
235e720172SJonathan Corbet   symbol-namespaces
245e720172SJonathan Corbet
255e720172SJonathan CorbetData structures and low-level utilities
265e720172SJonathan Corbet=======================================
275e720172SJonathan Corbet
285e720172SJonathan CorbetLibrary functionality that is used throughout the kernel.
295e720172SJonathan Corbet
305e720172SJonathan Corbet.. toctree::
315e720172SJonathan Corbet   :maxdepth: 1
325e720172SJonathan Corbet
335fed00dcSSameer Rahmani   kobject
34*1ac00669SMauro Carvalho Chehab   kref
35c3cbf1a7SSilvio Fricke   assoc_array
36992a8e60SMatthew Wilcox   xarray
375e720172SJonathan Corbet   idr
38d8a121e3SMauro Carvalho Chehab   circular-buffers
3914bbe3e3SMatthew Wilcox (Oracle)   rbtree
40ba20ba2eSKent Overstreet   generic-radix-tree
415e720172SJonathan Corbet   packing
425e720172SJonathan Corbet   timekeeping
435e720172SJonathan Corbet   errseq
445e720172SJonathan Corbet
455e720172SJonathan CorbetConcurrency primitives
465e720172SJonathan Corbet======================
475e720172SJonathan Corbet
485e720172SJonathan CorbetHow Linux keeps everything from happening at the same time.  See
495e720172SJonathan Corbet:doc:`/locking/index` for more related documentation.
505e720172SJonathan Corbet
515e720172SJonathan Corbet.. toctree::
525e720172SJonathan Corbet   :maxdepth: 1
535e720172SJonathan Corbet
545e720172SJonathan Corbet   atomic_ops
555e720172SJonathan Corbet   refcount-vs-atomic
56e00b0ab8SMauro Carvalho Chehab   irq/index
575e720172SJonathan Corbet   local_ops
585e720172SJonathan Corbet   padata
595e720172SJonathan Corbet   ../RCU/index
605e720172SJonathan Corbet
615e720172SJonathan CorbetLow-level hardware management
625e720172SJonathan Corbet=============================
635e720172SJonathan Corbet
645e720172SJonathan CorbetCache management, managing CPU hotplug, etc.
655e720172SJonathan Corbet
665e720172SJonathan Corbet.. toctree::
675e720172SJonathan Corbet   :maxdepth: 1
685e720172SJonathan Corbet
695e720172SJonathan Corbet   cachetlb
705e720172SJonathan Corbet   cpu_hotplug
715e720172SJonathan Corbet   memory-hotplug
725e720172SJonathan Corbet   genericirq
735e720172SJonathan Corbet   protection-keys
745e720172SJonathan Corbet
755e720172SJonathan CorbetMemory management
765e720172SJonathan Corbet=================
775e720172SJonathan Corbet
785e720172SJonathan CorbetHow to allocate and use memory in the kernel.  Note that there is a lot
795e720172SJonathan Corbetmore memory-management documentation in :doc:`/vm/index`.
805e720172SJonathan Corbet
815e720172SJonathan Corbet.. toctree::
825e720172SJonathan Corbet   :maxdepth: 1
835e720172SJonathan Corbet
8452272c92SMike Rapoport   memory-allocation
85728c1471SMauro Carvalho Chehab   dma-api
86728c1471SMauro Carvalho Chehab   dma-api-howto
87728c1471SMauro Carvalho Chehab   dma-attributes
88728c1471SMauro Carvalho Chehab   dma-isa-lpc
8941f35b39SMike Rapoport   mm-api
905e720172SJonathan Corbet   genalloc
91eddb1c22SJohn Hubbard   pin_user_pages
92ae9d8845SMike Rapoport   boot-time-mm
935e720172SJonathan Corbet   gfp_mask-from-fs-io
94e7f08ffbSSilvio Fricke
9593dc3a11SJonathan CorbetInterfaces for kernel debugging
9693dc3a11SJonathan Corbet===============================
9793dc3a11SJonathan Corbet
9893dc3a11SJonathan Corbet.. toctree::
9993dc3a11SJonathan Corbet   :maxdepth: 1
10093dc3a11SJonathan Corbet
10193dc3a11SJonathan Corbet   debug-objects
102d6ba7a9cSJonathan Corbet   tracepoint
103a74e2a22SMauro Carvalho Chehab   debugging-via-ohci1394
10493dc3a11SJonathan Corbet
1055e720172SJonathan CorbetEverything else
1065e720172SJonathan Corbet===============
1075e720172SJonathan Corbet
1085e720172SJonathan CorbetDocuments that don't fit elsewhere or which have yet to be categorized.
1095e720172SJonathan Corbet
1105e720172SJonathan Corbet.. toctree::
1115e720172SJonathan Corbet   :maxdepth: 1
1125e720172SJonathan Corbet
1135e720172SJonathan Corbet   librs
1145e720172SJonathan Corbet
1159c970ab5SMauro Carvalho Chehab.. only:: subproject and html
11624755a55SSilvio Fricke
11724755a55SSilvio Fricke   Indices
11824755a55SSilvio Fricke   =======
11924755a55SSilvio Fricke
12024755a55SSilvio Fricke   * :ref:`genindex`
121