From: Gerd Hoffmann <kraxel@redhat.com>
Needed to workaround buggy EFI_MEMORY_ATTRIBUTE_PROTOCOL
usage in shim.efi.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 6f79fa5f097aa41fc96a14dfccdb0ea8d9facd6c)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/roms/edk2-build.config b/roms/edk2-build.config
index bab6a9caeb..0d367dbdb7 100644
--- a/roms/edk2-build.config
+++ b/roms/edk2-build.config
@@ -22,9 +22,15 @@ SMM_REQUIRE = TRUE
[opts.armvirt.silent]
DEBUG_PRINT_ERROR_LEVEL = 0x80000000
-[pcds.nx.broken.grub]
+[pcds.nx.strict]
+PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD5
+PcdUninstallMemAttrProtocol = FALSE
+
+[pcds.nx.broken.shim.grub]
# grub.efi uses EfiLoaderData for code
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1
+# shim.efi has broken MemAttr code
+PcdUninstallMemAttrProtocol = TRUE
[pcds.workaround.202308]
PcdFirstTimeWakeUpAPsBySipi = FALSE
@@ -95,7 +101,7 @@ conf = ArmVirtPkg/ArmVirtQemu.dsc
arch = ARM
opts = common
armvirt.silent
-pcds = nx.broken.grub
+pcds = nx.broken.shim.grub
plat = ArmVirtQemu-ARM
dest = ../pc-bios
cpy1 = FV/QEMU_EFI.fd edk2-arm-code.fd
@@ -112,7 +118,7 @@ conf = ArmVirtPkg/ArmVirtQemu.dsc
arch = AARCH64
opts = common
armvirt.silent
-pcds = nx.broken.grub
+pcds = nx.broken.shim.grub
plat = ArmVirtQemu-AARCH64
dest = ../pc-bios
cpy1 = FV/QEMU_EFI.fd edk2-aarch64-code.fd
--
2.39.2