From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 74890210C42B6 for ; Tue, 3 Jul 2018 08:28:44 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9DF2D401DE84; Tue, 3 Jul 2018 15:28:43 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-222.rdu2.redhat.com [10.10.120.222]) by smtp.corp.redhat.com (Postfix) with ESMTP id 925671C5A3; Tue, 3 Jul 2018 15:28:42 +0000 (UTC) To: Ruiyu Ni , edk2-devel@lists.01.org Cc: Eric Dong References: <20180703063743.373172-1-ruiyu.ni@intel.com> <20180703063743.373172-7-ruiyu.ni@intel.com> From: Laszlo Ersek Message-ID: <9972e907-55a4-f262-0e67-1de9e1b391f2@redhat.com> Date: Tue, 3 Jul 2018 17:28:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180703063743.373172-7-ruiyu.ni@intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Tue, 03 Jul 2018 15:28:43 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Tue, 03 Jul 2018 15:28:43 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: Re: [PATCH v3 6/7] MdeModulePkg/BdsDxe: Revert "fall back to UI loop before hanging" X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2018 15:28:44 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 07/03/18 08:37, Ruiyu Ni wrote: > Commit d1de487dd2e77f4741abcbd71d19a8c93971fda0 > "MdeModulePkg/BdsDxe: fall back to a Boot Manager Menu loop before > hanging" > changed BDS core to fall back to UI loop when no bootable option > can be launched. > Now since PlatformBootManagerUnableToBoot() is added, the commit > can be reverted. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ruiyu Ni > Cc: Eric Dong > Cc: Laszlo Ersek > --- > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 60 +++----------------------------- > 1 file changed, 4 insertions(+), 56 deletions(-) > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > index 49e403e181..39b643c77a 100644 > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > @@ -634,55 +634,6 @@ BdsFormalizeEfiGlobalVariable ( > BdsFormalizeOSIndicationVariable (); > } > > -/** > - Enter an infinite loop of calling the Boot Manager Menu. > - > - This is a last resort alternative to BdsEntry() giving up for good. This > - function never returns. > - > - @param[in] BootManagerMenu The EFI_BOOT_MANAGER_LOAD_OPTION located and/or > - created by the EfiBootManagerGetBootManagerMenu() > - call in BdsEntry(). > -**/ > -VOID > -BdsBootManagerMenuLoop ( > - IN EFI_BOOT_MANAGER_LOAD_OPTION *BootManagerMenu > - ) > -{ > - EFI_INPUT_KEY Key; > - > - // > - // Normally BdsDxe does not print anything to the system console, but this is > - // a last resort -- the end-user will likely not see any DEBUG messages > - // logged in this situation. > - // > - // AsciiPrint() will NULL-check gST->ConOut internally. We check gST->ConIn > - // here to see if it makes sense to request and wait for a keypress. > - // > - if (gST->ConIn != NULL) { > - AsciiPrint ( > - "%a: No bootable option or device was found.\n" > - "%a: Press any key to enter the Boot Manager Menu.\n", > - gEfiCallerBaseName, > - gEfiCallerBaseName > - ); > - BdsWaitForSingleEvent (gST->ConIn->WaitForKey, 0); > - > - // > - // Drain any queued keys. > - // > - while (!EFI_ERROR (gST->ConIn->ReadKeyStroke (gST->ConIn, &Key))) { > - // > - // just throw away Key > - // > - } > - } > - > - for (;;) { > - EfiBootManagerBoot (BootManagerMenu); > - } > -} > - > /** > > Service routine for BdsInstance->Entry(). Devices are connected, the > @@ -1081,19 +1032,16 @@ BdsEntry ( > } while (BootSuccess); > } > > + if (BootManagerMenuStatus != EFI_NOT_FOUND) { > + EfiBootManagerFreeLoadOption (&BootManagerMenu); > + } > + > if (!BootSuccess) { > LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, LoadOptionTypePlatformRecovery); > ProcessLoadOptions (LoadOptions, LoadOptionCount); > EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount); > } > > - // > - // If BootManagerMenu is available, fall back to it indefinitely. > - // > - if (BootManagerMenuStatus != EFI_NOT_FOUND) { > - BdsBootManagerMenuLoop (&BootManagerMenu); > - } > - > DEBUG ((EFI_D_ERROR, "[Bds] Unable to boot!\n")); > CpuDeadLoop (); > } > Reviewed-by: Laszlo Ersek