[Skiboot] [PATCH] core/init.c: Fix bootargs parsing
Balbir Singh
bsingharora at gmail.com
Mon Oct 24 10:54:51 AEDT 2016
On 21/10/16 17:04, Chris Smart wrote:
> Currently the bootargs are unconditionally deleted, which causes
> a bug where the bootargs passed in by the device tree are lost.
>
> This patch deletes bootargs only if it needs to be replaced by the NVRAM
> entry.
>
> This patch also removes KERNEL_COMMAND_LINE config option in favour of
> using the NVRAM or a device tree.
>
> Signed-off-by: Chris Smart <chris at distroguy.com>
> ---
> core/init.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/core/init.c b/core/init.c
> index 43ce3a06fb65..7d75fd28d04c 100644
> --- a/core/init.c
> +++ b/core/init.c
> @@ -502,16 +502,12 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
> */
> occ_pstates_init();
>
> - /* Set kernel command line argument if specified */
> - dt_check_del_prop(dt_chosen, "bootargs");
> + /* Use nvram bootargs over device tree */
> cmdline = nvram_query("bootargs");
> -#ifdef KERNEL_COMMAND_LINE
> - if (!cmdline)
> - cmdline = KERNEL_COMMAND_LINE;
> -#endif
> - /* some platforms always pass bootargs through the fdt */
> - if (cmdline && !dt_find_property(dt_chosen, "bootargs"))
> + if (cmdline) {
> + dt_check_del_prop(dt_chosen, "bootargs");
> dt_add_property_string(dt_chosen, "bootargs", cmdline);
The indentation needs to be checked. It also changes the logic of
the code. I am not sure if overriding from nvram is desriable even
if bootargs is explictly specified. if that is desirable, how about
a debug statement stating that we are overriding bootargs with whats
in nvram.
Balbir
More information about the Skiboot
mailing list