public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@arm.com>
To: devel@edk2.groups.io, leif@nuviainc.com
Cc: jon@solid-run.com, Laszlo Ersek <lersek@redhat.com>,
	Ray Ni <ray.ni@intel.com>, Zhichao Gao <zhichao.gao@intel.com>
Subject: Re: [edk2-devel] [PATCH 0/5] ArmPkg/PlatformBootManagerLib: play nice without ConnectAll()
Date: Wed, 27 May 2020 07:35:18 +0200	[thread overview]
Message-ID: <a8dda3fc-559f-4bfb-c2ab-c83dd73e255b@arm.com> (raw)
In-Reply-To: <20200526220151.GV1923@vanye>

On 5/27/20 12:01 AM, Leif Lindholm via groups.io wrote:
> 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.
> 

It is not the only way, and it is not even the preferred way. Patch 5/5 
adds an option to the UiApp root menu to enter the UEFI Shell, in a way 
that is independent from boot option handling. Since you enter UiApp 
first, all handles will be connected and boot options refreshed as usual.

In cases where you want to avoid this from happening, you can use the 
's' key to drop into a shell directly.


  reply	other threads:[~2020-05-27  5:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-26 16:13 [PATCH 0/5] ArmPkg/PlatformBootManagerLib: play nice without ConnectAll() Ard Biesheuvel
2020-05-26 16:13 ` [PATCH 1/5] ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey Ard Biesheuvel
2020-05-27 15:24   ` [edk2-devel] " Laszlo Ersek
2020-05-26 16:13 ` [PATCH 2/5] ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure Ard Biesheuvel
2020-05-26 21:24   ` [edk2-devel] " Leif Lindholm
2020-05-27 15:34     ` Laszlo Ersek
2020-05-27 17:39       ` Leif Lindholm
2020-05-27 15:25   ` Laszlo Ersek
2020-05-26 16:13 ` [PATCH 3/5] ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot option Ard Biesheuvel
2020-05-26 21:27   ` [edk2-devel] " Leif Lindholm
2020-05-27 15:40   ` Laszlo Ersek
2020-05-26 16:13 ` [PATCH 4/5] ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot Ard Biesheuvel
2020-05-27 15:49   ` [edk2-devel] " Laszlo Ersek
2020-05-26 16:13 ` [PATCH 5/5] ShellPkg: add BootManager library to add UEFI Shell menu option Ard Biesheuvel
2020-05-27 15:57   ` [edk2-devel] " Laszlo Ersek
2020-05-27 17:22     ` Ard Biesheuvel
2020-05-28 19:55       ` Laszlo Ersek
2020-05-26 22:01 ` [PATCH 0/5] ArmPkg/PlatformBootManagerLib: play nice without ConnectAll() Leif Lindholm
2020-05-27  5:35   ` Ard Biesheuvel [this message]
2020-05-27 10:43     ` [edk2-devel] " Leif Lindholm
2020-05-27 10:50       ` Ard Biesheuvel
2020-05-27 13:41         ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a8dda3fc-559f-4bfb-c2ab-c83dd73e255b@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox