1*4882a593Smuzhiyun====================== 2*4882a593SmuzhiyunCore API Documentation 3*4882a593Smuzhiyun====================== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThis is the beginning of a manual for core kernel APIs. The conversion 6*4882a593Smuzhiyun(and writing!) of documents for this manual is much appreciated! 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunCore utilities 9*4882a593Smuzhiyun============== 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunThis section has general and "core core" documentation. The first is a 12*4882a593Smuzhiyunmassive grab-bag of kerneldoc info left over from the docbook days; it 13*4882a593Smuzhiyunshould really be broken up someday when somebody finds the energy to do 14*4882a593Smuzhiyunit. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun.. toctree:: 17*4882a593Smuzhiyun :maxdepth: 1 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun kernel-api 20*4882a593Smuzhiyun workqueue 21*4882a593Smuzhiyun printk-basics 22*4882a593Smuzhiyun printk-formats 23*4882a593Smuzhiyun symbol-namespaces 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunData structures and low-level utilities 26*4882a593Smuzhiyun======================================= 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunLibrary functionality that is used throughout the kernel. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun.. toctree:: 31*4882a593Smuzhiyun :maxdepth: 1 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun kobject 34*4882a593Smuzhiyun kref 35*4882a593Smuzhiyun assoc_array 36*4882a593Smuzhiyun xarray 37*4882a593Smuzhiyun idr 38*4882a593Smuzhiyun circular-buffers 39*4882a593Smuzhiyun rbtree 40*4882a593Smuzhiyun generic-radix-tree 41*4882a593Smuzhiyun packing 42*4882a593Smuzhiyun bus-virt-phys-mapping 43*4882a593Smuzhiyun this_cpu_ops 44*4882a593Smuzhiyun timekeeping 45*4882a593Smuzhiyun errseq 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunConcurrency primitives 48*4882a593Smuzhiyun====================== 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunHow Linux keeps everything from happening at the same time. See 51*4882a593Smuzhiyun:doc:`/locking/index` for more related documentation. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun.. toctree:: 54*4882a593Smuzhiyun :maxdepth: 1 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun atomic_ops 57*4882a593Smuzhiyun refcount-vs-atomic 58*4882a593Smuzhiyun irq/index 59*4882a593Smuzhiyun local_ops 60*4882a593Smuzhiyun padata 61*4882a593Smuzhiyun ../RCU/index 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunLow-level hardware management 64*4882a593Smuzhiyun============================= 65*4882a593Smuzhiyun 66*4882a593SmuzhiyunCache management, managing CPU hotplug, etc. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun.. toctree:: 69*4882a593Smuzhiyun :maxdepth: 1 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun cachetlb 72*4882a593Smuzhiyun cpu_hotplug 73*4882a593Smuzhiyun memory-hotplug 74*4882a593Smuzhiyun genericirq 75*4882a593Smuzhiyun protection-keys 76*4882a593Smuzhiyun 77*4882a593SmuzhiyunMemory management 78*4882a593Smuzhiyun================= 79*4882a593Smuzhiyun 80*4882a593SmuzhiyunHow to allocate and use memory in the kernel. Note that there is a lot 81*4882a593Smuzhiyunmore memory-management documentation in :doc:`/vm/index`. 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun.. toctree:: 84*4882a593Smuzhiyun :maxdepth: 1 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun memory-allocation 87*4882a593Smuzhiyun unaligned-memory-access 88*4882a593Smuzhiyun dma-api 89*4882a593Smuzhiyun dma-api-howto 90*4882a593Smuzhiyun dma-attributes 91*4882a593Smuzhiyun dma-isa-lpc 92*4882a593Smuzhiyun mm-api 93*4882a593Smuzhiyun genalloc 94*4882a593Smuzhiyun pin_user_pages 95*4882a593Smuzhiyun boot-time-mm 96*4882a593Smuzhiyun gfp_mask-from-fs-io 97*4882a593Smuzhiyun 98*4882a593SmuzhiyunInterfaces for kernel debugging 99*4882a593Smuzhiyun=============================== 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun.. toctree:: 102*4882a593Smuzhiyun :maxdepth: 1 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun debug-objects 105*4882a593Smuzhiyun tracepoint 106*4882a593Smuzhiyun debugging-via-ohci1394 107*4882a593Smuzhiyun 108*4882a593SmuzhiyunEverything else 109*4882a593Smuzhiyun=============== 110*4882a593Smuzhiyun 111*4882a593SmuzhiyunDocuments that don't fit elsewhere or which have yet to be categorized. 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun.. toctree:: 114*4882a593Smuzhiyun :maxdepth: 1 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun librs 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun.. only:: subproject and html 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun Indices 121*4882a593Smuzhiyun ======= 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun * :ref:`genindex` 124