https://bugzilla.tianocore.org/show_bug.cgi?id=801 Based on content from the following branch/commits: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport * Change Update_Image_Progress() to UpdateImageProcess() * Call DisplayUpdateProgressLib from UpdateImageProgress(). * Split out a boot service and runtime version of UpdateImageProgress() so the DisplayUpdateProgressLib is not used at runtime. * If gEdkiiFirmwareManagementProgressProtocolGuid is present, then use its progress bar color and watchdog timer value. * If gEdkiiFirmwareManagementProgressProtocolGuid is not present, then use default progress bar color and 5 min watchdog timer. * Remove Print() calls during capsule processing. Instead, the DisplayUpdateProgressLib is used to inform the user of progress during a capsule update. Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Star Zeng <star.zeng@intel.com>
86 lines
3.2 KiB
INI
86 lines
3.2 KiB
INI
## @file
|
|
# Capsule library instance for DXE_DRIVER.
|
|
#
|
|
# Capsule library instance for DXE_DRIVER module types.
|
|
#
|
|
# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = DxeCapsuleLib
|
|
MODULE_UNI_FILE = DxeCapsuleLib.uni
|
|
FILE_GUID = 534E35DE-8EB3-47b3-A4E0-72A571E50733
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = CapsuleLib|DXE_DRIVER UEFI_APPLICATION
|
|
CONSTRUCTOR = DxeCapsuleLibConstructor
|
|
DESTRUCTOR = DxeCapsuleLibDestructor
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
|
#
|
|
|
|
[Sources]
|
|
DxeCapsuleLib.c
|
|
DxeCapsuleProcessLib.c
|
|
DxeCapsuleReportLib.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
MemoryAllocationLib
|
|
DxeServicesTableLib
|
|
UefiBootServicesTableLib
|
|
DevicePathLib
|
|
ReportStatusCodeLib
|
|
PrintLib
|
|
HobLib
|
|
BmpSupportLib
|
|
DisplayUpdateProgressLib
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleMax ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag ## CONSUMES
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeSubClassCapsule ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeProcessCapsulesBegin ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeProcessCapsulesEnd ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeUpdatingFirmware ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeUpdateFirmwareSuccess ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeUpdateFirmwareFailed ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleStatusCodeResettingSystem ## CONSUMES
|
|
|
|
[Protocols]
|
|
gEsrtManagementProtocolGuid ## CONSUMES
|
|
gEfiFirmwareManagementProtocolGuid ## CONSUMES
|
|
gEdkiiVariableLockProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEdkiiFirmwareManagementProgressProtocolGuid ## SOMETIMES_CONSUMES
|
|
|
|
[Guids]
|
|
gEfiFmpCapsuleGuid ## SOMETIMES_CONSUMES ## GUID
|
|
gWindowsUxCapsuleGuid ## SOMETIMES_CONSUMES ## GUID
|
|
## SOMETIMES_CONSUMES ## Variable:L"CapsuleMax"
|
|
## SOMETIMES_PRODUCES ## Variable:L"CapsuleMax"
|
|
gEfiCapsuleReportGuid
|
|
gEfiCapsuleVendorGuid ## SOMETIMES_CONSUMES ## Variable:L"CapsuleUpdateData"
|
|
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
|
|
|
|
[Depex]
|
|
gEfiVariableWriteArchProtocolGuid
|