Skip to content

Releases: microsoft/mu_silicon_arm_tiano

v2025020003.0.1

Choose a tag to compare

@mu-automation mu-automation released this 04 Mar 23:23

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

Choose a tag to compare

@mu-automation mu-automation released this 11 Mar 03:58
666db2c

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

Choose a tag to compare

@mu-automation mu-automation released this 26 Feb 04:53
30b7aa9

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 ArmSetMemoryAttributes would 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#490

    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

    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 MdeModulePkg to 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>
    
  • ArmPkg: Improve SmmuDxe performance @eeshanl (#444)
    Change Details
Read more

v2025020002.0.0

Choose a tag to compare

@mu-automation mu-automation released this 17 Oct 21:08
fa16cf4

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

Choose a tag to compare

@mu-automation mu-automation released this 19 Sep 19:02

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

Choose a tag to compare

@apop5 apop5 released this 30 Apr 22:33

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
image

What's Changed## 🚀 Features & ✨ Enhancements

  • Repo File Sync: synced file(s) with microsoft/mu_devops (#371)
    Change Details
      1abd9da

  • Run CI using release branches of dependent repos (#365)
    Change Details
      8b0db0c

  • Squash On Rebase: Remove left over CI files from edk2.
    Change Details
      3aee9ea

  • Revert "Change FF-A UUID manipulation method before sending to Hafnium (#343)"
    Change Details
      cd5c307

  • pip: bump edk2-pytool-library to 0.23.2, edk2-pytool-extensions to 0.29.2
    Change Details
      010408b

  • RustToolChain: Bump RustToolChain from 1.80 to 1.84.
    Change Details
      23b3ff9

  • pip: bump pygount from 1.8.0 to 2.0.0 (#353)
    Change Details
      7a2147d

  • [FF-A][TPM] Remove Setting CRB Command/Response Registers (#350)
    Change Details
      231a1cd

  • [Squash on Rebase] DefaultExceptionHandler: Remove MU_CHANGE casting AARCH64 ESR from a … (#362)
    Change Details
      740364d

  • [Squash On Rebase]: set do_non_ci_setup to false since ArmSoftFloatLib has been dropped
    Change Details
      fbc3565

  • Remove ARM as a target for CI runs.
    Change Details
      a103fca

  • ArmPkg: ArmStandaloneMmCoreEntryPoint: Support 18 register DIRECT_REQ2
    Change Details
      2a64e33

  • ArmPkg: ArmFfaLib: Update FF-A direct message to support 18 registers
    Change Details
      2600291

  • ArmPkg: ArmSvcLib: Support all 18 registers
    Change Details
      3ecb212

  • ArmPkg: ArmSmcLib: Support all 18 registers
    Change Details
      2b0371a

  • ArmPkg: Adding a build flag to control 18 register usage on SMC/SVC calls
    Change Details
      13cb445

  • Change FF-A UUID manipulation method before sending to Hafnium (#343)
    Change Details
      ad91f33

  • Introduce `Tpm2DeviceLibFfa` for TPM over FF-A (#341)
    Change Details
      9ee0f78

  • ArmPkg: ArmFfaSvc: Adding missing FF-A definitions
    Change Details
      ee6126a

  • [Cherry-Pick] ArmPkg/ArmStandaloneMmCoreEntryPoint: Fix cast on clang
    Change Details
      2c94fd4

  • Add CodeQlFilters.yml file
    Change Details
      2de1d25

  • ArmPkg: StandaloneMmCpu Cast MessageLength for MmiMange call.
    Change Details
      4edb58a

  • Add the ability to configure the memory type used for the FD region (#140)
    Change Details
      0539cfd

  • ArmPkg: Fix call to BuildCpuHob in CpuPei.c (#295)
    Change Details
      06f3d93

  • ArmPkg: Remove pragma pack from CpuDxe (#292)
    Change Details
      719459b

  • ArmPkg: Flush the FIFO when initializing the PL011 Serial Lib (#227)
    Change Details
      b51c0d4

  • Install Empty GCD Sync Protocol After SyncCacheConfig() (#228)
    Change Details
      c23a0a8

  • ArmPlatformPkg: Consume PEI ArmMmuLib
    Change Details
      25078d9

  • Implement Memory Attribute Protocol Installation Policy Option (#200)
    Change Details
      39a4874

  • Update the ARM MemoryAttributeProtocol to Not Check if Region is System Memory
    Change Details
      bcc6584

  • ArmPkg:CpuDxe: Use the Memory Protection HOB
    Change Details
      b5d4fa5

  • ArmPlatformPkg: Updated PL011UartLib.c to not wait indefinitely during read
    Change Details
      29793dc

  • ArmPkg: PlatformBootManagerLib: Add missing function required by Project Mu bds
    Change Details
      d873890 ...
Read more

dev-v2025020000.0.0

Choose a tag to compare

@apop5 apop5 released this 30 Apr 22:32
9bea172

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
image

What's Changed## 🚀 Features & ✨ Enhancements

  • Repo File Sync: synced file(s) with microsoft/mu_devops (#371)
    Change Details
      1abd9da

  • Run CI using release branches of dependent repos (#365)
    Change Details
      8b0db0c

  • Squash On Rebase: Remove left over CI files from edk2.
    Change Details
      3aee9ea

  • Revert "Change FF-A UUID manipulation method before sending to Hafnium (#343)"
    Change Details
      cd5c307

  • pip: bump edk2-pytool-library to 0.23.2, edk2-pytool-extensions to 0.29.2
    Change Details
      010408b

  • RustToolChain: Bump RustToolChain from 1.80 to 1.84.
    Change Details
      23b3ff9

  • pip: bump pygount from 1.8.0 to 2.0.0 (#353)
    Change Details
      7a2147d

  • [FF-A][TPM] Remove Setting CRB Command/Response Registers (#350)
    Change Details
      231a1cd

  • [Squash on Rebase] DefaultExceptionHandler: Remove MU_CHANGE casting AARCH64 ESR from a … (#362)
    Change Details
      740364d

  • [Squash On Rebase]: set do_non_ci_setup to false since ArmSoftFloatLib has been dropped
    Change Details
      fbc3565

  • Remove ARM as a target for CI runs.
    Change Details
      a103fca

  • ArmPkg: ArmStandaloneMmCoreEntryPoint: Support 18 register DIRECT_REQ2
    Change Details
      2a64e33

  • ArmPkg: ArmFfaLib: Update FF-A direct message to support 18 registers
    Change Details
      2600291

  • ArmPkg: ArmSvcLib: Support all 18 registers
    Change Details
      3ecb212

  • ArmPkg: ArmSmcLib: Support all 18 registers
    Change Details
      2b0371a

  • ArmPkg: Adding a build flag to control 18 register usage on SMC/SVC calls
    Change Details
      13cb445

  • Change FF-A UUID manipulation method before sending to Hafnium (#343)
    Change Details
      ad91f33

  • Introduce `Tpm2DeviceLibFfa` for TPM over FF-A (#341)
    Change Details
      9ee0f78

  • ArmPkg: ArmFfaSvc: Adding missing FF-A definitions
    Change Details
      ee6126a

  • [Cherry-Pick] ArmPkg/ArmStandaloneMmCoreEntryPoint: Fix cast on clang
    Change Details
      2c94fd4

  • Add CodeQlFilters.yml file
    Change Details
      2de1d25

  • ArmPkg: StandaloneMmCpu Cast MessageLength for MmiMange call.
    Change Details
      4edb58a

  • Add the ability to configure the memory type used for the FD region (#140)
    Change Details
      0539cfd

  • ArmPkg: Fix call to BuildCpuHob in CpuPei.c (#295)
    Change Details
      06f3d93

  • ArmPkg: Remove pragma pack from CpuDxe (#292)
    Change Details
      719459b

  • ArmPkg: Flush the FIFO when initializing the PL011 Serial Lib (#227)
    Change Details
      b51c0d4

  • Install Empty GCD Sync Protocol After SyncCacheConfig() (#228)
    Change Details
      c23a0a8

  • ArmPlatformPkg: Consume PEI ArmMmuLib
    Change Details
      25078d9

  • Implement Memory Attribute Protocol Installation Policy Option (#200)
    Change Details
      39a4874

  • Update the ARM MemoryAttributeProtocol to Not Check if Region is System Memory
    Change Details
      bcc6584

  • ArmPkg:CpuDxe: Use the Memory Protection HOB
    Change Details
      b5d4fa5

  • ArmPlatformPkg: Updated PL011UartLib.c to not wait indefinitely during read
    Change Details
      29793dc

  • ArmPkg: PlatformBootManagerLib: Add missing function required by Project Mu bds
    Change Details
      d873890 ...
Read more

v2024050001.0.2

Choose a tag to compare

@github-actions github-actions released this 15 Nov 23:50

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 loop

    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?
    • 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

Choose a tag to compare

@github-actions github-actions released this 11 Nov 20:31

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
    2fb024f

    Fix 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 bringup

    Integration 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

Choose a tag to compare

@github-actions github-actions released this 12 Sep 17:37
0cee429

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