Linux 5.17-rc3
[linux-block.git] / Documentation / arm64 / silicon-errata.rst
CommitLineData
b693d0b3
MCC
1=======================================
2Silicon Errata and Software Workarounds
3=======================================
9cb9c9e5
WD
4
5Author: Will Deacon <will.deacon@arm.com>
b693d0b3 6
9cb9c9e5
WD
7Date : 27 November 2015
8
9It is an unfortunate fact of life that hardware is often produced with
10so-called "errata", which can cause it to deviate from the architecture
11under specific circumstances. For hardware produced by ARM, these
12errata are broadly classified into the following categories:
13
b693d0b3
MCC
14 ========== ========================================================
15 Category A A critical error without a viable workaround.
16 Category B A significant or critical error with an acceptable
9cb9c9e5 17 workaround.
b693d0b3 18 Category C A minor error that is not expected to occur under normal
9cb9c9e5 19 operation.
b693d0b3 20 ========== ========================================================
9cb9c9e5
WD
21
22For more information, consult one of the "Software Developers Errata
23Notice" documents available on infocenter.arm.com (registration
24required).
25
26As far as Linux is concerned, Category B errata may require some special
27treatment in the operating system. For example, avoiding a particular
28sequence of code, or configuring the processor in a particular way. A
29less common situation may require similar actions in order to declassify
30a Category A erratum into a Category C erratum. These are collectively
31known as "software workarounds" and are only required in the minority of
32cases (e.g. those cases that both require a non-secure workaround *and*
33can be triggered by Linux).
34
35For software workarounds that may adversely impact systems unaffected by
36the erratum in question, a Kconfig entry is added under "Kernel
37Features" -> "ARM errata workarounds via the alternatives framework".
38These are enabled by default and patched in at runtime when an affected
39CPU is detected. For less-intrusive workarounds, a Kconfig option is not
40available and the code is structured (preferably with a comment) in such
41a way that the erratum will not be hit.
42
43This approach can make it slightly onerous to determine exactly which
44errata are worked around in an arbitrary kernel source tree, so this
45file acts as a registry of software workarounds in the Linux Kernel and
46will be updated when new workarounds are committed and backported to
47stable kernels.
48
6e01398f 49+----------------+-----------------+-----------------+-----------------------------+
b693d0b3
MCC
50| Implementor | Component | Erratum ID | Kconfig |
51+================+=================+=================+=============================+
c950ca8c 52| Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 |
b693d0b3
MCC
53+----------------+-----------------+-----------------+-----------------------------+
54+----------------+-----------------+-----------------+-----------------------------+
607a9afa
AK
55| ARM | Cortex-A510 | #2064142 | ARM64_ERRATUM_2064142 |
56+----------------+-----------------+-----------------+-----------------------------+
3bd94a87
AK
57| ARM | Cortex-A510 | #2038923 | ARM64_ERRATUM_2038923 |
58+----------------+-----------------+-----------------+-----------------------------+
708e8af4
AK
59| ARM | Cortex-A510 | #1902691 | ARM64_ERRATUM_1902691 |
60+----------------+-----------------+-----------------+-----------------------------+
6e01398f 61| ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 |
b693d0b3 62+----------------+-----------------+-----------------+-----------------------------+
6e01398f 63| ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 |
b693d0b3 64+----------------+-----------------+-----------------+-----------------------------+
6e01398f 65| ARM | Cortex-A53 | #824069 | ARM64_ERRATUM_824069 |
b693d0b3 66+----------------+-----------------+-----------------+-----------------------------+
6e01398f 67| ARM | Cortex-A53 | #819472 | ARM64_ERRATUM_819472 |
b693d0b3 68+----------------+-----------------+-----------------+-----------------------------+
6e01398f 69| ARM | Cortex-A53 | #845719 | ARM64_ERRATUM_845719 |
b693d0b3 70+----------------+-----------------+-----------------+-----------------------------+
6e01398f 71| ARM | Cortex-A53 | #843419 | ARM64_ERRATUM_843419 |
b693d0b3 72+----------------+-----------------+-----------------+-----------------------------+
184dbc15
RH
73| ARM | Cortex-A55 | #1024718 | ARM64_ERRATUM_1024718 |
74+----------------+-----------------+-----------------+-----------------------------+
75| ARM | Cortex-A55 | #1530923 | ARM64_ERRATUM_1530923 |
76+----------------+-----------------+-----------------+-----------------------------+
6e01398f 77| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
b693d0b3 78+----------------+-----------------+-----------------+-----------------------------+
6e01398f 79| ARM | Cortex-A57 | #852523 | N/A |
b693d0b3 80+----------------+-----------------+-----------------+-----------------------------+
6e01398f 81| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
b693d0b3 82+----------------+-----------------+-----------------+-----------------------------+
c2cc62d8
MZ
83| ARM | Cortex-A57 | #1319537 | ARM64_ERRATUM_1319367 |
84+----------------+-----------------+-----------------+-----------------------------+
6e01398f 85| ARM | Cortex-A72 | #853709 | N/A |
b693d0b3 86+----------------+-----------------+-----------------+-----------------------------+
c2cc62d8
MZ
87| ARM | Cortex-A72 | #1319367 | ARM64_ERRATUM_1319367 |
88+----------------+-----------------+-----------------+-----------------------------+
eeb1efbc 89| ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 |
b693d0b3 90+----------------+-----------------+-----------------+-----------------------------+
a5325089 91| ARM | Cortex-A76 | #1188873,1418040| ARM64_ERRATUM_1418040 |
b693d0b3 92+----------------+-----------------+-----------------+-----------------------------+
a457b0f7 93| ARM | Cortex-A76 | #1165522 | ARM64_ERRATUM_1165522 |
b693d0b3 94+----------------+-----------------+-----------------+-----------------------------+
ce8c80c5 95| ARM | Cortex-A76 | #1286807 | ARM64_ERRATUM_1286807 |
b693d0b3 96+----------------+-----------------+-----------------+-----------------------------+
969f5ea6 97| ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 |
b693d0b3 98+----------------+-----------------+-----------------+-----------------------------+
96d389ca
RH
99| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
100+----------------+-----------------+-----------------+-----------------------------+
297ae1eb
JM
101| ARM | Cortex-A510 | #2051678 | ARM64_ERRATUM_2051678 |
102+----------------+-----------------+-----------------+-----------------------------+
1dd498e5
JM
103| ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 |
104+----------------+-----------------+-----------------+-----------------------------+
b9d216fc
SP
105| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
106+----------------+-----------------+-----------------+-----------------------------+
fa82d0b4
SP
107| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
108+----------------+-----------------+-----------------+-----------------------------+
8d81b2a3
SP
109| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
110+----------------+-----------------+-----------------+-----------------------------+
eb30d838
AK
111| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
112+----------------+-----------------+-----------------+-----------------------------+
113| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
114+----------------+-----------------+-----------------+-----------------------------+
a5325089 115| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
b693d0b3 116+----------------+-----------------+-----------------+-----------------------------+
3276cc24 117| ARM | Neoverse-N1 | #1349291 | N/A |
39d7530d 118+----------------+-----------------+-----------------+-----------------------------+
05460849
JM
119| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
120+----------------+-----------------+-----------------+-----------------------------+
b9d216fc
SP
121| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
122+----------------+-----------------+-----------------+-----------------------------+
fa82d0b4
SP
123| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
124+----------------+-----------------+-----------------+-----------------------------+
8d81b2a3
SP
125| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 |
126+----------------+-----------------+-----------------+-----------------------------+
a5325089 127| ARM | MMU-500 | #841119,826419 | N/A |
b693d0b3
MCC
128+----------------+-----------------+-----------------+-----------------------------+
129+----------------+-----------------+-----------------+-----------------------------+
bfc97f9f
DB
130| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_845719 |
131+----------------+-----------------+-----------------+-----------------------------+
1cf45b8f
FF
132| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_843419 |
133+----------------+-----------------+-----------------+-----------------------------+
bfc97f9f 134+----------------+-----------------+-----------------+-----------------------------+
a5325089 135| Cavium | ThunderX ITS | #22375,24313 | CAVIUM_ERRATUM_22375 |
b693d0b3 136+----------------+-----------------+-----------------+-----------------------------+
6e01398f 137| Cavium | ThunderX ITS | #23144 | CAVIUM_ERRATUM_23144 |
b693d0b3 138+----------------+-----------------+-----------------+-----------------------------+
6e01398f 139| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
b693d0b3 140+----------------+-----------------+-----------------+-----------------------------+
d01fd161
MZ
141| Cavium | ThunderX GICv3 | #38539 | N/A |
142+----------------+-----------------+-----------------+-----------------------------+
6e01398f 143| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
b693d0b3 144+----------------+-----------------+-----------------+-----------------------------+
690a3415 145| Cavium | ThunderX Core | #30115 | CAVIUM_ERRATUM_30115 |
b693d0b3 146+----------------+-----------------+-----------------+-----------------------------+
6e01398f 147| Cavium | ThunderX SMMUv2 | #27704 | N/A |
b693d0b3 148+----------------+-----------------+-----------------+-----------------------------+
e5b829de 149| Cavium | ThunderX2 SMMUv3| #74 | N/A |
b693d0b3 150+----------------+-----------------+-----------------+-----------------------------+
f935448a 151| Cavium | ThunderX2 SMMUv3| #126 | N/A |
b693d0b3 152+----------------+-----------------+-----------------+-----------------------------+
603afdc9
MZ
153| Cavium | ThunderX2 Core | #219 | CAVIUM_TX2_ERRATUM_219 |
154+----------------+-----------------+-----------------+-----------------------------+
b693d0b3 155+----------------+-----------------+-----------------+-----------------------------+
f2d9848a
HH
156| Marvell | ARM-MMU-500 | #582743 | N/A |
157+----------------+-----------------+-----------------+-----------------------------+
158+----------------+-----------------+-----------------+-----------------------------+
20109a85
RW
159| NVIDIA | Carmel Core | N/A | NVIDIA_CARMEL_CNP_ERRATUM |
160+----------------+-----------------+-----------------+-----------------------------+
161+----------------+-----------------+-----------------+-----------------------------+
6e01398f 162| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
b693d0b3
MCC
163+----------------+-----------------+-----------------+-----------------------------+
164+----------------+-----------------+-----------------+-----------------------------+
6e01398f 165| Hisilicon | Hip0{5,6,7} | #161010101 | HISILICON_ERRATUM_161010101 |
b693d0b3 166+----------------+-----------------+-----------------+-----------------------------+
99caf177 167| Hisilicon | Hip0{6,7} | #161010701 | N/A |
b693d0b3 168+----------------+-----------------+-----------------+-----------------------------+
7f2481b3
MZ
169| Hisilicon | Hip0{6,7} | #161010803 | N/A |
170+----------------+-----------------+-----------------+-----------------------------+
5c9a882e 171| Hisilicon | Hip07 | #161600802 | HISILICON_ERRATUM_161600802 |
b693d0b3 172+----------------+-----------------+-----------------+-----------------------------+
24062fe8 173| Hisilicon | Hip08 SMMU PMCG | #162001800 | N/A |
b693d0b3
MCC
174+----------------+-----------------+-----------------+-----------------------------+
175+----------------+-----------------+-----------------+-----------------------------+
bb487118 176| Qualcomm Tech. | Kryo/Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
b693d0b3 177+----------------+-----------------+-----------------+-----------------------------+
36c602dc 178| Qualcomm Tech. | Kryo/Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
b693d0b3 179+----------------+-----------------+-----------------+-----------------------------+
90922a2d 180| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
b693d0b3 181+----------------+-----------------+-----------------+-----------------------------+
932b50c7 182| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
b693d0b3 183+----------------+-----------------+-----------------+-----------------------------+
a9e821b8
SPR
184| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1463225 |
185+----------------+-----------------+-----------------+-----------------------------+
186| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1418040 |
187+----------------+-----------------+-----------------+-----------------------------+
9b23d95c
SPR
188| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1530923 |
189+----------------+-----------------+-----------------+-----------------------------+
190| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
191+----------------+-----------------+-----------------+-----------------------------+
b693d0b3 192+----------------+-----------------+-----------------+-----------------------------+
3e32131a 193| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
b693d0b3 194+----------------+-----------------+-----------------+-----------------------------+