Hey Ard,
Once the Memory Attribute Protocol is made available, Windows will have
some expectations about its functionality. Can you run this test app
created by me and Jiewen to ensure it meets the Windows requirements?
Part of the test needed an AARCH64 implementation which I just added -
let me know if it doesn't work.
Thanks :)
https://github.com/TaylorBeebe/mu_basecore/tree/update_map_test_app/MdePkg/Test/ShellTest/MemoryAttributeProtocolFuncTestApp
On 2/9/2023 5:59 AM, Ard Biesheuvel wrote:
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
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100039): https://edk2.groups.io/g/devel/message/100039
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]
-=-=-=-=-=-=-=-=-=-=-=-