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
next prev parent 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 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.