Skip to content

Commit fb091ff

Browse files
easwarhwilldeacon
authored andcommitted
arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata
Add the MIDR value of Microsoft Azure Cobalt 100, which is a Microsoft implemented CPU based on r0p0 of the ARM Neoverse N2 CPU, and therefore suffers from all the same errata. CC: stable@vger.kernel.org # 5.15+ Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Link: https://lore.kernel.org/r/20240214175522.2457857-1-eahariha@linux.microsoft.com Signed-off-by: Will Deacon <will@kernel.org>
1 parent 5057206 commit fb091ff

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

Documentation/arch/arm64/silicon-errata.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,10 @@ stable kernels.
243243
+----------------+-----------------+-----------------+-----------------------------+
244244
| ASR | ASR8601 | #8601001 | N/A |
245245
+----------------+-----------------+-----------------+-----------------------------+
246+
+----------------+-----------------+-----------------+-----------------------------+
247+
| Microsoft | Azure Cobalt 100| #2139208 | ARM64_ERRATUM_2139208 |
248+
+----------------+-----------------+-----------------+-----------------------------+
249+
| Microsoft | Azure Cobalt 100| #2067961 | ARM64_ERRATUM_2067961 |
250+
+----------------+-----------------+-----------------+-----------------------------+
251+
| Microsoft | Azure Cobalt 100| #2253138 | ARM64_ERRATUM_2253138 |
252+
+----------------+-----------------+-----------------+-----------------------------+

arch/arm64/include/asm/cputype.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
#define ARM_CPU_IMP_HISI 0x48
6262
#define ARM_CPU_IMP_APPLE 0x61
6363
#define ARM_CPU_IMP_AMPERE 0xC0
64+
#define ARM_CPU_IMP_MICROSOFT 0x6D
6465

6566
#define ARM_CPU_PART_AEM_V8 0xD0F
6667
#define ARM_CPU_PART_FOUNDATION 0xD00
@@ -135,6 +136,8 @@
135136

136137
#define AMPERE_CPU_PART_AMPERE1 0xAC3
137138

139+
#define MICROSOFT_CPU_PART_AZURE_COBALT_100 0xD49 /* Based on r0p0 of ARM Neoverse N2 */
140+
138141
#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
139142
#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
140143
#define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72)
@@ -193,6 +196,7 @@
193196
#define MIDR_APPLE_M2_BLIZZARD_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_BLIZZARD_MAX)
194197
#define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX)
195198
#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1)
199+
#define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100)
196200

197201
/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
198202
#define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX

arch/arm64/kernel/cpu_errata.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,7 @@ static const struct midr_range erratum_1463225[] = {
374374
static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {
375375
#ifdef CONFIG_ARM64_ERRATUM_2139208
376376
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
377+
MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
377378
#endif
378379
#ifdef CONFIG_ARM64_ERRATUM_2119858
379380
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -387,6 +388,7 @@ static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {
387388
static const struct midr_range tsb_flush_fail_cpus[] = {
388389
#ifdef CONFIG_ARM64_ERRATUM_2067961
389390
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
391+
MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
390392
#endif
391393
#ifdef CONFIG_ARM64_ERRATUM_2054223
392394
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -399,6 +401,7 @@ static const struct midr_range tsb_flush_fail_cpus[] = {
399401
static struct midr_range trbe_write_out_of_range_cpus[] = {
400402
#ifdef CONFIG_ARM64_ERRATUM_2253138
401403
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
404+
MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
402405
#endif
403406
#ifdef CONFIG_ARM64_ERRATUM_2224489
404407
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),

0 commit comments

Comments
 (0)