[PATCH v5 07/12] efi_loader: disk: a helper function to create efi_disk objects from udevice

Mark Kettenis mark.kettenis at xs4all.nl
Tue Jun 14 00:21:17 CEST 2022


> Date: Mon, 13 Jun 2022 16:10:57 -0400
> From: Tom Rini <trini at konsulko.com>
> 
> On Mon, Jun 13, 2022 at 04:54:45PM -0300, Fabio Estevam wrote:
> > On Wed, May 18, 2022 at 6:23 AM Neil Armstrong <narmstrong at baylibre.com> wrote:
> > 
> > > This change as commit a9bf024b2933bba0e23038892970a18b72dfaeb4 in master makes Amlogic S905X board libretech-cc to crash:
> > 
> > This change also causes issues on a kontron-sl-mx8mm and imx8mn ddr3 evk boards.
> > 
> > The problem on these boards is that serial console garbage is seen:
> > 
> > Net:   eth0: ethernet at 30be0000
> > Hit any key to stop autoboot:  0
> > u-boot=> [25;88R
> > Unknown command '[25' - try 'help'
> > Unknown command '88R' - try 'help'
> > 
> > These extraneous characters stop the boot process.

This looks like the reply the terminal sends in response to the "Query
cursor position" command that is sent in
lib/efi_loader/efi_console.c:query_console_serial().

It might be worth trying to increase the timeout in term_get_char().

If that doesn't help, it probably means the initial ESC character gets
lost because the serial port has a very small (or no) FIFO and u-boot
isn't reading characters fast enough.  If that is the case, maybe we
we should make the query_console_serial() call optional and only
enable it on SoCs that have a large enough FIFO for this to be safe.

Cheers,

Mark


More information about the U-Boot mailing list