public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Alexander Kuleshov <kuleshovmail@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Borislav Petkov <bp@suse.de>,
	Mark Rustad <mark.d.rustad@intel.com>,
	Yinghai Lu <yinghai@kernel.org>
Subject: Re: [PATCH v6 3/3] x86/earlyprintk: setup earlyprintk as early as possible
Date: Tue, 12 May 2015 20:58:47 +0300	[thread overview]
Message-ID: <1431453527.28073.73.camel@linux.intel.com> (raw)
In-Reply-To: <CANCZXo49i_vG1Cj_WprwRVjAgOMXmEMXXWGGp-ti1TidzyQrUQ@mail.gmail.com>

On Tue, 2015-05-12 at 22:26 +0600, Alexander Kuleshov wrote:
> 2015-05-12 17:19 GMT+06:00 Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
> >> +/* used by arch/x86/kernel/head{32,64}.c */
> >> +int __init setup_early_serial_console(void);
> >> +
> >
> > Actually, have you investigated how this works on the other supported
> > architectures? It might be better to align this with them.
> 
> Yes. In other architetures, earlyprintk setup occurs through 'early_param',
> as it in the x86 now.

So, which means that instead of this proposal (in a hackish way, since
it half-working solution) maybe better to reconsider how you may handle
early_param?

> 
> >
> > What about other cases like that described in setup_early_printk()?
> >
> >> +
> >> +     arg = strstr(boot_command_line, "earlyprintk=");
> >> +     /* += strlen("earlyprintk"); */
> >> +     arg += 12;
> >> +
> >> +     return setup_early_printk(arg);
> >> +#endif
> >
> > So, the logic of this function seems broken. I don't get why you have to
> > check the contents of earlyprintk parameter.
> >
> 
> Because for now we can setup only serial console, for other we need ioremap
> which is not enabled for this moment. Here we just try to find serial console
> and setup it, if another argument passed to the 'earlyprintk', it will
> be parsed in the
> 'setup_arch'.

Even for EFI case?

So, you might redesign that to somehow test if the setup_early_printk()
is called in early_param() context or even earlier and depending on that
do initializations regarding to possibilities, though I have no idea how
to this in clean way.

Currently you have two places where you check the content of the
parameter, which is not okay from my p.o.v.

> 
> >>
> >> diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
> >> index 38da21c..06fcc1b 100644
> >> --- a/arch/x86/kernel/head64.c
> >> +++ b/arch/x86/kernel/head64.c
> >> @@ -173,6 +173,11 @@ asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data)
> >>       copy_bootdata(__va(real_mode_data));
> >
> >
> >>       setup_builtin_cmdline();
> >>
> >> +     setup_early_serial_console();
> >
> > Those two can be grouped in the same way like in previous change (see
> > above).
> >
> 
> I'm not sure that I understand this. Can you please, explain what did
> you mean here.

It's about style. Just make empty line before setup_builtin_cmdline()
instead of doing this in between two setup_ functions.

> 
> Thank you.


-- 
Andy Shevchenko <andriy.shevchenko@intel.com>
Intel Finland Oy


  reply	other threads:[~2015-05-12 17:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11 10:08 [PATCH RESEND v5 0/2] x86/earlyprintk: setup earlyprintk as early as possible Alexander Kuleshov
2015-05-11 10:09 ` [PATCH v2 1/2] x86/setup: introduce setup_bultin_cmdline Alexander Kuleshov
2015-05-11 10:21   ` Borislav Petkov
2015-05-11 10:36   ` Andy Shevchenko
2015-05-11 10:09 ` [PATCH v5 2/2] x86/earlyprintk: setup earlyprintk as early as possible Alexander Kuleshov
2015-05-11 10:24   ` Borislav Petkov
2015-05-11 10:39 ` [PATCH RESEND v5 0/2] " Andy Shevchenko
2015-05-12  8:08 ` [PATCH v6 0/3] Alexander Kuleshov
2015-05-12  8:09   ` [PATCH v3 1/3] x86/setup: introduce setup_bultin_cmdline Alexander Kuleshov
2015-05-12 10:50     ` Andy Shevchenko
2015-05-12 16:14       ` Alexander Kuleshov
2015-05-12 17:52         ` Andy Shevchenko
2015-05-12  8:09   ` [PATCH v1 2/3] x86/setup: handle builtin command line as early as possible Alexander Kuleshov
2015-05-12  8:10   ` [PATCH v6 3/3] x86/earlyprintk: setup earlyprintk " Alexander Kuleshov
2015-05-12 11:19     ` Andy Shevchenko
2015-05-12 16:26       ` Alexander Kuleshov
2015-05-12 17:58         ` Andy Shevchenko [this message]
2015-05-12 18:08           ` Alexander Kuleshov
  -- strict thread matches above, loose matches on Subject: below --
2015-05-18  8:46 [RESEND PATCH v6 0/3] x86/earlyprintk: setup serial " Alexander Kuleshov
2015-05-18  8:47 ` [PATCH v6 3/3] x86/earlyprintk: setup " Alexander Kuleshov

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=1431453527.28073.73.camel@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bp@suse.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=kuleshovmail@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.d.rustad@intel.com \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=yinghai@kernel.org \
    /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