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.115; helo=mga14.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 4BD8E228392E2 for ; Fri, 20 Apr 2018 16:11:51 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2018 16:11:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,303,1520924400"; d="scan'208";a="52442489" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by orsmga002.jf.intel.com with ESMTP; 20 Apr 2018 16:11:50 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.55]) by ORSMSX103.amr.corp.intel.com ([169.254.5.34]) with mapi id 14.03.0319.002; Fri, 20 Apr 2018 16:11:50 -0700 From: "Kinney, Michael D" To: "Zeng, Star" , "Yao, Jiewen" , "edk2-devel@lists.01.org" , "Kinney, Michael D" CC: Sean Brogan , "Dong, Eric" , "Wei, David" , "Guo, Mang" , "Steele, Kelly" Thread-Topic: [Patch V2 0/9] Add DisplayUpdateProgressLib for capsules Thread-Index: AQHT0ff/h81uasiCpUO2Qky1kWYYq6QJkAgAgAAHrICAALygQA== Date: Fri, 20 Apr 2018 23:11:49 +0000 Message-ID: References: <20180412004830.9904-1-michael.d.kinney@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AB75A6A@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103BAD63C7@shsmsx102.ccr.corp.intel.com> In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103BAD63C7@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Subject: Re: [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: Fri, 20 Apr 2018 23:11:51 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Star, I did consider a PCD based method and I even prototyped it. It does work. However, it uses the Dynamic PCD memory database as a shared resource between all the FMP modules and depends on the FMP modules to set the PCDs when their SetImage() service is called. Since not all FMP modules may need to use these settings, the PCDs may contain values from other FMP modules that were processing capsules in the same boot. This requires the caller of SetImage() to always reset the PCDs each time SetImage() is called for any FMP. The Protocol per FMP device provides the information for all FMP consumers on the same handle as the FMP Protocol so the rules for usage are clear from a consumer perspective. Mike > -----Original Message----- > From: Zeng, Star > Sent: Thursday, April 19, 2018 9:51 PM > To: Yao, Jiewen ; Kinney, Michael > D ; edk2-devel@lists.01.org > Cc: Sean Brogan ; Dong, Eric > ; Wei, David ; > Guo, Mang ; Steele, Kelly > ; Zeng, Star > > Subject: RE: [Patch V2 0/9] Add DisplayUpdateProgressLib > for capsules >=20 > I also had another comment to the protocol at > https://lists.01.org/pipermail/edk2-devel/2018- > April/023720.html before. >=20 > Thanks, > Star > -----Original Message----- > From: Yao, Jiewen > Sent: Friday, April 20, 2018 12:23 PM > To: Kinney, Michael D ; > edk2-devel@lists.01.org > Cc: Sean Brogan ; Zeng, Star > ; Dong, Eric ; > Wei, David ; Guo, Mang > ; Steele, Kelly > > Subject: RE: [Patch V2 0/9] Add DisplayUpdateProgressLib > for capsules >=20 > Thanks Mike. >=20 > I still think we should add a Version flag for > EDKII_FIRMWARE_MANAGEMENT_PROGRESS_PROTOCOL for future > extension, as we discussed in V1. >=20 > Other update seems good to me. Reviewed-by: > Jiewen.yao@Intel.com >=20 >=20 > Thank you > Yao Jiewen >=20 >=20 > > -----Original Message----- > > From: Kinney, Michael D > > Sent: Thursday, April 12, 2018 8:48 AM > > To: edk2-devel@lists.01.org > > Cc: Sean Brogan ; Zeng, > Star > > ; Dong, Eric > ; Yao, Jiewen > > ; Wei, David > ; Guo, Mang > > ; Steele, Kelly > ; Kinney, > > Michael D > > Subject: [Patch V2 0/9] Add DisplayUpdateProgressLib > for capsules > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D801 > > > > Based on content from: > > > > > https://github.com/Microsoft/MS_UEFI/blob/share/MsCapsul > eSupport/MsCap > > s > uleUpdatePkg/Include/Library/DisplayUpdateProgressLib.h > > > https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsul > eSupport/MsCap > > su > leUpdatePkg/Library/DisplayUpdateProgressGraphicsLib > > > https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsul > eSupport/MsCap > > su leUpdatePkg/Library/DisplayUpdateProgressTextLib > > > > Updates for V2 > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > * 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/Di > splayUpdatePro > > g > > ressLibGraphics.c > > create mode 100644 > > > MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/Di > splayUpdatePro > > g > > ressLibGraphics.inf > > create mode 100644 > > > MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/Di > splayUpdatePro > > g > > ressLibGraphics.uni > > create mode 100644 > > > MdeModulePkg/Library/DisplayUpdateProgressLibText/Displa > yUpdateProgres > > sLi > > bText.c > > create mode 100644 > > > MdeModulePkg/Library/DisplayUpdateProgressLibText/Displa > yUpdateProgres > > sLi > > bText.inf > > create mode 100644 > > > MdeModulePkg/Library/DisplayUpdateProgressLibText/Displa > yUpdateProgres > > sLi > > bText.uni > > > > -- > > 2.14.2.windows.3