summaryrefslogtreecommitdiffstats
path: root/FmpDevicePkg/FmpDxe
Commit message (Collapse)AuthorAgeFilesLines
* FmpDevicePkg: Fix various typosAntoine Cœur2019-07-121-1/+1
| | | | | | | Fix one typo in FmpDevicePkg. Signed-off-by: Cœur <coeur@gmx.fr> Reviewed-by: Liming Gao <liming.gao@intel.com>
* FmpDevicePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-098-122/+8
| | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* FmpDevicePkg FmpDxe: Lock variables in entrypoint instead of callbackStar Zeng2018-08-081-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code locks variables in PcdFmpDeviceLockEventGuid callback by VariableLock protocol whose interface will be closed at EndOfDxe. So the PcdFmpDeviceLockEventGuid callback needs be executed before the EndOfDxe callback in Variable driver. When PcdFmpDeviceLockEventGuid = gEfiEndOfDxeEventGroupGuid, the callback's execution sequence depends on the callback's TPL and registration sequence. When PcdFmpDeviceLockEventGuid = gEfiEventReadyToBootGuid, the PcdFmpDeviceLockEventGuid callback will be executed after the EndOfDxe callback in Variable driver, the locking will fail. The patch moves the variables locking logic to entrypoint. The patch also moves the IsLockFmpDeviceAtLockEventGuidRequired () checking to entrypoint. The entrypoint's final return status should be better to depend on the return status of RegisterFmpInstaller/InstallFmpInstance, but not gBS->CreateEventEx. So the patch also moves the RegisterFmpInstaller/InstallFmpInstance calling to the end of entrypoint. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Need repopulate after SetImage is calledStar Zeng2018-08-081-15/+6
| | | | | | | | | | | No need repopulate if SetImage is not called. But need repopulate after SetImage is called to update LastAttemptVersion and LastAttemptStatus Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Fix XCODE build failureStar Zeng2018-08-021-1/+1
| | | | | | | | | | | | | FmpDxe.c:517:18: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] NOTE: This patch is based on thread https://lists.01.org/pipermail/edk2-devel/2018-July/027810.html. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Use local variable to store test key digest sizeStar Zeng2018-08-021-1/+3
| | | | | | | | | | | | Some static tool reports "the condition in 'if' statement is constant". This patch updates the code to use local variable to store test key digest size. It can pass the static tool's check. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Fix code style issueStar Zeng2018-08-024-27/+29
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Initialize DeviceLibLowestSupportedVersionStar Zeng2018-08-021-0/+1
| | | | | | | | | | | | | | | | | | Some static tool reports "DeviceLibLowestSupportedVersion" is used, but is uninitialized. It is false positive reporting based because DeviceLibLowestSupportedVersion will have assigned value after FmpDeviceGetLowestSupportedVersion() returns SUCCESS. This patch updates the code to initialize DeviceLibLowestSupportedVersion to DEFAULT_LOWESTSUPPORTEDVERSION before calling FmpDeviceGetLowestSupportedVersion(). It can pass the static tool's check. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Return UNSUPPORTED if device has been lockedStar Zeng2018-08-021-1/+1
| | | | | | | | | | | Instead of EFI_ACCESS_DENIED which is not defined in retval by UEFI spec, return UNSUPPORTED if device has been locked in SetTheImage(). Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add comment in mFmpDeviceLocked's declarationStar Zeng2018-08-021-0/+7
| | | | | | | | | Add comment in mFmpDeviceLocked's declaration to make it more clear. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Use Attributes to know whether reset is requiredStar Zeng2018-08-023-5/+10
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1040 Use Attributes to know whether reset is required and remove PcdFmpDeviceSystemResetRequired. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Check ImageIndex first before Image/ImageSizeStar Zeng2018-08-021-10/+9
| | | | | | | | | | It does not make sense to check the Image/ImageSize if ImageIndex has been invalid. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add NULL check to return Value from GetVariable2Star Zeng2018-08-021-4/+4
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Fix typo "EFI_SECURITY_VIOLATIO"Star Zeng2018-08-021-4/+4
| | | | | | | | | Fix typo "EFI_SECURITY_VIOLATIO" to "EFI_SECURITY_VIOLATION". Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add EFI_ABORTED in retval of CheckTheImage()Star Zeng2018-08-021-0/+1
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Check Progress!= NULL before calling Progress(100)Star Zeng2018-08-021-4/+6
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Remove IPFStar Zeng2018-08-022-2/+2
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Return 0 when LSV check is not requiredStar Zeng2018-08-021-3/+6
| | | | | | | | | | | | | | Current code return 1 when LSV check is not required, but 1 LSV will make 0 Version capsule image update failed. 0 LSV is valid, this patch updates the code to return 0 when LSV check is not required We can see even the DEFAULT_LOWESTSUPPORTEDVERSION is 0. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Update function comment for FmpDxeEntryPointStar Zeng2018-08-021-1/+1
| | | | | | | | | FmpDxeEntryPoint is used by both FmpDxe and FmpDxeLib. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Add FmpDxe moduleKinney, Michael D2018-08-028-0/+2480
https://bugzilla.tianocore.org/show_bug.cgi?id=922 Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg The FmpDxe directory contains 2 INF files. FmpDxe.inf is a DXE driver that is used in a platform to add a Firmware Management Protocol for firmware device that supports firmware updates. FmpDxeLib.inf is a NULL library instance with the exact same functionality as FmpDxe.inf, but allows the the Firmware Management Protocol feature to be added to an existing device driver. The FmpDxe component is intended to be used "as is" with no need for any device specific or platform specific changes. 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> Reviewed-by: Star Zeng <star.zeng@intel.com>