ArmVirtPkg: enable non-executable DXE stack for all platforms

Now that ARM has grown support for managing memory permissions in
ArmMmuLib, we can enable the non-executable DXE stack for all virt
platforms. Note that this includes the AARCH64 Xen platform as well.

Note that this is not [entirely] redundant: the non-executable stack
is configured before DxeCore is invoked. The image and memory protection
features configured during DXE only take affect when the CPU arch
protocol implementation is registered.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Ard Biesheuvel 2017-03-01 16:31:43 +00:00
parent 9f1dcbe8c8
commit 8aab575c26
3 changed files with 5 additions and 4 deletions

View File

@ -386,6 +386,11 @@
#
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1
#
# Enable the non-executable DXE stack. (This gets set up by DxeIpl)
#
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
[PcdsFixedAtBuild.ARM]
gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40

View File

@ -152,8 +152,6 @@
gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
[PcdsFixedAtBuild.AARCH64]
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
# KVM limits it IPA space to 40 bits (1 TB), so there is no need to
# support anything bigger, even if the host hardware does
gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40

View File

@ -163,8 +163,6 @@
#
gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
# KVM limits it IPA space to 40 bits (1 TB), so there is no need to
# support anything bigger, even if the host hardware does
gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40