On Fri, May 21, 2021 at 11:25:23AM +0100, Catalin Marinas wrote: > On Tue, May 18, 2021 at 10:47:06AM +0100, Will Deacon wrote: > > +static bool has_32bit_el0(const struct arm64_cpu_capabilities *entry, int scope) > > +{ > > + if (!has_cpuid_feature(entry, scope)) > > + return allow_mismatched_32bit_el0; > > + > > + if (scope == SCOPE_SYSTEM) > > + pr_info("detected: 32-bit EL0 Support\n"); > > + > > + return true; > > +} > > We may have discussed this before: AFAICT this will print 32-bit EL0 > detected even if there's no 32-bit EL0 on any CPU. Should we instead > print 32-bit EL0 detected on CPU X when allow_mismatched_32bit_el0 is > passed? It would also give us an indication of the system configuration > when people start reporting bugs. The function above only runs if we've detected 32-bit support via aa64pfr0_el1, so I think we're ok. We also have a print when we detect the mismatch (see enable_mismatched_32bit_el0()). Will