From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 63DC8226CD782 for ; Wed, 11 Apr 2018 17:48:37 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Apr 2018 17:48:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,438,1517904000"; d="scan'208";a="219727880" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.252.128.14]) by fmsmga006.fm.intel.com with ESMTP; 11 Apr 2018 17:48:35 -0700 From: "Kinney, Michael D" To: edk2-devel@lists.01.org Cc: Sean Brogan , Star Zeng , Eric Dong , Jiewen Yao , David Wei , Mang Guo , Kelly Steele , Michael D Kinney Date: Wed, 11 Apr 2018 17:48:21 -0700 Message-Id: <20180412004830.9904-1-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.14.2.windows.3 Subject: [Patch V2 0/9] Add DisplayUpdateProgressLib for capsules X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2018 00:48:37 -0000 https://bugzilla.tianocore.org/show_bug.cgi?id=801 Based on content from: https://github.com/Microsoft/MS_UEFI/blob/share/MsCapsuleSupport/MsCapsuleUpdatePkg/Include/Library/DisplayUpdateProgressLib.h https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg/Library/DisplayUpdateProgressGraphicsLib https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg/Library/DisplayUpdateProgressTextLib Updates for V2 ============== * Change DisplayUpdateProgressGraphicsLib to DisplayUpdateProgressLibGraphics * Change DisplayUpdateProgressTextLib to DisplayUpdateProgressLibText * Clarify that color in Firmware Management Progress Protocol is the foreground color * Add missing parameters to PerformFlashWriteWithProgress() function header. * Update PerformFlashWriteWithProgress() function header describing the use of the start and end percentage values. * Update QuarkPlatformPkg PerformFlashWriteWithProgress() to call Progress() for the end precentage. * Update Vlv2Tbl2DevicePkg PerformFlashWriteWithProgress() to call Progress() for the end precentage. Add DisplayUpdateProgressLib class along implementations for both graphical (Graphics Output Protocol based) and text (Simple Text Output Protocol based) consoles. Also add the EDK II Firmware Management Progress Protocol that is an optional protocol that provides the progress bar color and a watchdog timeout value thaty can be used when a firmware image is updated in a firmware device. * Add progress support to DxeCapsuleLibFmp * Add progress support to SystemFirmwareUpdateDxe * Add progress support to PlatformFlashAccessLib class and instances. * Reduce Print() calls during a firmware update. Cc: Sean Brogan Cc: Star Zeng Cc: Eric Dong Cc: Jiewen Yao Cc: David Wei Cc: Mang Guo Cc: Kelly Steele Signed-off-by: Michael D Kinney Contributed-under: TianoCore Contribution Agreement 1.1 Kinney, Michael D (3): QuarkPlatformPkg: Add DisplayUpdateProgressLib mapping MdeModulePkg/DxeCapsuleLibFmp: Add progress bar support SignedCapsulePkg/SystemFirmwareUpdateDxe: Use progress API Michael D Kinney (6): MdeModulePkg: Add DisplayUpdateProgressLib class MdeModulePkg: Add DisplayUpdateProgressLib instances Vlv2Tbl2DevicePkg: Add DisplayUpdateProgressLib mapping SignedCapsulePkg/PlatformFlashAccessLib: Add progress API Vlv2TbltDevicePkg/PlatformFlashAccessLib: Add progress API QuarkPlatformPkg/PlatformFlashAccessLib: Add progress API .../Include/Library/DisplayUpdateProgressLib.h | 65 +++ .../Include/Protocol/FirmwareManagementProgress.h | 51 +++ .../DisplayUpdateProgressLibGraphics.c | 475 +++++++++++++++++++++ .../DisplayUpdateProgressLibGraphics.inf | 60 +++ .../DisplayUpdateProgressLibGraphics.uni | 18 + .../DisplayUpdateProgressLibText.c | 174 ++++++++ .../DisplayUpdateProgressLibText.inf | 53 +++ .../DisplayUpdateProgressLibText.uni | 18 + .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 47 +- .../Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 8 +- .../DxeCapsuleLibFmp/DxeCapsuleProcessLib.c | 84 +++- .../DxeCapsuleLibFmp/DxeCapsuleProcessLibNull.c | 21 +- .../DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 7 +- MdeModulePkg/MdeModulePkg.dec | 11 + MdeModulePkg/MdeModulePkg.dsc | 3 + .../PlatformFlashAccessLibDxe.c | 78 +++- QuarkPlatformPkg/Quark.dsc | 1 + .../Include/Library/PlatformFlashAccessLib.h | 49 ++- .../PlatformFlashAccessLibNull.c | 70 ++- .../SystemFirmwareUpdate/SystemFirmwareUpdateDxe.c | 90 +++- .../PlatformFlashAccessLib.c | 102 +++-- .../PlatformFlashAccessLib.inf | 3 +- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 + Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 + Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 + 25 files changed, 1387 insertions(+), 104 deletions(-) create mode 100644 MdeModulePkg/Include/Library/DisplayUpdateProgressLib.h create mode 100644 MdeModulePkg/Include/Protocol/FirmwareManagementProgress.h create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.c create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.uni create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.c create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf create mode 100644 MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.uni -- 2.14.2.windows.3