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