Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: f26b70cb9f1367ceb25190ba2777631ee42c69fe
https://github.com/tianocore/edk2/commit/f26b70cb9f1367ceb25190ba2777631ee42c69fe
Author: Benjamin Doron <[email protected]>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M UefiPayloadPkg/Include/Coreboot.h
A UefiPayloadPkg/Library/CbSerialPortLib/CbSerialPortLib.c
A UefiPayloadPkg/Library/CbSerialPortLib/CbSerialPortLib.inf
M UefiPayloadPkg/UefiPayloadPkg.dsc
Log Message:
-----------
UefiPayloadPkg: Add support for logging to CBMEM console
Writes TianoCore debug logs into the CBMEM console ringbuffer, from
where the user can retrieve them with the `cbmem` userspace utility.
The intention is to aid in debugging non-fatal issues even in release
builds, or simply make TianoCore's logs available to those interested.
Consequently, MDEPKG_NDEBUG must be masked. As an in-memory debug
logging library, ASSERTs must be non-fatal to be seen, so they neither
dead-loop nor create a breakpoint. It is assumed that ASSERT() neither
enforces fatal conditions nor security integrity, as release builds do
not call DebugAssert() from the ASSERT macro.
More detailed debug logs are produced with the DEBUG_CODE macro, but
this guards other debug-related code throughout the codebase. To avoid
changing behaviour on release builds, this is only set for debug builds.
Tested on QEMU, dumping the appropriate memory region in the UEFI shell
shows the TianoCore log. An improved revision of the debug library used
in several coreboot-related EDK2 forks, including MrChromebox's.
Previous revisions also tested on an Acer Aspire VN7-572G laptop.
Cc: Guo Dong <[email protected]>
Cc: Ray Ni <[email protected]>
Cc: Maurice Ma <[email protected]>
Cc: Benjamin You <[email protected]>
Cc: Sean Rhodes <[email protected]>
Signed-off-by: Benjamin Doron <[email protected]>
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits