On Tue, May 18, 2021 at 10:47:06AM +0100, Will Deacon wrote: > +static int enable_mismatched_32bit_el0(unsigned int cpu) > +{ > + struct cpuinfo_arm64 *info = &per_cpu(cpu_data, cpu); > + bool cpu_32bit = id_aa64pfr0_32bit_el0(info->reg_id_aa64pfr0); > + > + if (cpu_32bit) { > + cpumask_set_cpu(cpu, cpu_32bit_el0_mask); > + static_branch_enable_cpuslocked(&arm64_mismatched_32bit_el0); It may be worth only calling static_branch_enable_cpuslocked() if not already set, in case you try this on a system with lots of CPUs. -- Catalin