Date: Thu, 21 Dec 2017 12:21:35 +0000 (UTC) From: Michael Zhilin <mizhka@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r327058 - head/stand/efi/boot1 Message-ID: <201712211221.vBLCLZ5p017820@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712211221.vBLCLZ5p017820>