This series enables the non-exec DXE stack feature for AARCH64. It involves some refactoring of ArmLib so we can reuse the bulk of the page table manipulation code (patch #1). Then, it is simply a matter of calling the newly introduced ArmSetMemoryRegionNoExec () [patch #2] on the stack region right after it has been allocated (patch #3).
Patch #4 enables the feature for ArmVirtQemu if building for AARCH64. Ard Biesheuvel (4): ArmPkg/AArch64Mmu: move page table traversal code to separate function ArmPkg/AArch64Mmu: add functions to set/clear RO and XN bits on regions MdeModulePkg/DxeIplPeim: implement non-exec stack for ARM/AARCH64 ArmVirtPkg/ArmVirtQemu: enable non-exec DXE stack for AARCH64 ArmPkg/Include/Library/ArmLib.h | 24 ++++ ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c | 133 +++++++++++++++++--- ArmPkg/Library/ArmLib/ArmV7/ArmV7Mmu.c | 36 ++++++ ArmVirtPkg/ArmVirtQemu.dsc | 3 + MdeModulePkg/Core/DxeIplPeim/Arm/DxeLoadFunc.c | 7 ++ MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 8 ++ 6 files changed, 192 insertions(+), 19 deletions(-) -- 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel