public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Taylor Beebe" <taylor.d.beebe@gmail.com>
To: devel@edk2.groups.io
Cc: "Abner Chang" <abner.chang@amd.com>,
	"Andrei Warkentin" <andrei.warkentin@intel.com>,
	"Anatol Belski" <anbelski@linux.microsoft.com>,
	"Andrew Fish" <afish@apple.com>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Ard Biesheuvel" <ardb+tianocore@kernel.org>,
	"Corvin Köhne" <corvink@freebsd.org>,
	"Dandan Bi" <dandan.bi@intel.com>,
	"Eric Dong" <eric.dong@intel.com>,
	"Erdem Aktas" <erdemaktas@google.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Guo Dong" <guo.dong@intel.com>, "Gua Guo" <gua.guo@intel.com>,
	"James Bottomley" <jejb@linux.ibm.com>,
	"James Lu" <james.lu@intel.com>,
	"Jian J Wang" <jian.j.wang@intel.com>,
	"Jianyong Wu" <jianyong.wu@arm.com>,
	"Jiewen Yao" <jiewen.yao@intel.com>,
	"Jordan Justen" <jordan.l.justen@intel.com>,
	"Julien Grall" <julien@xen.org>,
	"Leif Lindholm" <quic_llindhol@quicinc.com>,
	"Liming Gao" <gaoliming@byosoft.com.cn>,
	"Michael Roth" <michael.roth@amd.com>,
	"Min Xu" <min.m.xu@intel.com>,
	"Peter Grehan" <grehan@freebsd.org>,
	"Rahul Kumar" <rahul1.kumar@intel.com>,
	"Ray Ni" <ray.ni@intel.com>, "Rebecca Cran" <rebecca@bsdio.com>,
	"Sami Mujawar" <sami.mujawar@arm.com>,
	"Sean Rhodes" <sean@starlabs.systems>,
	"Sunil V L" <sunilvl@ventanamicro.com>,
	"Tom Lendacky" <thomas.lendacky@amd.com>
Subject: [edk2-devel] [PATCH v2 00/25] Implement Dynamic Memory Protections
Date: Fri, 18 Aug 2023 15:31:32 -0700	[thread overview]
Message-ID: <20230818223159.1073-1-taylor.d.beebe@gmail.com> (raw)

In the past, memory protection settings were configured via FixedAtBuild PCDs,
which resulted in a build-time configuration of memory mitigations. This
approach limited the flexibility of applying mitigations to the
system and made it difficult to update or adjust the settings post-build.

In a design, the configuration interface has been revised to allow for dynamic
configuration. This is achieved by setting memory protections via a library
interface which stores/updates the memory protection settings in
a GUIDed HOB, which is then consumed during and after DXE handoff.

This patch series adds two libraries:
SetMemoryProtectionsLib: A PEIM that allows for setting/fetching memory
protections and "locking" to prevent further updates via the library interface.
The backing for the settings are a GUIDed HOB that is created by the library
whenever its API is invoked.

GetMemoryProtectionsLib: A DXE library that allows for getting the memory
protection settings for the current boot. This library populates a global
with the settings from the HOB entry (if present) for access in the module.
Previous references to the PCDs are replaced with references to the global.

OvmfPkg has been updated to allow the setting of the memory protection profile
via QemuCfg instead of just the NxForStack setting. If no profile is passed,
the platform will default to the Debug profile for DXE and Off profile for MM.

ArmVirtPkg will use the Release profile.

Reference: https://github.com/tianocore/edk2/pull/4566

Cc: Abner Chang <abner.chang@amd.com>
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Anatol Belski <anbelski@linux.microsoft.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Corvin Köhne <corvink@freebsd.org>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Guo Dong <guo.dong@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: James Lu <james.lu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Jianyong Wu <jianyong.wu@arm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael Roth <michael.roth@amd.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Peter Grehan <grehan@freebsd.org>
Cc: Rahul Kumar <rahul1.kumar@intel.com> 
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>

Taylor Beebe (25):
  MdeModulePkg: Add DXE and MM Memory Protection Settings Definitions
  MdeModulePkg: Define SetMemoryProtectionsLib and
    GetMemoryProtectionsLib
  MdeModulePkg: Add NULL Instances for Get/SetMemoryProtectionsLib
  MdeModulePkg: Implement SetMemoryProtectionsLib and
    GetMemoryProtectionsLib
  MdeModulePkg: Apply Protections to the HOB List
  MdeModulePkg: Check Print Level Before Dumping GCD Memory Map
  UefiCpuPkg: Always Set Stack Guard in MpPei Init
  ArmVirtPkg: Add Memory Protection Library Definitions to Platforms
  OvmfPkg: Add Memory Protection Library Definitions to Platforms
  OvmfPkg: Apply Memory Protections via SetMemoryProtectionsLib
  OvmfPkg: Update PeilessStartupLib to use SetMemoryProtectionsLib
  UefiPayloadPkg: Update DXE Handoff to use SetMemoryProtectionsLib
  MdeModulePkg: Update DXE Handoff to use SetMemoryProtectionsLib
  ArmPkg: Use GetMemoryProtectionsLib instead of Memory Protection PCDs
  EmulatorPkg: Use GetMemoryProtectionsLib instead of Memory Protection
    PCDs
  OvmfPkg: Use GetMemoryProtectionsLib instead of Memory Protection PCDs
  UefiCpuPkg: Use GetMemoryProtectionsLib instead of Memory Protection
    PCDs
  MdeModulePkg: Use GetMemoryProtectionsLib instead of Memory Protection
    PCDs
  MdeModulePkg: Add Additional Profiles to SetMemoryProtectionsLib
  OvmfPkg: Enable Choosing Memory Protection Profile via QemuCfg
  ArmVirtPkg: Apply Memory Protections via SetMemoryProtectionsLib
  MdeModulePkg: Delete PCD Profile from SetMemoryProtectionsLib
  OvmfPkg: Delete Memory Protection PCDs
  ArmVirtPkg: Delete Memory Protection PCDs
  MdeModulePkg: Delete Memory Protection PCDs

 ArmPkg/Drivers/CpuDxe/CpuDxe.c                                                           |   5 +-
 ArmVirtPkg/MemoryInitPei/MemoryInitPeim.c                                                |  11 +-
 MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c                                                  |   4 +-
 MdeModulePkg/Core/Dxe/Gcd/Gcd.c                                                          |  22 +-
 MdeModulePkg/Core/Dxe/Mem/HeapGuard.c                                                    |  46 +-
 MdeModulePkg/Core/Dxe/Mem/Page.c                                                         |   2 +-
 MdeModulePkg/Core/Dxe/Mem/Pool.c                                                         |   4 +-
 MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c                                            |  96 ++-
 MdeModulePkg/Core/DxeIplPeim/DxeHandoff.c                                                |   4 +-
 MdeModulePkg/Core/DxeIplPeim/DxeLoad.c                                                   |   2 +
 MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c                                          |   9 +-
 MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c                                           |   6 +-
 MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c                                         |  16 +-
 MdeModulePkg/Core/PiSmmCore/HeapGuard.c                                                  |  29 +-
 MdeModulePkg/Core/PiSmmCore/Pool.c                                                       |   4 +-
 MdeModulePkg/Library/GetMemoryProtectionsLib/DxeGetMemoryProtectionsLib.c                | 158 ++++
 MdeModulePkg/Library/GetMemoryProtectionsLib/GetMemoryProtectionsLibNull.c               |  29 +
 MdeModulePkg/Library/GetMemoryProtectionsLib/MmGetMemoryProtectionsLib.c                 | 124 ++++
 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLib.c                   | 781 ++++++++++++++++++++
 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLibNull.c               | 144 ++++
 OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c                                                      |   5 +-
 OvmfPkg/Library/PeilessStartupLib/DxeLoad.c                                              |   6 +-
 OvmfPkg/Library/PeilessStartupLib/PeilessStartup.c                                       |  59 +-
 OvmfPkg/Library/PeilessStartupLib/X64/VirtualMemory.c                                    |  26 +-
 OvmfPkg/Library/PlatformInitLib/Platform.c                                               |  15 -
 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c                         |  11 +
 OvmfPkg/PlatformPei/IntelTdx.c                                                           |   2 -
 OvmfPkg/PlatformPei/Platform.c                                                           |  73 +-
 OvmfPkg/QemuVideoDxe/VbeShim.c                                                           |   3 +-
 OvmfPkg/TdxDxe/TdxDxe.c                                                                  |   7 +-
 UefiCpuPkg/CpuDxe/CpuDxe.c                                                               |   2 +-
 UefiCpuPkg/CpuDxe/CpuMp.c                                                                |   2 +-
 UefiCpuPkg/CpuMpPei/CpuMpPei.c                                                           |   8 +-
 UefiCpuPkg/CpuMpPei/CpuPaging.c                                                          |  16 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHandlerTestCommon.c       |   6 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/DxeCpuExceptionHandlerUnitTest.c      |  15 +
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/PeiCpuExceptionHandlerUnitTest.c      |  21 +
 UefiCpuPkg/Library/MpInitLib/DxeMpLib.c                                                  |   3 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c                                                 |   2 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c                                       |  13 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c                                                   |   2 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c                                                  |   2 +-
 UefiPayloadPkg/UefiPayloadEntry/Ia32/DxeLoadFunc.c                                       |  11 +-
 UefiPayloadPkg/UefiPayloadEntry/LoadDxeCore.c                                            |   2 +
 UefiPayloadPkg/UefiPayloadEntry/X64/DxeLoadFunc.c                                        |   8 +-
 UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c                                      |  15 +-
 ArmPkg/ArmPkg.dsc                                                                        |   1 +
 ArmPkg/Drivers/CpuDxe/CpuDxe.inf                                                         |   2 +-
 ArmVirtPkg/ArmVirt.dsc.inc                                                               |  21 +-
 ArmVirtPkg/ArmVirtCloudHv.dsc                                                            |   5 -
 ArmVirtPkg/ArmVirtQemu.dsc                                                               |   5 -
 ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf                                              |   1 +
 EmulatorPkg/EmulatorPkg.dsc                                                              |   3 +-
 MdeModulePkg/Core/Dxe/DxeMain.h                                                          |   1 +
 MdeModulePkg/Core/Dxe/DxeMain.inf                                                        |   9 +-
 MdeModulePkg/Core/DxeIplPeim/DxeIpl.h                                                    |   3 +
 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf                                                  |  11 +-
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.h                                                  |   1 +
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf                                                |   4 +-
 MdeModulePkg/Include/Guid/MemoryProtectionSettings.h                                     | 216 ++++++
 MdeModulePkg/Include/Library/GetMemoryProtectionsLib.h                                   |  83 +++
 MdeModulePkg/Include/Library/SetMemoryProtectionsLib.h                                   | 157 ++++
 MdeModulePkg/Library/GetMemoryProtectionsLib/DxeGetMemoryProtectionsLib.inf              |  34 +
 MdeModulePkg/Library/GetMemoryProtectionsLib/GetMemoryProtectionsLibNull.inf             |  25 +
 MdeModulePkg/Library/GetMemoryProtectionsLib/MmGetMemoryProtectionsLib.inf               |  34 +
 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLib.inf                 |  37 +
 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLibNull.inf             |  25 +
 MdeModulePkg/MdeModulePkg.dec                                                            | 182 +----
 MdeModulePkg/MdeModulePkg.dsc                                                            |   7 +
 MdeModulePkg/MdeModulePkg.uni                                                            | 153 ----
 OvmfPkg/AmdSev/AmdSevX64.dsc                                                             |   4 +-
 OvmfPkg/Bhyve/BhyveX64.dsc                                                               |   4 +-
 OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf                                                |   1 -
 OvmfPkg/CloudHv/CloudHvX64.dsc                                                           |   4 +-
 OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf                                                    |   4 +-
 OvmfPkg/Include/Dsc/MemoryProtectionLibraries.dsc.inc                                    |  15 +
 OvmfPkg/Include/Library/PlatformInitLib.h                                                |  13 -
 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                                       |   8 +
 OvmfPkg/IntelTdx/IntelTdxX64.dsc                                                         |   5 +-
 OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf                                  |   6 +-
 OvmfPkg/Microvm/MicrovmX64.dsc                                                           |   5 +-
 OvmfPkg/OvmfPkgIa32.dsc                                                                  |   4 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                                                               |   4 +-
 OvmfPkg/OvmfPkgX64.dsc                                                                   |   4 +-
 OvmfPkg/OvmfXen.dsc                                                                      |   5 +-
 OvmfPkg/PlatformCI/PlatformBuildLib.py                                                   |  31 +-
 OvmfPkg/PlatformPei/PlatformPei.inf                                                      |   2 +-
 OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf                                                    |   2 +-
 OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc                                                      |  13 -
 OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc                                                      |   2 +
 OvmfPkg/TdxDxe/TdxDxe.inf                                                                |   1 -
 UefiCpuPkg/CpuDxe/CpuDxe.h                                                               |  11 +-
 UefiCpuPkg/CpuDxe/CpuDxe.inf                                                             |   4 +-
 UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf                                               |   3 -
 UefiCpuPkg/CpuMpPei/CpuMpPei.h                                                           |   3 +-
 UefiCpuPkg/CpuMpPei/CpuMpPei.inf                                                         |   1 -
 UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf                  |   1 -
 UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf                  |   1 -
 UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf               |   1 -
 UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf                  |   1 -
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHandlerTest.h             |  13 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/DxeCpuExceptionHandlerLibUnitTest.inf |   2 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/PeiCpuExceptionHandlerLibUnitTest.inf |   2 +-
 UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf                                            |   3 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf                                             |   3 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h                                           |   9 +-
 UefiCpuPkg/UefiCpuPkg.dec                                                                |   7 +-
 UefiCpuPkg/UefiCpuPkg.dsc                                                                |   2 +
 UefiCpuPkg/UefiCpuPkg.uni                                                                |  10 +-
 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h                                       |   1 +
 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf                                     |   9 +-
 UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf                                |   9 +-
 UefiPayloadPkg/UefiPayloadPkg.dsc                                                        |  12 +
 113 files changed, 2404 insertions(+), 692 deletions(-)
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/DxeGetMemoryProtectionsLib.c
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/GetMemoryProtectionsLibNull.c
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/MmGetMemoryProtectionsLib.c
 create mode 100644 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLib.c
 create mode 100644 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLibNull.c
 create mode 100644 MdeModulePkg/Include/Guid/MemoryProtectionSettings.h
 create mode 100644 MdeModulePkg/Include/Library/GetMemoryProtectionsLib.h
 create mode 100644 MdeModulePkg/Include/Library/SetMemoryProtectionsLib.h
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/DxeGetMemoryProtectionsLib.inf
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/GetMemoryProtectionsLibNull.inf
 create mode 100644 MdeModulePkg/Library/GetMemoryProtectionsLib/MmGetMemoryProtectionsLib.inf
 create mode 100644 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLib.inf
 create mode 100644 MdeModulePkg/Library/SetMemoryProtectionsLib/SetMemoryProtectionsLibNull.inf
 create mode 100644 OvmfPkg/Include/Dsc/MemoryProtectionLibraries.dsc.inc

-- 
2.41.0.windows.3



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#107855): https://edk2.groups.io/g/devel/message/107855
Mute This Topic: https://groups.io/mt/100830898/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



             reply	other threads:[~2023-08-18 22:57 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-18 22:31 Taylor Beebe [this message]
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 01/25] MdeModulePkg: Add DXE and MM Memory Protection Settings Definitions Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 02/25] MdeModulePkg: Define SetMemoryProtectionsLib and GetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 03/25] MdeModulePkg: Add NULL Instances for Get/SetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 04/25] MdeModulePkg: Implement SetMemoryProtectionsLib and GetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 05/25] MdeModulePkg: Apply Protections to the HOB List Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 06/25] MdeModulePkg: Check Print Level Before Dumping GCD Memory Map Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 07/25] UefiCpuPkg: Always Set Stack Guard in MpPei Init Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 08/25] ArmVirtPkg: Add Memory Protection Library Definitions to Platforms Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 09/25] OvmfPkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 10/25] OvmfPkg: Apply Memory Protections via SetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 11/25] OvmfPkg: Update PeilessStartupLib to use SetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 12/25] UefiPayloadPkg: Update DXE Handoff " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 13/25] MdeModulePkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 14/25] ArmPkg: Use GetMemoryProtectionsLib instead of Memory Protection PCDs Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 15/25] EmulatorPkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 16/25] OvmfPkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 17/25] UefiCpuPkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 18/25] MdeModulePkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 19/25] MdeModulePkg: Add Additional Profiles to SetMemoryProtectionsLib Taylor Beebe
2023-08-29 10:46   ` Gerd Hoffmann
2023-08-29 16:08     ` Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 20/25] OvmfPkg: Enable Choosing Memory Protection Profile via QemuCfg Taylor Beebe
2023-08-29 11:17   ` Gerd Hoffmann
2023-08-29 16:26     ` Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 21/25] ArmVirtPkg: Apply Memory Protections via SetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 22/25] MdeModulePkg: Delete PCD Profile from SetMemoryProtectionsLib Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 23/25] OvmfPkg: Delete Memory Protection PCDs Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 24/25] ArmVirtPkg: " Taylor Beebe
2023-08-18 22:31 ` [edk2-devel] [PATCH v2 25/25] MdeModulePkg: " Taylor Beebe
2023-08-19 22:13 ` [edk2-devel] [PATCH v2 00/25] Implement Dynamic Memory Protections Pedro Falcato
2023-08-21 16:19 ` Taylor Beebe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230818223159.1073-1-taylor.d.beebe@gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox