From: Peter Hurley <peter@hurleysoftware.com>
To: Robert Schwebel <r.schwebel@pengutronix.de>
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel@pengutronix.de
Subject: Re: earlycon: no match?
Date: Mon, 04 May 2015 18:31:44 -0400 [thread overview]
Message-ID: <5547F350.7030405@hurleysoftware.com> (raw)
In-Reply-To: <20150504215832.GW15254@pengutronix.de>
On 05/04/2015 05:58 PM, Robert Schwebel wrote:
> On Mon, May 04, 2015 at 05:27:35PM -0400, Peter Hurley wrote:
>> As I understand you,
>>
>> 1. you have CONFIG_SERIAL_EARLYCON=y
>> 2. but you don't specify an earlycon
>> 3. so no earlycon starts.
>> 4. your command line includes "console=ttyAMA0,115200n8"
>> 5. and a console starts on that port (yes?)
>>
>> I don't see a regression here from any previous kernel; this is exactly
>> the same behavior as before, so what is broken?
>
> It outputs a warning message "no match" because it assumes that
> "ttyAMA0" (specified in the console= entry on the kernel commandline)
> matches with "pl011", coming from OF_EARLYCON_DECLARE for the serial
> driver.
>
> I don't understand how this is supposed to work: it will *never* match,
> right?
>
> You say it is a diagnostics message that indicates a misspelling.
> I fail to see what is misspelled, so what does it diagnose?
Ok, so this is only about the diagnostic message, and not about some
other failure.
I don't typically describe harmless diagnostics that didn't appear before
as "broken", so I was having trouble believing what I was reading.
Now that I understand that this is _only_ about a diagnostic message that
didn't appear in previous kernels, I will direct to what I have written
previously multiple times.
Further, I would ask how _you_ would programmatically distinguish
misspellings amongst the following console strings?
console=pl012,...
console=_pl011,...
console=pl,...
console=ttyAMA0,...
Regards,
Peter Hurley
>>> In order to let you better understand the setup here: My AM335x device
>>> (same CPU as on BeagleBone) is a headless embedded system, the only
>>> input/output device it has is a serial port. No display, no touch. For
>>> development, a pretty similar system is simulated in QEMU, with
>>> vexpress.
>>>
>>> Until recently, specifying "console=ttyAMA0" was the correct way to get
>>> the kernel + userspace output out of that serial line. On ARM, there was
>>> no "early" mechanism, only early_printk.
>>>
>>> I wouldn't mind if your citation from kernel-parameters above was true
>>> and I could get an (early and non-early) serial console with a unified
>>> "console=ttyAMA0".
>>>
>>> However, it doesn't work, as "ttyAMA0" doesn't match "pl011".
>>
>> The AM335x does not have a AMBA pl011 port, so "console=ttyAMA0,..." has no
>> effect on that hardware, and never has. Something else is providing console
>> on that setup. Please attach your entire dmesg log for that setup.
>
> Hardware 1: AM335x
> drivers/serial/tty/omap-serial.c
> console=ttyO2,115200n8
>
> Hardware 2: QEMU/vexpress
> drivers/serial/tty/amba-pl011.c
> console=ttyAMA0,38400
>
> The same kernel runs on both platforms.
>
> Let's just discuss the 2nd case for now, with ttyAMA0 (which is pl011),
> which has earlycon support and registers here:
>
> http://lxr.free-electrons.com/source/drivers/tty/serial/amba-pl011.c#L2129
>
>>> So I'm doing the right thing here, and it doesn't work.
>>
>> I'm not sure what you mean by "it doesn't work".
>> Are you saying that the serial console is not starting?
>
> The serial console is starting.
>
> It claims that earlycon has "no match", while the correct serial device
> is specified.
>
> How do you suggest this is supposed to be used in the pl011 case,
> without the "diagnostic message" triggering that says "no match"?
>
> Here is the full serial console log (directed to qemu's stdout):
>
> ----------8<----------8<----------8<----------8<----------8<----------
> rsc@callisto:OSELAS.BSP-GF$ configs/platform-gf/run
> [ 0.000000] Linux version 4.1.0-rc1+ (rsc@callisto) (gcc version 4.8.3 20131111 (prerelease) (OSELAS.Toolchain-2013.12.2 linaro-4.8-2013.11) ) #10 PREEMPT Mon May 4 23:03:27 CEST 2015
> [ 0.000000] earlycon: no match for ttyAMA0,38400n8
> [ 0.000000] Kernel command line: root=/dev/mmcblk0p2 rootfs=ext2 rw mem=1024M console=ttyAMA0,38400n8 loglevel=6 rootwait rootfstype=ext4
PS - If the message really bothers you that much, please feel free to submit a
patch to Greg that lowers that message level to pr_info() instead, so it
doesn't appear in your logs.
I've include an _unsigned_ patch below which does just that. Feel free to
modify and submit it to Greg with your Signed-off-by.
> [ 0.000000] Virtual kernel memory layout:
> [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
> [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
> [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
> [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
> [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
> [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
> [ 0.000000] .text : 0xc0008000 - 0xc0674ed4 (6580 kB)
> [ 0.000000] .init : 0xc0675000 - 0xc06b2000 ( 244 kB)
> [ 0.000000] .data : 0xc06b2000 - 0xc06fd3e8 ( 301 kB)
> [ 0.000000] .bss : 0xc0700000 - 0xc073a5d8 ( 234 kB)
> [ 0.000000] L2C: platform modifies aux control register: 0x02020000 -> 0x02420000
> [ 0.000000] L2C: DT/platform modifies aux control register: 0x02020000 -> 0x02420000
> [ 0.425170] platform 10000000.sysreg: Error -2 creating of_node link
> [ 0.429607] platform basic-mmio-gpio.1.auto: Error -2 creating of_node link
> [ 0.429959] platform basic-mmio-gpio.2.auto: Error -2 creating of_node link
> [ 0.430561] platform basic-mmio-gpio.3.auto: Error -2 creating of_node link
> [ 0.604531] of_amba_device_create(): amba_device_add() failed (-19) for /memory-controller@100e0000
> [ 0.605709] of_amba_device_create(): amba_device_add() failed (-19) for /memory-controller@100e1000
> [ 0.606411] of_amba_device_create(): amba_device_add() failed (-19) for /watchdog@100e5000
> [ 0.620892] of_amba_device_create(): amba_device_add() failed (-19) for /smb/motherboard/iofpga@7,00000000/sysctl@01000
> [ 0.633512] of_amba_device_create(): amba_device_add() failed (-19) for /smb/motherboard/iofpga@7,00000000/wdt@0f000
> [ 0.725997] SCSI subsystem initialized
> [ 0.796591] NFS: Registering the id_resolver key type
> [ 0.797533] Key type id_resolver registered
> [ 0.797758] Key type id_legacy registered
> [ 0.998780] Key type dns_resolver registered
> [ 1.403497] random: nonblocking pool is initialized
>
> Welcome to PTXdist / af inventions-GF!
>
> [ OK ] Created slice Root Slice.
> [ OK ] Listening on Journal Socket (/dev/log).
> [ OK ] Listening on udev Kernel Socket.
>
> <...>
>
> ----------8<----------8<----------8<----------8<----------8<----------
>
> rsc
>
--- >% ---
Subject: [PATCH] earlycon: Reduce log message level of "earlycon: no match for
..."
---
drivers/tty/serial/earlycon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
index 5fdc9f3..a7725f6 100644
--- a/drivers/tty/serial/earlycon.c
+++ b/drivers/tty/serial/earlycon.c
@@ -188,7 +188,7 @@ static int __init param_setup_earlycon(char *buf)
err = setup_earlycon(buf);
if (err == -ENOENT) {
- pr_warn("no match for %s\n", buf);
+ pr_info("no match for %s\n", buf);
err = 0;
} else if (err == -EALREADY) {
pr_warn("already registered\n");
--
2.4.0
next prev parent reply other threads:[~2015-05-04 22:31 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-03 21:10 earlycon: no match? Robert Schwebel
2015-05-04 14:01 ` Peter Hurley
2015-05-04 16:52 ` Peter Hurley
2015-05-04 19:42 ` Robert Schwebel
2015-05-04 20:21 ` Peter Hurley
2015-05-04 20:52 ` Robert Schwebel
2015-05-04 21:27 ` Peter Hurley
2015-05-04 21:58 ` Robert Schwebel
2015-05-04 22:31 ` Peter Hurley [this message]
2015-05-05 4:51 ` Robert Schwebel
2015-05-05 10:39 ` Peter Hurley
2015-05-05 16:32 ` Robert Schwebel
2015-05-05 18:15 ` Peter Hurley
2015-05-05 17:06 ` Fabio Estevam
2015-05-07 17:09 ` Maciej W. Rozycki
2015-05-07 17:22 ` Peter Hurley
2015-05-07 20:14 ` Maciej W. Rozycki
2015-05-07 21:13 ` Peter Hurley
2015-05-07 22:25 ` Maciej W. Rozycki
2015-05-07 22:37 ` Peter Hurley
2015-05-08 16:11 ` Maciej W. Rozycki
2015-05-08 6:34 ` Sascha Hauer
2015-05-08 10:12 ` Peter Hurley
2015-05-04 20:22 ` Sascha Hauer
2015-05-04 20:34 ` Peter Hurley
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=5547F350.7030405@hurleysoftware.com \
--to=peter@hurleysoftware.com \
--cc=kernel@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=r.schwebel@pengutronix.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.