On Tue, Oct 27, 2020 at 09:51:14PM +0000, Will Deacon wrote: > +static bool has_32bit_el0(const struct arm64_cpu_capabilities *entry, int scope) > +{ > + return has_cpuid_feature(entry, scope) || __allow_mismatched_32bit_el0; > +} > + > static bool has_useable_gicv3_cpuif(const struct arm64_cpu_capabilities *entry, int scope) > { > bool has_sre; > @@ -1803,7 +1851,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = { > .desc = "32-bit EL0 Support", > .capability = ARM64_HAS_32BIT_EL0, > .type = ARM64_CPUCAP_SYSTEM_FEATURE, > - .matches = has_cpuid_feature, > + .matches = has_32bit_el0, Ah, so this one reports 32-bit EL0 support even if no CPU actually supports 32-bit (passing the command line option on TX2 would come up with 32-bit EL0 in dmesg). I'd rather hide the .desc above and print the information elsewhere when have at least one CPU supporting this. -- Catalin