Releases: microsoft/mu_plus
dev-v2024050001.0.3
What's Changed
-
Update crate dependencies to use crates.io @makubacki (#619)
Change Details
## Description
Move from git dependencies to those from crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Local build and test
Integration Instructions
- N/A
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
🐛 Bug Fixes
-
Fix event handling bug with touch and keyboard input @wenbhou (#620)
Change Details
## Description
Fixes #621
Fix the bug in event handling that occurs when alternating between touch and keyboard inputs, ensuring seamless interaction.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on Surface Laptop and Surface Pro. Booted to UEFI front page and alternated between Touchpad and Keyboard for operation. The interaction was seamless.
Integration Instructions
N/A
-
AdvancedLogDumper: Fixed application logic to not bail all the time @kuqin12 (#615)
Change Details
## Description
The current logic will bail if the HII calls are successful. This change fixes it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on proprietary hardware platform and fixed the issue.
Integration Instructions
N/A
Full Changelog: v2024050001.0.2...v2024050001.0.3
dev-v2024050001.0.4
What's Changed
-
Update crate dependencies to use crates.io @makubacki (#619)
Change Details
## Description
Move from git dependencies to those from crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Local build and test
Integration Instructions
- N/A
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
🐛 Bug Fixes
-
Fix event handling bug with touch and keyboard input @wenbhou (#620)
Change Details
## Description
Fixes #621
Fix the bug in event handling that occurs when alternating between touch and keyboard inputs, ensuring seamless interaction.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on Surface Laptop and Surface Pro. Booted to UEFI front page and alternated between Touchpad and Keyboard for operation. The interaction was seamless.
Integration Instructions
N/A
-
AdvancedLogDumper: Fixed application logic to not bail all the time @kuqin12 (#615)
Change Details
## Description
The current logic will bail if the HII calls are successful. This change fixes it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on proprietary hardware platform and fixed the issue.
Integration Instructions
N/A
Full Changelog: v2024050001.0.2...dev-v2024050001.0.4
release-v0.1.0
What's Changed
-
Update crate dependencies to use crates.io @makubacki (#619)
Change Details
## Description
Move from git dependencies to those from crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Local build and test
Integration Instructions
- N/A
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
🐛 Bug Fixes
-
AdvancedLogDumper: Fixed application logic to not bail all the time @kuqin12 (#615)
Change Details
## Description
The current logic will bail if the HII calls are successful. This change fixes it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on proprietary hardware platform and fixed the issue.
Integration Instructions
N/A
release-v202405.0001.0.4
What's Changed
-
Update crate dependencies to use crates.io @makubacki (#619)
Change Details
## Description
Move from git dependencies to those from crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Local build and test
Integration Instructions
- N/A
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
🐛 Bug Fixes
-
AdvancedLogDumper: Fixed application logic to not bail all the time @kuqin12 (#615)
Change Details
## Description
The current logic will bail if the HII calls are successful. This change fixes it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on proprietary hardware platform and fixed the issue.
Integration Instructions
N/A
dev-v0.1.0
What's Changed
-
Update crate dependencies to use crates.io @makubacki (#619)
Change Details
## Description
Move from git dependencies to those from crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
- Local build and test
Integration Instructions
- N/A
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
🐛 Bug Fixes
-
Fix event handling bug with touch and keyboard input @wenbhou (#620)
Change Details
## Description
Fixes #621
Fix the bug in event handling that occurs when alternating between touch and keyboard inputs, ensuring seamless interaction.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on Surface Laptop and Surface Pro. Booted to UEFI front page and alternated between Touchpad and Keyboard for operation. The interaction was seamless.
Integration Instructions
N/A
-
AdvancedLogDumper: Fixed application logic to not bail all the time @kuqin12 (#615)
Change Details
## Description
The current logic will bail if the HII calls are successful. This change fixes it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
This was tested on proprietary hardware platform and fixed the issue.
Integration Instructions
N/A
Full Changelog: ...dev-v0.1.0
v2024050001.0.2
What's Changed
-
Add MsBootHttp4 MsBootHttp6 boot sequence @kanechen66 (#610)
Change Details
## Description
This change adds MsBootHttp4 MsBootHttp6 so that platform can choose boot device with ipv4/v6 http device.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Tested on SUT and it can boot to http ip v4 and http ipv6 device.
Integration Instructions
None
Full Changelog: v2024050001.0.1...v2024050001.0.2
v2024050001.0.1
What's Changed
-
[CHERRY-PICK] MsCorePkg: Move MockDeviceBootManagerLib Path @VivianNK (#605)
Change Details
## Description
Change PR572 MockDeviceBootManagerLib Path to match Guideline
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?
How This Was Tested
Unit tests component can call these mock functions success
Integration Instructions
N/A
-
[Cherry-Pick] MfciPkg: Correct Mfci script for switchover to using edk2toollib Variable Services @apop5 (#601)
Change Details
## Description
When switching over to using edk2toollib's UefiVariable, SetVariable was not updated to only expect a single return value.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on a system verifying the python error no longer occurs.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
[CHERRY-PICK] Remove MemoryOutsideEfiMemoryMapIsInaccessible Test @os-d (#594)
Change Details
## Description
MemoryOutsideEfiMemoryMapIsInaccessible was attempting to test that memory outside the EFI_MEMORY_MAP was marked EFI_MEMORY_RP or unmapped, however this is not a valid test as we expect there to be ranges outside of the EFI_MEMORY_MAP, such as GCD non-existent memory and non-runtime MMIO ranges. This patch removes the test.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Cherry-picked from dev.
Integration Instructions
N/A.
</blockquote> <hr> </details>
-
[CHERRY-PICK] AARCH64 AdvLoggerPkg CI @os-d (#589)
Change Details
## Description
AdvLoggerPkg.dsc was not setup to run CI for AARCH64 and as a result the ARM64 parts of this pkg were broken. This commit fixes the various build and CI breaks and enables CI for AARCH64 in AdvLoggerPkg.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CP'd from dev.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: v2024050001.0.0...v2024050001.0.1
v2024050001.0.0
What's Changed
-
Add DxeCore AdvancedLogger GoogleTest @VivianNK (#569)
Change Details
## Description
Add GoogleTest for AdvancedLogger DxeCore Lib
Add mock for AdvancedLoggerHdwPortLib
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
AdvLoggerPkg: Add GoogleTest for AdvancedLoggerPeiLib @VivianNK (#555)
Change Details
## Description Add GoogleTest for AdvancedLoggerPeiLib. Add a mock for the AdvancedLoggerPpi to be used in the GoogleTest.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Local CI. Building the test locally.
Integration Instructions
N/A
-
Add MockDeviceBootManagerLib @YiTa-AMI (#572)
Change Details
## Description
Create Mock for DeviceBootManagerLibNull
For details on how to complete to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Unit tests component can call these mock functions success
Integration Instructions
N/A
⚠️ Breaking Changes
-
[CHERRY-PICK][REBASE \& FF] Adding PcdAdvancedLogger Changes to 202405 @Raymond-MS (#566)
Change Details
## Description
Cherry picking commits from 202311 to 202405 related to the PcdAdvancedLogger.
For details on how to complete to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Built and tested in 202311 branch
Integration Instructions
Users of PcdAdvancedLoggerPeiInRam will need to remove that PCD from
DSCs. It is not expected there are users as the PCD does not work,
although platforms may have specifically set it to FALSE.
🐛 Bug Fixes
-
AdvLoggerPkg: Exit from write call if signature mismatch @VivianNK (#565)
Change Details
## Description
Current behavior allows the PPI to be used if there is a signature or version mismatch. This fix returns from the function to exit gracefully and prevent memory corruption.
Create a bug to track this behavior elsewhere in Advanced Logger Library: #567
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Local CI and unit test.
Integration Instructions
N/A
📖 Documentation Updates
-
[CHERRY-PICK][REBASE \& FF] Adding PcdAdvancedLogger Changes to 202405 @Raymond-MS (#566)
Change Details
## Description
Cherry picking commits from 202311 to 202405 related to the PcdAdvancedLogger.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Built and tested in 202311 branch
Integration Instructions
N/A
Full Changelog: v2024050000.0.0...v2024050001.0.0
v2023110003.0.0
What's Changed
⚠️ Breaking Changes
-
Removed All References to PcdAdvancedLoggerPeiInRam @Raymond-MS (#540)
Change Details
## Description
The PCD PcdAdvancedLoggerPeiInRam does not work and is being removed. For Intel systems, the PEI phase uses cache-as-ram and determines that there is no way to allocate memory. This PCD was supposed to signal to the logger that it could allocate memory, however, it would error as memory allocation was not allowed in that phase.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- Impacts security?
- Security - Does the change have a direct security impact on an application,
flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter
validation improvement, ...
- Security - Does the change have a direct security impact on an application,
- Breaking change?
- Breaking change - Will anyone consuming this change experience a break
in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call
a function in a new library class in a pre-existing module, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- Includes documentation?
- Documentation - Does the change contain explicit documentation additions
outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation
on an a separate Web page, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Ran the CI build for all packages in mu_plus for the X64 architecture. All tests passing.
Integration Instructions
Users of PcdAdvancedLoggerPeiInRam will need to remove that PCD from DSCs. It is not expected there are users as the PCD does not work, although platforms may have specifically set it to FALSE.
- Impacts functionality?
🐛 Bug Fixes
-
DxePagingAuditTestApp: Remove MemoryOutsideEfiMemoryMapIsInaccessible Test @os-d (#532)
Change Details
## Description
MemoryOutsideEfiMemoryMapIsInaccessible was attempting to test that memory outside the EFI_MEMORY_MAP was marked EFI_MEMORY_RP or unmapped, however this is not a valid test as we expect there to be ranges outside of the EFI_MEMORY_MAP, such as GCD non-existent memory and non-runtime MMIO ranges. This patch removes the test. Closes #531.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- Impacts security?
- Security - Does the change have a direct security impact on an application,
flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter
validation improvement, ...
- Security - Does the change have a direct security impact on an application,
- Breaking change?
- Breaking change - Will anyone consuming this change experience a break
in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call
a function in a new library class in a pre-existing module, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- Includes documentation?
- Documentation - Does the change contain explicit documentation additions
outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation
on an a separate Web page, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Tested on Q35.
Integration Instructions
N/A.
- Impacts functionality?
📖 Documentation Updates
-
DxePagingAuditTestApp: Remove MemoryOutsideEfiMemoryMapIsInaccessible Test @os-d (#532)
Change Details
## Description
MemoryOutsideEfiMemoryMapIsInaccessible was attempting to test that memory outside the EFI_MEMORY_MAP was marked EFI_MEMORY_RP or unmapped, however this is not a valid test as we expect there to be ranges outside of the EFI_MEMORY_MAP, such as GCD non-existent memory and non-runtime MMIO ranges. This patch removes the test. Closes #531.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- Impacts security?
- Security - Does the change have a direct security impact on an application,
flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter
validation improvement, ...
- Security - Does the change have a direct security impact on an application,
- Breaking change?
- Breaking change - Will anyone consuming this change experience a break
in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call
a function in a new library class in a pre-existing module, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- Includes documentation?
- Documentation - Does the change contain explicit documentation additions
outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation
on an a separate Web page, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Tested on Q35.
Integration Instructions
N/A.
- Impacts functionality?
-
Removed All References to PcdAdvancedLoggerPeiInRam @Raymond-MS (#540)
Change Details
## Description
The PCD PcdAdvancedLoggerPeiInRam does not work and is being removed. For Intel systems, the PEI phase uses cache-as-ram and determines that there is no way to allocate memory. This PCD was supposed to signal to the logger that it could allocate memory, however, it would error as memory allocation was not allowed in that phase.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- Impacts security?
- Security - Does the change have a direct security impact on an application,
flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter
validation improvement, ...
- Security - Does the change have a direct security impact on an application,
- Breaking change?
- Breaking change - Will anyone consuming this change experience a break
in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call
a function in a new library class in a pre-existing module, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- Includes documentation?
- Documentation - Does the change contain explicit documentation additions
outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation
on an a separate Web page, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Ran the CI build for all packages in mu_plus for the X64 architecture. All tests passing.
Integration Instructions
Users of PcdAdvancedLoggerPeiInRam will need to remove that PCD from DSCs. It is not expected there are users as the PCD does not work, although platforms may have specifically set it to FALSE.
- Impacts functionality?
-
Removed reference to PcdAdvancedHdwLoggerDisable in the README @Raymond-MS (#541)
Change Details
## Description
Removed reference to PcdAdvHdwLoggerDisable in the ReadMe MarkDown document.
In commit 3833901, PcdAdvancedSerialLoggerDisable in AdvLoggerPkg.dec was changed to PcdAdvancedLoggerHdwPortDisable but in the ReadMe was changed to PcdAdvancedHdwLoggerDisable.
This PCD was later removed from the .DEC in commit 8770182 but wasn't removed from the ReadMe due to the naming difference.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- Impacts security?
- Security - Does the change have a direct security impact on an application,
flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter
validation improvement, ...
- Security - Does the change have a direct security impact on an application,
- Breaking change?
- Breaking change - Will anyone consuming this change experience a break
in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call
a function in a new library class in a pre-existing module, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- Includes documentation?
- Documentation - Does the c...
- Impacts functionality?
v2024050000.0.0
Initial Release notes of 202405 contain a full list of mu changes on top of edk2-stable202405
PR associated with the commit can be found at the bottom of the information pane reached by clicking on the commit hash
What's Changed## 🚀 Features & ✨ Enhancements
-
[Cherry-Pick] MsGraphicsPkg: Correct positioning of trash can icon in Load Option's list box (#552)
-
[Cherry-Pick] Switch to use edk2-pytool-library UefiVariableSupportLib (#500)
-
[Cherry-Pick]Add debug level prefix for advanced logger memory message entries - Driver implementation (#525)
-
Rust Dependency: Update r-efi requirement from 4.3.0 to 5.0.0 (#558)
-
pip: Update all pip-requirements to latest. (#562)
-
Repo File Sync: 202405 Branch Transition Updates. (#561)
-
Updated Release Notes. (#551)
-
AdvLoggerPkg: Add Dxe AdvancedLoggerLib Unit Test (#537)
-
Modify AdvancedLoggerDxelib
-
Updated logic to allocate more data once it needs to query memory map (#547)
-
Fix a debug string format specifier. (#544)
-
UEFI HID DXE V2 to improve Idiomatic Rust patterns
-
Updated UefiStubLib location.
-
gMuEventPreExitBootServicesGuid has been depreciated in favor of the EDK2 standard gEfiEventBeforeExitBootServicesGuid.
-
gMuEventPreExitBootServicesGuid has been depreciated in favor of the EDK2 standard gEfiEventBeforeExitBootServicesGuid.
⚠️ Breaking Changes
-
Adding MuArmGicExLib and update the usage accordingly (#548)