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> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: David Brazdil <dbrazdil@xxxxxxxxxx> --- arch/arm64/kernel/idreg-override.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm64/kernel/idreg-override.c b/arch/arm64/kernel/idreg-override.c index 489aa274e3ec..4fad3fc4d104 100644 --- a/arch/arm64/kernel/idreg-override.c +++ b/arch/arm64/kernel/idreg-override.c @@ -35,6 +35,12 @@ static const struct ftr_set_desc * const regs[] __initdata = { &mmfr1, }; +static const struct { + const char *alias; + const char *feature; +} aliases[] __initdata = { +}; + static char *cmdline_contains_option(const char *cmdline, const char *option) { char *str = strstr(cmdline, option); @@ -88,6 +94,15 @@ 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++) + if (cmdline_contains_option(cmdline, aliases[i].alias)) + match_options(aliases[i].feature); +} + static __init void parse_cmdline(void) { if (!IS_ENABLED(CONFIG_CMDLINE_FORCE)) { @@ -108,6 +123,7 @@ static __init void parse_cmdline(void) goto out; match_options(prop); + match_aliases(prop); if (!IS_ENABLED(CONFIG_CMDLINE_EXTEND)) return; @@ -115,6 +131,7 @@ static __init void parse_cmdline(void) out: match_options(CONFIG_CMDLINE); + match_aliases(CONFIG_CMDLINE); } /* Keep checkers quiet */ -- 2.29.2 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm