From: Laszlo Ersek <lersek@redhat.com>
To: edk2-devel-01 <edk2-devel@lists.01.org>
Cc: Anthony Perard <anthony.perard@citrix.com>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Eric Dong <eric.dong@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Julien Grall <julien.grall@linaro.org>,
Ruiyu Ni <ruiyu.ni@intel.com>, Star Zeng <star.zeng@intel.com>
Subject: [PATCH 0/5] MdeModulePkg, OvmfPkg: more easily visible boot progress reporting
Date: Thu, 23 Nov 2017 00:58:44 +0100 [thread overview]
Message-ID: <20171122235849.4177-1-lersek@redhat.com> (raw)
Repo: https://github.com/lersek/edk2.git
Branch: boot_diags
The point of this series is to communicate OVMF boot progress and boot
failure in a way that is easier to consume for users who aren't versed
in OVMF debug log capturing and analysis. This means that we have to
write stuff about booting to the system console.
(Please read <https://bugzilla.redhat.com/show_bug.cgi?id=1515418> as
well about our use case.)
Patch #1 makes the
DEBUG ((EFI_D_ERROR, "[Bds] Unable to boot!\n"));
CpuDeadLoop ();
part in BdsDxe more friendly, by printing a similar message to the
console, and entering the boot manager menu after a keypress. This was
suggested by Ray earlier; please refer to
<https://bugzilla.tianocore.org/show_bug.cgi?id=513>.
Patches #2 through #4 introduce a new, structured, status code for the
reporting and routing/handling infrastructure. UefiBootManagerLib should
not write directly to the console -- it already only logs DEBUGs and
reports status codes --, but we should emit more detailed information in
status codes than we currently do. OVMF's PlatformBds is modified to
catch these status codes and print them to the console. Other platforms
are not affected (beyond any catch-all handlers picking up the new
status codes, if EFI_DEBUG_CODE reporting is enabled).
Patch #5 makes sure that RELEASE builds of OVMF are also not affected,
by clearing EFI_DEBUG_CODE reporting in those builds.
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien.grall@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Thanks
Laszlo
Laszlo Ersek (5):
MdeModulePkg/BdsDxe: fall back to a Boot Manager Menu loop before
hanging
MdeModulePkg: introduce the EDKII_OS_LOADER_DETAIL status code payload
MdeModulePkg/UefiBootManagerLib: report EDKII_OS_LOADER_DETAIL status
code
OvmfPkg/PlatformBootManagerLib: print EDKII_OS_LOADER_DETAIL to ConOut
OvmfPkg: disable EFI_DEBUG_CODE reporting in RELEASE builds
MdeModulePkg/MdeModulePkg.dec | 9 +
MdeModulePkg/MdeModulePkg.uni | 7 +
OvmfPkg/OvmfPkgIa32.dsc | 7 +
OvmfPkg/OvmfPkgIa32X64.dsc | 7 +
OvmfPkg/OvmfPkgX64.dsc | 7 +
MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf | 2 +
OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 4 +
MdeModulePkg/Include/Guid/StatusCodeDataTypeOsLoaderDetail.h | 109 +++++++
MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h | 84 ++++++
OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h | 15 +
MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 51 +++-
MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c | 166 +++++++++++
MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 60 +++-
OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 8 +
OvmfPkg/Library/PlatformBootManagerLib/StatusCodeHandler.c | 298 ++++++++++++++++++++
15 files changed, 828 insertions(+), 6 deletions(-)
create mode 100644 MdeModulePkg/Include/Guid/StatusCodeDataTypeOsLoaderDetail.h
create mode 100644 OvmfPkg/Library/PlatformBootManagerLib/StatusCodeHandler.c
--
2.14.1.3.gb7cf6e02401b
next reply other threads:[~2017-11-22 23:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-22 23:58 Laszlo Ersek [this message]
2017-11-22 23:58 ` [PATCH 1/5] MdeModulePkg/BdsDxe: fall back to a Boot Manager Menu loop before hanging Laszlo Ersek
2017-11-23 3:43 ` Ni, Ruiyu
2017-11-23 13:09 ` Laszlo Ersek
2017-11-27 16:27 ` Laszlo Ersek
2017-11-22 23:58 ` [PATCH 2/5] MdeModulePkg: introduce the EDKII_OS_LOADER_DETAIL status code payload Laszlo Ersek
2017-11-22 23:58 ` [PATCH 3/5] MdeModulePkg/UefiBootManagerLib: report EDKII_OS_LOADER_DETAIL status code Laszlo Ersek
2017-11-23 5:21 ` Ni, Ruiyu
2017-11-23 14:03 ` Laszlo Ersek
2017-11-23 14:53 ` Ni, Ruiyu
2017-11-23 17:08 ` Laszlo Ersek
2017-11-23 23:00 ` Ni, Ruiyu
2017-11-22 23:58 ` [PATCH 4/5] OvmfPkg/PlatformBootManagerLib: print EDKII_OS_LOADER_DETAIL to ConOut Laszlo Ersek
2017-11-22 23:58 ` [PATCH 5/5] OvmfPkg: disable EFI_DEBUG_CODE reporting in RELEASE builds Laszlo Ersek
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=20171122235849.4177-1-lersek@redhat.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