From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by mx.groups.io with SMTP id smtpd.web12.1235.1590530515353901556 for ; Tue, 26 May 2020 15:01:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=X/+NzXFv; spf=pass (domain: nuviainc.com, ip: 209.85.128.67, mailfrom: leif@nuviainc.com) Received: by mail-wm1-f67.google.com with SMTP id r15so1121554wmh.5 for ; Tue, 26 May 2020 15:01:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=C8WmJYMjCS/OC36IN3SunwgAYFM/0pznr8r5NeKwLmU=; b=X/+NzXFv3ZIih3h8w4Hh0y5CPV/YnuChT1qBbVKbMt97QsnXjfrLfemoxtpRFgQCwe VS4+WaZC/GiG0tnoRbOs9mJlwTVu2xfcZ35+yULSl/zXGWIZhABVPwWO3ENd6a9FVuwq YrOIwL/0B05MC5DHZ6uis3J90UTsyAN6AwiyW4y/NP/93v2Db8a3mXaEXw8+NfDn8uoD g+u+VmMUcFjMOByqpArPpDSRe2VI0Z7RglYBKs0MyZWhi06DJ3EGTWObVDvwmk7Q25Mz UjhGX7jRuNj+Q99WKrQzAT2outpH1IrY5ihCfwQwiyug+TGJfZ/IEYBZPU43C2GLeAuy y7ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=C8WmJYMjCS/OC36IN3SunwgAYFM/0pznr8r5NeKwLmU=; b=qDycoG+tjdBsp2Q9+vWhcoqJ0yaOY7w0di7xg3ClgrdjlWA4it0WShfROkQW25olub 4TtU2xGoibFwNZb3Ww4esIZ4fjDxaO2l8aGPYR/n2K3W2mkkNgAOkNuZggr+0zYEmEbe KBZ3RrQBWhs1kiyjs4jOazp5zP47M4EUeuguCgsWsFeqrEYiGAy/dHz04KbEJQP4/ErA BDlVxOC6ZhPoauSMN1gKuWMdP0SOJoSEM/pbRs2/p3fMGUgfiWlPetxN9us0X/B0QCz7 dVQ15qaSXpQsj+ckUxANAfoQXyz9xfb9XOdKsdXQI0wa1TppuROs4JAgaO57Cwcb1Yr3 2QDA== X-Gm-Message-State: AOAM5305DWeXuI9qKXAhapgDkKT99ebS5+FsZx1AizJ3fRq/pKqOVEKQ U1FlyJUObj8rOdqiv1dRCRLgAg== X-Google-Smtp-Source: ABdhPJwnx+0h44DK1O5zLcnjQ9/JFEdPpLMSXEj0c5hiEYyJzD9ywJjT7b+2uVUtq56T4DT9JptPxw== X-Received: by 2002:a7b:c145:: with SMTP id z5mr1211059wmi.189.1590530513824; Tue, 26 May 2020 15:01:53 -0700 (PDT) Return-Path: Received: from vanye ([2001:470:1f09:12f0:b26e:bfff:fea9:f1b8]) by smtp.gmail.com with ESMTPSA id r4sm1018294wro.32.2020.05.26.15.01.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2020 15:01:53 -0700 (PDT) Date: Tue, 26 May 2020 23:01:51 +0100 From: "Leif Lindholm" To: Ard Biesheuvel Cc: devel@edk2.groups.io, jon@solid-run.com, Laszlo Ersek , Ray Ni , Zhichao Gao Subject: Re: [PATCH 0/5] ArmPkg/PlatformBootManagerLib: play nice without ConnectAll() Message-ID: <20200526220151.GV1923@vanye> References: <20200526161359.4810-1-ard.biesheuvel@arm.com> MIME-Version: 1.0 In-Reply-To: <20200526161359.4810-1-ard.biesheuvel@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, May 26, 2020 at 18:13:54 +0200, Ard Biesheuvel wrote: > Currently, Armpkg's PlatformBootManagerLib connects all controller to > their drivers recursively, even if the active boot option does not > require it. There are some historical reasons for this, some of which are > being addressed in separate patches. > > This series addresses the way ArmPkg's PlatformBootManagerLib implementation > deals with the UEFI Shell and the UiApp: currently, the shell is always > added as an ordinary boot option, which will be started if no other boot > options can be started, or if it is the first one in the boot order. > > Once we remove the ConnectAll() call from PlatformBootManagerLib, those shells > will be launched without any block or other devices connected, which may > confuse novice users. So before doing so, let's make the handling a bit more > sane: > - add a 's' hotkey that enters the UEFI shell regardless of its priority > in the BootOrder - this shell will be entered with no devices connected > after patch #4 > - enter the UiApp as a last resort if no boot options can be started > - make the UEFI Shell boot option hidden, so it is not started by default > (only by hotkey or BootNext) > - remove the ConnectAll() call from PlatformBootManagerLib > - finally, add a plugin library for UiApp to expose the UEFI Shell via an > ordinary main menu option (this works around the fact that patch #3 will > result in the UEFI Shell disappearing from the Boot Manager list). > Entering the shell this way will resemble the old situation, given that > UiApp connects all devices and refreshes all boot options etc at launch. I get why this set was sent in isolation, but could we also discuss somewhat what we would plan to do with the edk2-platforms that make use of the ArmPkg PlatformBootManagerLib? Not attempting a fallback boot onto network is probably an acceptable change to pick up, but having an undocumented hotkey as the only way into a shell that now doesn't map devices could be a bit aggravating. / Leif > Cc: Laszlo Ersek > Cc: Leif Lindholm > Cc: Ray Ni > Cc: Zhichao Gao > > Ard Biesheuvel (5): > ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey > ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure > ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot > option > ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot > ShellPkg: add BootManager library to add UEFI Shell menu option > > .../ShellBootManagerLib.inf | 45 +++ > .../ShellBootManagerLib/ShellBootManagerLib.h | 44 +++ > .../PlatformBootManagerLib/PlatformBm.c | 37 ++- > .../ShellBootManagerLib/ShellBootManagerLib.c | 258 ++++++++++++++++++ > .../ShellBootManagerLib/ShellBmStrings.uni | 17 ++ > .../ShellBootManagerLib/ShellBmVfr.Vfr | 37 +++ > 6 files changed, 425 insertions(+), 13 deletions(-) > create mode 100644 ShellPkg/Library/ShellBootManagerLib/ShellBootManagerLib.inf > create mode 100644 ShellPkg/Library/ShellBootManagerLib/ShellBootManagerLib.h > create mode 100644 ShellPkg/Library/ShellBootManagerLib/ShellBootManagerLib.c > create mode 100644 ShellPkg/Library/ShellBootManagerLib/ShellBmStrings.uni > create mode 100644 ShellPkg/Library/ShellBootManagerLib/ShellBmVfr.Vfr > > -- > 2.17.1 >