[edk2-devel] [PATCH v4 00/11] ArmPkg: implement EFI memory attributes protocol

Taylor Beebe t at taylorbeebe.com
Sat Feb 11 00:56:53 UTC 2023


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.kinney at intel.com>
> 
> Cc: Liming Gao <gaoliming at byosoft.com.cn>
> 
> Cc: Jiewen Yao <jiewen.yao at intel.com>
> 
> Cc: Michael Kubacki <michael.kubacki at microsoft.com>
> 
> Cc: Sean Brogan <sean.brogan at microsoft.com>
> 
> Cc: Rebecca Cran <quic_rcran at quicinc.com>
> 
> Cc: Leif Lindholm <quic_llindhol at quicinc.com>
> 
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> 
> Cc: Taylor Beebe <t at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list