Skip to content

Feature: AARCH64 Single Copy#264

Draft
Flickdm wants to merge 3 commits into
microsoft:mainfrom
Flickdm:feat/onecrypto-aarch64-single-copy
Draft

Feature: AARCH64 Single Copy#264
Flickdm wants to merge 3 commits into
microsoft:mainfrom
Flickdm:feat/onecrypto-aarch64-single-copy

Conversation

@Flickdm

@Flickdm Flickdm commented Jul 6, 2026

Copy link
Copy Markdown
Member

Description

This pull request introduces support for a new "single-copy" AARCH64 integration mode for OneCryptoPkg, enabling DXE to fetch the OneCrypto binary from StandaloneMM via MM communication rather than requiring a separate DXE binary. The documentation is extensively updated to describe both the legacy dual-bin and the new single-copy architectures. The implementation includes a new MM module, message protocol, and GUID to support this communication path.

AARCH64 single-copy mode support

  • Added a new StandaloneMM module, OneCryptoImageProviderStandaloneMm, which registers an MM communication handler to serve OneCrypto PE32 image bytes to DXE using EFI_MM_COMMUNICATION2_PROTOCOL. (OneCryptoPkg/OneCryptoLoaders/OneCryptoImageProviderStandaloneMm.inf [1] [2] OneCryptoPkg/OneCryptoLoaders/OneCryptoImageProviderMm.c [3])
  • Introduced a new GUID definition for the MM image provider (gOneCryptoImageProviderGuid). (OneCryptoPkg/Include/Guid/OneCryptoImageProviderGuid.h)
  • Defined a shared message structure for MM communication between DXE and StandaloneMM for image transfer. (OneCryptoPkg/Include/Private/OneCryptoImageProviderMessage.h)

Documentation updates

  • Major rewrite of Architecture.md to clarify the differences between X64 and AARCH64, document both legacy dual-bin and single-copy AARCH64 modes, and describe the new image provider flow and its rationale. (OneCryptoPkg/Docs/Architecture.md [1] [2] [3])
  • Updated FAQs.md to explain the new single-copy AARCH64 mode, loader variants, and integration details. (OneCryptoPkg/Docs/FAQs.md [1] [2] [3] [4])
  • Added references to the new bring-up notes for the single-copy mode in the main documentation index. (OneCryptoPkg/Docs/README.md)

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

<Describe the test(s) that were run to verify the changes.>

Integration Instructions

<Describe how these changes should be integrated. Use N/A if nothing is required.>

@mu-automation mu-automation Bot added language:python Pull requests that update Python code impact:non-functional Does not have a functional impact labels Jul 6, 2026
@Flickdm Flickdm force-pushed the feat/onecrypto-aarch64-single-copy branch from 4bf33a1 to 443a920 Compare July 6, 2026 20:42
Flickdm added 3 commits July 6, 2026 17:08
Add a DXE loader path that fetches OneCrypto PE bytes from StandaloneMM
over EFI_MM_COMMUNICATION2_PROTOCOL, and add a StandaloneMM image
provider handler that serves chunked image responses.

Wire the new GUID, INF files, and DSC mappings for AARCH64 builds.

Signed-off-by: Doug Flick <dougflick@microsoft.com>
Package OneCryptoLoaderDxeFromMm as OneCryptoLoaderDxe in the AARCH64
layout and include OneCryptoImageProviderStandaloneMm artifacts for the
MM fetch path.

Signed-off-by: Doug Flick <dougflick@microsoft.com>
Document the legacy dual-bin and single-copy AARCH64 modes, including
the MM image-provider + DXE-from-MM loader path and rationale for module
separation.

Clarify that the single-copy mode originated from the initial platform
prototype while targeting mainline integration for real AARCH64
platforms.

Signed-off-by: Doug Flick <dougflick@microsoft.com>
@Flickdm Flickdm force-pushed the feat/onecrypto-aarch64-single-copy branch from 98f6e5b to 9997144 Compare July 7, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact:non-functional Does not have a functional impact language:python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant