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

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

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.

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 (12):
  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 dsc
  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
  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
  MdeModule: Remove EmuVariableRuntimeDxe

 ArmVirtPkg/ArmVirtXen.dsc                          |   11 +-
 ArmVirtPkg/ArmVirtXen.fdf                          |    4 +-
 BeagleBoardPkg/BeagleBoardPkg.dsc                  |   11 +-
 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                      |    7 +-
 QuarkPlatformPkg/QuarkMin.fdf                      |    4 +-
 26 files changed, 501 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