On Tue, 15 Jan 2019 at 09:25, Wang, Jian J <jian.j.w...@intel.com> wrote: > > Ard, > > For patch 1,5,6,7,8,12,13,14,15,16,17 > > Reviewed-by: Jian J Wang <jian.j.w...@intel.com> >
Series pushed as 2f4a5a9f4c17..5072c47411b8 Thanks all. > > > -----Original Message----- > > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > > Sent: Monday, January 14, 2019 9:28 PM > > To: edk2-devel@lists.01.org > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Laszlo Ersek > > <ler...@redhat.com>; Leif Lindholm <leif.lindh...@linaro.org>; Kinney, > > Michael D <michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>; > > Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@intel.com>; > > Jagadeesh Ujja <jagadeesh.u...@arm.com>; Achin Gupta > > <achin.gu...@arm.com>; Thomas Panakamattam Abraham > > <thomas.abra...@arm.com>; Sami Mujawar <sami.muja...@arm.com>; > > Zeng, Star <star.z...@intel.com> > > Subject: [PATCH v2 00/17] implement standalone MM versions of the variable > > runtime drivers > > > > This v2 series is a followup to [0], and updates the SMM implementations of > > the fault tolerant write and variable runtime drivers to provide standalone > > MM versions that share as much of the existing code as possible with the > > traditional SMM implementations. > > > > The meat is in patches #5 - #8, which were part of v1. I updated them > > according > > to the received feedback, and added tags that were given on list. > > > > Patches #1 - #4 add library class resolutions for MmServiceTableLib, which > > was > > introduced in v1 of the series, and has already been merged (at the request > > of > > Liming) so that downstream platforms can add the resolution as well. > > > > The remaining patches #9 - #17 are new, and have been added so that the new > > standalone MM drivers can be added to and built from MdeModulePkg.dsc, but > > for coverage only (the resulting binaries won't actually work) > > - patches #9 and #10 add a definition and implementation of > > StandaloneMmDriverEntryPoint, which is rather straight-forward and has no > > dependencies on the standalone MM core, so it is reasonable to add it to > > MdePkg directly. Note that this version contains the _gMmVersion check > > that > > is missing from the one in StandaloneMmPkg > > - patch #11 adds a standalone MM implementation of MmServicesTableLib to > > MdePkg, > > which -again- does not depend on the standalone MM core at all, so added > > here > > for simplicity > > - patches #12 and #13 add NULL implementations of MemoryAllocationLib and > > HobLib > > so that the FTW and variable MM_STANDALONE modules can be built without > > depending on StandaloneMmPkg > > - patch #14 is an unrelated fix so that MdeModulePkg.dsc can be built for > > AARCH64 > > - patches #15 and #16 add MM_STANDALONE support to a couple of libraries > > that > > the new modules depend on > > - patch #17 adds the FTW and variable standalone MM drivers to > > MdeModulePkg.dsc > > > > NOTE: the drivers added in patches #10 and #11 supersede the ones that > > reside > > in > > or have been proposed for StandaloneMmPkg > > > > Patches can be found here: > > https://github.com/ardbiesheuvel/edk2/tree/variable-ftw-standalone-mm- > > conversion > > > > Cc: Laszlo Ersek <ler...@redhat.com> > > Cc: Leif Lindholm <leif.lindh...@linaro.org> > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > Cc: Liming Gao <liming....@intel.com> > > Cc: Jian J Wang <jian.j.w...@intel.com> > > Cc: Hao Wu <hao.a...@intel.com> > > Cc: Jagadeesh Ujja <jagadeesh.u...@arm.com> > > Cc: Achin Gupta <achin.gu...@arm.com> > > Cc: Thomas Panakamattam Abraham <thomas.abra...@arm.com> > > Cc: Sami Mujawar <sami.muja...@arm.com> > > Cc: Star Zeng <star.z...@intel.com> > > > > [0] https://lists.01.org/pipermail/edk2-devel/2019-January/034608.html > > > > Ard Biesheuvel (17): > > MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution > > OvmfPkg: add MmServicesTableLib resolution > > QuarkPlatformPkg: add MmServicesTableLib resolution > > Vlv2TbltDevicePkg: add MmServicesTableLib resolution > > MdeModulePkg/FaultTolerantWriteDxe: factor out boot service accesses > > MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version > > MdeModulePkg/VariableRuntimeDxe: factor out boot service accesses > > MdeModulePkg/VariableRuntimeDxe: implement standalone MM version > > MdePkg: introduce standalone MM entry point library class > > MdePkg: introduce standalone MM entry point library implementation > > MdePkg: add MM_STANDALONE implementation of MmServicesTableLib > > MdeModulePkg: implement NULL instance of HobLib library class > > MdeModulePkg: implement NULL instance of MemoryAllocationLib library > > class > > MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only > > section > > MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support > > MdeModulePkg/VarCheckLib: add MM_STANDALONE support > > MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable > > modules > > > > MdePkg/MdePkg.dec > > | 3 + > > MdeModulePkg/MdeModulePkg.dsc > > | 12 +- > > MdePkg/MdePkg.dsc > > | 3 + > > OvmfPkg/OvmfPkgIa32.dsc > > | 1 > > + > > OvmfPkg/OvmfPkgIa32X64.dsc > > | > > 1 + > > OvmfPkg/OvmfPkgX64.dsc > > | 1 > > + > > QuarkPlatformPkg/Quark.dsc > > | 1 > > + > > QuarkPlatformPkg/QuarkMin.dsc > > | > > 1 + > > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > > | 1 + > > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > > | 1 + > > Vlv2TbltDevicePkg/PlatformPkgX64.dsc > > | 1 + > > MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf > > | 2 +- > > MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.inf > > | 38 ++ > > > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.inf | 38 ++ > > MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf > > | 2 +- > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf > > | 5 +- > > MdeModulePkg/Universal/FaultTolerantWriteDxe/{FaultTolerantWriteSmm.inf > > => FaultTolerantWriteStandaloneMm.inf} | 43 +- > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf > > | 5 +- > > MdeModulePkg/Universal/Variable/RuntimeDxe/{VariableSmm.inf => > > VariableStandaloneMm.inf} | 43 +- > > > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.inf | 43 ++ > > > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.inf | 39 ++ > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.h > > | 23 +- > > > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmCom > > mon.h | 34 ++ > > MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h > > | 58 ++ > > MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h > > | 134 +++++ > > MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.c > > | 542 ++++++++++++++++++ > > > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.c | 575 ++++++++++++++++++++ > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.c > > | 31 ++ > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.c > > | 53 +- > > > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon > > eMm.c | 88 +++ > > > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteTraditiona > > lMm.c | 106 ++++ > > MdeModulePkg/Universal/FaultTolerantWriteDxe/UpdateWorkingBlock.c > > | 10 +- > > MdeModulePkg/Universal/Variable/RuntimeDxe/TcgMorLockSmm.c > > | 18 +- > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c > > | 59 +- > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.c > > | 89 +++ > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableTraditionalMm.c > > | 130 +++++ > > > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.c | 90 +++ > > > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.c | 41 ++ > > MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.uni > > | 20 + > > > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.uni | 20 + > > > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.uni | 22 + > > > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.uni | 20 + > > 42 files changed, 2290 insertions(+), 157 deletions(-) > > create mode 100644 > > MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.inf > > create mode 100644 > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.inf > > copy > > MdeModulePkg/Universal/FaultTolerantWriteDxe/{FaultTolerantWriteSmm.inf > > => FaultTolerantWriteStandaloneMm.inf} (68%) > > copy MdeModulePkg/Universal/Variable/RuntimeDxe/{VariableSmm.inf => > > VariableStandaloneMm.inf} (82%) > > create mode 100644 > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.inf > > create mode 100644 > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.inf > > create mode 100644 MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h > > create mode 100644 MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.c > > create mode 100644 > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.c > > create mode 100644 > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon > > eMm.c > > create mode 100644 > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteTraditiona > > lMm.c > > create mode 100644 > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.c > > create mode 100644 > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableTraditionalMm.c > > create mode 100644 > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.c > > create mode 100644 > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.c > > create mode 100644 > > MdeModulePkg/Library/BaseHobLibNull/BaseHobLibNull.uni > > create mode 100644 > > MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationL > > ibNull.uni > > create mode 100644 > > MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoin > > t.uni > > create mode 100644 > > MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLi > > b.uni > > > > -- > > 2.20.1 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel