On 10/9/23 02:07, Taylor Beebe wrote: > Now that the transition to use SetMemoryProtectionsLib and > GetMemoryProtectionsLib is complete, delete the memory protection PCDs > to avoid confusing the interface. All memory protection settings > will now be set and consumed via the libraries. > > Signed-off-by: Taylor Beebe <taylor.d.be...@gmail.com> > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Gerd Hoffmann <kra...@redhat.com> > Cc: Rebecca Cran <rebe...@bsdio.com> > Cc: Peter Grehan <gre...@freebsd.org> > Cc: Corvin Köhne <corv...@freebsd.org> > Cc: Jianyong Wu <jianyong...@arm.com> > Cc: Anatol Belski <anbel...@linux.microsoft.com> > Cc: Anthony Perard <anthony.per...@citrix.com> > Cc: Julien Grall <jul...@xen.org> > Cc: Erdem Aktas <erdemak...@google.com> > Cc: James Bottomley <j...@linux.ibm.com> > Cc: Min Xu <min.m...@intel.com> > Cc: Tom Lendacky <thomas.lenda...@amd.com> > Cc: Michael Roth <michael.r...@amd.com> > Cc: Sunil V L <suni...@ventanamicro.com> > Cc: Andrei Warkentin <andrei.warken...@intel.com> > --- > OvmfPkg/AmdSev/AmdSevX64.dsc | 3 --- > OvmfPkg/Bhyve/BhyveX64.dsc | 3 --- > OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 - > OvmfPkg/CloudHv/CloudHvX64.dsc | 3 --- > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 3 --- > OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf | 1 - > OvmfPkg/Microvm/MicrovmX64.dsc | 3 --- > OvmfPkg/OvmfPkgIa32.dsc | 3 --- > OvmfPkg/OvmfPkgIa32X64.dsc | 3 --- > OvmfPkg/OvmfPkgX64.dsc | 3 --- > OvmfPkg/OvmfXen.dsc | 3 --- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 - > OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc | 13 ------------- > OvmfPkg/TdxDxe/TdxDxe.inf | 1 - > 14 files changed, 44 deletions(-) > > diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc > index b67b50b833b9..46a74e4f8ee8 100644 > --- a/OvmfPkg/AmdSev/AmdSevX64.dsc > +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc > @@ -516,9 +516,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc > index 5af5831196f6..21baa47d2526 100644 > --- a/OvmfPkg/Bhyve/BhyveX64.dsc > +++ b/OvmfPkg/Bhyve/BhyveX64.dsc > @@ -550,9 +550,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000 > diff --git a/OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf > b/OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf > index 07570d4e30ca..07f032941404 100644 > --- a/OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf > +++ b/OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf > @@ -89,7 +89,6 @@ [Pcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack > gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable > gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask > gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy > diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc > index c550ebcd659e..b8d643dfda3c 100644 > --- a/OvmfPkg/CloudHv/CloudHvX64.dsc > +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc > @@ -600,9 +600,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc > b/OvmfPkg/IntelTdx/IntelTdxX64.dsc > index a3370f45940c..513727ae98ff 100644 > --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc > +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc > @@ -511,9 +511,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf > b/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf > index a6d7b53f52cf..009bee69e405 100644 > --- a/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf > +++ b/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf > @@ -79,7 +79,6 @@ [Pcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## > SOMETIMES_CONSUMES > gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## > CONSUMES > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## > CONSUMES > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize > gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootSupported > diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc > index da5a4862bfdc..78f2ab64a60d 100644 > --- a/OvmfPkg/Microvm/MicrovmX64.dsc > +++ b/OvmfPkg/Microvm/MicrovmX64.dsc > @@ -623,9 +623,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index d4d14b69ef1d..0f2b1812a821 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -634,9 +634,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index 674010323df1..6180d267067a 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -652,9 +652,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index 08b70d76d292..937488b043f4 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -670,9 +670,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # UefiCpuPkg PCDs related to initial AP bringup and general AP management. > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64 > gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0 > diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc > index d80e20a151d7..e3631202238b 100644 > --- a/OvmfPkg/OvmfXen.dsc > +++ b/OvmfPkg/OvmfXen.dsc > @@ -506,9 +506,6 @@ [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0 > gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE > > - # Noexec settings for DXE. > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE > - > # Set memory encryption mask > gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0 > > diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf > b/OvmfPkg/PlatformPei/PlatformPei.inf > index fbaa6bdc8ee5..3085f4f46a50 100644 > --- a/OvmfPkg/PlatformPei/PlatformPei.inf > +++ b/OvmfPkg/PlatformPei/PlatformPei.inf > @@ -104,7 +104,6 @@ [Pcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack > gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable > gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask > gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase > diff --git a/OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc > b/OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc > index fe320525153f..57304c40766a 100644 > --- a/OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc > +++ b/OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc > @@ -271,19 +271,6 @@ [PcdsFixedAtBuild.common] > gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20 > gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 > > - # > - # Enable strict image permissions for all images. (This applies > - # only to images that were built with >= 4 KB section alignment.) > - # > - gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3 > - > - # > - # Enable NX memory protection for all non-code regions, including OEM and > OS > - # reserved ones, with the exception of LoaderData regions, of which OS > loaders > - # (i.e., GRUB) may assume that its contents are executable. > - # > - > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5 > - > [Components.common] > # > # Ramdisk support > diff --git a/OvmfPkg/TdxDxe/TdxDxe.inf b/OvmfPkg/TdxDxe/TdxDxe.inf > index 9793562884c7..42317228c1aa 100644 > --- a/OvmfPkg/TdxDxe/TdxDxe.inf > +++ b/OvmfPkg/TdxDxe/TdxDxe.inf > @@ -68,6 +68,5 @@ [Pcd] > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress > gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr > gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask > - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved > gUefiOvmfPkgTokenSpaceGuid.PcdTdxAcceptPageSize
Seems reasonable, superficially; whether the new / default profile settings will ensure identical behavior (wherever needed for compatibility), I can't say. Of course if we can restrict the policies and everything just continues working, that's ideal; I can't tell whether that's the case though. Acked-by: Laszlo Ersek <ler...@redhat.com> Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109451): https://edk2.groups.io/g/devel/message/109451 Mute This Topic: https://groups.io/mt/101843370/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-