[PATCH 2/2 v2] x86/earlyprintk: setup earlyprintk as possible

From: Alexander Kuleshov
Date: Tue Apr 07 2015 - 07:31:32 EST


As setup_earlyprintk passed to the early_param, it will be usable only after
'parse_early_param' function will be called from the 'setup_arch'. So we have
earlyprintk during early boot and decompression. Next point after decompression
of the kernel where we can use early_printk is after call of the
'parse_early_param'.

This patch removes 'earlyprintk' from the early_param and setup it right after
boot data copying. So 'early_printk' function will be usabable after
decompression of kernel and before parse_early_param will be called.

Kernel with this patch was tested with qemu-i386. early_printk function works
after early_printk initialization. This patch also tested and works with enabled
CONFIG_CMDLINE_BOOL and CONFIG_CMDLINE_OVERRIDE.

Changes v1->v2:

* Call of the setup_early_printk moved to the top of the i386_start_kernel

Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
---
arch/x86/kernel/head32.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c
index 2911ef3..cd8527c 100644
--- a/arch/x86/kernel/head32.c
+++ b/arch/x86/kernel/head32.c
@@ -31,6 +31,9 @@ static void __init i386_default_early_setup(void)

asmlinkage __visible void __init i386_start_kernel(void)
{
+ /* setup earlyprintk as early as possible */
+ setup_early_printk(boot_command_line);
+
cr4_init_shadow();
sanitize_boot_params(&boot_params);

--
2.3.3.611.g09038fc.dirty

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/