REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1323

Purpose:
1. Add emulated variable NV mode support in
   MdeModulePkg\Universal\Variable\RuntimeDxe.
   Platform can configure PCD statically (build time) or
   dynamically (boot time) to support emulated variable NV mode.
2. Remove MdeModulePkg\Universal\Variable\EmuRuntimeDxe whose
   most codes are duplicated.

V2: Addressed all the feedbacks from Laszlo, thanks.

Repo: g...@github.com:lzeng14/edk2.git
Branch: MergedVariableDriver_EmuNvMode_V2

Patches 1~7: Preparation
  Patch 6 and 7 are new separated.
Patch 8~9: Real work
Patch 10~15: Migration for platforms and cleanup
  Patch 11 is new added to let ArmVirtXen be aligned with ArmVirtQemuXXX.

V1:

Repo: g...@github.com:lzeng14/edk2.git
Branch: MergedVariableDriver_EmuNvMode

Patches 1~5: Preparation
Patch 6~7: Real work
Patch 8~12: Migration for platforms and cleanup

Test done:
Build code with VS2012, VS2015 and GCC49.
Regression: Boot Nt32, Ovmf (including 32, 3264 and 64 with no SMM) to UEFI 
SHELL.
            Boot some internal platform to UEFI SHELL and Windows.
Functionality: Boot Nt32, Ovmf (including 32, 3264 and 64 with no SMM) to UEFI 
SHELL
               with PcdEmuVariableNvModeEnable == TRUE.

More test will be welcome and appreciated. :)

Patches to update edk2-platforms Repo will be sent out separately.

Star Zeng (15):
  MdeModulePkg Variable: Add some missing changes for 9b18845
  MdeModulePkg Variable: Abstract InitRealNonVolatileVariableStore
  MdeModulePkg Variable: Not get NV PCD in
    VariableWriteServiceInitialize
  MdeModulePkg Variable: Abstract VariableWriteServiceInitializeDxe/Smm
  MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec
  MdeModulePkg Variable: Remove CacheOffset in UpdateVariable()
  MdeModulePkg Variable: type case VolatileBase to UINTN directly
  MdeModulePkg Variable: Add emulated variable NV mode support
  MdeModulePkg VariablePei: Don't check BOOT_IN_RECOVERY_MODE
  ArmVirtXen: Use merged variable driver for emulated NV mode
  ArmVirtXen: Link VarCheckUefiLib NULL class library instance
  BeagleBoardPkg: Use merged variable driver for emulated NV mode
  QuarkMin: Use merged variable driver for emulated NV mode
  CorebootPayloadPkg: Use merged variable driver for emulated NV mode
  MdeModulePkg: Remove EmuVariableRuntimeDxe

 ArmVirtPkg/ArmVirtXen.dsc                          |   12 +-
 ArmVirtPkg/ArmVirtXen.fdf                          |    4 +-
 BeagleBoardPkg/BeagleBoardPkg.dsc                  |   13 +-
 BeagleBoardPkg/BeagleBoardPkg.fdf                  |    4 +-
 CorebootPayloadPkg/CorebootPayloadPkg.fdf          |    4 +-
 CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc      |   11 +-
 CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc   |   11 +-
 MdeModulePkg/MdeModulePkg.dec                      |   10 +-
 MdeModulePkg/MdeModulePkg.dsc                      |    5 +-
 MdeModulePkg/MdeModulePkg.uni                      |   10 +-
 .../Universal/Variable/EmuRuntimeDxe/EmuVariable.c | 1820 --------------------
 .../EmuRuntimeDxe/EmuVariableRuntimeDxe.inf        |   88 -
 .../EmuRuntimeDxe/EmuVariableRuntimeDxe.uni        |   22 -
 .../EmuRuntimeDxe/EmuVariableRuntimeDxeExtra.uni   |   19 -
 .../Variable/EmuRuntimeDxe/InitVariable.c          |  259 ---
 .../Universal/Variable/EmuRuntimeDxe/Variable.h    |  277 ---
 MdeModulePkg/Universal/Variable/Pei/Variable.c     |    8 +-
 .../Universal/Variable/Pei/VariablePei.inf         |    3 +-
 .../Universal/Variable/RuntimeDxe/Variable.c       |  431 +++--
 .../Universal/Variable/RuntimeDxe/Variable.h       |   10 +-
 .../Universal/Variable/RuntimeDxe/VariableDxe.c    |  100 +-
 .../Variable/RuntimeDxe/VariableRuntimeDxe.inf     |    4 +-
 .../Universal/Variable/RuntimeDxe/VariableSmm.c    |   88 +-
 .../Universal/Variable/RuntimeDxe/VariableSmm.inf  |    4 +-
 QuarkPlatformPkg/QuarkMin.dsc                      |    8 +-
 QuarkPlatformPkg/QuarkMin.fdf                      |    4 +-
 26 files changed, 505 insertions(+), 2724 deletions(-)
 delete mode 100644 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
 delete mode 100644 
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
 delete mode 100644 
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.uni
 delete mode 100644 
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxeExtra.uni
 delete mode 100644 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/InitVariable.c
 delete mode 100644 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h

-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to