162306a36Sopenharmony_ci======================
262306a36Sopenharmony_ciCore API Documentation
362306a36Sopenharmony_ci======================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciThis is the beginning of a manual for core kernel APIs.  The conversion
662306a36Sopenharmony_ci(and writing!) of documents for this manual is much appreciated!
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciCore utilities
962306a36Sopenharmony_ci==============
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciThis section has general and "core core" documentation.  The first is a
1262306a36Sopenharmony_cimassive grab-bag of kerneldoc info left over from the docbook days; it
1362306a36Sopenharmony_cishould really be broken up someday when somebody finds the energy to do
1462306a36Sopenharmony_ciit.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci.. toctree::
1762306a36Sopenharmony_ci   :maxdepth: 1
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci   kernel-api
2062306a36Sopenharmony_ci   workqueue
2162306a36Sopenharmony_ci   watch_queue
2262306a36Sopenharmony_ci   printk-basics
2362306a36Sopenharmony_ci   printk-formats
2462306a36Sopenharmony_ci   printk-index
2562306a36Sopenharmony_ci   symbol-namespaces
2662306a36Sopenharmony_ci   asm-annotations
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciData structures and low-level utilities
2962306a36Sopenharmony_ci=======================================
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciLibrary functionality that is used throughout the kernel.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci.. toctree::
3462306a36Sopenharmony_ci   :maxdepth: 1
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci   kobject
3762306a36Sopenharmony_ci   kref
3862306a36Sopenharmony_ci   assoc_array
3962306a36Sopenharmony_ci   xarray
4062306a36Sopenharmony_ci   maple_tree
4162306a36Sopenharmony_ci   idr
4262306a36Sopenharmony_ci   circular-buffers
4362306a36Sopenharmony_ci   rbtree
4462306a36Sopenharmony_ci   generic-radix-tree
4562306a36Sopenharmony_ci   packing
4662306a36Sopenharmony_ci   this_cpu_ops
4762306a36Sopenharmony_ci   timekeeping
4862306a36Sopenharmony_ci   errseq
4962306a36Sopenharmony_ci   wrappers/atomic_t
5062306a36Sopenharmony_ci   wrappers/atomic_bitops
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciLow level entry and exit
5362306a36Sopenharmony_ci========================
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci.. toctree::
5662306a36Sopenharmony_ci   :maxdepth: 1
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci   entry
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciConcurrency primitives
6162306a36Sopenharmony_ci======================
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciHow Linux keeps everything from happening at the same time.  See
6462306a36Sopenharmony_ciDocumentation/locking/index.rst for more related documentation.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci.. toctree::
6762306a36Sopenharmony_ci   :maxdepth: 1
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci   refcount-vs-atomic
7062306a36Sopenharmony_ci   irq/index
7162306a36Sopenharmony_ci   local_ops
7262306a36Sopenharmony_ci   padata
7362306a36Sopenharmony_ci   ../RCU/index
7462306a36Sopenharmony_ci   wrappers/memory-barriers.rst
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciLow-level hardware management
7762306a36Sopenharmony_ci=============================
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciCache management, managing CPU hotplug, etc.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci.. toctree::
8262306a36Sopenharmony_ci   :maxdepth: 1
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci   cachetlb
8562306a36Sopenharmony_ci   cpu_hotplug
8662306a36Sopenharmony_ci   memory-hotplug
8762306a36Sopenharmony_ci   genericirq
8862306a36Sopenharmony_ci   protection-keys
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ciMemory management
9162306a36Sopenharmony_ci=================
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciHow to allocate and use memory in the kernel.  Note that there is a lot
9462306a36Sopenharmony_cimore memory-management documentation in Documentation/mm/index.rst.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci.. toctree::
9762306a36Sopenharmony_ci   :maxdepth: 1
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci   memory-allocation
10062306a36Sopenharmony_ci   unaligned-memory-access
10162306a36Sopenharmony_ci   dma-api
10262306a36Sopenharmony_ci   dma-api-howto
10362306a36Sopenharmony_ci   dma-attributes
10462306a36Sopenharmony_ci   dma-isa-lpc
10562306a36Sopenharmony_ci   mm-api
10662306a36Sopenharmony_ci   genalloc
10762306a36Sopenharmony_ci   pin_user_pages
10862306a36Sopenharmony_ci   boot-time-mm
10962306a36Sopenharmony_ci   gfp_mask-from-fs-io
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciInterfaces for kernel debugging
11262306a36Sopenharmony_ci===============================
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci.. toctree::
11562306a36Sopenharmony_ci   :maxdepth: 1
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci   debug-objects
11862306a36Sopenharmony_ci   tracepoint
11962306a36Sopenharmony_ci   debugging-via-ohci1394
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciEverything else
12262306a36Sopenharmony_ci===============
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciDocuments that don't fit elsewhere or which have yet to be categorized.
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci.. toctree::
12762306a36Sopenharmony_ci   :maxdepth: 1
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci   librs
13062306a36Sopenharmony_ci   netlink
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci.. only:: subproject and html
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci   Indices
13562306a36Sopenharmony_ci   =======
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci   * :ref:`genindex`
138