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