public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	Jiewen Yao <jiewen.yao@intel.com>
Subject: Re: [RFC v2 0/4] Add FmpDevicePkg
Date: Thu, 19 Apr 2018 15:29:46 +0200	[thread overview]
Message-ID: <CAKv+Gu9G5K=RCy2oRScbG5EsM6T3+ZfRC_GLJ7+5Dv+xQWsv3g@mail.gmail.com> (raw)
In-Reply-To: <20180417210522.29644-1-michael.d.kinney@intel.com>

On 17 April 2018 at 23:05, Kinney, Michael D <michael.d.kinney@intel.com> 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 <sean.brogan@microsoft.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
>
> 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


  parent reply	other threads:[~2018-04-19 13:29 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-17 21:05 [RFC v2 0/4] Add FmpDevicePkg Kinney, Michael D
2018-04-17 21:05 ` [RFC v2 1/4] FmpDevicePkg: Add package, library classes, and PCDs Kinney, Michael D
2018-04-17 22:26   ` Sean Brogan
2018-04-17 21:05 ` [RFC v2 2/4] FmpDevicePkg: Add library instances Kinney, Michael D
2018-04-17 22:26   ` Sean Brogan
2018-04-17 21:05 ` [RFC v2 3/4] FmpDevicePkg: Add FmpDxe module Kinney, Michael D
2018-04-17 22:26   ` Sean Brogan
2018-04-17 21:05 ` [RFC v2 4/4] FmpDevicePkg: Add DSC file to build all package components Kinney, Michael D
2018-04-17 22:26   ` Sean Brogan
2018-04-19 13:29 ` Ard Biesheuvel [this message]
2018-04-20  4:18 ` [RFC v2 0/4] Add FmpDevicePkg Yao, Jiewen
2018-04-20  4:53   ` Zeng, Star
2018-04-20 23:05     ` Kinney, Michael D
2018-04-23  2:15       ` Zeng, Star
2018-04-20 23:00   ` Kinney, Michael D
2018-04-20 23:09     ` Yao, Jiewen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu9G5K=RCy2oRScbG5EsM6T3+ZfRC_GLJ7+5Dv+xQWsv3g@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox