162306a36Sopenharmony_ciSPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciChinese translated version of Documentation/arch/arm64/silicon-errata.rst
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciIf you have any comment or update to the content, please contact the
662306a36Sopenharmony_cioriginal document maintainer directly.  However, if you have a problem
762306a36Sopenharmony_cicommunicating in English you can also ask the Chinese maintainer for
862306a36Sopenharmony_cihelp.  Contact the Chinese maintainer if this translation is outdated
962306a36Sopenharmony_cior if there is a problem with the translation.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciM:	Will Deacon <will.deacon@arm.com>
1262306a36Sopenharmony_cizh_CN:	Fu Wei <wefu@redhat.com>
1362306a36Sopenharmony_cizh_TW:	Hu Haowen <src.res.211@gmail.com>
1462306a36Sopenharmony_ciC:	1926e54f115725a9248d0c4c65c22acaf94de4c4
1562306a36Sopenharmony_ci---------------------------------------------------------------------
1662306a36Sopenharmony_ciDocumentation/arch/arm64/silicon-errata.rst 的中文翻譯
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci如果想評論或更新本文的內容,請直接聯繫原文檔的維護者。如果你使用英文
1962306a36Sopenharmony_ci交流有困難的話,也可以向中文版維護者求助。如果本翻譯更新不及時或者翻
2062306a36Sopenharmony_ci譯存在問題,請聯繫中文版維護者。
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci英文版維護者: Will Deacon <will.deacon@arm.com>
2362306a36Sopenharmony_ci中文版維護者: 傅煒  Fu Wei <wefu@redhat.com>
2462306a36Sopenharmony_ci中文版翻譯者: 傅煒  Fu Wei <wefu@redhat.com>
2562306a36Sopenharmony_ci中文版校譯者: 傅煒  Fu Wei <wefu@redhat.com>
2662306a36Sopenharmony_ci繁體中文版校譯者: 胡皓文  Hu Haowen <src.res.211@gmail.com>
2762306a36Sopenharmony_ci本文翻譯提交時的 Git 檢出點爲: 1926e54f115725a9248d0c4c65c22acaf94de4c4
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci以下爲正文
3062306a36Sopenharmony_ci---------------------------------------------------------------------
3162306a36Sopenharmony_ci                晶片勘誤和軟體補救措施
3262306a36Sopenharmony_ci                ==================
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci作者: Will Deacon <will.deacon@arm.com>
3562306a36Sopenharmony_ci日期: 2015年11月27日
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci一個不幸的現實:硬體經常帶有一些所謂的「瑕疵(errata)」,導致其在
3862306a36Sopenharmony_ci某些特定情況下會違背構架定義的行爲。就基於 ARM 的硬體而言,這些瑕疵
3962306a36Sopenharmony_ci大體可分爲以下幾類:
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  A 類:無可行補救措施的嚴重缺陷。
4262306a36Sopenharmony_ci  B 類:有可接受的補救措施的重大或嚴重缺陷。
4362306a36Sopenharmony_ci  C 類:在正常操作中不會顯現的小瑕疵。
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci更多資訊,請在 infocenter.arm.com (需註冊)中查閱「軟體開發者勘誤
4662306a36Sopenharmony_ci筆記」(「Software Developers Errata Notice」)文檔。
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci對於 Linux 而言,B 類缺陷可能需要作業系統的某些特別處理。例如,避免
4962306a36Sopenharmony_ci一個特殊的代碼序列,或是以一種特定的方式配置處理器。在某種不太常見的
5062306a36Sopenharmony_ci情況下,爲將 A 類缺陷當作 C 類處理,可能需要用類似的手段。這些手段被
5162306a36Sopenharmony_ci統稱爲「軟體補救措施」,且僅在少數情況需要(例如,那些需要一個運行在
5262306a36Sopenharmony_ci非安全異常級的補救措施 *並且* 能被 Linux 觸發的情況)。
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci對於尚在討論中的可能對未受瑕疵影響的系統產生干擾的軟體補救措施,有一個
5562306a36Sopenharmony_ci相應的內核配置(Kconfig)選項被加在 「內核特性(Kernel Features)」->
5662306a36Sopenharmony_ci「基於可選方法框架的 ARM 瑕疵補救措施(ARM errata workarounds via
5762306a36Sopenharmony_cithe alternatives framework)"。這些選項被默認開啓,若探測到受影響的CPU,
5862306a36Sopenharmony_ci補丁將在運行時被使用。至於對系統運行影響較小的補救措施,內核配置選項
5962306a36Sopenharmony_ci並不存在,且代碼以某種規避瑕疵的方式被構造(帶注釋爲宜)。
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci這種做法對於在任意內核原始碼樹中準確地判斷出哪個瑕疵已被軟體方法所補救
6262306a36Sopenharmony_ci稍微有點麻煩,所以在 Linux 內核中此文件作爲軟體補救措施的註冊表,
6362306a36Sopenharmony_ci並將在新的軟體補救措施被提交和向後移植(backported)到穩定內核時被更新。
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci| 實現者         | 受影響的組件    | 勘誤編號        | 內核配置                |
6662306a36Sopenharmony_ci+----------------+-----------------+-----------------+-------------------------+
6762306a36Sopenharmony_ci| ARM            | Cortex-A53      | #826319         | ARM64_ERRATUM_826319    |
6862306a36Sopenharmony_ci| ARM            | Cortex-A53      | #827319         | ARM64_ERRATUM_827319    |
6962306a36Sopenharmony_ci| ARM            | Cortex-A53      | #824069         | ARM64_ERRATUM_824069    |
7062306a36Sopenharmony_ci| ARM            | Cortex-A53      | #819472         | ARM64_ERRATUM_819472    |
7162306a36Sopenharmony_ci| ARM            | Cortex-A53      | #845719         | ARM64_ERRATUM_845719    |
7262306a36Sopenharmony_ci| ARM            | Cortex-A53      | #843419         | ARM64_ERRATUM_843419    |
7362306a36Sopenharmony_ci| ARM            | Cortex-A57      | #832075         | ARM64_ERRATUM_832075    |
7462306a36Sopenharmony_ci| ARM            | Cortex-A57      | #852523         | N/A                     |
7562306a36Sopenharmony_ci| ARM            | Cortex-A57      | #834220         | ARM64_ERRATUM_834220    |
7662306a36Sopenharmony_ci|                |                 |                 |                         |
7762306a36Sopenharmony_ci| Cavium         | ThunderX ITS    | #22375, #24313  | CAVIUM_ERRATUM_22375    |
7862306a36Sopenharmony_ci| Cavium         | ThunderX GICv3  | #23154          | CAVIUM_ERRATUM_23154    |
7962306a36Sopenharmony_ci
80