From: Ingo Molnar <mingo@kernel.org>
To: Alexander Kuleshov <kuleshovmail@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86/earlyprintk: setup earlyprintk as early as possible
Date: Tue, 7 Apr 2015 11:52:28 +0200 [thread overview]
Message-ID: <20150407095228.GA13093@gmail.com> (raw)
In-Reply-To: <1428326234-10067-1-git-send-email-kuleshovmail@gmail.com>
* Alexander Kuleshov <kuleshovmail@gmail.com> wrote:
> 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.
>
> Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
> ---
> arch/x86/kernel/early_printk.c | 4 +---
> arch/x86/kernel/head64.c | 1 +
> include/linux/printk.h | 1 +
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
> index a62536a..4b0577b 100644
> --- a/arch/x86/kernel/early_printk.c
> +++ b/arch/x86/kernel/early_printk.c
> @@ -329,7 +329,7 @@ static inline void early_console_register(struct console *con, int keep_early)
> register_console(early_console);
> }
>
> -static int __init setup_early_printk(char *buf)
> +int __init setup_early_printk(char *buf)
> {
> int keep;
>
> @@ -390,5 +390,3 @@ static int __init setup_early_printk(char *buf)
> }
> return 0;
> }
> -
> -early_param("earlyprintk", setup_early_printk);
> diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
> index c4f8d46..0141de7 100644
> --- a/arch/x86/kernel/head64.c
> +++ b/arch/x86/kernel/head64.c
> @@ -171,6 +171,7 @@ asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data)
> load_idt((const struct desc_ptr *)&idt_descr);
>
> copy_bootdata(__va(real_mode_data));
> + setup_early_printk(boot_command_line);
>
> /*
> * Load microcode early on BSP.
> diff --git a/include/linux/printk.h b/include/linux/printk.h
> index baa3f97..47e3919 100644
> --- a/include/linux/printk.h
> +++ b/include/linux/printk.h
> @@ -115,6 +115,7 @@ int no_printk(const char *fmt, ...)
> #ifdef CONFIG_EARLY_PRINTK
> extern asmlinkage __printf(1, 2)
> void early_printk(const char *fmt, ...);
> +int setup_early_printk(char *buf);
> #else
> static inline __printf(1, 2) __cold
> void early_printk(const char *s, ...) { }
This looks useful.
It would be nice to test it via a well placed printk() and check that
before the patch the message doesn't go to the serial console and
after the patch the message indeed arrives on the early serial console
- or something like that.
Thanks,
Ingo
next prev parent reply other threads:[~2015-04-07 9:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-06 13:17 [PATCH] x86/earlyprintk: setup earlyprintk as early as possible Alexander Kuleshov
2015-04-07 9:52 ` Ingo Molnar [this message]
2015-04-07 10:19 ` Alexander Kuleshov
2015-04-07 10:24 ` Ingo Molnar
2015-04-07 10:31 ` Alexander Kuleshov
2015-04-07 10:33 ` Ingo Molnar
2015-04-07 19:07 ` Yinghai Lu
2015-04-07 19:08 ` Yinghai Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150407095228.GA13093@gmail.com \
--to=mingo@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=kuleshovmail@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox