The upcoming DXE image protection feature expects the EFI_CPU_ARCH_PROTOCOL
method SetMemoryAttributes() to deal with invocations that only modify
permission attributes, but leave the cacheability attributes alone. This
requires some groundwork to be performed in the MMU code for ARM.
Patch #1 is Jiewen's patch to retire EFI_MEMORY_WP, which is no longer
used as a permission attribute.
Patch #2 updates EfiAttributeToArmAttribute () so it can deal with
unspecified caching modes.
Patch #3 makes ARM deal with EFI_CPU_ARCH_PROTOCOL.SetMemoryAttributes()
calls that do not specify memory attributes. On ARM, we don't have code
that manages the permission bits in the page tables, so this does little
more than ignore such attributes.
Patch #4 implements the handling for AARCH64 to manage the permissions
bits without touching or caring about the memory type attributes.
Ard Biesheuvel (3):
ArmPkg/CpuDxe: translate invalid memory types in
EfiAttributeToArmAttribute
ArmPkg/CpuDxe: ARM: ignore page table updates that only change
permissions
ArmPkg/ArmMmuLib: AARCH64: add support for modifying only permissions
Jiewen Yao (1):
ArmPkg/CpuDxe: Correct EFI_MEMORY_RO usage
ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 7 +-
ArmPkg/Drivers/CpuDxe/Arm/Mmu.c | 24 ++++---
ArmPkg/Drivers/CpuDxe/CpuMmuCommon.c | 5 +-
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 76 +++++++++++++++-----
4 files changed, 77 insertions(+), 35 deletions(-)
--
2.7.4
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel