xref: /OK3568_Linux_fs/kernel/Documentation/core-api/index.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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