public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@arm.com>
To: devel@edk2.groups.io
Cc: jon@solid-run.com, Ard Biesheuvel <ard.biesheuvel@arm.com>,
	Laszlo Ersek <lersek@redhat.com>,
	Leif Lindholm <leif@nuviainc.com>, Ray Ni <ray.ni@intel.com>,
	Zhichao Gao <zhichao.gao@intel.com>
Subject: [PATCH v2 0/5] ArmPkg/PlatformBootManagerLib: play nice without ConnectAll()
Date: Thu, 28 May 2020 11:17:36 +0200	[thread overview]
Message-ID: <20200528091741.14610-1-ard.biesheuvel@arm.com> (raw)

Currently, Armpkg's PlatformBootManagerLib connects all controllers 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 inactive, so it is not started by default
  (only by hotkey or BootNext), but is still accessible via the UiApp boot
  manager menu
- remove the ConnectAll() call from PlatformBootManagerLib

Changes since v1:
- add Laszlo's R-b to patches #1, #2 and #5, but omit it from #4, which has
  changed
- make the generated boot option for the shell inactive but not hidden - this
  will prevent it from being selected by default
- add a patch to deal with inactive boot options correctly, by not omitting
  them from the boot selection menu presented by the boot manager in UiApp
- some commit log tweaks to fix typos and align the text with the above
  changes

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>

Ard Biesheuvel (5):
  ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey
  ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure
  MdeModulePkg/BootManagerUiLib: show inactive boot options
  ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot
    option
  ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot

 .../PlatformBootManagerLib/PlatformBm.c       | 35 +++++++++++--------
 .../Library/BootManagerUiLib/BootManager.c    |  4 +--
 2 files changed, 22 insertions(+), 17 deletions(-)

-- 
2.17.1


             reply	other threads:[~2020-05-28  9:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28  9:17 Ard Biesheuvel [this message]
2020-05-28  9:17 ` [PATCH v2 1/5] ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey Ard Biesheuvel
2020-05-28  9:17 ` [PATCH v2 2/5] ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure Ard Biesheuvel
2020-06-01 11:55   ` Leif Lindholm
2020-05-28  9:17 ` [PATCH v2 3/5] MdeModulePkg/BootManagerUiLib: show inactive boot options Ard Biesheuvel
2020-05-28 19:57   ` Laszlo Ersek
2020-06-01 11:56   ` Leif Lindholm
2020-06-02  8:25   ` Ard Biesheuvel
2020-06-02  9:11     ` Gao, Zhichao
2020-06-02  9:26       ` Ard Biesheuvel
2020-06-03 12:26         ` Gao, Zhichao
2020-05-28  9:17 ` [PATCH v2 4/5] ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot option Ard Biesheuvel
2020-05-28 19:58   ` Laszlo Ersek
2020-06-01 12:01   ` Leif Lindholm
2020-06-01 12:08     ` Ard Biesheuvel
2020-06-01 12:36       ` Leif Lindholm
2020-05-28  9:17 ` [PATCH v2 5/5] ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot Ard Biesheuvel

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=20200528091741.14610-1-ard.biesheuvel@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