On Mon, 7 Jan 2019 at 13:44, Gao, Liming <[email protected]> wrote:
>
> Ard:
>   I agree this design is good. But, I need some time to evaluate its impact 
> on our X86 platform. Could you wait for several days?
>

Of course.

Thanks,

> > -----Original Message-----
> > From: Ard Biesheuvel [mailto:[email protected]]
> > Sent: Friday, January 4, 2019 2:28 AM
> > To: [email protected]
> > Cc: Ard Biesheuvel <[email protected]>; Laszlo Ersek 
> > <[email protected]>; Leif Lindholm <[email protected]>; Kinney,
> > Michael D <[email protected]>; Gao, Liming <[email protected]>; 
> > Wang, Jian J <[email protected]>; Wu, Hao A
> > <[email protected]>; Jagadeesh Ujja <[email protected]>; Achin Gupta 
> > <[email protected]>; Thomas Panakamattam
> > Abraham <[email protected]>; Sami Mujawar <[email protected]>
> > Subject: [PATCH 0/6] implement standalone MM versions of the variable 
> > runtime drivers
> >
> > This series proposed an alternative approach to the series sent out by
> > Jagadeesh [0]. In particular, it gets rid of the InMm() calls and the
> > special PCD, as well as some other if() conditionals.
> >
> > The primary difference is that this series defines and implements
> > MmServicesTableLib in such a way that the traditional SMM drivers
> > can use it as well. This is appropriate, considering that the PI
> > spec has rebranded traditional SMM as one implementation of the generic
> > MM framework.
> >
> > Patch #1 is based on Jagadeesh's patch, and introduces the 
> > MmServicesTableLib
> > library class, but for all SMM flavours, not only for standalone MM.
> >
> > Patch #2 implements MmServicesTableLib for traditional SMM implementations.
> >
> > Patch #3 refactors FaultTolerantWriteDxe so that the parts of the SMM
> > driver that invoke boot services are separated from the core SMM pieces.
> >
> > Patch #4 implements FaultTolerantWriteSmm for the standalone MM environment.
> >
> > Patches #5 and #6 do the same, respectively, for the variable runtime 
> > driver.
> >
> > This approach minimizes the delta, and thus the maintenance burden, between
> > the traditional SMM and standalone MM drivers, while not resorting to 
> > runtime
> > checks or other conditionals in the code to implement logic that should be
> > decided at build time.
> >
> > Note that this series only covers part of the work contributed by Jagadeesh.
> > This series focuses on the MdePkg and MdeModulePkg changes that affect 
> > shared
> > code.
> >
> > Cc: Laszlo Ersek <[email protected]>
> > Cc: Leif Lindholm <[email protected]>
> > Cc: Michael D Kinney <[email protected]>
> > Cc: Liming Gao <[email protected]>
> > Cc: Jian J Wang <[email protected]>
> > Cc: Hao Wu <[email protected]>
> > Cc: Jagadeesh Ujja <[email protected]>
> > Cc: Achin Gupta <[email protected]>
> > Cc: Thomas Panakamattam Abraham <[email protected]>
> > Cc: Sami Mujawar <[email protected]>
> >
> > Ard Biesheuvel (5):
> >   MdePkg: implement MmServicesTableLib based on traditional SMM
> >   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
> >
> > Jagadeesh Ujja (1):
> >   MdePkg/Include: add MmServicesTableLib header file
> >
> >  MdeModulePkg/MdeModulePkg.dsc                 |   1 +
> >  .../FaultTolerantWrite.h                      |  22 ++-
> >  .../FaultTolerantWriteDxe.c                   |  31 ++++
> >  .../FaultTolerantWriteSmm.c                   |  54 +++----
> >  .../FaultTolerantWriteSmm.inf                 |   5 +-
> >  .../FaultTolerantWriteSmmCommon.h             |  31 ++++
> >  .../FaultTolerantWriteSmmDxe.c                |   1 +
> >  .../FaultTolerantWriteStandaloneMm.c          |  70 +++++++++
> >  .../FaultTolerantWriteStandaloneMm.inf        |  90 ++++++++++++
> >  .../FaultTolerantWriteTraditionalMm.c         |  94 ++++++++++++
> >  .../UpdateWorkingBlock.c                      |  10 +-
> >  .../Variable/RuntimeDxe/TcgMorLockSmm.c       |  18 +--
> >  .../Universal/Variable/RuntimeDxe/Variable.h  |  50 +++++++
> >  .../Variable/RuntimeDxe/VariableSmm.c         |  59 +++-----
> >  .../Variable/RuntimeDxe/VariableSmm.inf       |   5 +-
> >  .../RuntimeDxe/VariableStandaloneMm.c         |  69 +++++++++
> >  .../RuntimeDxe/VariableStandaloneMm.inf       | 135 ++++++++++++++++++
> >  .../RuntimeDxe/VariableTraditionalMm.c        | 114 +++++++++++++++
> >  MdePkg/Include/Library/MmServicesTableLib.h   |  25 ++++
> >  .../MmServicesTableLib/MmServicesTableLib.c   |  63 ++++++++
> >  .../MmServicesTableLib/MmServicesTableLib.inf |  45 ++++++
> >  .../MmServicesTableLib/MmServicesTableLib.uni |  22 +++
> >  MdePkg/MdePkg.dec                             |   4 +
> >  MdePkg/MdePkg.dsc                             |   1 +
> >  24 files changed, 916 insertions(+), 103 deletions(-)
> >  create mode 100644 
> > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandaloneMm.c
> >  create mode 100644 
> > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandaloneMm.inf
> >  create mode 100644 
> > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteTraditionalMm.c
> >  create mode 100644 
> > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.c
> >  create mode 100644 
> > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf
> >  create mode 100644 
> > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableTraditionalMm.c
> >  create mode 100644 MdePkg/Include/Library/MmServicesTableLib.h
> >  create mode 100644 MdePkg/Library/MmServicesTableLib/MmServicesTableLib.c
> >  create mode 100644 MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
> >  create mode 100644 MdePkg/Library/MmServicesTableLib/MmServicesTableLib.uni
> >
> > --
> > 2.17.1
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to