Re: [PATCH v4 15/21] arm64: Add an aliasing facility for the idreg override

From: Marc Zyngier
Date: Sun Jan 24 2021 - 14:02:56 EST


On Mon, 18 Jan 2021 13:18:39 +0000,
David Brazdil <dbrazdil@xxxxxxxxxx> wrote:
>
> On Mon, Jan 18, 2021 at 09:45:27AM +0000, Marc Zyngier wrote:
> > In order to map the override of idregs to options that a user
> > can easily understand, let's introduce yet another option
> > array, which maps an option to the corresponding idreg options.
> >
> > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> Acked-by: David Brazdil <dbrazdil@xxxxxxxxxx>
>
> > ---
> > arch/arm64/kernel/idreg-override.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/arch/arm64/kernel/idreg-override.c b/arch/arm64/kernel/idreg-override.c
> > index 75d9845f489b..16bc8b3b93ae 100644
> > --- a/arch/arm64/kernel/idreg-override.c
> > +++ b/arch/arm64/kernel/idreg-override.c
> > @@ -37,6 +37,12 @@ static const struct reg_desc * const regs[] __initdata = {
> > &mmfr1,
> > };
> >
> > +static const struct {
> > + const char * const alias;
> > + const char * const feature;
> > +} aliases[] __initdata = {
> > +};
> > +
> > static int __init find_field(const char *cmdline, const struct reg_desc *reg,
> > int f, u64 *v)
> > {
> > @@ -80,6 +86,18 @@ static void __init match_options(const char *cmdline)
> > }
> > }
> >
> > +static __init void match_aliases(const char *cmdline)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(aliases); i++) {
> > + char *str = strstr(cmdline, aliases[i].alias);
> > +
> > + if ((str == cmdline || (str > cmdline && *(str - 1) == ' ')))
>
> nit: Extract to a 'cmdline_contains' helper? Took me a good few seconds to
> parse this in the previous patch. Giving it a name would help, and now it's
> also shared.

Good point. Adopted!

Thanks,

M.

--
Without deviation from the norm, progress is not possible.