18c2ecf20Sopenharmony_ciChinese translated version of Documentation/arm64/silicon-errata.rst
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciIf you have any comment or update to the content, please contact the
48c2ecf20Sopenharmony_cioriginal document maintainer directly.  However, if you have a problem
58c2ecf20Sopenharmony_cicommunicating in English you can also ask the Chinese maintainer for
68c2ecf20Sopenharmony_cihelp.  Contact the Chinese maintainer if this translation is outdated
78c2ecf20Sopenharmony_cior if there is a problem with the translation.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciM:	Will Deacon <will.deacon@arm.com>
108c2ecf20Sopenharmony_cizh_CN:	Fu Wei <wefu@redhat.com>
118c2ecf20Sopenharmony_ciC:	1926e54f115725a9248d0c4c65c22acaf94de4c4
128c2ecf20Sopenharmony_ci---------------------------------------------------------------------
138c2ecf20Sopenharmony_ciDocumentation/arm64/silicon-errata.rst 的中文翻译
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
168c2ecf20Sopenharmony_ci交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
178c2ecf20Sopenharmony_ci译存在问题,请联系中文版维护者。
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci英文版维护者: Will Deacon <will.deacon@arm.com>
208c2ecf20Sopenharmony_ci中文版维护者: 傅炜  Fu Wei <wefu@redhat.com>
218c2ecf20Sopenharmony_ci中文版翻译者: 傅炜  Fu Wei <wefu@redhat.com>
228c2ecf20Sopenharmony_ci中文版校译者: 傅炜  Fu Wei <wefu@redhat.com>
238c2ecf20Sopenharmony_ci本文翻译提交时的 Git 检出点为: 1926e54f115725a9248d0c4c65c22acaf94de4c4
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci以下为正文
268c2ecf20Sopenharmony_ci---------------------------------------------------------------------
278c2ecf20Sopenharmony_ci                芯片勘误和软件补救措施
288c2ecf20Sopenharmony_ci                ==================
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci作者: Will Deacon <will.deacon@arm.com>
318c2ecf20Sopenharmony_ci日期: 2015年11月27日
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci一个不幸的现实:硬件经常带有一些所谓的“瑕疵(errata)”,导致其在
348c2ecf20Sopenharmony_ci某些特定情况下会违背构架定义的行为。就基于 ARM 的硬件而言,这些瑕疵
358c2ecf20Sopenharmony_ci大体可分为以下几类:
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  A 类:无可行补救措施的严重缺陷。
388c2ecf20Sopenharmony_ci  B 类:有可接受的补救措施的重大或严重缺陷。
398c2ecf20Sopenharmony_ci  C 类:在正常操作中不会显现的小瑕疵。
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci更多资讯,请在 infocenter.arm.com (需注册)中查阅“软件开发者勘误
428c2ecf20Sopenharmony_ci笔记”(“Software Developers Errata Notice”)文档。
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci对于 Linux 而言,B 类缺陷可能需要操作系统的某些特别处理。例如,避免
458c2ecf20Sopenharmony_ci一个特殊的代码序列,或是以一种特定的方式配置处理器。在某种不太常见的
468c2ecf20Sopenharmony_ci情况下,为将 A 类缺陷当作 C 类处理,可能需要用类似的手段。这些手段被
478c2ecf20Sopenharmony_ci统称为“软件补救措施”,且仅在少数情况需要(例如,那些需要一个运行在
488c2ecf20Sopenharmony_ci非安全异常级的补救措施 *并且* 能被 Linux 触发的情况)。
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci对于尚在讨论中的可能对未受瑕疵影响的系统产生干扰的软件补救措施,有一个
518c2ecf20Sopenharmony_ci相应的内核配置(Kconfig)选项被加在 “内核特性(Kernel Features)”->
528c2ecf20Sopenharmony_ci“基于可选方法框架的 ARM 瑕疵补救措施(ARM errata workarounds via
538c2ecf20Sopenharmony_cithe alternatives framework)"。这些选项被默认开启,若探测到受影响的CPU,
548c2ecf20Sopenharmony_ci补丁将在运行时被使用。至于对系统运行影响较小的补救措施,内核配置选项
558c2ecf20Sopenharmony_ci并不存在,且代码以某种规避瑕疵的方式被构造(带注释为宜)。
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci这种做法对于在任意内核源代码树中准确地判断出哪个瑕疵已被软件方法所补救
588c2ecf20Sopenharmony_ci稍微有点麻烦,所以在 Linux 内核中此文件作为软件补救措施的注册表,
598c2ecf20Sopenharmony_ci并将在新的软件补救措施被提交和向后移植(backported)到稳定内核时被更新。
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci| 实现者         | 受影响的组件    | 勘误编号        | 内核配置                |
628c2ecf20Sopenharmony_ci+----------------+-----------------+-----------------+-------------------------+
638c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #826319         | ARM64_ERRATUM_826319    |
648c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #827319         | ARM64_ERRATUM_827319    |
658c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #824069         | ARM64_ERRATUM_824069    |
668c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #819472         | ARM64_ERRATUM_819472    |
678c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #845719         | ARM64_ERRATUM_845719    |
688c2ecf20Sopenharmony_ci| ARM            | Cortex-A53      | #843419         | ARM64_ERRATUM_843419    |
698c2ecf20Sopenharmony_ci| ARM            | Cortex-A57      | #832075         | ARM64_ERRATUM_832075    |
708c2ecf20Sopenharmony_ci| ARM            | Cortex-A57      | #852523         | N/A                     |
718c2ecf20Sopenharmony_ci| ARM            | Cortex-A57      | #834220         | ARM64_ERRATUM_834220    |
728c2ecf20Sopenharmony_ci|                |                 |                 |                         |
738c2ecf20Sopenharmony_ci| Cavium         | ThunderX ITS    | #22375, #24313  | CAVIUM_ERRATUM_22375    |
748c2ecf20Sopenharmony_ci| Cavium         | ThunderX GICv3  | #23154          | CAVIUM_ERRATUM_23154    |
75