[PATCH 2/6] arm64: Allow mismatched 32-bit EL0 support
Will Deacon
will at kernel.org
Wed Oct 28 07:17:13 EDT 2020
On Wed, Oct 28, 2020 at 11:12:04AM +0000, Catalin Marinas wrote:
> 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.
Yeah, the problem is if a CPU with 32-bit EL0 support was late-onlined,
then we would have 32-bit support, so I think this is an oddity that you
get when the command line is passed. That said, I could nobble .desc and
print it from the .matches function, with a slightly different message
when the command line is passed.
Will
More information about the linux-arm-kernel
mailing list