[PATCH 8/8] CMDLINE: arm64: convert to generic builtin command line
From: Daniel Walker <hidden>
Date: 2021-03-30 17:58:07
Also in:
linux-arm-kernel, linux-mips, lkml
Subsystem:
arm64 port (aarch64 architecture), the rest · Maintainers:
Catalin Marinas, Will Deacon, Linus Torvalds
This updates the arm64 code to use the CONFIG_GENERIC_CMDLINE option. Cc: xe-linux-external@cisco.com Signed-off-by: Daniel Walker <redacted> --- arch/arm64/Kconfig | 33 +----------------------------- arch/arm64/kernel/idreg-override.c | 8 +++++--- arch/arm64/kernel/setup.c | 4 ++++ 3 files changed, 10 insertions(+), 35 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index e4e1b6550115..9781ba3758b1 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig@@ -105,6 +105,7 @@ config ARM64 select GENERIC_ALLOCATOR select GENERIC_ARCH_TOPOLOGY select GENERIC_CLOCKEVENTS_BROADCAST + select GENERIC_CMDLINE select GENERIC_CPU_AUTOPROBE select GENERIC_CPU_VULNERABILITIES select GENERIC_EARLY_IOREMAP
@@ -1841,38 +1842,6 @@ config ARM64_ACPI_PARKING_PROTOCOL protocol even if the corresponding data is present in the ACPI MADT table. -config CMDLINE - string "Default kernel command string" - default "" - help - Provide a set of default command-line options at build time by - entering them here. As a minimum, you should specify the the - root device (e.g. root=/dev/nfs). - -choice - prompt "Kernel command line type" if CMDLINE != "" - default CMDLINE_FROM_BOOTLOADER - help - Choose how the kernel will handle the provided default kernel - command line string. - -config CMDLINE_FROM_BOOTLOADER - bool "Use bootloader kernel arguments if available" - help - Uses the command-line options passed by the boot loader. If - the boot loader doesn't provide any, the default kernel command - string provided in CMDLINE will be used. - -config CMDLINE_FORCE - bool "Always use the default kernel command string" - help - Always use the default kernel command string, even if the boot - loader passes other arguments to the kernel. - This is useful if you cannot or don't want to change the - command-line options your boot loader passes to the kernel. - -endchoice - config EFI_STUB bool
diff --git a/arch/arm64/kernel/idreg-override.c b/arch/arm64/kernel/idreg-override.c
index 83f1c4b92095..fb10cd860a26 100644
--- a/arch/arm64/kernel/idreg-override.c
+++ b/arch/arm64/kernel/idreg-override.c@@ -9,6 +9,7 @@ #include <linux/ctype.h> #include <linux/kernel.h> #include <linux/libfdt.h> +#include <linux/cmdline.h> #include <asm/cacheflush.h> #include <asm/cpufeature.h>
@@ -188,11 +189,12 @@ static __init void parse_cmdline(void) { const u8 *prop = get_bootargs_cmdline(); - if (IS_ENABLED(CONFIG_CMDLINE_FORCE) || !prop) - __parse_cmdline(CONFIG_CMDLINE, true); + __parse_cmdline(CMDLINE_PREPEND, true); - if (!IS_ENABLED(CONFIG_CMDLINE_FORCE) && prop) + if (IS_ENABLED(CMDLINE_OVERRIDE) && prop) __parse_cmdline(prop, true); + + __parse_cmdline(CMDLINE_APPEND, true); } /* Keep checkers quiet */
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 61845c0821d9..01791ce5244c 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c@@ -30,6 +30,7 @@ #include <linux/psci.h> #include <linux/sched/task.h> #include <linux/mm.h> +#include <linux/cmdline.h> #include <asm/acpi.h> #include <asm/fixmap.h>
@@ -322,6 +323,9 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p) * cpufeature code and early parameters. */ jump_label_init(); + + cmdline_add_builtin(boot_command_line, NULL, COMMAND_LINE_SIZE); + parse_early_param(); /*
--
2.25.1