SignedCapsulePkg[all]  0.1
 All Data Structures Files Functions Variables Enumerations Enumerator Macros Pages
EdkiiSystemFmpCapsule.h File Reference

Data Structures

struct  EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR
 

Macros

#define EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR_SIGNATURE   SIGNATURE_32('S', 'F', 'I', 'D')
 

Variables

EFI_GUID gEdkiiSystemFirmwareImageDescriptorFileGuid
 
EFI_GUID gEdkiiSystemFmpCapsuleConfigFileGuid
 
EFI_GUID gEdkiiSystemFmpCapsuleDriverFvFileGuid
 

Detailed Description

Guid & data structure used for Delivering Capsules Containing Updates to EDKII System Firmware Management Protocol

Copyright (c) 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR_SIGNATURE   SIGNATURE_32('S', 'F', 'I', 'D')
  1. Capsule Layout is below: +---------------------------------------—+ | Capsule Header (OPTIONAL, WFU) | <== ESRT.FwClass (Optional) +---------------------------------------—+ | FMP Capsule Header | <== EFI_FIRMWARE_MANAGEMENT_CAPSULE_ID_GUID +---------------------------------------—+ | FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER | <== PcdSystemFmpCapsuleImageTypeIdGuid +---------------------------------------—+ | EFI_FIRMWARE_IMAGE_AUTHENTICATION | +---------------------------------------—+ | FMP Payload | +---------------------------------------—+
  2. System FMP Payload is below: +---------------------------------------—+ | EFI_FIRMWARE_VOLUME | | +---------------------------------—+ | | | FFS (Configure File) | | <== gEdkiiSystemFmpCapsuleConfigFileGuid | +---------------------------------—+ | | | FFS (Driver FV) | | <== gEdkiiSystemFmpCapsuleDriverFvFileGuid | +---------------------------------—+ | | | FFS (System Firmware Image) | | <== PcdEdkiiSystemFirmwareFileGuid | | +---------------------------—+ | |
    FV Recovery
    FV Main
    | | +---------------------------—+ | | | +---------------------------------—+ | +---------------------------------------—+

NOTE: There might be multiple FFS (System Firmware Image) exist in the System FMP Capsule. Only the one, whose FFS GUID matches PcdEdkiiSystemFirmwareFileGuid, takes effect. The other FFS is ignored.

  1. The format of the recovery configuration is below:

[Head] NumOfRecovery = <Num> # Decimal Recovery0 = <Name1> # String Recovery1 = <Name2> # String Recovery<Num-1> = <NameX> # String

[Name?] Length = <Length> # Fv Length (HEX) ImageOffset = <ImageOffset> # Fv offset of this SystemFirmware image (HEX) FileGuid = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # PcdEdkiiSystemFirmwareFileGuid

NOTE: The [Name?] entry may have different FileGuid. Only the one, whose FileGuid matches PcdEdkiiSystemFirmwareFileGuid, takes effect. The other entry is ignored.

  1. The format of the capsule update configuration is below:

[Head] NumOfUpdate = <Num> # Decimal Update0 = <Name1> # String Update1 = <Name2> # String Update<Num-1> = <NameX> # String

[Name?] FirmwareType = 0 # 0 - SystemFirmware, 1 - NvRam AddressType = 0 # 0 - relative address, 1 - absolute address. BaseAddress = <BaseAddress> # Base address offset on flash (HEX) Length = <Length> # Image Length (HEX) ImageOffset = <ImageOffset> # Image offset of this SystemFirmware image (HEX) FileGuid = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # PcdEdkiiSystemFirmwareFileGuid

NOTE: The [Name?] entry may have different FileGuid. Only the one, whose FileGuid matches PcdEdkiiSystemFirmwareFileGuid, takes effect. The other entry is ignored.

Variable Documentation

EFI_GUID gEdkiiSystemFirmwareImageDescriptorFileGuid

System Firmware Image Descriptor is below: +-------------------—+ | System Firmware (FV) | |+-----------------—+| || FFS (Freeform) || <== gEdkiiSystemFirmwareImageDescriptorFileGuid ||+---------------—+|| ||| SECTION (RAW) ||| ||| System Firmware ||| ||| Image Descriptor ||| ||+---------------—+||

+-----------------—+

+-------------------—+

EFI_GUID gEdkiiSystemFmpCapsuleConfigFileGuid
EFI_GUID gEdkiiSystemFmpCapsuleDriverFvFileGuid