[PATCH v3 02/14] arm64: Allow mismatched 32-bit EL0 support

Will Deacon will at kernel.org
Thu Nov 19 08:12:37 EST 2020


Hi Valentin,

Thanks for the review.

On Thu, Nov 19, 2020 at 11:27:41AM +0000, Valentin Schneider wrote:
> 
> On 13/11/20 09:37, Will Deacon wrote:
> > +const struct cpumask *system_32bit_el0_cpumask(void)
> > +{
> > +	if (!system_supports_32bit_el0())
> > +		return cpu_none_mask;
> > +
> > +	if (static_branch_unlikely(&arm64_mismatched_32bit_el0))
> > +		return cpu_32bit_el0_mask;
> > +
> > +	return cpu_present_mask;
> > +}
> 
> Nit: this is used in patch 13 to implement arch_cpu_allowed_mask(). Since
> that latter defaults to cpu_possible_mask, this probably should too.

My original thinking was that, in a system where 32-bit EL0 support is
detected at boot and we're not handling mismatches, then it would be nice
to avoid saying that late CPUs are all 32-bit capable given that they will
fail to be onlined if they're not.

However, the reality is that we don't currently distinguish between the
present and possible masks on arm64 so it doesn't make any difference. It's
also not useful to userspace, because if the cores aren't online then so
what? Your observation above is another nail in the coffin, so I'll change
this to the possible mask as you suggest.

Cheers,

Will



More information about the linux-arm-kernel mailing list