From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 1BF53AC1AEE for ; Fri, 18 Aug 2023 22:58:08 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=2CedbEaqMjdubtDTb9MYv7rqEADTcbrsIC0M/jsd61E=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1692399487; v=1; b=ptYvTyaZDfBnIFZO1KW/sJhkbv8c1gYd4wAoQTSbX+sTqZ4RnR+1ye8qw66S0IemUnGeXB8l QI+ACFvzR+yfMKbGwACa6RUvosAqpqJzhErxcjGavb3pzB5Quo5oyqspy9y36mGMAA6uMGUNvd8 hC2JDhzAWk4NK4CC3NY0UUXY= X-Received: by 127.0.0.2 with SMTP id hYhaYY7687511xrA3NgX8cUc; Fri, 18 Aug 2023 15:58:07 -0700 X-Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web10.3187.1692397955854564621 for ; Fri, 18 Aug 2023 15:32:35 -0700 X-Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-564b8e60ce9so1068669a12.2 for ; Fri, 18 Aug 2023 15:32:35 -0700 (PDT) X-Gm-Message-State: T1LuDsv2IMaaM7W8u49FQB9tx7686176AA= X-Google-Smtp-Source: AGHT+IGKgUmqa0oT4/PzdZkbMTJkhkn1NrK7AeqsLqYrwyMUuqcI8HYZ/YXsE6IFPYn5qvxd1LrJUQ== X-Received: by 2002:a05:6a21:78aa:b0:148:184c:d4e8 with SMTP id bf42-20020a056a2178aa00b00148184cd4e8mr713524pzc.2.1692397955016; Fri, 18 Aug 2023 15:32:35 -0700 (PDT) X-Received: from localhost.localdomain ([50.46.253.1]) by smtp.gmail.com with ESMTPSA id 7-20020aa79207000000b0068779015507sm1989330pfo.194.2023.08.18.15.32.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Aug 2023 15:32:34 -0700 (PDT) From: "Taylor Beebe" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Leif Lindholm , Abner Chang Subject: [edk2-devel] [PATCH v2 16/25] OvmfPkg: Use GetMemoryProtectionsLib instead of Memory Protection PCDs Date: Fri, 18 Aug 2023 15:31:48 -0700 Message-ID: <20230818223159.1073-17-taylor.d.beebe@gmail.com> In-Reply-To: <20230818223159.1073-1-taylor.d.beebe@gmail.com> References: <20230818223159.1073-1-taylor.d.beebe@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,taylor.d.beebe@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=ptYvTyaZ; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Replace references to the memory protection PCDs to instead check the platform protections via GetMemoryProtectionsLib. Because the protection profile is equivalent to the PCD settings, this updated does not cause a torn state. Signed-off-by: Taylor Beebe Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Leif Lindholm Cc: Abner Chang --- OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c | 5 ++--- OvmfPkg/QemuVideoDxe/VbeShim.c | 3 ++- OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf | 4 +--- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c b/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c index 779bf5c827f5..2bef34427341 100644 --- a/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c +++ b/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -148,9 +149,7 @@ InitializeHighMemDxe ( // on the page table mappings by going through the cpu arch protocol. // Attributes = EFI_MEMORY_WB; - if ((PcdGet64 (PcdDxeNxMemoryProtectionPolicy) & - (1U << (UINT32)EfiConventionalMemory)) != 0) - { + if (gMps.Dxe.ExecutionProtection.EnabledForType[EfiConventionalMemory]) { Attributes |= EFI_MEMORY_XP; } diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.c b/OvmfPkg/QemuVideoDxe/VbeShim.c index 8f151b96f9a5..a60e409f50de 100644 --- a/OvmfPkg/QemuVideoDxe/VbeShim.c +++ b/OvmfPkg/QemuVideoDxe/VbeShim.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "Qemu.h" @@ -69,7 +70,7 @@ InstallVbeShim ( UINTN Printed; VBE_MODE_INFO *VbeModeInfo; - if ((PcdGet8 (PcdNullPointerDetectionPropertyMask) & (BIT0|BIT7)) == BIT0) { + if (gMps.Dxe.NullPointerDetection.Enabled && !gMps.Dxe.NullPointerDetection.DisableEndOfDxe) { DEBUG (( DEBUG_WARN, "%a: page 0 protected, not installing VBE shim\n", diff --git a/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf b/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf index c7dde9f455f2..40cbbe1c39af 100644 --- a/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf +++ b/OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf @@ -33,13 +33,11 @@ [LibraryClasses] PcdLib UefiBootServicesTableLib UefiDriverEntryPoint + GetMemoryProtectionsLib [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES gFdtClientProtocolGuid ## CONSUMES -[Pcd] - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy - [Depex] gEfiCpuArchProtocolGuid AND gFdtClientProtocolGuid diff --git a/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf b/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf index 43a6e07faa88..15693ce85674 100644 --- a/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +++ b/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf @@ -55,6 +55,7 @@ [LibraryClasses] UefiBootServicesTableLib UefiDriverEntryPoint UefiLib + GetMemoryProtectionsLib [Protocols] gEfiGraphicsOutputProtocolGuid # PROTOCOL BY_START @@ -64,6 +65,5 @@ [Protocols] [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource - gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution -- 2.41.0.windows.3 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107871): https://edk2.groups.io/g/devel/message/107871 Mute This Topic: https://groups.io/mt/100830915/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-