Re: [PATCH v2 1/4] arm64: Introduce aarch32_enabled()

From: Andrea della Porta
Date: Wed Nov 15 2023 - 10:36:33 EST


On 12:56 Tue 24 Oct , Robin Murphy wrote:
> On 23/10/2023 3:42 pm, Andrea della Porta wrote:
> > Aarch32 bit support on 64bit kernels depends on whether CONFIG_COMPAT
> > is selected or not. As it is a compile time option it doesn't
> > provide the flexibility to have distributions set their own policy for
> > Aarch32 support and give the user the flexibility to override it.
> >
> > As a first step introduce aarch32_enabled() which abstracts whether 32
> > bit compat is turned on or off. Upcoming patches will implement
> > the ability to set Aarch32 compat state at boot time.
>
> Other than patch #3, which as previously mentioned should be unnecessary if
> the kernel correctly never starts an "unsupported" AArch32 process to begin
> with, what does this do that simply overriding ID_AA64PFR0_EL1.EL0 via the
> existing idreg-override mechanism wouldn't?
>
> Thanks,
> Robin

You're right, I guess we can simpluy leverage system_supports_32bit_el0()
calling id_aa64pfr0_32bit_el0() and override the el0 nibble from command line,
instead of inventing a new kernel parameter. For the sake of simplicity,
maybe we can add a new alias in idreg-override, something like 'arm64.no32bit-el0'.

Thanks,
Andrea