Tags: microsoft/mu_plus
Tags
Rust Dependency: Update spin requirement from 0.10.0 to 0.12.3 (#936) Updates the requirements on spin to permit the latest version. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
UefiTestingPkg: Allow DxePagingAuditTestApp to be renamed (#927) ## Description Fixes: #926 Currently, if the application file name is changed or it is placed in a non-root directory, an assert occurs with no console-visible output. This change locates the SFS protocol on the device handle instead of iterating across all SFS protocols to locate an instance with a file present that matches the hardcoded application file name. It also closes the SFS handle after dumping the paging info, which was previously left open. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested - Run `DxePagingAuditTestApp.efi -r` - Run `DxePagingAuditTestApp.efi -d` from the volume root (`FS0:`) - Run `DxePagingAuditTestApp.efi -d` from a subdirecotry (e.g. `/somedir`) - Verify files are written in the same directory as the application and it does not assert. ## Integration Instructions - N/A --- - Note: DxePagingAuditDriver still uses [`OpenVolumeSFS()`](https://github.com/microsoft/mu_plus/blob/553e629fa87fc6d5136c8bb90bcaa9e12a4f8b87/UefiTestingPkg/AuditTests/PagingAudit/UEFI/PagingAuditCommon.c#L1123) which does a more generic search. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
AdvLoggerPkg: Default PcdAdvancedLoggerHdwPortOsRuntimeDisable to TRUE 1d1b4db changed the behavior of runtime AdvLogger prints to always print to the serial port. This breaks platforms who give up control of the serial port to an OS after ExitBootServices. cea5d2a followed on to fix this behavior by introducing PcdAdvancedLoggerHdwPortOsRuntimeDisable to allow returning to the original behavior and disabling the hardware port logging during runtime. However, this commit set the PCD default to FALSE, which left the breaking change behavior in place, which quietly gets picked up by platforms. This commit flips the PCD default to return to the original behavior and not log to the hardware port at runtime by default. Platforms may set this PCD to FALSE if it is safe to do so on their implementation. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
AdvLoggerPkg: Sec Debug Agent: Use Local PeiMain.h When the local PeiMain.h was brought in, SecDebugAgent was missed. Use the local as a temporary workaround. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
AdvLoggerPkg: PeiCore Instance: Use Local PeiMain.h Update the local PeiMain.h to not use the private header and instead use a VOID * for the type that was pulled from the private header. Consume this in the PeiCore instance of AdvLoggerLib. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
Repo File Sync: Bump actions/cache from 5 to 6 (#904) synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops). 🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced. --- This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#28162500804](https://github.com/microsoft/mu_devops/actions/runs/28162500804) Signed-off-by: Project Mu UEFI Bot <uefibot@microsoft.com> Co-authored-by: mu-automation[bot] <204385837+mu-automation[bot]@users.noreply.github.com>
Optimize WHEA UEFI shell test (#893) ## Description The WHEA UEFI shell test currently can take up to 16 minutes to run for AArch64 platforms. 2 main reasons are: 1. The system does not support variable cache, which requires environment switching for each variable query; 2. Each WHEA tests will invoke a variable sweep cleanup, that spans from `HwErrRec0000` to `HwErrRecFFFF`; This PR aims at fixing the latter issue. Given the test will sequentially populate the telemetry entries, the cleanup can also be optimized to, after the first deep clean, stop at the first `EFI_NOT_FOUND`. The change created a common routine to centralize all clean up functions and added a new shallow cleanup routine. By adopting shallow cleanups, the tests reduce the original 10 deep cleans down to 2, which should shorten the corresponding test time by 75% ~ 80%. For details on how to complete these options and their meaning refer to [CONTRIBUTING.md](https://github.com/microsoft/mu/blob/HEAD/CONTRIBUTING.md). - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [x] Includes tests? - [ ] Includes documentation? ## How This Was Tested This test is run on ARM virt platform and confirmed only 2 full cleanups and shortened to local runs to < 2min. All tests are still passing. ## Integration Instructions N/A
AdvLoggerPkg: Drop buffer migration (#868) ## Description Effectively reverts commits af0f64c and 9fc8521 preserving structure compatibility and general cleanup. The advanced logger buffer starts accumulating messages in the first phase advanced logger is active, and the buffer continues to be used throughout remaining phases. Each phase has to account for either allocating or using an existing logger buffer. Due to the persistent nature of the buffer throughout boot, it is allocated as a runtime memory type early in boot to support its preservation and access at OS runtime. However, S4 resume relies upon a stable memory map across suspend and resume. Since the advanced logger buffer is allocated as a runtime memory type prior to DXE, it is in a buffer outside the DXE memory bins. This leads to an increased likelihood of the buffer being at a different address across suspend and resume affecting hibernate resume. Advanced logger buffer migration was a mechanism to address this but doing so complicates MM treatment of the buffer. Because a single advanced logger buffer is used across all phases, including a shared buffer between PEI and MM and DXE and MM, the buffer must be unlocked for MM access to accommodate a PEI MM IPL. This creates a problem where both requirements cannot simultaneously be met without additional complexity in MM access code. In addition, MM environments are inconsistent in their support for memory unlocking. In the end, hibernation has always been a best effort scenario with this flow and other MM solutions already require runtime allocations outside of DXE memory bins, so this change removes the functional logic for migration. The memory bin scenario will be addressed in the future when the bins are allocated in a pre-DXE phase (e.g. PEI) and picked up by DXE. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested - AdvLoggerPkg CI - Boot to OS on QEMU Q35 and SBSA - Boot to EFI shell on OVMF X64 w/ edk2 Standalone MM ## Integration Instructions - N/A Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
[2502] AdvLoggerPkg: Drop buffer migration (#869) ## Description Effectively reverts commits af0f64c and 9fc8521 preserving structure compatibility and general cleanup. The advanced logger buffer starts accumulating messages in the first phase advanced logger is active, and the buffer continues to be used throughout remaining phases. Each phase has to account for either allocating or using an existing logger buffer. Due to the persistent nature of the buffer throughout boot, it is allocated as a runtime memory type early in boot to support its preservation and access at OS runtime. However, S4 resume relies upon a stable memory map across suspend and resume. Since the advanced logger buffer is allocated as a runtime memory type prior to DXE, it is in a buffer outside the DXE memory bins. This leads to an increased likelihood of the buffer being at a different address across suspend and resume affecting hibernate resume. Advanced logger buffer migration was a mechanism to address this but doing so complicates MM treatment of the buffer. Because a single advanced logger buffer is used across all phases, including a shared buffer between PEI and MM and DXE and MM, the buffer must be unlocked for MM access to accommodate a PEI MM IPL. This creates a problem where both requirements cannot simultaneously be met without additional complexity in MM access code. In addition, MM environments are inconsistent in their support for memory unlocking. In the end, hibernation has always been a best effort scenario with this flow and other MM solutions already require runtime allocations outside of DXE memory bins, so this change removes the functional logic for migration. The memory bin scenario will be addressed in the future when the bins are allocated in a pre-DXE phase (e.g. PEI) and picked up by DXE. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested - AdvLoggerPkg CI - Boot to OS on Intel physical platform and dump in-memory log to file ## Integration Instructions - N/A Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
MsGraphicsPkg: Consume FltUsedLib from MsCorePkg Consume the new FltUsedLib in MsCorePkg instead of MdePkg. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
PreviousNext