2020-01-14 12:26:43

by Michal Simek

[permalink] [raw]
Subject: [PATCH] microblaze: Kernel parameters should be parsed earlier

Kernel command line should be parsed before mmu_init is called to be able
to get for example cma sizes from command line. That's why call
parse_early_param() earlier in machine_early_init().

Signed-off-by: Michal Simek <[email protected]>
---

arch/microblaze/kernel/setup.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
index effed14eee06..34a082b17a01 100644
--- a/arch/microblaze/kernel/setup.c
+++ b/arch/microblaze/kernel/setup.c
@@ -54,7 +54,6 @@ void __init setup_arch(char **cmdline_p)
*cmdline_p = boot_command_line;

setup_memory();
- parse_early_param();

console_verbose();

@@ -177,6 +176,8 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
/* Initialize global data */
per_cpu(KM, 0) = 0x1; /* We start in kernel mode */
per_cpu(CURRENT_SAVE, 0) = (unsigned long)current;
+
+ parse_early_param();
}

void __init time_init(void)
--
2.24.0


2020-02-11 13:12:50

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] microblaze: Kernel parameters should be parsed earlier

Ășt 14. 1. 2020 v 13:24 odesĂ­latel Michal Simek <[email protected]> napsal:
>
> Kernel command line should be parsed before mmu_init is called to be able
> to get for example cma sizes from command line. That's why call
> parse_early_param() earlier in machine_early_init().
>
> Signed-off-by: Michal Simek <[email protected]>
> ---
>
> arch/microblaze/kernel/setup.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
> index effed14eee06..34a082b17a01 100644
> --- a/arch/microblaze/kernel/setup.c
> +++ b/arch/microblaze/kernel/setup.c
> @@ -54,7 +54,6 @@ void __init setup_arch(char **cmdline_p)
> *cmdline_p = boot_command_line;
>
> setup_memory();
> - parse_early_param();
>
> console_verbose();
>
> @@ -177,6 +176,8 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
> /* Initialize global data */
> per_cpu(KM, 0) = 0x1; /* We start in kernel mode */
> per_cpu(CURRENT_SAVE, 0) = (unsigned long)current;
> +
> + parse_early_param();
> }
>
> void __init time_init(void)
> --
> 2.24.0
>

We found that this breaks earlycon support that's why v2 is necessary.

M





--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs