svn commit: r327058 - head/stand/efi/boot1
Michael Zhilin
mizhka at FreeBSD.org
Thu Dec 21 12:21:36 UTC 2017
Author: mizhka
Date: Thu Dec 21 12:21:35 2017
New Revision: 327058
URL: https://svnweb.freebsd.org/changeset/base/327058
Log:
[boot/efi] scan all display modes rather than sequential try-fail way
This patch allows to scan all display modes in boot1 as loader does.
Before system tried to select optimal display mode by sequential scan of
modes and if error then stop scanning. This way is not good, because
if mode N is not present, mode N+1 may exist.
In loader we use conout->Mode->MaxMode to identify maximum number of modes.
This commit is to use same way in boot1 as in loader.
Reported by: Andrey Pustovetov <andrey.pustovetov at gmail.com>
Reviewed by: tsoome
Differential Revision: https://reviews.freebsd.org/D13541
Modified:
head/stand/efi/boot1/boot1.c
Modified: head/stand/efi/boot1/boot1.c
==============================================================================
--- head/stand/efi/boot1/boot1.c Thu Dec 21 09:21:40 2017 (r327057)
+++ head/stand/efi/boot1/boot1.c Thu Dec 21 12:21:35 2017 (r327058)
@@ -430,10 +430,10 @@ efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE *Xsystab)
conout = ST->ConOut;
conout->Reset(conout, TRUE);
max_dim = best_mode = 0;
- for (i = 0; ; i++) {
+ for (i = 0; i < conout->Mode->MaxMode; i++) {
status = conout->QueryMode(conout, i, &cols, &rows);
if (EFI_ERROR(status))
- break;
+ continue;
if (cols * rows > max_dim) {
max_dim = cols * rows;
best_mode = i;
More information about the svn-src-head
mailing list