From owner-svn-src-head@freebsd.org Sat Dec 23 08:47:04 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F00A1EA0250 for ; Sat, 23 Dec 2017 08:47:04 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from dec.sakura.ne.jp (dec.sakura.ne.jp [210.188.226.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B0C2B7BC44; Sat, 23 Dec 2017 08:47:04 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from fortune.joker.local (124-18-70-98.dz.commufa.jp [124.18.70.98]) (authenticated bits=0) by dec.sakura.ne.jp (8.15.2/8.15.2/[SAKURA-WEB]/20080708) with ESMTPA id vBN7vBrC095080; Sat, 23 Dec 2017 16:57:12 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Sat, 23 Dec 2017 16:57:11 +0900 From: Tomoaki AOKI To: svn-src-head@freebsd.org Cc: mizhka@FreeBSD.org Subject: Re: svn commit: r327058 - head/stand/efi/boot1 Message-Id: <20171223165711.0d11906f601133e66289105a@dec.sakura.ne.jp> Organization: Junchoon corps X-Mailer: Sylpheed 3.6.0 (GTK+ 2.24.31; amd64-portbld-freebsd11.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Dec 2017 08:47:05 -0000 This broke screen after kernel starts. ThinkPad T420 with nvidia NVS 4200M. boot1 screen and loader screen (beastie menu) shows up smaller (but not broken) than usual, and small five interlaced kernel outputs (not actually readable at all) are shown on top of screen. So screen resolution setting should be different and not re-initialized in kernel properly. *Setting hw.vga.textmode (0 and 1) didn't help. *Setting resolution (assuming it wouldn't work, though) via kern.vt.fb.default_mode didn't work as expected. (the option is for scfb, not for UEFI fb.) *Removing nvidia.ko and nvidia-modeset.ko from loader.conf didn't help. *Last known-to-be-OK revision was r326876 and no other commit is done to boot1 codes before this rev. *Using known-to-be-OK rev of boot1.efi, all goes fine. As some commits are done to toolchain codes, I tried rebuilding known-to-be-OK boot1.efi with current toolchains and confirmed working OK. > 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 > 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; -- Tomoaki AOKI