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 34c3cbf1a7SSilvio Fricke assoc_array 35992a8e60SMatthew Wilcox xarray 365e720172SJonathan Corbet idr 37d8a121e3SMauro Carvalho Chehab circular-buffers 3814bbe3e3SMatthew Wilcox (Oracle) rbtree 39ba20ba2eSKent Overstreet generic-radix-tree 405e720172SJonathan Corbet packing 415e720172SJonathan Corbet timekeeping 425e720172SJonathan Corbet errseq 435e720172SJonathan Corbet 445e720172SJonathan CorbetConcurrency primitives 455e720172SJonathan Corbet====================== 465e720172SJonathan Corbet 475e720172SJonathan CorbetHow Linux keeps everything from happening at the same time. See 485e720172SJonathan Corbet:doc:`/locking/index` for more related documentation. 495e720172SJonathan Corbet 505e720172SJonathan Corbet.. toctree:: 515e720172SJonathan Corbet :maxdepth: 1 525e720172SJonathan Corbet 535e720172SJonathan Corbet atomic_ops 545e720172SJonathan Corbet refcount-vs-atomic 55*e00b0ab8SMauro Carvalho Chehab irq/index 565e720172SJonathan Corbet local_ops 575e720172SJonathan Corbet padata 585e720172SJonathan Corbet ../RCU/index 595e720172SJonathan Corbet 605e720172SJonathan CorbetLow-level hardware management 615e720172SJonathan Corbet============================= 625e720172SJonathan Corbet 635e720172SJonathan CorbetCache management, managing CPU hotplug, etc. 645e720172SJonathan Corbet 655e720172SJonathan Corbet.. toctree:: 665e720172SJonathan Corbet :maxdepth: 1 675e720172SJonathan Corbet 685e720172SJonathan Corbet cachetlb 695e720172SJonathan Corbet cpu_hotplug 705e720172SJonathan Corbet memory-hotplug 715e720172SJonathan Corbet genericirq 725e720172SJonathan Corbet protection-keys 735e720172SJonathan Corbet 745e720172SJonathan CorbetMemory management 755e720172SJonathan Corbet================= 765e720172SJonathan Corbet 775e720172SJonathan CorbetHow to allocate and use memory in the kernel. Note that there is a lot 785e720172SJonathan Corbetmore memory-management documentation in :doc:`/vm/index`. 795e720172SJonathan Corbet 805e720172SJonathan Corbet.. toctree:: 815e720172SJonathan Corbet :maxdepth: 1 825e720172SJonathan Corbet 8352272c92SMike Rapoport memory-allocation 84728c1471SMauro Carvalho Chehab dma-api 85728c1471SMauro Carvalho Chehab dma-api-howto 86728c1471SMauro Carvalho Chehab dma-attributes 87728c1471SMauro Carvalho Chehab dma-isa-lpc 8841f35b39SMike Rapoport mm-api 895e720172SJonathan Corbet genalloc 90eddb1c22SJohn Hubbard pin_user_pages 91ae9d8845SMike Rapoport boot-time-mm 925e720172SJonathan Corbet gfp_mask-from-fs-io 93e7f08ffbSSilvio Fricke 9493dc3a11SJonathan CorbetInterfaces for kernel debugging 9593dc3a11SJonathan Corbet=============================== 9693dc3a11SJonathan Corbet 9793dc3a11SJonathan Corbet.. toctree:: 9893dc3a11SJonathan Corbet :maxdepth: 1 9993dc3a11SJonathan Corbet 10093dc3a11SJonathan Corbet debug-objects 101d6ba7a9cSJonathan Corbet tracepoint 102a74e2a22SMauro Carvalho Chehab debugging-via-ohci1394 10393dc3a11SJonathan Corbet 1045e720172SJonathan CorbetEverything else 1055e720172SJonathan Corbet=============== 1065e720172SJonathan Corbet 1075e720172SJonathan CorbetDocuments that don't fit elsewhere or which have yet to be categorized. 1085e720172SJonathan Corbet 1095e720172SJonathan Corbet.. toctree:: 1105e720172SJonathan Corbet :maxdepth: 1 1115e720172SJonathan Corbet 1125e720172SJonathan Corbet librs 1135e720172SJonathan Corbet 1149c970ab5SMauro Carvalho Chehab.. only:: subproject and html 11524755a55SSilvio Fricke 11624755a55SSilvio Fricke Indices 11724755a55SSilvio Fricke ======= 11824755a55SSilvio Fricke 11924755a55SSilvio Fricke * :ref:`genindex` 120