Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 72fa3af90beeee7690ab4626fd372e0baa830fa4
      
https://github.com/tianocore/edk2/commit/72fa3af90beeee7690ab4626fd372e0baa830fa4
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirtKvmTool.dsc
    M ArmVirtPkg/ArmVirtPkg.dec
    R ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaInitPeiLib/ArmCcaInitPeiLib.inf
    M ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.inf
    R ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsi.h
    R ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
    R ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.inf
    A MdeModulePkg/Include/Library/ArmCcaRsiLib.h
    A MdeModulePkg/Library/ArmCcaRsiLib/ArmCcaRsi.h
    A MdeModulePkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
    A MdeModulePkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.inf
    M MdeModulePkg/MdeModulePkg.dec
    M MdeModulePkg/MdeModulePkg.dsc

  Log Message:
  -----------
  ArmVirtPkg, MdeModulePkg: Move Arm CCA RSI library to MdeModulePkg

The Arm Confidential Compute AArchitecture (CCA) Realm Service
Interface (RSI) is a standard interface that an Arm CCA Realm
Guest VM can utilise to request services from the Arm CCA Realm
Management Monitor (RMM).

The Arm CCA Realm Service Interface is architectural Realm guest
functionality rather than ArmVirt platform-specific code.

Therefore, move ArmCcaRsiLib and its public header to MdeModulePkg,
declare the library class there, and update ArmVirtPkg consumers
to use the new library instance path.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: d45393dc7747cb079fa67924ac61007ee8e89062
      
https://github.com/tianocore/edk2/commit/d45393dc7747cb079fa67924ac61007ee8e89062
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirt.dsc.inc
    M ArmVirtPkg/ArmVirtKvmTool.dsc
    M ArmVirtPkg/ArmVirtPkg.dec
    R ArmVirtPkg/Include/Library/ArmCcaLib.h
    R ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.c
    R ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.inf
    R ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c
    R ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf
    A MdeModulePkg/Include/Library/ArmCcaLib.h
    A MdeModulePkg/Library/ArmCcaLib/ArmCcaLib.c
    A MdeModulePkg/Library/ArmCcaLib/ArmCcaLib.inf
    A MdeModulePkg/Library/ArmCcaLibNull/ArmCcaLibNull.c
    A MdeModulePkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf
    M MdeModulePkg/MdeModulePkg.dec
    M MdeModulePkg/MdeModulePkg.dsc

  Log Message:
  -----------
  ArmVirtPkg, MdeModulePkg: Move Arm CCA Library to MdeModulePkg

ArmCcaLib provides helper functions for detecting Realm execution state
and caching Realm IPA width. These helpers build on the architectural Arm
CCA RSI library and are not specific to ArmVirtPkg.

Therefore, move ArmCcaLib, ArmCcaLibNull, their public header, and related
GUID declarations to MdeModulePkg. Update ArmVirtPkg library mappings and
consumers to use the new MdeModulePkg library instances.

Also perform minor non-functional cleanup to the moved INF files by
fixing a comment typo and ordering the package dependencies.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 299c5a0b671ff7eeeb4fd8be7a3b9b8329b19b21
      
https://github.com/tianocore/edk2/commit/299c5a0b671ff7eeeb4fd8be7a3b9b8329b19b21
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M MdePkg/Include/AArch64/AArch64Mmu.h

  Log Message:
  -----------
  MdePkg/AArch64: Add LPA2 upper address descriptor macros

With FEAT_LPA2, bits[9:8] of a translation table descriptor encode
output address bits[51:50]. Add macros for extracting those upper IPA
address bits and shifting them into the descriptor field.

These macros will be used by code that needs to build or update
AArch64 translation table descriptors for 52-bit IPA/output addresses.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: cc980357e089477cc8424c0b0b64b5976849864a
      
https://github.com/tianocore/edk2/commit/cc980357e089477cc8424c0b0b64b5976849864a
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuLibInternal.h

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Share maximum VA bit definitions

Move the maximum VA bit definitions to ArmMmuLibInternal.h so
they can be shared by ArmMmuLib source files.

Rename MAX_VA_BITS to MAX_VA_BITS_LPA2 to make it clear that the
52-bit limit applies when FEAT_LPA2 is used.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 36888ef4110c68a0fe8a7bae8b29e56c617c9cda
      
https://github.com/tianocore/edk2/commit/36888ef4110c68a0fe8a7bae8b29e56c617c9cda
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    A UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCca.c
    A UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCcaNull.c
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
    A UefiCpuPkg/Library/ArmMmuLib/ArmMmuBaseLibCca.inf
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuLibInternal.h
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
    A UefiCpuPkg/Library/ArmMmuLib/ArmMmuPeiLibCca.inf
    M UefiCpuPkg/UefiCpuPkg.dsc

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Move ArmCcaSetMemoryProtectionAttribute

Move ArmCcaSetMemoryProtectionAttribute() out of ArmMmuLibCore.c into a
CCA-specific source file. Add a NULL implementation for the standard
ArmMmuLib instances so platforms that do not use the CCA-specific library
continue to build and return EFI_UNSUPPORTED for the CCA helper.

Add CCA-specific Base and PEI ArmMmuLib instances that include the real
CCA implementation. Make UpdateRegionMapping() non-static so it can be
used by the CCA-specific implementation.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: c65520d102e2aa0af96cc3e7b6963069cb7a5ba9
      
https://github.com/tianocore/edk2/commit/c65520d102e2aa0af96cc3e7b6963069cb7a5ba9
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Include/Library/ArmMmuLib.h
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCca.c
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCcaNull.c
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuBaseLibCca.inf
    M UefiCpuPkg/Library/ArmMmuLib/ArmMmuPeiLibCca.inf

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Add CCA protection attribute helper

Add ArmCcaGetMemoryProtectionAttribute() to return the Realm CCA
protection attribute mask in the format expected by AArch64 translation
table descriptors. Provide a NULL implementation that returns zero for
non-CCA ArmMmuLib instances.

Use the helper when updating CCA memory protection attributes so the
Realm IPA width query and LPA2 descriptor encoding logic are kept in one
place.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 13a7c9750cf207db568a70c1bbadcbe2b0d464de
      
https://github.com/tianocore/edk2/commit/13a7c9750cf207db568a70c1bbadcbe2b0d464de
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Include/Library/ArmMmuLib.h
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCca.c
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCcaNull.c

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Drop IPA width in ArmCcaSetMemoryProtectionAttribute

ArmCcaSetMemoryProtectionAttribute() now derives the Realm CCA
protection attribute internally using ArmCcaGetMemoryProtectionAttribute(),
so callers no longer need to pass the Realm IPA width.

Therefore, drop the IPA width parameter from the API.

Since the helper queries the Realm IPA width, use ArmCcaIsRealm() to
ensure the CCA attribute is only configured when running in a Realm.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: b238b4db5ff76363967945cea9b72e835d613400
      
https://github.com/tianocore/edk2/commit/b238b4db5ff76363967945cea9b72e835d613400
  Author: Jean-Philippe Brucker <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Preserve CCA protection bit on attribute updates

When running in a Realm, ArmSetMemoryAttributes() can update MMIO page
attributes after the mapping has already been marked as unprotected. Do
not clear the CCA protection attribute during those updates.

Use the Realm CCA protection attribute as the preserved mask for memory
type updates, and keep address bits intact when applying permission-only
updates.

Signed-off-by: Jean-Philippe Brucker <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 13040db48903e0d7997908270e505e25a8be858c
      
https://github.com/tianocore/edk2/commit/13040db48903e0d7997908270e505e25a8be858c
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Validate CCA protection attribute bit

When deriving the CCA protection attribute from the memory descriptor
virtual and physical addresses, assert that the descriptor uses either a
protected mapping or the expected Realm protection bit.

This catches malformed initial MMU descriptors without rejecting valid
protected IPA mappings.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 36c78fd39bccf997ea6e3e4c6d0bc2eb62f05528
      
https://github.com/tianocore/edk2/commit/36c78fd39bccf997ea6e3e4c6d0bc2eb62f05528
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c

  Log Message:
  -----------
  UefiCpuPkg/ArmMmuLib: Preserve CCA attribute when splitting blocks

When an existing block entry is split into smaller mappings,
UpdateRegionMappingRecursive() populates the new child entries from the
attributes of the block being replaced.

The code only copied bits covered by TT_ATTRIBUTES_MASK. However, the CCA
protection attribute may be encoded in the output address field, so it is
not necessarily covered by TT_ATTRIBUTES_MASK. As a result, splitting a
shared or private block mapping could drop the CCA protection state from
the generated child entries.

Include CcaProtectionAttribute when inheriting attributes from the old
block entry, and use the same mask when checking whether an existing block
already has the requested attributes.

Reported-by: Hajira Zaman <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 08b6999cb1ef596b75f3995d7f4ae4cb5274807a
      
https://github.com/tianocore/edk2/commit/08b6999cb1ef596b75f3995d7f4ae4cb5274807a
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirtKvmTool.dsc

  Log Message:
  -----------
  ArmVirtPkg/ArmVirtKvmTool: Use CCA ArmMmuLib instance

ArmVirtKvmTool already maps ArmCcaLib to the CCA-aware implementation.
Use the matching ArmMmuBaseLibCca instance so MMU page table updates can
preserve and apply Arm CCA protection attributes.

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: f21a6e6fb6cd915584fbccfd421c2088d22ca5ba
      
https://github.com/tianocore/edk2/commit/f21a6e6fb6cd915584fbccfd421c2088d22ca5ba
  Author: Sami Mujawar <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirtQemu.dsc

  Log Message:
  -----------
  ArmVirtPkg/ArmVirtQemu: Use CCA ArmMmuLib instances

In preparation for enabling Arm CCA for ArmVirtQemu, use the CCA-aware
ArmMmuLib instances so MMU page table updates can preserve and apply Arm
CCA protection attributes once a CCA-aware ArmCcaLib implementation is
selected.

Select ArmMmuBaseLibCca for common use and ArmMmuPeiLibCca for PEIMs.

Signed-off-by: Sami Mujawar <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/10f2053c2d76...f21a6e6fb6cd

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to