From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c0b::244; helo=mail-it0-x244.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x244.google.com (mail-it0-x244.google.com [IPv6:2607:f8b0:4001:c0b::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 49863210CEA04 for ; Wed, 30 May 2018 00:08:12 -0700 (PDT) Received: by mail-it0-x244.google.com with SMTP id n64-v6so21858511itb.3 for ; Wed, 30 May 2018 00:08:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+1hUuqNjiIu1xw/6xWiIXbHhdpWkzSnxnu6H9WMEiYo=; b=WWoVWE8cu3gGr75Y2axYuA2FbFwcUMgeYxOKcY8N5Ad8zH0RcCCnyeJJNeD0dyfAHF MpiyW8VLs7PH9b1iIdnWJyfb5sh+DQtxIpQkqWR35AgsIktnTTz1Jl5EfR73V+4uW3z4 VshYGvt2oV2eIDke/m7qoO5mw4T3IlPnwi4nM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+1hUuqNjiIu1xw/6xWiIXbHhdpWkzSnxnu6H9WMEiYo=; b=mI3ZkZNsJJ0RXFx+RPwDr5sXqgcCnpuNJkqOCTGAjgy3M8kR9199RgIFTuMvr/2oSi igkkUkwxiF7c3z0+S8PJTMCwJq02Tho4Hmq0DPk1A9s0DFEXAkQ1mkp0euXJ8IhlawaF FAWpWia9sWmQ5qUABivgA1xlW8h++379lDwjuzkeNRSblfN20TR/debjBFtgqFOm4zUD 0gMySIHf1qb64c2ZfSs8DI5Yh7U2YbS5W0n/NtcHFrIJ034bg5+QD8vXP7bXPI33M5Mk lBtVfHuR3C5V+U5tpdS7z4mWUgpF4XXP7nK2J5hMm6X+tiJ59jX16KTQbHtpx7eY+2ly PR7A== X-Gm-Message-State: APt69E0SXWRhSE1p/fSxEiU+LZtkhAoS1UKNVk76OzO5Yajap+pdPZYh S9ta8ifb1VdBcmH/MlMx+T3GpPamgWRTWSn8wxnhjw== X-Google-Smtp-Source: ADUXVKJ2uxmrdDXCIWhvTa+u+Dv7sbAGmDrjg7p00HURx7eLJ8/JaV07gWouKe8Gekug5cUz6nOWo6DRy4mMoAFkggw= X-Received: by 2002:a24:5390:: with SMTP id n138-v6mr557915itb.42.1527664091007; Wed, 30 May 2018 00:08:11 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a6b:bb86:0:0:0:0:0 with HTTP; Wed, 30 May 2018 00:08:10 -0700 (PDT) In-Reply-To: <20180529223715.23896-1-michael.d.kinney@intel.com> References: <20180529223715.23896-1-michael.d.kinney@intel.com> From: Ard Biesheuvel Date: Wed, 30 May 2018 09:08:10 +0200 Message-ID: To: Michael D Kinney Cc: "edk2-devel@lists.01.org" , Jiewen Yao Subject: Re: [RFC v3 0/4] Add FmpDevicePkg 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: Wed, 30 May 2018 07:08:12 -0000 Content-Type: text/plain; charset="UTF-8" On 30 May 2018 at 00:37, Michael D Kinney wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=922 > > Changes in V3 > ============= > * Change CheckLowestSupportedVersion() to LowestSupportedVersionCheckRequired() > * Change LockFmpDeviceAtLockEventGuid() to LockFmpDeviceAtLockEventGuidRequired() > * Set EDKII_FIRMWARE_MANAGEMENT_PROGRESS_PROTOCOL Version field to 1 > * Fix description of return values in LowestSupportedVersionCheckRequired() > * Fix description of return values in LockFmpDeviceAtLockEventGuidRequired() > > Changes in V2 > ============= > * FmpDevicePkg DEC file > + Change PcdFmpDeviceSystemResetRequired from FeatureFlag > to FixedAtBuild > + Add PcdFmpDeviceTestKeySha256Digest for test key detection. > Set to {0} to disable test key detection. > * FmpDevicePkg DSC file > + Fix ARM and AARCH64 build issues > + Update DisplayUpdateProgressLib mappings to match patches in > Bug_801_DisplayUpdateProgressLib_V2 > * FmpDeviceLib Class and Instance > + Update FmpDeviceGetSize() to return EFI_STATUS > + Update FmpDeviceGetAttributes() to return EFI_STATUS > + Update FmpDeviceGetVersionString() to return EFI_STATUS > * FmpDxe > + Set depex to Variable Arch Write Protocol and Variable Lock Protocol > + Break out test key detection in FmpDxe into DetectTestKey.c > + Change LockAllVars() to LockAllFmpVariables() > + Update LockAllFmpVariables() to lock each of the UEFI variables used. > + Always lock UEFI variables when PcdFmpDeviceLockEventGuid is signaled > + Remove ComputeVersionName(). FmpDeviceLib must provide version string > > Based on content from the following branch: > > https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg > > Branch for review: > > https://github.com/mdkinney/edk2/tree/Bug_922_FmpDevicePkg_V2 > > This package provides an implementation of a Firmware Management Protocol > instance that supports the update of firmware storage devices using UEFI > Capsules. The behavior of the Firmware Management Protocol instance is > customized using libraries and PCDs. > Let me ask again: how does this code relate to the already existing FMP implementation we have in the edk2 tree? > Cc: Sean Brogan > Cc: Jiewen Yao > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael D Kinney > > Kinney, Michael D (4): > FmpDevicePkg: Add package, library classes, and PCDs > FmpDevicePkg: Add library instances > FmpDevicePkg: Add FmpDxe module > FmpDevicePkg: Add DSC file to build all package components > > FmpDevicePkg/FmpDevicePkg.dec | 132 ++ > FmpDevicePkg/FmpDevicePkg.dsc | 134 ++ > FmpDevicePkg/FmpDevicePkg.uni | 80 ++ > FmpDevicePkg/FmpDevicePkgExtra.uni | 18 + > FmpDevicePkg/FmpDxe/DetectTestKey.c | 166 +++ > FmpDevicePkg/FmpDxe/FmpDxe.c | 1452 ++++++++++++++++++++ > FmpDevicePkg/FmpDxe/FmpDxe.inf | 93 ++ > FmpDevicePkg/FmpDxe/FmpDxe.uni | 20 + > FmpDevicePkg/FmpDxe/FmpDxeExtra.uni | 18 + > FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 90 ++ > FmpDevicePkg/FmpDxe/VariableSupport.c | 461 +++++++ > FmpDevicePkg/FmpDxe/VariableSupport.h | 180 +++ > .../Include/Library/CapsuleUpdatePolicyLib.h | 120 ++ > FmpDevicePkg/Include/Library/FmpDeviceLib.h | 405 ++++++ > FmpDevicePkg/Include/Library/FmpPayloadHeaderLib.h | 100 ++ > .../CapsuleUpdatePolicyLibNull.c | 136 ++ > .../CapsuleUpdatePolicyLibNull.inf | 45 + > .../CapsuleUpdatePolicyLibNull.uni | 17 + > .../Library/FmpDeviceLibNull/FmpDeviceLib.c | 427 ++++++ > .../Library/FmpDeviceLibNull/FmpDeviceLibNull.inf | 48 + > .../Library/FmpDeviceLibNull/FmpDeviceLibNull.uni | 18 + > .../FmpPayloadHeaderLibV1/FmpPayloadHeaderLib.c | 188 +++ > .../FmpPayloadHeaderLibV1.inf | 48 + > .../FmpPayloadHeaderLibV1.uni | 21 + > 24 files changed, 4417 insertions(+) > create mode 100644 FmpDevicePkg/FmpDevicePkg.dec > create mode 100644 FmpDevicePkg/FmpDevicePkg.dsc > create mode 100644 FmpDevicePkg/FmpDevicePkg.uni > create mode 100644 FmpDevicePkg/FmpDevicePkgExtra.uni > create mode 100644 FmpDevicePkg/FmpDxe/DetectTestKey.c > create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.c > create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.inf > create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.uni > create mode 100644 FmpDevicePkg/FmpDxe/FmpDxeExtra.uni > create mode 100644 FmpDevicePkg/FmpDxe/FmpDxeLib.inf > create mode 100644 FmpDevicePkg/FmpDxe/VariableSupport.c > create mode 100644 FmpDevicePkg/FmpDxe/VariableSupport.h > create mode 100644 FmpDevicePkg/Include/Library/CapsuleUpdatePolicyLib.h > create mode 100644 FmpDevicePkg/Include/Library/FmpDeviceLib.h > create mode 100644 FmpDevicePkg/Include/Library/FmpPayloadHeaderLib.h > create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.c > create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf > create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.uni > create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLib.c > create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf > create mode 100644 FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.uni > create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLib.c > create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf > create mode 100644 FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.uni > > -- > 2.14.2.windows.3 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel