Releases: microsoft/mu_plus
v2025020002.0.2
What's Changed
- Dev branch tear down [Rebase & FF] by @apop5 in #753
- Remove unused Rust dependencies @makubackiin #754
Full Changelog: v2025020002.0.1...v2025020003.0.0
release-v2025020002.0.1
What's Changed
🐛 Bug Fixes
-
[Rebase \& FF] Fix MP management tests @kuqin12 (#748)
Change Details
## Description
The old implementation worked with 2405 release branches, but failed to pass certain cases with 2502.
This change also fixes a few issues with the MP management module:
- Removes the original code path that will directly invoke the MP service protocol from AP routines. This is specifically not allowed according to the specification.
- Fixes an issue if HCR enables the exception trapping, while the VBAR is left empty, which will cause the system to fault into EL3.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on QEMU SBSA and passed all tests in MpManagement test application.
Integration Instructions
N/A
-
Fixed DecodeUefiLlog.py encoding in log output and improve readability @kanechen66 (#749)
Change Details
## Description
Found an exception issue on our project, the bios could print something in unicode and cause the tool exception here is the error log
- Tool reads 841 variables worth of log successfully - Fails during log output processing with UnicodeEncodeError - Error: 'charmap' codec can't encode character '\ufffd' in position 67: character maps to <undefined>- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested based on the bios would print unicode and check the log is saved successfully:
PS C:\DecodeUefiLog> python .\DecodeUefiLog.py -o 567.log Reading the Advanced Logger log Found 841 variables worth of log 24396 lines written to 567.log Log completeIntegration Instructions
N/A
dev-v2025020002.0.1
What's Changed
🐛 Bug Fixes
-
[Rebase \& FF] Fix MP management tests @kuqin12 (#748)
Change Details
## Description
The old implementation worked with 2405 release branches, but failed to pass certain cases with 2502.
This change also fixes a few issues with the MP management module:
- Removes the original code path that will directly invoke the MP service protocol from AP routines. This is specifically not allowed according to the specification.
- Fixes an issue if HCR enables the exception trapping, while the VBAR is left empty, which will cause the system to fault into EL3.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on QEMU SBSA and passed all tests in MpManagement test application.
Integration Instructions
N/A
-
Fixed DecodeUefiLlog.py encoding in log output and improve readability @kanechen66 (#749)
Change Details
## Description
Found an exception issue on our project, the bios could print something in unicode and cause the tool exception here is the error log
- Tool reads 841 variables worth of log successfully - Fails during log output processing with UnicodeEncodeError - Error: 'charmap' codec can't encode character '\ufffd' in position 67: character maps to <undefined>- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested based on the bios would print unicode and check the log is saved successfully:
PS C:\DecodeUefiLog> python .\DecodeUefiLog.py -o 567.log Reading the Advanced Logger log Found 841 variables worth of log 24396 lines written to 567.log Log completeIntegration Instructions
N/A
Full Changelog: dev-v2025020002.0.0...dev-v2025020002.0.1
release-v2025020002.0.0
What's Changed
⚠️ Breaking Changes
-
[TPM] Tpm2HelpLib Updates @Raymond-MS (#735)
Change Details
## Description
Changes related to the new Tpm2HelpLib which replaces the need for Tpm2CommandLib which houses Tpm2Help.c.
Reliant on microsoft/mu_tiano_plus#437For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Verified by building and running on physical platform.
Integration Instructions
Need to update platform .dsc to include the new Tpm2HelpLib.
</blockquote> <hr> </details>
release-v2025020001.0.3
What's Changed
-
Sync Mu DevOps Files, add new cargo checks, and fix resulting errors @magravel (#739)
Change Details
## Description
This pull request brings rust fmt/clippy/doc/test validation to pull requests. Initial fixes for these are also included in this PR.
The file sync commit was cherry-picked from this pull request: #737
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested by running the PR pipeline ( clippy, fmt, build, test, coverage, doc ).
Integration Instructions
N/A
</blockquote> <hr> </details>
-
MsCorePkg: Remove vestigial debug prints @zurcher (#740)
Change Details
## Description
Removing unnecessary debug prints from various libraries
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
-
UefiTestingPkg: Add FBPT Dump App @berlin-with0ut-return (#733)
Change Details
## Description
Simple UEFI app that dumps FBPT into FBPT.bin. This previously lived in mu_basecore in release/202311. However, it was lost in the transition to 202405 (see #509).
This PR includes
FbptDumpinUefiTestingPkgso that it can be built targeting both X64 and AARCH64. The produced shell app (FbptDump.efi) collects results from the FBPT ACPI table.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Manually tested
FbptDump.efion both SBSA and Q35.Integration Instructions
N/A
🐛 Bug Fixes
-
OnScreenKeyboardDriver: Add null check for SCT Compiliance @Javagedes (#732)
Change Details
## Description
OnScreenKeyboardDriver's OSKReadKeyStrokeEx does not validate pKey is not NULL, resulting in a DEBUG_ASSERT in ZeroMem if pKey is infact NULL. SCTs expected an EFI_INVALID_PARAMETER, not an assert, in this scenario.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
SCTs no longer assert
Integration Instructions
N/A
</blockquote> <hr> </details>
dev-v2025020002.0.0
What's Changed
⚠️ Breaking Changes
-
[TPM] Tpm2HelpLib Updates @Raymond-MS (#735)
Change Details
## Description
Changes related to the new Tpm2HelpLib which replaces the need for Tpm2CommandLib which houses Tpm2Help.c.
Reliant on microsoft/mu_tiano_plus#437For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Verified by building and running on physical platform.
Integration Instructions
Need to update platform .dsc to include the new Tpm2HelpLib.
</blockquote> <hr> </details>
Full Changelog: dev-v2025020001.0.3...dev-v2025020002.0.0
dev-v2025020001.0.3
What's Changed
-
Sync Mu DevOps Files, add new cargo checks, and fix resulting errors @magravel (#739)
Change Details
## Description
This pull request brings rust fmt/clippy/doc/test validation to pull requests. Initial fixes for these are also included in this PR.
The file sync commit was cherry-picked from this pull request: #737
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested by running the PR pipeline ( clippy, fmt, build, test, coverage, doc ).
Integration Instructions
N/A
</blockquote> <hr> </details>
-
MsCorePkg: Remove vestigial debug prints @zurcher (#740)
Change Details
## Description
Removing unnecessary debug prints from various libraries
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
-
UefiTestingPkg: Add FBPT Dump App @berlin-with0ut-return (#733)
Change Details
## Description
Simple UEFI app that dumps FBPT into FBPT.bin. This previously lived in mu_basecore in release/202311. However, it was lost in the transition to 202405 (see #509).
This PR includes
FbptDumpinUefiTestingPkgso that it can be built targeting both X64 and AARCH64. The produced shell app (FbptDump.efi) collects results from the FBPT ACPI table.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Manually tested
FbptDump.efion both SBSA and Q35.Integration Instructions
N/A
-
[Dev/202502] Adding missing depex gEfiSmmVariableProtocolGuid @Flickdm (#731)
Change Details
## Description
MsWheaReportStandaloneMM and MsWheaReportSmm are missing a required Depex.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
On my QemuQ35 platform I've changed the order of crypto and in doing so uncovered this. This change allows the system to continue on.
Integration Instructions
N/A
-
Add SEC support to BaseArm instance of AdvancedLoggerLib.inf @kuqin12 (#727)
Change Details
## Description
When dereferencing
PcdAdvancedLoggerBase, the current SEC-specific library usesADVANCED_LOGGER_PTR, whereas the BaseArm implementation usesADVANCED_LOGGER_INFO.On ARM64 platforms, this discrepancy causes issues during the SEC phase when the BaseArm instance is limited to MM standalone usage. Specifically, the SEC instance corrupts the STMM phase buffer signature, rendering STMM logging inoperative.
This update extends the BaseArm logging library to support the SEC phase as well, enabling reuse of the buffer initialized by STMM and preserving logging functionality across phases.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This change is test on proprietary hardware.
Integration Instructions
Use
AdvLoggerPkg/Library/AdvancedLoggerLib/BaseArm/AdvancedLoggerLib.inffor ARM64 SEC components.</blockquote> <hr> </details>
-
Fix cargo clippy/fmt/doc erros. @magravel (#726)
Change Details
## Description
Fix cargo fmt / clippy / doc errors.
- Impacts functionality?
- Impacts security?
- Breaking change?
A function has been marked unsafe. - Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Boot on a devkit
Integration Instructions
N/A
</blockquote> <hr> </details>
🐛 Bug Fixes
-
OnScreenKeyboardDriver: Add null check for SCT Compiliance @Javagedes (#732)
Change Details
## Description
OnScreenKeyboardDriver's OSKReadKeyStrokeEx does not validate pKey is not NULL, resulting in a DEBUG_ASSERT in ZeroMem if pKey is infact NULL. SCTs expected an EFI_INVALID_PARAMETER, not an assert, in this scenario.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
SCTs no longer assert
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: dev-v2025020001.0.2...dev-v2025020001.0.3
release-v2025020001.0.2
What's Changed
🐛 Bug Fixes
-
GopOverrideDxe: prevent single-protocol handle from being freed @cmruffin (#725)
Change Details
## Description When a handle only has a GOP protocol installed on it, uninstalling the GOP protocol interface from it will cause the handle to be freed. The subsequent InstallProtocol for the GopOverride protocol will fail.
Authored-by: [email protected]
Signed-off-by: [email protected]- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
Fixes #724
How This Was Tested
Boot tested on hardware.
Integration Instructions
na
dev-v2025020001.0.2
What's Changed
-
Remove Tpm2DebugLibNull from DSC Files \& Sync TpmTestingPkg Files [Rebase \& FF] @makubacki (#722)
Change Details
## Description
The library instance was removed in microsoft/mu_tiano_plus#426.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Stuart CI
Integration Instructions
- N/A - This is integrating changes from
dev/202502mu_tiano_plus into this repo
🐛 Bug Fixes
-
GopOverrideDxe: prevent single-protocol handle from being freed @cmruffin (#725)
Change Details
## Description When a handle only has a GOP protocol installed on it, uninstalling the GOP protocol interface from it will cause the handle to be freed. The subsequent InstallProtocol for the GopOverride protocol will fail.
Authored-by: [email protected]
Signed-off-by: [email protected]- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
Fixes #724
How This Was Tested
Boot tested on hardware.
Integration Instructions
na
Full Changelog: dev-v2025020001.0.1...dev-v2025020001.0.2
release-v2025020001.0.1
What's Changed
-
UefiTestingPkg: Update Paging Audit Static Buffer Size @os-d (#720)
Change Details
## Description
Add a few more 0's and hope it works.
Less glib: the larger buffer size was still being overrun with new changes in SBSA, so adding much more size to the buffer.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Running unit tests in SBSA.
Integration Instructions
N/A.
</blockquote> <hr> </details>