Skip to content

Commit 224fbdc

Browse files
committed
KVM: arm64: vgic-v3: List M1 Pro/Max as requiring the SEIS workaround
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2122232 commit cae8893 Author: Marc Zyngier <maz@kernel.org> Date: Sat, 14 May 2022 11:25:24 +0100 Unsusprisingly, Apple M1 Pro/Max have the exact same defect as the original M1 and generate random SErrors in the host when a guest tickles the GICv3 CPU interface the wrong way. Add the part numbers for both the CPU types found in these two new implementations, and add them to the hall of shame. This also applies to the Ultra version, as it is composed of 2 Max SoCs. Signed-off-by: Marc Zyngier <maz@kernel.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20220514102524.3188730-1-maz@kernel.org Signed-off-by: Mark Salter <msalter@redhat.com>
1 parent 1a56a6a commit 224fbdc

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

arch/arm64/include/asm/cputype.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@
118118

119119
#define APPLE_CPU_PART_M1_ICESTORM 0x022
120120
#define APPLE_CPU_PART_M1_FIRESTORM 0x023
121+
#define APPLE_CPU_PART_M1_ICESTORM_PRO 0x024
122+
#define APPLE_CPU_PART_M1_FIRESTORM_PRO 0x025
123+
#define APPLE_CPU_PART_M1_ICESTORM_MAX 0x028
124+
#define APPLE_CPU_PART_M1_FIRESTORM_MAX 0x029
121125

122126
#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
123127
#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
@@ -164,6 +168,10 @@
164168
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
165169
#define MIDR_APPLE_M1_ICESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM)
166170
#define MIDR_APPLE_M1_FIRESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM)
171+
#define MIDR_APPLE_M1_ICESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_PRO)
172+
#define MIDR_APPLE_M1_FIRESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO)
173+
#define MIDR_APPLE_M1_ICESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_MAX)
174+
#define MIDR_APPLE_M1_FIRESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_MAX)
167175

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

arch/arm64/kvm/vgic/vgic-v3.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,10 @@ early_param("kvm-arm.vgic_v4_enable", early_gicv4_enable);
612612
static const struct midr_range broken_seis[] = {
613613
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM),
614614
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM),
615+
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM_PRO),
616+
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM_PRO),
617+
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM_MAX),
618+
MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM_MAX),
615619
{},
616620
};
617621

0 commit comments

Comments
 (0)