audk/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf

73 lines
2.1 KiB
INI
Raw Normal View History

SignedCapsulePkg/SystemFirmwareUpdate: Add SystemFirmwareUpdate. SystemFirmwareUpdate supports update system firmware via UEFI FMP capsule. SystemFirmwareReportDxe.inf can be included in system BIOS. It is a lightweight FMP protocol implementation and it only reports FMP information, so that ESRT table can report the system firmware information. SetImage() will dispatch the driver FV in the EDKII system FMP image (SystemFirmwareUpdateDxe), then pass thru the SetImage() request to latter. SystemFirmwareUpdateDxe.inf can be included in EDKII system capsule image. It is a full feature FMP protocol implementation and supports SetImage(). It can be used to update the system firmware. SystemFirmwareUpdateDxe.inf can also be included in system firmware. If so SystemFirmwareReportDxe.inf is not needed. SystemFirmwareUpdateDxe SetImage() will perform the FMP authentication and version check. If and only if the FMP authentication passes, and new EDKII system capsule version is no less than current system firmware LowestSupportedVersion, the system firmware will be updated. Cc: Feng Tian <feng.tian@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Chao Zhang <chao.b.zhang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Tested-by: Michael Kinney <michael.d.kinney@intel.com>
2016-09-21 04:30:12 +02:00
## @file
# SystemFirmware FMP update driver.
#
# Produce FMP instance to update system firmware.
#
# Copyright (c) 2016, 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 = SystemFirmwareUpdateDxe
MODULE_UNI_FILE = SystemFirmwareUpdateDxe.uni
FILE_GUID = 0A2FBD15-1C25-407E-8915-60C5652BC2AA
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = SystemFirmwareUpdateMainDxe
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = X64
#
[Sources]
SystemFirmwareCommonDxe.c
SystemFirmwareUpdateDxe.c
ParseConfigProfile.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
SignedCapsulePkg/SignedCapsulePkg.dec
[LibraryClasses]
BaseLib
UefiLib
BaseMemoryLib
DebugLib
PcdLib
MemoryAllocationLib
UefiBootServicesTableLib
HobLib
UefiRuntimeServicesTableLib
UefiDriverEntryPoint
DxeServicesLib
EdkiiSystemCapsuleLib
PlatformFlashAccessLib
IniParsingLib
PrintLib
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid ## CONSUMES
gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid ## CONSUMES
gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor ## CONSUMES
[Protocols]
gEfiFirmwareManagementProtocolGuid ## PRODUCES
[Depex]
gEfiVariableArchProtocolGuid
[UserExtensions.TianoCore."ExtraFiles"]
SystemFirmwareUpdateDxeExtra.uni