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::22c; helo=mail-it0-x22c.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x22c.google.com (mail-it0-x22c.google.com [IPv6:2607:f8b0:4001:c0b::22c]) (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 8962221E080E4 for ; Thu, 19 Apr 2018 06:29:48 -0700 (PDT) Received: by mail-it0-x22c.google.com with SMTP id o20-v6so5471716itc.1 for ; Thu, 19 Apr 2018 06:29:48 -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=CJWe70O4egtPhVeCHTlhXjA1YQMumix4yXkATHi27Mk=; b=aHHXV6CtFS+DbE+nel28paXu7eM9o7sSqh55+Tb/QlRq7JAJlwDPLpyCDjwFE65+1h JuM7KShbyHz1UJnh4rKay+VMRGNpPkzkVPgDg9U7YB+WVfDuxzlhHRvAGZSEOQyPsKIv +iymb40pxpwHqgxxdg0yp6g41mjZt/Rs7s1AQ= 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=CJWe70O4egtPhVeCHTlhXjA1YQMumix4yXkATHi27Mk=; b=QIoJNkrRm+VW4gB31xiUYjwr5JMS7f8UzCXR3EdcZahw8lebByzCxktdi6l/7YFKt2 tcaRdHQinr7ZLtExeQMcT43L9yWw8aNIrmPffMgsKPVy835GooGOOK42i0lGe27mBFmy ZFWWF3KrDEHT0ssXf9f+bhkguTwsm8PcieXA9JpgQjiPqFp265kxi84E34kU9fkemslr xIaclUvTNfCMIQ+C42ox0am8coohYMQsXJjO3DZztQ9NHj6riZJOyIrvJwLwFYy6+L7I Wg2w6Ek9UaLDgIm/dOrEFCULL4jYHd1hQjreZi/EEdm6XgAd/81vYvh0+o5ULEvV8EFW 6PgQ== X-Gm-Message-State: ALQs6tB+QPcHljzv1xNVTdIrEvU2XJX988JC8bdGiqcXn91hevLrIFoI SygtkNAfGdRFnOpfuRfY9kRiTgUU9fI1A3khZeoKXw== X-Google-Smtp-Source: AIpwx4/O+GdQjU36JU5B60H6C1L0OGGOjfr7a4bRxr4RXkLpN00Gk3kTlmLMPb+sQTo/elnNfv10Aikoj5k3f2VP5+Y= X-Received: by 2002:a24:36c9:: with SMTP id l192-v6mr6363154itl.42.1524144587481; Thu, 19 Apr 2018 06:29:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.187.67 with HTTP; Thu, 19 Apr 2018 06:29:46 -0700 (PDT) In-Reply-To: <20180417210522.29644-1-michael.d.kinney@intel.com> References: <20180417210522.29644-1-michael.d.kinney@intel.com> From: Ard Biesheuvel Date: Thu, 19 Apr 2018 15:29:46 +0200 Message-ID: To: "Kinney, Michael D" Cc: "edk2-devel@lists.01.org" , Jiewen Yao Subject: Re: [RFC v2 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: Thu, 19 Apr 2018 13:29:48 -0000 Content-Type: text/plain; charset="UTF-8" On 17 April 2018 at 23:05, Kinney, Michael D wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=922 > Could we document somewhere why this new code is a better implementation of FMP than we already have in SignedCapsulePkg? > 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. > > 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 | 1451 ++++++++++++++++++++ > 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, 4416 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