18c2ecf20Sopenharmony_ci====================== 28c2ecf20Sopenharmony_ciCore API Documentation 38c2ecf20Sopenharmony_ci====================== 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciThis is the beginning of a manual for core kernel APIs. The conversion 68c2ecf20Sopenharmony_ci(and writing!) of documents for this manual is much appreciated! 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciCore utilities 98c2ecf20Sopenharmony_ci============== 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciThis section has general and "core core" documentation. The first is a 128c2ecf20Sopenharmony_cimassive grab-bag of kerneldoc info left over from the docbook days; it 138c2ecf20Sopenharmony_cishould really be broken up someday when somebody finds the energy to do 148c2ecf20Sopenharmony_ciit. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci.. toctree:: 178c2ecf20Sopenharmony_ci :maxdepth: 1 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci kernel-api 208c2ecf20Sopenharmony_ci workqueue 218c2ecf20Sopenharmony_ci printk-basics 228c2ecf20Sopenharmony_ci printk-formats 238c2ecf20Sopenharmony_ci symbol-namespaces 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciData structures and low-level utilities 268c2ecf20Sopenharmony_ci======================================= 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciLibrary functionality that is used throughout the kernel. 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci.. toctree:: 318c2ecf20Sopenharmony_ci :maxdepth: 1 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci kobject 348c2ecf20Sopenharmony_ci kref 358c2ecf20Sopenharmony_ci assoc_array 368c2ecf20Sopenharmony_ci xarray 378c2ecf20Sopenharmony_ci idr 388c2ecf20Sopenharmony_ci circular-buffers 398c2ecf20Sopenharmony_ci rbtree 408c2ecf20Sopenharmony_ci generic-radix-tree 418c2ecf20Sopenharmony_ci packing 428c2ecf20Sopenharmony_ci bus-virt-phys-mapping 438c2ecf20Sopenharmony_ci this_cpu_ops 448c2ecf20Sopenharmony_ci timekeeping 458c2ecf20Sopenharmony_ci errseq 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciConcurrency primitives 488c2ecf20Sopenharmony_ci====================== 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciHow Linux keeps everything from happening at the same time. See 518c2ecf20Sopenharmony_ci:doc:`/locking/index` for more related documentation. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci.. toctree:: 548c2ecf20Sopenharmony_ci :maxdepth: 1 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci atomic_ops 578c2ecf20Sopenharmony_ci refcount-vs-atomic 588c2ecf20Sopenharmony_ci irq/index 598c2ecf20Sopenharmony_ci local_ops 608c2ecf20Sopenharmony_ci padata 618c2ecf20Sopenharmony_ci ../RCU/index 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciLow-level hardware management 648c2ecf20Sopenharmony_ci============================= 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciCache management, managing CPU hotplug, etc. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci.. toctree:: 698c2ecf20Sopenharmony_ci :maxdepth: 1 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci cachetlb 728c2ecf20Sopenharmony_ci cpu_hotplug 738c2ecf20Sopenharmony_ci memory-hotplug 748c2ecf20Sopenharmony_ci genericirq 758c2ecf20Sopenharmony_ci protection-keys 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciMemory management 788c2ecf20Sopenharmony_ci================= 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciHow to allocate and use memory in the kernel. Note that there is a lot 818c2ecf20Sopenharmony_cimore memory-management documentation in :doc:`/vm/index`. 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci.. toctree:: 848c2ecf20Sopenharmony_ci :maxdepth: 1 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci memory-allocation 878c2ecf20Sopenharmony_ci unaligned-memory-access 888c2ecf20Sopenharmony_ci dma-api 898c2ecf20Sopenharmony_ci dma-api-howto 908c2ecf20Sopenharmony_ci dma-attributes 918c2ecf20Sopenharmony_ci dma-isa-lpc 928c2ecf20Sopenharmony_ci mm-api 938c2ecf20Sopenharmony_ci genalloc 948c2ecf20Sopenharmony_ci pin_user_pages 958c2ecf20Sopenharmony_ci boot-time-mm 968c2ecf20Sopenharmony_ci gfp_mask-from-fs-io 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciInterfaces for kernel debugging 998c2ecf20Sopenharmony_ci=============================== 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci.. toctree:: 1028c2ecf20Sopenharmony_ci :maxdepth: 1 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci debug-objects 1058c2ecf20Sopenharmony_ci tracepoint 1068c2ecf20Sopenharmony_ci debugging-via-ohci1394 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciEverything else 1098c2ecf20Sopenharmony_ci=============== 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciDocuments that don't fit elsewhere or which have yet to be categorized. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci.. toctree:: 1148c2ecf20Sopenharmony_ci :maxdepth: 1 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci librs 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci.. only:: subproject and html 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci Indices 1218c2ecf20Sopenharmony_ci ======= 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci * :ref:`genindex` 124