Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: d0da872d961b3a0b535293e5c0f978313a376e45
      
https://github.com/tianocore/edk2/commit/d0da872d961b3a0b535293e5c0f978313a376e45
  Author: Yeoreum Yun <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M MdeModulePkg/Library/ArmFfaLib/ArmFfaCommon.c

  Log Message:
  -----------
  MdeModulePkg/ArmFfaLib: return error when CurrentVersion is NULL

Output parameter CurrentVersion of ArmFfaLibGetVersion() is
not optional parameter. That means it should return error
when CurrentVersion is NULL.

Signed-off-by: Yeoreum Yun <[email protected]>


  Commit: b6c16a95bed7cb300b0aac50ce15bb75b9405bd9
      
https://github.com/tianocore/edk2/commit/b6c16a95bed7cb300b0aac50ce15bb75b9405bd9
  Author: Yeoreum Yun <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c

  Log Message:
  -----------
  ArmPkg/StandaloneMmMmuLib: make Version parameter as optional

This is preparatory patch to optimize memory permission change
operations for StandaloneMm.

Make Version parameter of IsFfaMemoryAbiSupported() as optional.

Signed-off-by: Yeoreum Yun <[email protected]>


  Commit: 2ce0a7e6e3165ae6df88a2b47f276c244c58c5fd
      
https://github.com/tianocore/edk2/commit/2ce0a7e6e3165ae6df88a2b47f276c244c58c5fd
  Author: Yeoreum Yun <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M ArmPkg/Include/Library/StandaloneMmMmuLib.h
    M ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c

  Log Message:
  -----------
  ArmPkg/ArmMmuStandaloneMmLib: add missing documentation

Some functions in ArmMmuStandaloneMmLib lack documentation.
Add appropriate documentation for each function.

Signed-off-by: Yeoreum Yun <[email protected]>


  Commit: c83db74426c78a9213e5085f71f697e096bd8450
      
https://github.com/tianocore/edk2/commit/c83db74426c78a9213e5085f71f697e096bd8450
  Author: Yeoreum Yun <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M ArmPkg/Include/Library/ArmStandaloneMmCoreEntryPoint.h
    M ArmPkg/Include/Library/StandaloneMmMmuLib.h
    M 
ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.c
    M ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/SetPermissions.c
    M ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
    M 
StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/AArch64/StandaloneMmPeCoffExtraActionLib.c

  Log Message:
  -----------
  ArmPkg, StandaloneMmPkg: optimise memory permission change

In StandaloneMm, the allowed memory permission combinations are ROX, RO,
and RW.

At the initial stage, all regions are mapped as ROX.
When drivers are loaded for relocation, the image is first mapped as RW.

However, the current mechanism introduces significant overhead
when changing memory permissions. For example, when changing permissions
from ROX to RW, the process is performed in two steps:

  1. Clear the execute (X) permission (ROX → RO)
  2. Add the write (W) permission (RO → RW)

To execute step (1), the system first retrieves the permissions of
the target region. This may trigger multiple SMC calls,
depending on the permissions of the pages within that region.

This permission retrieval operation is redundant, as there is no need
to maintain an intermediate state. Nevertheless,
it can cause additional SMC calls and coherence operations
from the SPMC (e.g., TLB flushes).

Therefore, this redundant operation should be removed, and in most cases,
the memory permission should be updated with a single
“set memory permission” operation.

Note:
The ArmxxxMemoryRegionxxx() interfaces e.g. ArmSetMemoryRegionNoExec(),
etc. return success when the Length parameter is 0 as
the SectionHeader.Misc.VirtualSize could be 0 Length
like .reloc section:

  UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0x7004000
                                       has 0x42000040 permissions
  UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0x7004000
                                       has .reloc name
  api_ffa_mem_perm_set page_count 0
  ERROR: FFA_MEM_PERM_SET: page_count was zero

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


Compare: https://github.com/tianocore/edk2/compare/b8ede2541df8...c83db74426c7

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