Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Nov 2019 20:08:45 +0000 (UTC)
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r354559 - head/stand/efi/loader
Message-ID:  <201911082008.xA8K8j7C033596@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: manu
Date: Fri Nov  8 20:08:44 2019
New Revision: 354559
URL: https://svnweb.freebsd.org/changeset/base/354559

Log:
  loader.efi: Default to serial if we don't have a ConOut variable
  
  In the EFI implementation in U-Boot no ConOut efi variable is created,
  this cause loader to fallback to TERM_EMU implementation which is very
  very very slow (and uses the ConOut device in the system table anyway).
  The UEFI spec aren't clear as if this variable needs to exists or not.
  
  Reviewed by:	imp, kevans

Modified:
  head/stand/efi/loader/main.c

Modified: head/stand/efi/loader/main.c
==============================================================================
--- head/stand/efi/loader/main.c	Fri Nov  8 19:29:14 2019	(r354558)
+++ head/stand/efi/loader/main.c	Fri Nov  8 20:08:44 2019	(r354559)
@@ -703,8 +703,11 @@ parse_uefi_con_out(void)
 	how = 0;
 	sz = sizeof(buf);
 	rv = efi_global_getenv("ConOut", buf, &sz);
-	if (rv != EFI_SUCCESS)
+	if (rv != EFI_SUCCESS) {
+		/* If we don't have any ConOut default to serial */
+		how = RB_SERIAL;
 		goto out;
+	}
 	ep = buf + sz;
 	node = (EFI_DEVICE_PATH *)buf;
 	while ((char *)node < ep) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911082008.xA8K8j7C033596>