Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .pytool/CISettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ def GetArchitecturesSupported(self):
''' return iterable of edk2 architectures supported by this build '''
return ("IA32",
"X64",
"ARM",
"AARCH64")

def GetTargetsSupported(self):
Expand Down Expand Up @@ -131,7 +130,7 @@ def SetTargets(self, list_of_requested_target):
def GetActiveScopes(self):
''' return tuple containing scopes that should be active for this process '''
if self.ActualScopes is None:
scopes = ("cibuild", "edk2-build", "host-based-test", "rust-ci")
scopes = ("cibuild", "edk2-build", "host-based-test")

self.ActualToolChainTag = shell_environment.GetBuildVars().GetValue("TOOL_CHAIN_TAG", "")

Expand Down Expand Up @@ -194,12 +193,12 @@ def GetDependencies(self):
{
"Path": "MU_BASECORE",
"Url": "https://github.com/microsoft/mu_basecore.git",
"Branch": "release/202511"
""
"Branch": "release/202511",
"Recurse": {"CIFile": ".pytool/CISettings.py"}
},
{
"Path": "Silicon/Intel/MU_TIANO",
"Url": "https://github.com/Microsoft/mu_silicon_intel_tiano.git",
"Path": "Silicon/MIN_PLAT",
"Url": "https://github.com/microsoft/mu_common_intel_min_platform.git",
"Branch": "release/202511"
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Pi/PiStatusCode.h>

#include <Protocol/DebugSupport.h>
#include <Protocol/MemoryProtectionNonstopMode.h>

#include <Library/CpuExceptionHandlerLib.h>
#include <Library/DebugLib.h>
Expand Down Expand Up @@ -64,10 +63,8 @@ MemoryProtectionExceptionHandler (
IN EFI_SYSTEM_CONTEXT SystemContext
)
{
UINTN pointer;
MEMORY_PROTECTION_NONSTOP_MODE_PROTOCOL *NonstopModeProtocol;
BOOLEAN IgnoreNext = FALSE;
EFI_STATUS Status;
UINTN pointer;
BOOLEAN IgnoreNext = FALSE;

if (!EFI_ERROR (ExPersistGetIgnoreNextPageFault (&IgnoreNext)) &&
IgnoreNext &&
Expand Down
18 changes: 8 additions & 10 deletions MsCorePkg/Library/MuArmGicExLib/GicV3/AArch64/ArmGicV3.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,27 +32,25 @@
// VOID
// );
ASM_FUNC(ArmGicV3GetControlSystemRegisterEnable)
EL1_OR_EL2_OR_EL3(x1)
EL1_OR_EL2(x1)
1: mrs x0, ICC_SRE_EL1
b 4f
b 3f
2: mrs x0, ICC_SRE_EL2
b 4f
3: mrs x0, ICC_SRE_EL3
4: ret
b 3f
3: ret

//VOID
//EFIAPI
//ArmGicV3SetControlSystemRegisterEnable (
// IN UINT32 ControlSystemRegisterEnable
// );
ASM_FUNC(ArmGicV3SetControlSystemRegisterEnable)
EL1_OR_EL2_OR_EL3(x1)
EL1_OR_EL2(x1)
1: msr ICC_SRE_EL1, x0
b 4f
b 3f
2: msr ICC_SRE_EL2, x0
b 4f
3: msr ICC_SRE_EL3, x0
4: isb
b 3f
3: isb
ret

//VOID
Expand Down
16 changes: 6 additions & 10 deletions MsCorePkg/Library/MuArmGicExLib/GicV3/AArch64/ArmGicV3.masm
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,14 @@
// VOID
// );
ArmGicV3GetControlSystemRegisterEnable PROC
EL1_OR_EL2_OR_EL3(x1)
EL1_OR_EL2(x1)
1
mrs x0, ICC_SRE_EL1
b %f4
b %f3
2
mrs x0, ICC_SRE_EL2
b %f4
b %f3
3
mrs x0, ICC_SRE_EL3
4
ret
ArmGicV3GetControlSystemRegisterEnable ENDP

Expand All @@ -49,16 +47,14 @@ ArmGicV3GetControlSystemRegisterEnable ENDP
// IN UINT32 ControlSystemRegisterEnable
// );
ArmGicV3SetControlSystemRegisterEnable PROC
EL1_OR_EL2_OR_EL3(x1)
EL1_OR_EL2(x1)
1
msr ICC_SRE_EL1, x0
b %f4
b %f3
2
msr ICC_SRE_EL2, x0
b %f4
b %f3
3
msr ICC_SRE_EL3, x0
4
isb sy
ret
ArmGicV3SetControlSystemRegisterEnable ENDP
Expand Down
36 changes: 12 additions & 24 deletions Readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,46 +11,34 @@ Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverag

This repository is part of Project Mu. Please see Project Mu for details https://microsoft.github.io/mu.

Branch Status - release/202502
Branch Status - release/202511
==============================

:Status:
In Development

:Entered Development:
2025/02/21 (Date Edk2 started accepting changes which were not in a previous release)
2026/11/22 (Date Edk2 started accepting changes which were not in a previous release)

:Anticipated Stabilization:
May 2025
May 2026

Branch Changes - release/202502
Branch Changes - release/202511
===============================

Breaking Changes-dev
--------------------

Main Changes-dev
----------------
- AdvLoggerPkg: AdvLoggerPrmConfigLibGoogleTest buffer overun fixed. Discovered from UnitTestFrameworkPkgHost.dsc.inf enabling address sanitization.
- AdvLoggerPkg: AdvLoggerPrmConfigLibGoogleTest buffer overun fixed. Discovered from UnitTestFrameworkPkgHost.dsc.inf enabling address sanitization.
- HidPkg: HidPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- MfciPkg: MfciPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- MfciPkg: MfciPkg.dsc no longer includes VsIntrinsicLib as it has been removed in basecore.
- MfciPkg: Fixed MfciTargetingHostTest and MfciVerifyPolicyAndChangeHostTest copy length errors discovered by UnitTestFrameworkPkgHost.dsc.inf enabling address sanitization.
- MsApplicationPkg: MsApplicationPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- MsCorePkg: MsCorePkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- MsCorePkg: MsCorePkg.dsc no longer includes no longer includes VsIntrinsicLib as it has been removed in basecore.
- MsGraphicsPkg: MsGraphicsPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- MsWheaPkg: MsWheaPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- PcBdsPkg: PcBdsPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2.
- TpmTestingPkg: Tcg2Dxe has been updated to match latest mu_tiano_plus changes.
- TpmTestingPkg: TpmTestingPkg.dsc no longer includes StackCheckLib as a NULL library due to upstreaming stack check to Edk2. Uses MdeLibs.dsc.inc.
- UefiTestingPkg: UefiTestingPkg.dsc no longer includes VsInstrinsicLib or StackCheckLib.

- gEfiEventPostReadyToBootGuid was replaced with EDK2's gEfiEventAfterReadyToBootGuid
- gMemoryProtectionNonstopModeProtocolGuid has been depreciated and associated code removed.
- The changes in basecore which allowed removing STATIC defines were dropped. Associated unit tests which relied on this capability were dropped.

Platform Integration Reference
------------------------------
Reference platforms which consume release/202405 are available in [mu_tiano_platforms](https://github.com/microsoft/mu_tiano_platforms).
Reference platforms which consume release/202511 are available in [mu_tiano_platforms](https://github.com/microsoft/mu_tiano_platforms).

Code of Conduct
===============
Expand Down Expand Up @@ -79,12 +67,12 @@ Copyright & License
.. CoreCI
.. _Windows_VS2022: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=49&&branchName=release%2F202405
.. |WindowsCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Plus%20CI%20VS2022?branchName=release%2F202405
.. _Windows_VS2022: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=49&&branchName=release%2F202511
.. |WindowsCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Plus%20CI%20VS2022?branchName=release%2F202511
.. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/projectmu/mu/49.svg
.. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue

.. _Ubuntu_GCC5: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=50&&branchName=release%2F202405
.. |UbuntuCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Plus%20CI%20Ubuntu%20GCC5?branchName=release%2F202405
.. _Ubuntu_GCC5: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=50&&branchName=release%2F202511
.. |UbuntuCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Plus%20CI%20Ubuntu%20GCC5?branchName=release%2F202511
.. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/projectmu/mu/50.svg
.. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
Original file line number Diff line number Diff line change
Expand Up @@ -222,25 +222,6 @@ CheckMemoryProtectionExceptionHandlerInstallation (
return gBS->LocateProtocol (&gMemoryProtectionExceptionHandlerGuid, NULL, (VOID **)&DummyProtocol);
}

/**
This helper function returns TRUE if the MemProtExGetIgnoreNextException() returns TRUE.

@retval TRUE IgnoreNextException set
@retval FALSE Otherwise
**/
STATIC
BOOLEAN
GetIgnoreNextEx (
VOID
)
{
BOOLEAN Result = FALSE;

ExPersistGetIgnoreNextPageFault (&Result);

return Result;
}

/**
The recursion loop for testing stack overflow protection. This function will
recurse until it overflows the stack at which point it's expected that a switch
Expand Down Expand Up @@ -270,31 +251,6 @@ Recursion (
return Sum + Count;
}

/**
A recursive stack overflow function which at every recursion level checks if the interrupt handler
has signaled that it ran and cleared the faulting region at which point we unwind the recursion.

@param[in] Count The current recursion depth.

@retval The sum of Count and the return value of the next recursive call.
**/
STATIC
UINT64
RecursionDynamic (
IN UINT64 Count
)
{
UINT64 Sum = 0;

DEBUG ((DEBUG_ERROR, "%a - 0x%x\n", __FUNCTION__, Count));

if (GetIgnoreNextEx ()) {
Sum = RecursionDynamic (++Count);
}

return Sum + Count;
}

/**
Tests the pool guards by allocating a pool and then writing to the guard page. If the testing
method is via reset, this function is expected to fault and reset the system. If the testing
Expand Down
2 changes: 1 addition & 1 deletion UefiTestingPkg/UefiTestingPkg.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
PLATFORM_VERSION = 1.0
DSC_SPECIFICATION = 0x00010005
OUTPUT_DIRECTORY = Build/UefiTestingPkg
SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64
BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT

Expand Down