From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id DF48321197376 for ; Mon, 14 Jan 2019 07:20:03 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jan 2019 07:20:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,478,1539673200"; d="scan'208";a="116647398" Received: from shwdeopenpsi068.ccr.corp.intel.com ([10.239.158.46]) by fmsmga008.fm.intel.com with ESMTP; 14 Jan 2019 07:20:02 -0800 From: Star Zeng To: edk2-devel@lists.01.org Cc: Star Zeng Date: Mon, 14 Jan 2019 23:19:41 +0800 Message-Id: <1547479196-40248-1-git-send-email-star.zeng@intel.com> X-Mailer: git-send-email 2.7.0.windows.1 Subject: [PATCH V2 00/15] Merge EmuVariable and Real variable driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jan 2019 15:20:04 -0000 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: git@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: git@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