v2023110002.0.0
What's Changed
-
UEFI HID DXE V2 to improve Idiomatic Rust patterns @magravel (#504)
Change Details
- use more rust idiomatic naming convention - use `let else` syntax for better readability - Organize import with the same logic in every file. 1. crate from rust 2. crate from crate.io 3. crate from Microsoft 4. use from the same crate
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Test that the keyboard was still working.
Integration Instructions
N/A
-
AdvLoggerPkg: AssertLib update PI Status Code to match PI spec @VivianNK (#530)
Change Details
## Description
Remove usage of custom Pi Status code to use one defined in spec,
EFI_SW_EC_ILLEGAL_SOFTWARE_STATE
.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
For any telemetry report that used
EFI_SW_EC_RELEASE_ASSERT
, replace withEFI_SW_EC_ILLEGAL_SOFTWARE_STATE
-
MsGraphicsPkg: Fix issues in coordinate calculation @wenbhou (#512)
Change Details
## Description
Fix issues in coordinate calculation to solve On-screen keyboard render issue, and potential issues in other UI widgets.
See #518The SWM_RECT structure defines a standard bounding rectangle by specifying the left, top, right, and bottom coordinates. For any SWM_RECT instance, the width is calculated as
width = right - left + 1
, and the height is determined byheight = bottom - top + 1
. When the origin point of a rectangle is known, along with its width and height, the right coordinate can be derived usingright = left + width - 1
, and the bottom coordinate is given bybottom = top + height - 1
. Ensuring the correct application of these formulas prevents the On-Screen Keyboard (OSK) boundary from exceeding its defined limits.- 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
Boot to UEFI menu, all UI items rendered correctly and OSK functioned well.
Integration Instructions
N/A
- Impacts functionality?
⚠️ Breaking Changes
-
MsCorePkg: Update telemetry logging with PI Spec EFI Status Code @VivianNK (#524)
Change Details
## Description
Previously in MemoryTypeInformationChangeLib, we were using a custom Status Code. That code is being removed from MU_BASECORE in PR #1001 and we're using an existing code from PI Spec, EFI_SW_EC_ILLEGAL_SOFTWARE_STATE instead.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
Upgrading to or already using mu_basecore release/202311, change any reference to the macro as follows:
Any instances ofEFI_SW_EC_MEMORY_TYPE_INFORMATION_CHANGE
will need to be replaced withEFI_SW_EC_ILLEGAL_SOFTWARE_STATE
🐛 Bug Fixes
-
UefiTestingPkg: DxePagingAuditTestApp Fix Inaccessible Memory Test @os-d (#528)
Change Details
## Description
Security.Misc.MemoryOutsideEfiMemoryMapIsInaccessible was failing because it was not checking the return status of
ValidateRegionAttributes, which could return EFI_NO_MAPPING to indicate a given range was not in the page table. There are two independent criteria that can be satisfied to indicate that a region is inaccessible: it is marked EFI_MEMORY_RP or it is not mapped in the page table. This test was only checking the first case and not the second case. With this update it now correctly checks both cases.- 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 and saw that the formerly failing test is now passing.
Integration Instructions
N/A.
- Impacts functionality?
Full Changelog: v2023110001.0.3...v2023110002.0.0