[PATCH v2 0/6] Add DxeMmUnblockMemoryLib Interface and Usages
Kun Qin <kun.q@...>
The interface proposed in this patch series intends to provide an
abstraction layer for DXE drivers to request certain memory regions to be accessible from inside MM environment that applies total memory blockage. The usage in VariableSmmRuntimeDxe to support runtime variable cache is included in this patch series. The usage in MM instance of Tcg2 to unblock NVS region is added after separating the module into Tcg2Acpi and Tcg2 MM to support StandaloneMm. Patch v2 branch: https://github.com/kuqin12/edk2/tree/unblock_mem_v2 Cc: Jian J Wang <jian.j.wang@...> Cc: Hao A Wu <hao.a.wu@...> Cc: Eric Dong <eric.dong@...> Cc: Ray Ni <ray.ni@...> Cc: Liming Gao <gaoliming@...> Cc: Jiewen Yao <jiewen.yao@...> Cc: Qi Zhang <qi1.zhang@...> Cc: Rahul Kumar <rahul1.kumar@...> Kun Qin (6): MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance MdeModulePkg: VariableSmmRuntimeDxe: Added request unblock memory interface 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/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.c | 40 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.c | 42 + SecurityPkg/Library/Tcg2MmDependencyLib/Tcg2MmDependencyLib.c | 48 ++ SecurityPkg/Tcg/{Tcg2Smm/Tcg2Smm.c => Tcg2Acpi/Tcg2Acpi.c} | 356 ++++---- SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c | 854 ++++---------------- SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.c | 71 ++ SecurityPkg/Tcg/Tcg2Smm/Tcg2TraditionalMm.c | 82 ++ MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h | 40 + MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.inf | 29 + MdeModulePkg/MdeModulePkg.dec | 5 + MdeModulePkg/MdeModulePkg.dsc | 2 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf | 1 + 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} | 33 +- 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 +- 22 files changed, 896 insertions(+), 1033 deletions(-) create mode 100644 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.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 MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h create mode 100644 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull.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 |
|