From nobody Sun Feb 8 19:38:17 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+108879+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+108879+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1695171498; cv=none; d=zohomail.com; s=zohoarc; b=VPDmNFp4wbZeBuWP+pqhlYuSXAjJrGMvsSiSGlKIHdjmvDae0jHalphX+PN6nJefVb1YbNGWhWqYMCynBVMQF/UCXkLqfx0TjoOEYLbW4nHXh61FKeIZnvtvCq1oKvny7efbboRcAbouWvYUD6y6bwLNbe9sEojT5Lhb8LiyA/s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1695171498; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=RQCH97fzWsvcwCrpAB5ieYZOFJ+ys1oDmg2T7feWDjo=; b=dMcZzx677QY12OM3QLhN6cUoMTN8ppR69q/3RiQmVsZcHul8vRo7LVlCspxLelIt6dsrr/KloNlS5tjjbPxKwSou83LzA0VH4Vf8r0uinDSr1Lc1Uz93WYKwHfEc5XvnO8z11Kj02GwErfxV4lYyOhT9/t6rY+jI0B98jrM2MRU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+108879+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1695171498050522.1067053068972; Tue, 19 Sep 2023 17:58:18 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=n525hWDJdAWjsJM/DMnI1LcyKlGSNHRJaKnAXzpWE48=; 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=1695171497; v=1; b=sfCASy67o+Ei37dbaIMSn1Gzr4PVIbI5G96v+OW8VchXKhUgwt4JXjKS/Tl8GDBcQVSqASCj pMsgktnSHUtOhr59U4svJEr+6BViois5jZbghGhmTrSvWhks3Xy+ZBafkCbhRvk2Ra8Mtw9P40t dFcar+v56k1OkLb9ebA6/drU= X-Received: by 127.0.0.2 with SMTP id 94DYYY1788612x7Fx3stHcEq; Tue, 19 Sep 2023 17:58:17 -0700 X-Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mx.groups.io with SMTP id smtpd.web11.26927.1695171497209942562 for ; Tue, 19 Sep 2023 17:58:17 -0700 X-Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1c364fb8a4cso59153825ad.1 for ; Tue, 19 Sep 2023 17:58:17 -0700 (PDT) X-Gm-Message-State: TtADrN1ZWFXCM9KlFffgDiSbx1787277AA= X-Google-Smtp-Source: AGHT+IEAfpFgs0XKJufU7PmckuV7Dl0H8wGtormGdY9G8yWQ0l38JNQrCvw8eV3y+h1nvtO/NabAjg== X-Received: by 2002:a17:902:8683:b0:1c5:b4a1:ff3 with SMTP id g3-20020a170902868300b001c5b4a10ff3mr826771plo.40.1695171496487; Tue, 19 Sep 2023 17:58:16 -0700 (PDT) X-Received: from localhost.localdomain ([50.46.253.1]) by smtp.gmail.com with ESMTPSA id 13-20020a170902c24d00b001bb988ac243sm10563576plg.297.2023.09.19.17.58.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 17:58:16 -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 v4 17/28] OvmfPkg: Use GetMemoryProtectionsLib instead of Memory Protection PCDs Date: Tue, 19 Sep 2023 17:57:40 -0700 Message-ID: <20230920005752.2041-18-taylor.d.beebe@gmail.com> In-Reply-To: <20230920005752.2041-1-taylor.d.beebe@gmail.com> References: <20230920005752.2041-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: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1695171500139100073 Content-Type: text/plain; charset="utf-8" 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/H= ighMemDxe.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 =20 #include #include @@ -148,9 +149,7 @@ InitializeHighMemDxe ( // on the page table mappings by going through the cpu arch protoc= ol. // Attributes =3D EFI_MEMORY_WB; - if ((PcdGet64 (PcdDxeNxMemoryProtectionPolicy) & - (1U << (UINT32)EfiConventionalMemory)) !=3D 0) - { + if (gMps.Dxe.ExecutionProtection.EnabledForType[EfiConventionalMem= ory]) { Attributes |=3D EFI_MEMORY_XP; } =20 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 =20 #include "Qemu.h" @@ -69,7 +70,7 @@ InstallVbeShim ( UINTN Printed; VBE_MODE_INFO *VbeModeInfo; =20 - if ((PcdGet8 (PcdNullPointerDetectionPropertyMask) & (BIT0|BIT7)) =3D=3D= BIT0) { + if (gMps.Dxe.NullPointerDetection.Enabled && !gMps.Dxe.NullPointerDetect= ion.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 =20 [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES gFdtClientProtocolGuid ## CONSUMES =20 -[Pcd] - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy - [Depex] gEfiCpuArchProtocolGuid AND gFdtClientProtocolGuid diff --git a/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf b/OvmfPkg/QemuVideoDxe/Q= emuVideoDxe.inf index 43a6e07faa88..15693ce85674 100644 --- a/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +++ b/OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf @@ -55,6 +55,7 @@ [LibraryClasses] UefiBootServicesTableLib UefiDriverEntryPoint UefiLib + GetMemoryProtectionsLib =20 [Protocols] gEfiGraphicsOutputProtocolGuid # PROTOCOL BY_START @@ -64,6 +65,5 @@ [Protocols] [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource - gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution --=20 2.42.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108879): https://edk2.groups.io/g/devel/message/108879 Mute This Topic: https://groups.io/mt/101469957/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-