TianoCore EDK2 master
Loading...
Searching...
No Matches
EdkiiSystemFmpCapsule.h File Reference

Go to the source code of this file.

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

Definition in file EdkiiSystemFmpCapsule.h.

Macro Definition Documentation

◆ EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR_SIGNATURE

#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.
3. 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.
4. 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.

Definition at line 88 of file EdkiiSystemFmpCapsule.h.

Variable Documentation

◆ gEdkiiSystemFirmwareImageDescriptorFileGuid

EFI_GUID gEdkiiSystemFirmwareImageDescriptorFileGuid
extern

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

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

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