Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Silicon Errata and Software Workarounds

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Lỗi silicon và cách giải quyết phần mềm

Tác giả: Will Deacon <will.deacon@arm.com>

Ngày: 27 tháng 11 năm 2015

Một thực tế đáng tiếc là phần cứng thường được sản xuất với cái gọi là “errata”, có thể khiến nó đi chệch khỏi kiến trúc trong hoàn cảnh cụ thể. Đối với phần cứng do ARM sản xuất, những lỗi được chia thành các loại sau:

cách giải quyết.

Loại C Một lỗi nhỏ dự kiến không xảy ra trong điều kiện bình thường

hoạt động.

Để biết thêm thông tin, hãy tham khảo một trong những “Lỗi của nhà phát triển phần mềm Thông báo” tài liệu có sẵn trên infocenter.arm.com (đăng ký bắt buộc).

Đối với Linux, lỗi loại B có thể yêu cầu một số xử lý trong hệ điều hành. Ví dụ, tránh một điều cụ thể trình tự mã hoặc cấu hình bộ xử lý theo một cách cụ thể. A tình huống ít phổ biến hơn có thể yêu cầu các hành động tương tự để giải mật một lỗi loại A thành một lỗi loại C. Đây là những điều chung được gọi là “cách giải quyết phần mềm” và chỉ được yêu cầu ở một số ít các trường hợp (ví dụ: những trường hợp đều yêu cầu giải pháp không an toàn ZZ0000ZZ có thể được kích hoạt bởi Linux).

Đối với các giải pháp phần mềm có thể tác động tiêu cực đến các hệ thống không bị ảnh hưởng bởi lỗi được đề cập, một mục Kconfig được thêm vào trong “Kernel Tính năng” -> “Cách giải quyết lỗi ARM thông qua khung thay thế”. Ngoại trừ các cách giải quyết cho lỗi được Arm coi là “hiếm”, những cách này được bật theo mặc định và được vá trong thời gian chạy khi CPU bị ảnh hưởng được phát hiện. Đối với các giải pháp ít xâm phạm hơn, tùy chọn Kconfig không được áp dụng có sẵn và mã được cấu trúc (tốt nhất là có nhận xét) theo cách đó một cách mà lỗi sẽ không bị ảnh hưởng.

Cách tiếp cận này có thể khiến việc xác định chính xác lỗi được xử lý trong cây nguồn hạt nhân tùy ý, vì vậy điều này tập tin hoạt động như một sổ đăng ký các giải pháp phần mềm trong Nhân Linux và sẽ được cập nhật khi các cách giải quyết mới được cam kết và đưa vào hạt nhân ổn định.

Implementor

Component

Erratum ID

Kconfig

Allwinner

A64/R18

UNKNOWN1

SUN50I_ERRATUM_UNKNOWN1

Ampere

AmpereOne

AC03_CPU_38

AMPERE_ERRATUM_AC03_CPU_38

Ampere

AmpereOne AC04

AC04_CPU_10

AMPERE_ERRATUM_AC03_CPU_38

Ampere

AmpereOne AC04

AC04_CPU_23

AMPERE_ERRATUM_AC04_CPU_23

ARM

Cortex-A510

#2457168

ARM64_ERRATUM_2457168

ARM

Cortex-A510

#2064142

ARM64_ERRATUM_2064142

ARM

Cortex-A510

#2038923

ARM64_ERRATUM_2038923

ARM

Cortex-A510

#1902691

ARM64_ERRATUM_1902691

ARM

Cortex-A510

#2051678

ARM64_ERRATUM_2051678

ARM

Cortex-A510

#2077057

ARM64_ERRATUM_2077057

ARM

Cortex-A510

#2441009

ARM64_ERRATUM_2441009

ARM

Cortex-A510

#2658417

ARM64_ERRATUM_2658417

ARM

Cortex-A510

#3117295

ARM64_ERRATUM_3117295

ARM

Cortex-A520

#2966298

ARM64_ERRATUM_2966298

ARM

Cortex-A53

#826319

ARM64_ERRATUM_826319

ARM

Cortex-A53

#827319

ARM64_ERRATUM_827319

ARM

Cortex-A53

#824069

ARM64_ERRATUM_824069

ARM

Cortex-A53

#819472

ARM64_ERRATUM_819472

ARM

Cortex-A53

#845719

ARM64_ERRATUM_845719

ARM

Cortex-A53

#843419

ARM64_ERRATUM_843419

ARM

Cortex-A55

#1024718

ARM64_ERRATUM_1024718

ARM

Cortex-A55

#1530923

ARM64_ERRATUM_1530923

ARM

Cortex-A55

#2441007

ARM64_ERRATUM_2441007

ARM

Cortex-A57

#832075

ARM64_ERRATUM_832075

ARM

Cortex-A57

#852523

N/A

ARM

Cortex-A57

#834220

ARM64_ERRATUM_834220

ARM

Cortex-A57

#1319537

ARM64_ERRATUM_1319367

ARM

Cortex-A57

#1742098

ARM64_ERRATUM_1742098

ARM

Cortex-A72

#853709

N/A

ARM

Cortex-A72

#1319367

ARM64_ERRATUM_1319367

ARM

Cortex-A72

#1655431

ARM64_ERRATUM_1742098

ARM

Cortex-A73

#858921

ARM64_ERRATUM_858921

ARM

Cortex-A76

#1188873,1418040

ARM64_ERRATUM_1418040

ARM

Cortex-A76

#1165522

ARM64_ERRATUM_1165522

ARM

Cortex-A76

#1286807

ARM64_ERRATUM_1286807

ARM

Cortex-A76

#1463225

ARM64_ERRATUM_1463225

ARM

Cortex-A76

#1490853

N/A

ARM

Cortex-A76

#3324349

ARM64_ERRATUM_3194386

ARM

Cortex-A77

#1491015

N/A

ARM

Cortex-A77

#1508412

ARM64_ERRATUM_1508412

ARM

Cortex-A77

#3324348

ARM64_ERRATUM_3194386

ARM

Cortex-A78

#3324344

ARM64_ERRATUM_3194386

ARM

Cortex-A78C

#3324346,3324347

ARM64_ERRATUM_3194386

ARM

Cortex-A710

#2119858

ARM64_ERRATUM_2119858

ARM

Cortex-A710

#2054223

ARM64_ERRATUM_2054223

ARM

Cortex-A710

#2224489

ARM64_ERRATUM_2224489

ARM

Cortex-A710

#3324338

ARM64_ERRATUM_3194386

ARM

Cortex-A715

#2645198

ARM64_ERRATUM_2645198

ARM

Cortex-A715

#3456084

ARM64_ERRATUM_3194386

ARM

Cortex-A720

#3456091

ARM64_ERRATUM_3194386

ARM

Cortex-A725

#3456106

ARM64_ERRATUM_3194386

ARM

Cortex-X1

#1502854

N/A

ARM

Cortex-X1

#3324344

ARM64_ERRATUM_3194386

ARM

Cortex-X1C

#3324346

ARM64_ERRATUM_3194386

ARM

Cortex-X2

#2119858

ARM64_ERRATUM_2119858

ARM

Cortex-X2

#2224489

ARM64_ERRATUM_2224489

ARM

Cortex-X2

#3324338

ARM64_ERRATUM_3194386

ARM

Cortex-X3

#3324335

ARM64_ERRATUM_3194386

ARM

Cortex-X4

#3194386

ARM64_ERRATUM_3194386

ARM

Cortex-X925

#3324334

ARM64_ERRATUM_3194386

ARM

Neoverse-N1

#1188873,1418040

ARM64_ERRATUM_1418040

ARM

Neoverse-N1

#1349291

N/A

ARM

Neoverse-N1

#1490853

N/A

ARM

Neoverse-N1

#1542419

ARM64_ERRATUM_1542419

ARM

Neoverse-N1

#3324349

ARM64_ERRATUM_3194386

ARM

Neoverse-N2

#2139208

ARM64_ERRATUM_2139208

ARM

Neoverse-N2

#2067961

ARM64_ERRATUM_2067961

ARM

Neoverse-N2

#2253138

ARM64_ERRATUM_2253138

ARM

Neoverse-N2

#3324339

ARM64_ERRATUM_3194386

ARM

Neoverse-N3

#3456111

ARM64_ERRATUM_3194386

ARM

Neoverse-V1

#1619801

N/A

ARM

Neoverse-V1

#3324341

ARM64_ERRATUM_3194386

ARM

Neoverse-V2

#3324336

ARM64_ERRATUM_3194386

ARM

Neoverse-V3

#3312417

ARM64_ERRATUM_3194386

ARM

Neoverse-V3AE

#3312417

ARM64_ERRATUM_3194386

ARM

MMU-500

#841119,826419 #562869,1047329

ARM_SMMU_MMU_500_CPRE_ERRATA

ARM

MMU-600

#1076982,1209401

N/A

ARM

MMU-700

#2133013, #2268618, #2812531, #3777127

N/A

ARM

MMU L1

#3878312

N/A

ARM

MMU S3

#3995052

N/A

ARM

GIC-700

#2941627

ARM64_ERRATUM_2941627

ARM

SI L1

#4311569

ARM64_ERRATUM_4311569

ARM

CMN-650

#3642720

N/A

Broadcom

Brahma-B53

N/A

ARM64_ERRATUM_845719

Broadcom

Brahma-B53

N/A

ARM64_ERRATUM_843419

Cavium

ThunderX ITS

#22375,24313

CAVIUM_ERRATUM_22375

Cavium

ThunderX ITS

#23144

CAVIUM_ERRATUM_23144

Cavium

ThunderX GICv3

#23154,38545

CAVIUM_ERRATUM_23154

Cavium

ThunderX GICv3

#38539

N/A

Cavium

ThunderX Core

#27456

CAVIUM_ERRATUM_27456

Cavium

ThunderX Core

#30115

CAVIUM_ERRATUM_30115

Cavium

ThunderX SMMUv2

#27704

N/A

Cavium

ThunderX2 SMMUv3

#74

N/A

Cavium

ThunderX2 SMMUv3

#126

N/A

Cavium

ThunderX2 Core

#219

CAVIUM_TX2_ERRATUM_219

Marvell

ARM-MMU-500

#582743

N/A

NVIDIA

Carmel Core

N/A

NVIDIA_CARMEL_CNP_ERRATUM

NVIDIA

T241 GICv3/4.x

T241-FABRIC-4

N/A

NVIDIA

T241 MPAM

T241-MPAM-1

N/A

NVIDIA

T241 MPAM

T241-MPAM-4

N/A

NVIDIA

T241 MPAM

T241-MPAM-6

N/A

Freescale/NXP

LS2080A/LS1043A

A-008585

FSL_ERRATUM_A008585

Hisilicon

Hip0{5,6,7}

#161010101

HISILICON_ERRATUM_161010101

Hisilicon

Hip0{6,7}

#161010701

N/A

Hisilicon

Hip0{6,7}

#161010803

N/A

Hisilicon

Hip07

#161600802

HISILICON_ERRATUM_161600802

Hisilicon

Hip08 SMMU PMCG

#162001800

N/A

Hisilicon

Hip{08,09,09A,10 ,10C,11} SMMU PMCG

#162001900

N/A

Hisilicon

Hip09

#162100801

HISILICON_ERRATUM_162100801

Qualcomm Tech.

Kryo/Falkor v1

E1003

QCOM_FALKOR_ERRATUM_1003

Qualcomm Tech.

Kryo/Falkor v1

E1009

QCOM_FALKOR_ERRATUM_1009

Qualcomm Tech.

QDF2400 ITS

E0065

QCOM_QDF2400_ERRATUM_0065

Qualcomm Tech.

Falkor v{1,2}

E1041

QCOM_FALKOR_ERRATUM_1041

Qualcomm Tech.

Kryo4xx Gold

N/A

ARM64_ERRATUM_1463225

Qualcomm Tech.

Kryo4xx Gold

N/A

ARM64_ERRATUM_1418040

Qualcomm Tech.

Kryo4xx Silver

N/A

ARM64_ERRATUM_1530923

Qualcomm Tech.

Kryo4xx Silver

N/A

ARM64_ERRATUM_1024718

Qualcomm Tech.

Kryo4xx Gold

N/A

ARM64_ERRATUM_1286807

Rockchip

RK3588

#3588001

ROCKCHIP_ERRATUM_3588001

Rockchip

RK3568

#3568002

ROCKCHIP_ERRATUM_3568002

Fujitsu

A64FX

E#010001

FUJITSU_ERRATUM_010001

ASR

ASR8601

#8601001

N/A

Microsoft

Azure Cobalt 100

#2139208

ARM64_ERRATUM_2139208

Microsoft

Azure Cobalt 100

#2067961

ARM64_ERRATUM_2067961

Microsoft

Azure Cobalt 100

#2253138

ARM64_ERRATUM_2253138

Microsoft

Azure Cobalt 100

#3324339

ARM64_ERRATUM_3194386