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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to