Releases: microsoft/mu_silicon_arm_tiano
Release list
v2025020003.0.1
What's Changed
-
[2502] [REBASE \& FF] Port CLANGPDB AARCH64 to 2502 @os-d (#471)
Change Details
## Description
In order to facilitate platforms migrating from MSVC AARCH64 to CLANGPDB AARCH64, add the requisite support to 2502.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
Full Changelog: v2025020003.0.0...v2025020003.0.1
v2025110000.0.0
What's Changed
Repo has been deprecated. Functionality is available in mu_basecore release/202511 branch.
Projects should not longer consume this repo, and consume the replacement repos.
v2025020003.0.0
What's Changed
-
ArmPlatformPkg: Remove DXE Core FV placement assumption in PeilessSec @makubacki (#465)
Change Details
## Description
Instead of failing to boot if the DXE Core is not placed in the first FV instance found, decompress and search all firmware volumes that have been installed.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Boot with DXE Core placed in a compressed FV in different orders to other FVs
Integration Instructions
- N/A - Backward compatible
-
Update ArmSetMemoryAttributes to avoid setting invalid states during transitions @kuqin12 (#463)
Change Details
## Description
The current
ArmSetMemoryAttributeswould cycle through the input memory attributes bit by bit and could lead the memory in an invalid transient state during transitions. i.e. setting the memory to be code type (read only and executable), if the RP flag is set, it will make the memory region as data region first and then enable the executable bit, which could cause page fault on the next instruction.This again resolves #454, more properly.
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
This was tested on both QEMU SBSA platform and physical hardware platform.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
ArmPkg: Also disable translation when setting global abort for SmmuDxe EBS behavior @eeshanl (#453)
Change Details
## Description
ArmPkg: Also disable translation when setting global abort for SmmuDxe EBS behavior
SMMUv3 honors the Global Abort bit only when CR0.SMMUEN == 0. SmmuV3DisableTranslation() handles this.
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
Tested on physical device
Integration Instructions
N/A
-
ArmPkg: Change default EBS behavior for SMMU(s) to be abort @eeshanl (#449)
Change Details
## Description
ArmPkg: Change default EBS behavior for SMMU(s) to be abort.
The default behavior of the EBS callback for all SMMU's will be global abort.
If there is an associated RMR node with that SMMU, then we will bypass.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
Tested on physical platform.
Integration Instructions
N/A
-
ArmPkg: Switch to TLBI All @eeshanl (#447)
Change Details
## Description
ArmPkg: Switch to TLBI All
Currently TLBI Range invalidation requires unecessary computation of Num and Scale values to construct the command.
Instead, we will simply issue a TLBI All. Has no impact on performance during high I/O scenarios.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
Tested on physical platform.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
Carve out the mm buffer region from the bulk system memory hob @kuqin12 (#431)
Change Details
## Description
The MM communication buffer memory is being added in MM communication DXE driver through gDS calls. This means that the region should not be reported as available through resource descriptor hob.
This change will carve out the MM communication buffer from the system memory.
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
This was tested on QEMU SBSA and booted to OS desktop.
Integration Instructions
N/A
</blockquote> <hr> </details>
⚠️ Breaking Changes
-
[CHERRY-PICK] ArmPlatformPkg : Move RealTimeClockLib header @Flickdm (#458)
Change Details
## Description
RealTimeClockLib is an architectural implementation that is not restricted to the embedded segment or any platform in particular.
So the header has been moved to MdeModulePkg.
And the package has been added to the relevant INF files.Additional Notes:
This is backporting from EDK2 a change to move RealTimeClockLib from EmbeddedPkg to MdeModulePkg.
Upstream commit: tianocore/edk2@57230ff
Split up commits:
Dependency: microsoft/mu_basecore#1612
microsoft/mu_tiano_plus#490For 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
Built Locally
Integration Instructions
Needs cross submodule updates - depends on microsoft/mu_basecore#1612
And for ARM may depend on microsoft/mu_tiano_plus#490</blockquote> <hr> </details>
-
[CHERRY-PICK] ArmPkg/Driver: use ArmFfaGetPartitionInfo() in Mmcommunication @kuqin12 (#457)
Change Details
## Description
This patch adds ArmFfaLibPartitionInfoGetRegs() in ArmFfaLib
As ArmFfaLibPartitionInfoGetRegs() is added, Normal world ArmFfLib Rx/Tx buffer is not a madatory.
That's why return EFI_UNSUPPORTED while Rx/Tx buffer mapping in ArmFfaLib constructor
can be consider as valid return If ARM_FFA_PARTITION_INFO_GET_REGS is supported by SPMC.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
This is tested on physical ARM64 platform.
Integration Instructions
Need to rely on the
MdeModulePkgto have the corresponding interface change.</blockquote> <hr> </details>
🚀 Features & ✨ Enhancements
-
ArmPkg: Switch to Invalidate by range TLBI commands to improve SmmuDxe performance @eeshanl (#445)
Change Details
## Description
ArmPkg: Switch to Invalidate by range TLBI commands to improve SmmuDxe performance
Improves performance of high I/O scenarios like hibernate/resume.
Improves hibernate/resume speeds by ~5 seconds.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
Tested on physical platform with hibernate/resume. Improves hibernate/resume speeds by ~5 seconds.
Integration Instructions
N/A
</blockquote> <hr> </details>
v2025020002.0.0
What's Changed
-
[Squash on Rebase] CISettings.py: Clean up submodules. @apop5 (#422)
Change Details
## Description
After the last integration, where berkeley-softfloat was removed by EDK2, the CISettings file was missed when removing the dependency. This was causing a benign warning message when populating submodules through cisetup. This removal will prevent the warning message.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
mu_tiano_platforms was showing a warning message about not finding the softfloat (because there was no associated .gitmodules). After the change, the warning message no longer is displayed.
Integration Instructions
No integration necessary.
⚠️ Breaking Changes
-
Update FFA run interface from latest MU\_BASECORE @kuqin12 (#425)
Change Details
## Description
Recent change from MU_BASECORE updated the FFA_RUN function interface to intake the context pointer.
The usage here does not require input context, thus passing in NULL for these usages.
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
This is tested on QEMU SBSA and booted to UEFI shell.
Integration Instructions
Needs to update to the latest basecore.
Full Changelog: v2025020001.0.0...v2025020002.0.0
v2025020001.0.0
What's Changed
- [REBASE & FF] Backporting arm fixes to release branch by @VivianNK in #372
- Dev branch tear down by @apop5 in #417
Full Changelog: v2025020000.0.0...v2025020001.0.0
release-v2025020000.0.0
Initial Release notes of 202502 contain a full list of mu changes on top of edk2-stable202405
PRs associated with the commits can be found at the bottom of the information pane reached by clicking on the commit hash

What's Changed## 🚀 Features & ✨ Enhancements
-
Repo File Sync: synced file(s) with microsoft/mu_devops (#371)
-
Run CI using release branches of dependent repos (#365)
-
Squash On Rebase: Remove left over CI files from edk2.
-
Revert "Change FF-A UUID manipulation method before sending to Hafnium (#343)"
-
pip: bump edk2-pytool-library to 0.23.2, edk2-pytool-extensions to 0.29.2
-
RustToolChain: Bump RustToolChain from 1.80 to 1.84.
-
pip: bump pygount from 1.8.0 to 2.0.0 (#353)
-
[FF-A][TPM] Remove Setting CRB Command/Response Registers (#350)
-
[Squash on Rebase] DefaultExceptionHandler: Remove MU_CHANGE casting AARCH64 ESR from a … (#362)
-
[Squash On Rebase]: set do_non_ci_setup to false since ArmSoftFloatLib has been dropped
-
Remove ARM as a target for CI runs.
-
ArmPkg: ArmStandaloneMmCoreEntryPoint: Support 18 register DIRECT_REQ2
-
ArmPkg: ArmFfaLib: Update FF-A direct message to support 18 registers
-
ArmPkg: ArmSvcLib: Support all 18 registers
-
ArmPkg: ArmSmcLib: Support all 18 registers
-
ArmPkg: Adding a build flag to control 18 register usage on SMC/SVC calls
-
Change FF-A UUID manipulation method before sending to Hafnium (#343)
-
Introduce `Tpm2DeviceLibFfa` for TPM over FF-A (#341)
-
ArmPkg: ArmFfaSvc: Adding missing FF-A definitions
-
[Cherry-Pick] ArmPkg/ArmStandaloneMmCoreEntryPoint: Fix cast on clang
-
Add CodeQlFilters.yml file
-
ArmPkg: StandaloneMmCpu Cast MessageLength for MmiMange call.
-
Add the ability to configure the memory type used for the FD region (#140)
-
ArmPkg: Fix call to BuildCpuHob in CpuPei.c (#295)
-
ArmPkg: Remove pragma pack from CpuDxe (#292)
-
ArmPkg: Flush the FIFO when initializing the PL011 Serial Lib (#227)
-
Install Empty GCD Sync Protocol After SyncCacheConfig() (#228)
-
ArmPlatformPkg: Consume PEI ArmMmuLib
-
Implement Memory Attribute Protocol Installation Policy Option (#200)
-
Update the ARM MemoryAttributeProtocol to Not Check if Region is System Memory
-
ArmPkg:CpuDxe: Use the Memory Protection HOB
-
ArmPlatformPkg: Updated PL011UartLib.c to not wait indefinitely during read
-
ArmPkg: PlatformBootManagerLib: Add missing function required by Project Mu bds
Change Details
d873890 ...
dev-v2025020000.0.0
Initial Release notes of 202502 contain a full list of mu changes on top of edk2-stable202405
PRs associated with the commits can be found at the bottom of the information pane reached by clicking on the commit hash

What's Changed## 🚀 Features & ✨ Enhancements
-
Repo File Sync: synced file(s) with microsoft/mu_devops (#371)
-
Run CI using release branches of dependent repos (#365)
-
Squash On Rebase: Remove left over CI files from edk2.
-
Revert "Change FF-A UUID manipulation method before sending to Hafnium (#343)"
-
pip: bump edk2-pytool-library to 0.23.2, edk2-pytool-extensions to 0.29.2
-
RustToolChain: Bump RustToolChain from 1.80 to 1.84.
-
pip: bump pygount from 1.8.0 to 2.0.0 (#353)
-
[FF-A][TPM] Remove Setting CRB Command/Response Registers (#350)
-
[Squash on Rebase] DefaultExceptionHandler: Remove MU_CHANGE casting AARCH64 ESR from a … (#362)
-
[Squash On Rebase]: set do_non_ci_setup to false since ArmSoftFloatLib has been dropped
-
Remove ARM as a target for CI runs.
-
ArmPkg: ArmStandaloneMmCoreEntryPoint: Support 18 register DIRECT_REQ2
-
ArmPkg: ArmFfaLib: Update FF-A direct message to support 18 registers
-
ArmPkg: ArmSvcLib: Support all 18 registers
-
ArmPkg: ArmSmcLib: Support all 18 registers
-
ArmPkg: Adding a build flag to control 18 register usage on SMC/SVC calls
-
Change FF-A UUID manipulation method before sending to Hafnium (#343)
-
Introduce `Tpm2DeviceLibFfa` for TPM over FF-A (#341)
-
ArmPkg: ArmFfaSvc: Adding missing FF-A definitions
-
[Cherry-Pick] ArmPkg/ArmStandaloneMmCoreEntryPoint: Fix cast on clang
-
Add CodeQlFilters.yml file
-
ArmPkg: StandaloneMmCpu Cast MessageLength for MmiMange call.
-
Add the ability to configure the memory type used for the FD region (#140)
-
ArmPkg: Fix call to BuildCpuHob in CpuPei.c (#295)
-
ArmPkg: Remove pragma pack from CpuDxe (#292)
-
ArmPkg: Flush the FIFO when initializing the PL011 Serial Lib (#227)
-
Install Empty GCD Sync Protocol After SyncCacheConfig() (#228)
-
ArmPlatformPkg: Consume PEI ArmMmuLib
-
Implement Memory Attribute Protocol Installation Policy Option (#200)
-
Update the ARM MemoryAttributeProtocol to Not Check if Region is System Memory
-
ArmPkg:CpuDxe: Use the Memory Protection HOB
-
ArmPlatformPkg: Updated PL011UartLib.c to not wait indefinitely during read
-
ArmPkg: PlatformBootManagerLib: Add missing function required by Project Mu bds
Change Details
d873890 ...
v2024050001.0.2
What's Changed
-
[CHERRY-PICK] Fix while loop in delegated event API @kuqin12 (#309)
Change Details
## Description
This commit introduced the bug
de3cf0c#diff-516242aa392b05a93f0222ff1e534b10a1f905124a16abd5704fa938d6590b48R143 where the swtch case and if loop for return status were moved outside the while loopFor 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
Tested on arm platform
Integration Instructions
N/A
(cherry picked from commit bd20dd8)
Full Changelog: v2024050001.0.1...v2024050001.0.2
v2024050001.0.1
What's Changed
-
[REBASE \& FF] ArmPkg: Fix call to BuildCpuHob in CpuPei.c @VivianNK (#296)
Change Details
## Description
Cherry picking the following commit from dev/202405
2fb024fFix CpuPei.c for aarch64. Cast type on return value from ArmGetPhysicalAddressBits.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested in dev/202405.
Validated handoff on virtual platform bringupIntegration Instructions
N/A
-
[CHERRY-PICK] [REBASE \& FF] Revert Mu Commit in Favor of edk2 Commit @os-d (#281)
Change Details
## Description
This reverts a Mu commit that has been upstreamed in favor of the corresponding edk2 commit.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
</blockquote> <hr> </details>
🐛 Bug Fixes
-
ArmPkg: CpuDxe: Fix Bad Cast @os-d (#298)
Change Details
## Description
When 2405 was done, the inexact order of rebasing caused an old commit 41c7073 to take precedence over a newer commit 38ba4a6.
This causes the upper attributes to be dropped, which in the case of an invalid entry, will send 0xFFFFFFFF to be set as attributes to set in the GCD, instead of signifying an INVALID_ENTRY, because (UINT32)INVALID_ENTRY != INVALID_ENTRY.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
On a platform where this was failing.
Integration Instructions
N/A.
-
[REBASE \& FF] ArmPkg: Remove pragma pack from CpuDxe @VivianNK (#294)
Change Details
## Description
PageTableMemoryAllocation.c
The packing was causing an MSVC ARM64 build warning #4366: The result of the unary '&' operator may be unaligned
Cherry-picked from dev/202405: 1ad3ff0
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Boot to QEMU SBSA
Integration Instructions
N/A
Full Changelog: v2024050001.0.0...v2024050001.0.1
v2024050001.0.0
What's Changed
⚠️ Breaking Changes
-
[CHERRY-PICK][REBASE \& FF] Revert Mu Commits in Favor of edk2 Commits @os-d (#280)
Change Details
## Description
This PR represents the set of mu_silicon_arm_tiano changes I have upstreamed to edk2 for 202405 thus far. Some of these were taken directly to edk2 and the others were reverted in release/202405 and then cherry-picked from edk2 to ensure that scripting would catch that we need to drop the old commits when integrating next.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
ArmPsciResetSystemLib is removed in edk2 as well as release/202405 now. Any users need to move to ArmSmcPsciResetSystemLib.
</blockquote> <hr> </details>
Full Changelog: v2024050000.0.0...v2024050001.0.0