ArmVirtPkg/ArmVirtQemu: Disable PcdPrePiProduceMemoryTypeInformationHob for ARM

The PcdPrePiProduceMemoryTypeInformationHob on ARM breaks Linux efistub
boot. The efistub for arm32 uncompresses Linux kernel into memory ranges
which occupied by DXE-phase drivers which leads to
'permission denied'-error during page write. So as a temporary solution
we use PcdPrePiProduceMemoryTypeInformationHob only for AARCH64

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
This commit is contained in:
Savva Mitrofanov 2023-04-05 14:47:44 +06:00 committed by Mikhail Krichanov
parent a0180c022a
commit a86d9d688e
1 changed files with 10 additions and 2 deletions

View File

@ -282,14 +282,22 @@
[PcdsFeatureFlag.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
[PcdsFeatureFlag.AARCH64]
#
# Activate AcpiSdtProtocol
#
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
#
# FIXME: The PcdPrePiProduceMemoryTypeInformationHob on ARM breaks Linux efistub boot.
# The efistub for arm32 uncompresses Linux kernel into memory ranges which occupied
# by DXE-phase drivers which leads to 'permission denied'-error during page write.
#
# So as a temporary solution we use PcdPrePiProduceMemoryTypeInformationHob
# only for AARCH64
#
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
[PcdsFixedAtBuild.common]
!ifdef $(FIRMWARE_VER)
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"