mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	KVM: arm64: vgic-v3: List M1 Pro/Max as requiring the SEIS workaround
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
This commit is contained in:
		
							parent
							
								
									249838b766
								
							
						
					
					
						commit
						cae889302e
					
				
					 2 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -118,6 +118,10 @@
 | 
			
		|||
 | 
			
		||||
#define APPLE_CPU_PART_M1_ICESTORM	0x022
 | 
			
		||||
#define APPLE_CPU_PART_M1_FIRESTORM	0x023
 | 
			
		||||
#define APPLE_CPU_PART_M1_ICESTORM_PRO	0x024
 | 
			
		||||
#define APPLE_CPU_PART_M1_FIRESTORM_PRO	0x025
 | 
			
		||||
#define APPLE_CPU_PART_M1_ICESTORM_MAX	0x028
 | 
			
		||||
#define APPLE_CPU_PART_M1_FIRESTORM_MAX	0x029
 | 
			
		||||
 | 
			
		||||
#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
 | 
			
		||||
#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
 | 
			
		||||
| 
						 | 
				
			
			@ -164,6 +168,10 @@
 | 
			
		|||
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
 | 
			
		||||
#define MIDR_APPLE_M1_ICESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM)
 | 
			
		||||
#define MIDR_APPLE_M1_FIRESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM)
 | 
			
		||||
#define MIDR_APPLE_M1_ICESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_PRO)
 | 
			
		||||
#define MIDR_APPLE_M1_FIRESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO)
 | 
			
		||||
#define MIDR_APPLE_M1_ICESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_MAX)
 | 
			
		||||
#define MIDR_APPLE_M1_FIRESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_MAX)
 | 
			
		||||
 | 
			
		||||
/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
 | 
			
		||||
#define MIDR_FUJITSU_ERRATUM_010001		MIDR_FUJITSU_A64FX
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -612,6 +612,10 @@ early_param("kvm-arm.vgic_v4_enable", early_gicv4_enable);
 | 
			
		|||
static const struct midr_range broken_seis[] = {
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM),
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM),
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM_PRO),
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM_PRO),
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_ICESTORM_MAX),
 | 
			
		||||
	MIDR_ALL_VERSIONS(MIDR_APPLE_M1_FIRESTORM_MAX),
 | 
			
		||||
	{},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue