From: "Wang, Jian J" <jian.j.wang@intel.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: Laszlo Ersek <lersek@redhat.com>,
Leif Lindholm <leif.lindholm@linaro.org>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Wu, Hao A" <hao.a.wu@intel.com>,
Jagadeesh Ujja <jagadeesh.ujja@arm.com>,
Achin Gupta <Achin.Gupta@arm.com>,
Thomas Panakamattam Abraham <thomas.abraham@arm.com>,
Sami Mujawar <Sami.Mujawar@arm.com>,
"Zeng, Star" <star.zeng@intel.com>
Subject: Re: [PATCH v2 00/17] implement standalone MM versions of the variable runtime drivers
Date: Tue, 15 Jan 2019 08:25:35 +0000 [thread overview]
Message-ID: <D827630B58408649ACB04F44C5100036258962F4@SHSMSX107.ccr.corp.intel.com> (raw)
In-Reply-To: <20190114132758.24054-1-ard.biesheuvel@linaro.org>
Ard,
For patch 1,5,6,7,8,12,13,14,15,16,17
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
> Sent: Monday, January 14, 2019 9:28 PM
> To: edk2-devel@lists.01.org
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Laszlo Ersek
> <lersek@redhat.com>; Leif Lindholm <leif.lindholm@linaro.org>; Kinney,
> Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> Jagadeesh Ujja <jagadeesh.ujja@arm.com>; Achin Gupta
> <Achin.Gupta@arm.com>; Thomas Panakamattam Abraham
> <thomas.abraham@arm.com>; Sami Mujawar <Sami.Mujawar@arm.com>;
> Zeng, Star <star.zeng@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 <lersek@redhat.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao Wu <hao.a.wu@intel.com>
> Cc: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
> Cc: Achin Gupta <Achin.Gupta@arm.com>
> Cc: Thomas Panakamattam Abraham <thomas.abraham@arm.com>
> Cc: Sami Mujawar <Sami.Mujawar@arm.com>
> Cc: Star Zeng <star.zeng@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
next prev parent reply other threads:[~2019-01-15 8:25 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-14 13:27 [PATCH v2 00/17] implement standalone MM versions of the variable runtime drivers Ard Biesheuvel
2019-01-14 13:27 ` [PATCH v2 01/17] MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution Ard Biesheuvel
2019-01-16 5:02 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 02/17] OvmfPkg: " Ard Biesheuvel
2019-01-14 16:40 ` Laszlo Ersek
2019-01-14 17:05 ` Ard Biesheuvel
2019-01-14 13:27 ` [PATCH v2 03/17] QuarkPlatformPkg: " Ard Biesheuvel
2019-01-16 15:14 ` Gao, Liming
2019-01-14 13:27 ` [PATCH v2 04/17] Vlv2TbltDevicePkg: " Ard Biesheuvel
2019-01-16 15:14 ` Gao, Liming
2019-01-16 17:44 ` Ard Biesheuvel
2019-01-16 19:00 ` Kinney, Michael D
2019-01-17 5:20 ` Qian, Yi
2019-01-14 13:27 ` [PATCH v2 05/17] MdeModulePkg/FaultTolerantWriteDxe: factor out boot service accesses Ard Biesheuvel
2019-01-16 3:29 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 06/17] MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version Ard Biesheuvel
2019-01-16 3:32 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 07/17] MdeModulePkg/VariableRuntimeDxe: factor out boot service accesses Ard Biesheuvel
2019-01-16 4:57 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 08/17] MdeModulePkg/VariableRuntimeDxe: implement standalone MM version Ard Biesheuvel
2019-01-16 5:00 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 09/17] MdePkg: introduce standalone MM entry point library class Ard Biesheuvel
2019-01-16 6:32 ` Zeng, Star
2019-01-16 14:56 ` Gao, Liming
2019-01-16 14:57 ` Ard Biesheuvel
2019-01-14 13:27 ` [PATCH v2 10/17] MdePkg: introduce standalone MM entry point library implementation Ard Biesheuvel
2019-01-14 13:27 ` [PATCH v2 11/17] MdePkg: add MM_STANDALONE implementation of MmServicesTableLib Ard Biesheuvel
2019-01-14 13:27 ` [PATCH v2 12/17] MdeModulePkg: implement NULL instance of HobLib library class Ard Biesheuvel
2019-01-16 5:10 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 13/17] MdeModulePkg: implement NULL instance of MemoryAllocationLib " Ard Biesheuvel
2019-01-16 5:09 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 14/17] MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only section Ard Biesheuvel
2019-01-16 5:27 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 15/17] MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support Ard Biesheuvel
2019-01-16 5:03 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 16/17] MdeModulePkg/VarCheckLib: " Ard Biesheuvel
2019-01-16 5:03 ` Zeng, Star
2019-01-14 13:27 ` [PATCH v2 17/17] MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable modules Ard Biesheuvel
2019-01-16 5:04 ` Zeng, Star
2019-01-15 8:25 ` Wang, Jian J [this message]
2019-01-16 19:28 ` [PATCH v2 00/17] implement standalone MM versions of the variable runtime drivers Ard Biesheuvel
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=D827630B58408649ACB04F44C5100036258962F4@SHSMSX107.ccr.corp.intel.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