xref: /OK3568_Linux_fs/kernel/Documentation/translations/zh_CN/arm64/silicon-errata.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunChinese translated version of Documentation/arm64/silicon-errata.rst
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunIf you have any comment or update to the content, please contact the
4*4882a593Smuzhiyunoriginal document maintainer directly.  However, if you have a problem
5*4882a593Smuzhiyuncommunicating in English you can also ask the Chinese maintainer for
6*4882a593Smuzhiyunhelp.  Contact the Chinese maintainer if this translation is outdated
7*4882a593Smuzhiyunor if there is a problem with the translation.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunM:	Will Deacon <will.deacon@arm.com>
10*4882a593Smuzhiyunzh_CN:	Fu Wei <wefu@redhat.com>
11*4882a593SmuzhiyunC:	1926e54f115725a9248d0c4c65c22acaf94de4c4
12*4882a593Smuzhiyun---------------------------------------------------------------------
13*4882a593SmuzhiyunDocumentation/arm64/silicon-errata.rst 的中文翻译
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
16*4882a593Smuzhiyun交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
17*4882a593Smuzhiyun译存在问题,请联系中文版维护者。
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun英文版维护者: Will Deacon <will.deacon@arm.com>
20*4882a593Smuzhiyun中文版维护者: 傅炜  Fu Wei <wefu@redhat.com>
21*4882a593Smuzhiyun中文版翻译者: 傅炜  Fu Wei <wefu@redhat.com>
22*4882a593Smuzhiyun中文版校译者: 傅炜  Fu Wei <wefu@redhat.com>
23*4882a593Smuzhiyun本文翻译提交时的 Git 检出点为: 1926e54f115725a9248d0c4c65c22acaf94de4c4
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun以下为正文
26*4882a593Smuzhiyun---------------------------------------------------------------------
27*4882a593Smuzhiyun                芯片勘误和软件补救措施
28*4882a593Smuzhiyun                ==================
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun作者: Will Deacon <will.deacon@arm.com>
31*4882a593Smuzhiyun日期: 2015年11月27日
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun一个不幸的现实:硬件经常带有一些所谓的“瑕疵(errata)”,导致其在
34*4882a593Smuzhiyun某些特定情况下会违背构架定义的行为。就基于 ARM 的硬件而言,这些瑕疵
35*4882a593Smuzhiyun大体可分为以下几类:
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun  A 类:无可行补救措施的严重缺陷。
38*4882a593Smuzhiyun  B 类:有可接受的补救措施的重大或严重缺陷。
39*4882a593Smuzhiyun  C 类:在正常操作中不会显现的小瑕疵。
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun更多资讯,请在 infocenter.arm.com (需注册)中查阅“软件开发者勘误
42*4882a593Smuzhiyun笔记”(“Software Developers Errata Notice”)文档。
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun对于 Linux 而言,B 类缺陷可能需要操作系统的某些特别处理。例如,避免
45*4882a593Smuzhiyun一个特殊的代码序列,或是以一种特定的方式配置处理器。在某种不太常见的
46*4882a593Smuzhiyun情况下,为将 A 类缺陷当作 C 类处理,可能需要用类似的手段。这些手段被
47*4882a593Smuzhiyun统称为“软件补救措施”,且仅在少数情况需要(例如,那些需要一个运行在
48*4882a593Smuzhiyun非安全异常级的补救措施 *并且* 能被 Linux 触发的情况)。
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun对于尚在讨论中的可能对未受瑕疵影响的系统产生干扰的软件补救措施,有一个
51*4882a593Smuzhiyun相应的内核配置(Kconfig)选项被加在 “内核特性(Kernel Features)”->
52*4882a593Smuzhiyun“基于可选方法框架的 ARM 瑕疵补救措施(ARM errata workarounds via
53*4882a593Smuzhiyunthe alternatives framework)"。这些选项被默认开启,若探测到受影响的CPU,
54*4882a593Smuzhiyun补丁将在运行时被使用。至于对系统运行影响较小的补救措施,内核配置选项
55*4882a593Smuzhiyun并不存在,且代码以某种规避瑕疵的方式被构造(带注释为宜)。
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun这种做法对于在任意内核源代码树中准确地判断出哪个瑕疵已被软件方法所补救
58*4882a593Smuzhiyun稍微有点麻烦,所以在 Linux 内核中此文件作为软件补救措施的注册表,
59*4882a593Smuzhiyun并将在新的软件补救措施被提交和向后移植(backported)到稳定内核时被更新。
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun| 实现者         | 受影响的组件    | 勘误编号        | 内核配置                |
62*4882a593Smuzhiyun+----------------+-----------------+-----------------+-------------------------+
63*4882a593Smuzhiyun| ARM            | Cortex-A53      | #826319         | ARM64_ERRATUM_826319    |
64*4882a593Smuzhiyun| ARM            | Cortex-A53      | #827319         | ARM64_ERRATUM_827319    |
65*4882a593Smuzhiyun| ARM            | Cortex-A53      | #824069         | ARM64_ERRATUM_824069    |
66*4882a593Smuzhiyun| ARM            | Cortex-A53      | #819472         | ARM64_ERRATUM_819472    |
67*4882a593Smuzhiyun| ARM            | Cortex-A53      | #845719         | ARM64_ERRATUM_845719    |
68*4882a593Smuzhiyun| ARM            | Cortex-A53      | #843419         | ARM64_ERRATUM_843419    |
69*4882a593Smuzhiyun| ARM            | Cortex-A57      | #832075         | ARM64_ERRATUM_832075    |
70*4882a593Smuzhiyun| ARM            | Cortex-A57      | #852523         | N/A                     |
71*4882a593Smuzhiyun| ARM            | Cortex-A57      | #834220         | ARM64_ERRATUM_834220    |
72*4882a593Smuzhiyun|                |                 |                 |                         |
73*4882a593Smuzhiyun| Cavium         | ThunderX ITS    | #22375, #24313  | CAVIUM_ERRATUM_22375    |
74*4882a593Smuzhiyun| Cavium         | ThunderX GICv3  | #23154          | CAVIUM_ERRATUM_23154    |
75