]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - Documentation/arm64/silicon-errata.rst
arm64: kernel: disable CNP on Carmel
[mirror_ubuntu-jammy-kernel.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+----------------+-----------------+-----------------+-----------------------------+
6e01398f 55| ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 |
b693d0b3 56+----------------+-----------------+-----------------+-----------------------------+
6e01398f 57| ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 |
b693d0b3 58+----------------+-----------------+-----------------+-----------------------------+
6e01398f 59| ARM | Cortex-A53 | #824069 | ARM64_ERRATUM_824069 |
b693d0b3 60+----------------+-----------------+-----------------+-----------------------------+
6e01398f 61| ARM | Cortex-A53 | #819472 | ARM64_ERRATUM_819472 |
b693d0b3 62+----------------+-----------------+-----------------+-----------------------------+
6e01398f 63| ARM | Cortex-A53 | #845719 | ARM64_ERRATUM_845719 |
b693d0b3 64+----------------+-----------------+-----------------+-----------------------------+
6e01398f 65| ARM | Cortex-A53 | #843419 | ARM64_ERRATUM_843419 |
b693d0b3 66+----------------+-----------------+-----------------+-----------------------------+
184dbc15
RH
67| ARM | Cortex-A55 | #1024718 | ARM64_ERRATUM_1024718 |
68+----------------+-----------------+-----------------+-----------------------------+
69| ARM | Cortex-A55 | #1530923 | ARM64_ERRATUM_1530923 |
70+----------------+-----------------+-----------------+-----------------------------+
6e01398f 71| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
b693d0b3 72+----------------+-----------------+-----------------+-----------------------------+
6e01398f 73| ARM | Cortex-A57 | #852523 | N/A |
b693d0b3 74+----------------+-----------------+-----------------+-----------------------------+
6e01398f 75| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
b693d0b3 76+----------------+-----------------+-----------------+-----------------------------+
c2cc62d8
MZ
77| ARM | Cortex-A57 | #1319537 | ARM64_ERRATUM_1319367 |
78+----------------+-----------------+-----------------+-----------------------------+
6e01398f 79| ARM | Cortex-A72 | #853709 | N/A |
b693d0b3 80+----------------+-----------------+-----------------+-----------------------------+
c2cc62d8
MZ
81| ARM | Cortex-A72 | #1319367 | ARM64_ERRATUM_1319367 |
82+----------------+-----------------+-----------------+-----------------------------+
eeb1efbc 83| ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 |
b693d0b3 84+----------------+-----------------+-----------------+-----------------------------+
a5325089 85| ARM | Cortex-A76 | #1188873,1418040| ARM64_ERRATUM_1418040 |
b693d0b3 86+----------------+-----------------+-----------------+-----------------------------+
a457b0f7 87| ARM | Cortex-A76 | #1165522 | ARM64_ERRATUM_1165522 |
b693d0b3 88+----------------+-----------------+-----------------+-----------------------------+
ce8c80c5 89| ARM | Cortex-A76 | #1286807 | ARM64_ERRATUM_1286807 |
b693d0b3 90+----------------+-----------------+-----------------+-----------------------------+
969f5ea6 91| ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 |
b693d0b3 92+----------------+-----------------+-----------------+-----------------------------+
96d389ca
RH
93| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
94+----------------+-----------------+-----------------+-----------------------------+
a5325089 95| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
b693d0b3 96+----------------+-----------------+-----------------+-----------------------------+
3276cc24 97| ARM | Neoverse-N1 | #1349291 | N/A |
39d7530d 98+----------------+-----------------+-----------------+-----------------------------+
05460849
JM
99| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
100+----------------+-----------------+-----------------+-----------------------------+
a5325089 101| ARM | MMU-500 | #841119,826419 | N/A |
b693d0b3
MCC
102+----------------+-----------------+-----------------+-----------------------------+
103+----------------+-----------------+-----------------+-----------------------------+
bfc97f9f
DB
104| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_845719 |
105+----------------+-----------------+-----------------+-----------------------------+
1cf45b8f
FF
106| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_843419 |
107+----------------+-----------------+-----------------+-----------------------------+
bfc97f9f 108+----------------+-----------------+-----------------+-----------------------------+
a5325089 109| Cavium | ThunderX ITS | #22375,24313 | CAVIUM_ERRATUM_22375 |
b693d0b3 110+----------------+-----------------+-----------------+-----------------------------+
6e01398f 111| Cavium | ThunderX ITS | #23144 | CAVIUM_ERRATUM_23144 |
b693d0b3 112+----------------+-----------------+-----------------+-----------------------------+
6e01398f 113| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
b693d0b3 114+----------------+-----------------+-----------------+-----------------------------+
d01fd161
MZ
115| Cavium | ThunderX GICv3 | #38539 | N/A |
116+----------------+-----------------+-----------------+-----------------------------+
6e01398f 117| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
b693d0b3 118+----------------+-----------------+-----------------+-----------------------------+
690a3415 119| Cavium | ThunderX Core | #30115 | CAVIUM_ERRATUM_30115 |
b693d0b3 120+----------------+-----------------+-----------------+-----------------------------+
6e01398f 121| Cavium | ThunderX SMMUv2 | #27704 | N/A |
b693d0b3 122+----------------+-----------------+-----------------+-----------------------------+
e5b829de 123| Cavium | ThunderX2 SMMUv3| #74 | N/A |
b693d0b3 124+----------------+-----------------+-----------------+-----------------------------+
f935448a 125| Cavium | ThunderX2 SMMUv3| #126 | N/A |
b693d0b3 126+----------------+-----------------+-----------------+-----------------------------+
603afdc9
MZ
127| Cavium | ThunderX2 Core | #219 | CAVIUM_TX2_ERRATUM_219 |
128+----------------+-----------------+-----------------+-----------------------------+
b693d0b3 129+----------------+-----------------+-----------------+-----------------------------+
f2d9848a
HH
130| Marvell | ARM-MMU-500 | #582743 | N/A |
131+----------------+-----------------+-----------------+-----------------------------+
132+----------------+-----------------+-----------------+-----------------------------+
20109a85
RW
133| NVIDIA | Carmel Core | N/A | NVIDIA_CARMEL_CNP_ERRATUM |
134+----------------+-----------------+-----------------+-----------------------------+
135+----------------+-----------------+-----------------+-----------------------------+
6e01398f 136| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
b693d0b3
MCC
137+----------------+-----------------+-----------------+-----------------------------+
138+----------------+-----------------+-----------------+-----------------------------+
6e01398f 139| Hisilicon | Hip0{5,6,7} | #161010101 | HISILICON_ERRATUM_161010101 |
b693d0b3 140+----------------+-----------------+-----------------+-----------------------------+
99caf177 141| Hisilicon | Hip0{6,7} | #161010701 | N/A |
b693d0b3 142+----------------+-----------------+-----------------+-----------------------------+
7f2481b3
MZ
143| Hisilicon | Hip0{6,7} | #161010803 | N/A |
144+----------------+-----------------+-----------------+-----------------------------+
5c9a882e 145| Hisilicon | Hip07 | #161600802 | HISILICON_ERRATUM_161600802 |
b693d0b3 146+----------------+-----------------+-----------------+-----------------------------+
24062fe8 147| Hisilicon | Hip08 SMMU PMCG | #162001800 | N/A |
b693d0b3
MCC
148+----------------+-----------------+-----------------+-----------------------------+
149+----------------+-----------------+-----------------+-----------------------------+
bb487118 150| Qualcomm Tech. | Kryo/Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
b693d0b3 151+----------------+-----------------+-----------------+-----------------------------+
36c602dc 152| Qualcomm Tech. | Kryo/Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
b693d0b3 153+----------------+-----------------+-----------------+-----------------------------+
90922a2d 154| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
b693d0b3 155+----------------+-----------------+-----------------+-----------------------------+
932b50c7 156| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
b693d0b3 157+----------------+-----------------+-----------------+-----------------------------+
a9e821b8
SPR
158| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1463225 |
159+----------------+-----------------+-----------------+-----------------------------+
160| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1418040 |
161+----------------+-----------------+-----------------+-----------------------------+
9b23d95c
SPR
162| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1530923 |
163+----------------+-----------------+-----------------+-----------------------------+
164| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
165+----------------+-----------------+-----------------+-----------------------------+
b693d0b3 166+----------------+-----------------+-----------------+-----------------------------+
3e32131a 167| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
b693d0b3 168+----------------+-----------------+-----------------+-----------------------------+