All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.