[PATCH v3 0/7] Add MmUnblockMemoryLib Interface and Usages


Kun Qin <kun.q@...>
 

This patch series is a follow up of previous submission:
https://edk2.groups.io/g/devel/message/71549

The module changes are validated on two different physical platforms and
QEMU based Q35 plastform. Standalone and traditional MM are both tested
to be functional on these systems.

v3 patches mainly focus on feedback for reviewed commits in v2 patches,
including:
a. Adding "Reviewed-by" tags for applicable patches;
b. Moved MmUnblockMemoryLib to MdePkg;
c. Removed Dxe prefix from the original DxeMmUnblockMemoryLib interface;

Patch v3 branch: https://github.com/kuqin12/edk2/tree/unblock_mem_v3

Cc: Michael D Kinney <michael.d.kinney@...>
Cc: Liming Gao <gaoliming@...>
Cc: Zhiguang Liu <zhiguang.liu@...>
Cc: Jiewen Yao <jiewen.yao@...>
Cc: Jian J Wang <jian.j.wang@...>
Cc: Hao A Wu <hao.a.wu@...>
Cc: Laszlo Ersek <lersek@...>
Cc: Ard Biesheuvel <ardb+tianocore@...>
Cc: Jordan Justen <jordan.l.justen@...>
Cc: Qi Zhang <qi1.zhang@...>
Cc: Rahul Kumar <rahul1.kumar@...>

Kun Qin (7):
MdePkg: MmUnblockMemoryLib: Added definition and null instance
MdeModulePkg: VariableSmmRuntimeDxe: Added request unblock memory
interface
OvmfPkg: CI Build: Added new library for VariableSmmRuntimeDxe
SecurityPkg: Tcg2Smm: Switching from gSmst to gMmst
SecurityPkg: Tcg2Smm: Separate Tcg2Smm into 2 modules
SecurityPkg: Tcg2Smm: Added support for Standalone Mm
SecurityPkg: Tcg2Acpi: Added unblock memory interface for NVS region

MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.c | 42 +
MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.c | 40 +
SecurityPkg/Library/Tcg2MmDependencyLib/Tcg2MmDependencyLib.c | 48 ++
SecurityPkg/Tcg/{Tcg2Smm/Tcg2Smm.c => Tcg2Acpi/Tcg2Acpi.c} | 358 ++++----
SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c | 857 ++++----------------
SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.c | 71 ++
SecurityPkg/Tcg/Tcg2Smm/Tcg2TraditionalMm.c | 82 ++
MdeModulePkg/MdeModulePkg.dsc | 1 +
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf | 1 +
MdePkg/Include/Library/MmUnblockMemoryLib.h | 40 +
MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf | 29 +
MdePkg/MdePkg.dec | 5 +
MdePkg/MdePkg.dsc | 1 +
OvmfPkg/OvmfPkgIa32.dsc | 3 +
OvmfPkg/OvmfPkgIa32X64.dsc | 3 +
OvmfPkg/OvmfPkgX64.dsc | 3 +
SecurityPkg/Include/Guid/TpmNvsMm.h | 68 ++
SecurityPkg/Library/Tcg2MmDependencyLib/Tcg2MmDependencyLib.inf | 39 +
SecurityPkg/SecurityPkg.ci.yaml | 1 +
SecurityPkg/SecurityPkg.dec | 8 +
SecurityPkg/SecurityPkg.dsc | 12 +
SecurityPkg/Tcg/{Tcg2Smm/Tcg2Smm.inf => Tcg2Acpi/Tcg2Acpi.inf} | 35 +-
SecurityPkg/Tcg/{Tcg2Smm => Tcg2Acpi}/Tpm.asl | 0
SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.h | 121 +--
SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf | 27 +-
SecurityPkg/Tcg/Tcg2Smm/{Tcg2Smm.inf => Tcg2StandaloneMm.inf} | 50 +-
26 files changed, 912 insertions(+), 1033 deletions(-)
create mode 100644 MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.c
create mode 100644 SecurityPkg/Library/Tcg2MmDependencyLib/Tcg2MmDependencyLib.c
copy SecurityPkg/Tcg/{Tcg2Smm/Tcg2Smm.c => Tcg2Acpi/Tcg2Acpi.c} (72%)
create mode 100644 SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.c
create mode 100644 SecurityPkg/Tcg/Tcg2Smm/Tcg2TraditionalMm.c
create mode 100644 MdePkg/Include/Library/MmUnblockMemoryLib.h
create mode 100644 MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
create mode 100644 SecurityPkg/Include/Guid/TpmNvsMm.h
create mode 100644 SecurityPkg/Library/Tcg2MmDependencyLib/Tcg2MmDependencyLib.inf
copy SecurityPkg/Tcg/{Tcg2Smm/Tcg2Smm.inf => Tcg2Acpi/Tcg2Acpi.inf} (76%)
rename SecurityPkg/Tcg/{Tcg2Smm => Tcg2Acpi}/Tpm.asl (100%)
copy SecurityPkg/Tcg/Tcg2Smm/{Tcg2Smm.inf => Tcg2StandaloneMm.inf} (52%)

--
2.30.0.windows.1

Join devel@edk2.groups.io to automatically receive all group messages.