Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / Documentation / translations / zh_CN / core-api / kernel-api.rst
bloba1ea7081077cee1a63565326d729c772871ba25a
1 .. include:: ../disclaimer-zh_CN.rst
3 :Original: Documentation/core-api/kernel-api.rst
5 :翻译:
7  司延腾 Yanteng Si <siyanteng@loongson.cn>
8  周彬彬 Binbin Zhou <zhoubinbin@loongson.cn>
10 .. _cn_kernel-api.rst:
12 ============
13 Linux内核API
14 ============
17 列表管理函数
18 ============
20 该API在以下内核代码中:
22 include/linux/list.h
24 基本的C库函数
25 =============
27 在编写驱动程序时,一般不能使用C库中的例程。部分函数通常很有用,它们在
28 下面被列出。这些函数的行为可能会与ANSI定义的略有不同,这些偏差会在文中
29 注明。
31 字符串转换
32 ----------
34 该API在以下内核代码中:
36 lib/vsprintf.c
38 include/linux/kernel.h
40 include/linux/kernel.h
42 lib/kstrtox.c
44 lib/string_helpers.c
46 字符串处理
47 ----------
49 该API在以下内核代码中:
51 include/linux/fortify-string.h
53 lib/string.c
55 include/linux/string.h
57 mm/util.c
59 基本的内核库函数
60 ================
62 Linux内核提供了很多实用的基本函数。
64 位运算
65 ------
67 该API在以下内核代码中:
69 include/asm-generic/bitops/instrumented-atomic.h
71 include/asm-generic/bitops/instrumented-non-atomic.h
73 include/asm-generic/bitops/instrumented-lock.h
75 位图运算
76 --------
78 该API在以下内核代码中:
80 lib/bitmap.c
82 include/linux/bitmap.h
84 include/linux/bitmap.h
86 include/linux/bitmap.h
88 lib/bitmap.c
90 lib/bitmap.c
92 include/linux/bitmap.h
94 命令行解析
95 ----------
97 该API在以下内核代码中:
99 lib/cmdline.c
101 排序
102 ----
104 该API在以下内核代码中:
106 lib/sort.c
108 lib/list_sort.c
110 文本检索
111 --------
113 该API在以下内核代码中:
115 lib/textsearch.c
117 lib/textsearch.c
119 include/linux/textsearch.h
121 Linux中的CRC和数学函数
122 ======================
124 算术溢出检查
125 ------------
127 该API在以下内核代码中:
129 include/linux/overflow.h
131 CRC函数
132 -------
134 *译注:CRC,Cyclic Redundancy Check,循环冗余校验*
136 该API在以下内核代码中:
138 lib/crc4.c
140 lib/crc7.c
142 lib/crc8.c
144 lib/crc16.c
146 lib/crc32.c
148 lib/crc-ccitt.c
150 lib/crc-itu-t.c
152 基数为2的对数和幂函数
153 ---------------------
155 该API在以下内核代码中:
157 include/linux/log2.h
159 整数幂函数
160 ----------
162 该API在以下内核代码中:
164 lib/math/int_pow.c
166 lib/math/int_sqrt.c
168 除法函数
169 --------
171 该API在以下内核代码中:
173 include/asm-generic/div64.h
175 include/linux/math64.h
177 lib/math/gcd.c
179 UUID/GUID
180 ---------
182 该API在以下内核代码中:
184 lib/uuid.c
186 内核IPC设备
187 ===========
189 IPC实用程序
190 -----------
192 该API在以下内核代码中:
194 ipc/util.c
196 FIFO 缓冲区
197 ===========
199 kfifo接口
200 ---------
202 该API在以下内核代码中:
204 include/linux/kfifo.h
206 转发接口支持
207 ============
209 转发接口支持旨在为工具和设备提供一种有效的机制,将大量数据从内核空间
210 转发到用户空间。
212 转发接口
213 --------
215 该API在以下内核代码中:
217 kernel/relay.c
219 kernel/relay.c
221 模块支持
222 ========
224 模块加载
225 --------
227 该API在以下内核代码中:
229 kernel/module/kmod.c
231 模块接口支持
232 ------------
234 更多信息请参阅kernel/module/目录下的文件。
236 硬件接口
237 ========
240 该API在以下内核代码中:
242 kernel/dma.c
244 资源管理
245 --------
247 该API在以下内核代码中:
249 kernel/resource.c
251 kernel/resource.c
253 MTRR处理
254 --------
256 该API在以下内核代码中:
258 arch/x86/kernel/cpu/mtrr/mtrr.c
260 安全框架
261 ========
263 该API在以下内核代码中:
265 security/security.c
267 security/inode.c
269 审计接口
270 ========
272 该API在以下内核代码中:
274 kernel/audit.c
276 kernel/auditsc.c
278 kernel/auditfilter.c
280 核算框架
281 ========
283 该API在以下内核代码中:
285 kernel/acct.c
287 块设备
288 ======
290 该API在以下内核代码中:
292 include/linux/bio.h
294 block/blk-core.c
296 block/blk-core.c
298 block/blk-map.c
300 block/blk-sysfs.c
302 block/blk-settings.c
304 block/blk-flush.c
306 block/blk-lib.c
308 block/blk-integrity.c
310 kernel/trace/blktrace.c
312 block/genhd.c
314 block/genhd.c
316 字符设备
317 ========
319 该API在以下内核代码中:
321 fs/char_dev.c
323 时钟框架
324 ========
326 时钟框架定义了编程接口,以支持系统时钟树的软件管理。该框架广泛用于系统级芯片(SOC)平
327 台,以支持电源管理和各种可能需要自定义时钟速率的设备。请注意,这些 “时钟”与计时或实
328 时时钟(RTC)无关,它们都有单独的框架。这些:c:type: `struct clk <clk>` 实例可用于管理
329 各种时钟信号,例如一个96理例如96MHz的时钟信号,该信号可被用于总线或外设的数据交换,或以
330 其他方式触发系统硬件中的同步状态机转换。
332 通过明确的软件时钟门控来支持电源管理:未使用的时钟被禁用,因此系统不会因为改变不在使用
333 中的晶体管的状态而浪费电源。在某些系统中,这可能是由硬件时钟门控支持的,其中时钟被门控
334 而不在软件中被禁用。芯片的部分,在供电但没有时钟的情况下,可能会保留其最后的状态。这种
335 低功耗状态通常被称为*保留模式*。这种模式仍然会产生漏电流,特别是在电路几何结构较细的情
336 况下,但对于CMOS电路来说,电能主要是随着时钟翻转而被消耗的。
338 电源感知驱动程序只有在其管理的设备处于活动使用状态时才会启用时钟。此外,系统睡眠状态通
339 常根据哪些时钟域处于活动状态而有所不同:“待机”状态可能允许从多个活动域中唤醒,而
340 "mem"(暂停到RAM)状态可能需要更全面地关闭来自高速PLL和振荡器的时钟,从而限制了可能
341 的唤醒事件源的数量。驱动器的暂停方法可能需要注意目标睡眠状态的系统特定时钟约束。
343 一些平台支持可编程时钟发生器。这些可以被各种外部芯片使用,如其他CPU、多媒体编解码器以
344 及对接口时钟有严格要求的设备。
346 该API在以下内核代码中:
348 include/linux/clk.h
350 同步原语
351 ========
353 读-复制-更新(RCU)
354 -------------------
356 该API在以下内核代码中:
358 include/linux/rcupdate.h
360 kernel/rcu/tree.c
362 kernel/rcu/tree_exp.h
364 kernel/rcu/update.c
366 include/linux/srcu.h
368 kernel/rcu/srcutree.c
370 include/linux/rculist_bl.h
372 include/linux/rculist.h
374 include/linux/rculist_nulls.h
376 include/linux/rcu_sync.h
378 kernel/rcu/sync.c