v4: - major cleanup of the 32-bit ARM code - add support for EFI_MEMORY_RP using the access flag - enable stack guard in ArmVirtPkg (which uses EFI_MEMORY_RP) - incorporate optimization from other series [0] to avoid splitting block entries unnecessarily
v3: - fix ARM32 bug in attribute conversion - add Liming's ack to patch #1 - include draft patch (NOT FOR MERGE) used to test the changes v2: - drop patch to bump exposed UEFI revision to v2.10 - add missing permitted return values to protocol definition [0] https://edk2.groups.io/g/devel/message/99801 Cc: Michael Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Michael Kubacki <michael.kuba...@microsoft.com> Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Rebecca Cran <quic_rc...@quicinc.com> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Sami Mujawar <sami.muja...@arm.com> Cc: Taylor Beebe <t...@taylorbeebe.com> Ard Biesheuvel (11): ArmPkg/ArmMmuLib ARM: Remove half baked large page support ArmPkg/ArmMmuLib ARM: Split off XN page descriptor bit from type field ArmPkg/CpuDxe ARM: Fix page-to-section attribute conversion ArmPkg/ArmMmuLib ARM: Isolate the access flag from AP mask ArmPkg/ArmMmuLib ARM: Clear individual permission bits ArmPkg/ArmMmuLib: Implement EFI_MEMORY_RP using access flag ArmVirtPkg: Enable stack guard ArmPkg/ArmMmuLib: Avoid splitting block entries if possible ArmPkg/CpuDxe: Expose unified region-to-EFI attribute conversion MdePkg: Add Memory Attribute Protocol definition ArmPkg/CpuDxe: Implement EFI memory attributes protocol ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 25 +- ArmPkg/Drivers/CpuDxe/Arm/Mmu.c | 96 +++++-- ArmPkg/Drivers/CpuDxe/CpuDxe.c | 2 + ArmPkg/Drivers/CpuDxe/CpuDxe.h | 17 ++ ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 2 + ArmPkg/Drivers/CpuDxe/MemoryAttribute.c | 271 ++++++++++++++++++++ ArmPkg/Include/Chipset/ArmV7Mmu.h | 88 +++---- ArmPkg/Include/Library/ArmMmuLib.h | 34 +++ ArmPkg/Library/ArmLib/Arm/ArmV7Support.S | 2 + ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 68 ++++- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibConvert.c | 8 +- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 2 +- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c | 173 +++++++++++-- ArmVirtPkg/ArmVirt.dsc.inc | 2 + MdePkg/Include/Protocol/MemoryAttribute.h | 142 ++++++++++ MdePkg/MdePkg.dec | 3 + 16 files changed, 833 insertions(+), 102 deletions(-) create mode 100644 ArmPkg/Drivers/CpuDxe/MemoryAttribute.c create mode 100644 MdePkg/Include/Protocol/MemoryAttribute.h -- 2.39.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#99885): https://edk2.groups.io/g/devel/message/99885 Mute This Topic: https://groups.io/mt/96853149/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-