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