On Mon, Feb 07, 2022 at 03:20:40PM +0000, Mark Brown wrote: > @@ -977,6 +984,14 @@ void __init init_cpu_features(struct cpuinfo_arm64 *info) > vec_init_vq_map(ARM64_VEC_SVE); > } > > + if (id_aa64pfr1_sme(info->reg_id_aa64pfr1)) { > + init_cpu_ftr_reg(SYS_SMCR_EL1, info->reg_smcr); > + if (IS_ENABLED(CONFIG_ARM64_SME)) { > + sme_kernel_enable(NULL); > + vec_init_vq_map(ARM64_VEC_SME); > + } > + } Why do we need to call sme_kernel_enable() here? It's called again later via the cpufeature framework. I guess you need the CPACR_EL1 setup but we don't seem to do this for SVE. -- Catalin