Messages in this thread Patch in this message | | | From | Marc Zyngier <> | Subject | [PATCH v5 15/21] arm64: Add an aliasing facility for the idreg override | Date | Mon, 25 Jan 2021 10:50:13 +0000 |
| |
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@kernel.org> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: David Brazdil <dbrazdil@google.com> --- 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
| |