From: Max Filippov Date: Tue, 14 Aug 2018 01:56:37 +0000 (-0700) Subject: xtensa: make bootparam parsing optional X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=baac1d36d15d16fc064a901918bf844a36e97b1b;p=linux.git xtensa: make bootparam parsing optional A kernel may not need any boot parameters from the bootloader, allow disabling bootparam parsing in that case. Signed-off-by: Max Filippov --- diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 44b20da404be6..bc766b6b63440 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -473,6 +473,15 @@ config BUILTIN_DTB string "DTB to build into the kernel image" depends on OF +config PARSE_BOOTPARAM + bool "Parse bootparam block" + default y + help + Parse parameters passed to the kernel from the bootloader. It may + be disabled if the kernel is known to run without the bootloader. + + If unsure, say Y. + config BLK_DEV_SIMDISK tristate "Host file-based simulated block device support" default n diff --git a/arch/xtensa/boot/boot-elf/bootstrap.S b/arch/xtensa/boot/boot-elf/bootstrap.S index b6aa85328ac0c..718c99dcfe7a9 100644 --- a/arch/xtensa/boot/boot-elf/bootstrap.S +++ b/arch/xtensa/boot/boot-elf/bootstrap.S @@ -42,7 +42,10 @@ RomInitAddr: .word KERNELOFFSET #endif RomBootParam: - .word _bootparam +#ifndef CONFIG_PARSE_BOOTPARAM + .word 0 +#else + .word _bootparam _bootparam: .short BP_TAG_FIRST .short 4 @@ -50,6 +53,7 @@ _bootparam: .short BP_TAG_LAST .short 0 .long 0 +#endif .align 4 _SetupMMU: diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 41618788cc9ed..351283b60df61 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -79,6 +79,7 @@ static char __initdata command_line[COMMAND_LINE_SIZE]; static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE; #endif +#ifdef CONFIG_PARSE_BOOTPARAM /* * Boot parameter parsing. * @@ -176,6 +177,13 @@ static int __init parse_bootparam(const bp_tag_t* tag) return 0; } +#else +static int __init parse_bootparam(const bp_tag_t *tag) +{ + pr_info("Ignoring boot parameters at %p\n", tag); + return 0; +} +#endif #ifdef CONFIG_OF