This file is for your implementation.  I would suggest removing it from 
MdeModulePkg and into your new package.  


> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Jiewen Yao
> Sent: Friday, September 30, 2016 5:21 AM
> To: edk2-devel@lists.01.org
> Cc: Michael D Kinney <michael.d.kin...@intel.com>; Feng Tian
> <feng.t...@intel.com>; Chao Zhang <chao.b.zh...@intel.com>; Liming Gao
> <liming....@intel.com>; Star Zeng <star.z...@intel.com>
> Subject: [edk2] [PATCH V2 01/50] MdeModulePkg/Include: Add EDKII system
> FMP capsule header.
> 
> Add EDKII system FMP capsule header file.
> This describes the EDKII system FMP capsule format.
> 
> Cc: Feng Tian <feng.t...@intel.com>
> Cc: Star Zeng <star.z...@intel.com>
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Liming Gao <liming....@intel.com>
> Cc: Chao Zhang <chao.b.zh...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Jiewen Yao <jiewen....@intel.com>
> Reviewed-by: Liming Gao <liming....@intel.com>
> ---
>  MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h | 110
> ++++++++++++++++++++
>  1 file changed, 110 insertions(+)
> 
> diff --git a/MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h
> b/MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h
> new file mode 100644
> index 0000000..0bd84f5
> --- /dev/null
> +++ b/MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h
> @@ -0,0 +1,110 @@
> +/** @file
> +  Guid & data structure used for Delivering Capsules Containing Updates
> +to
> +  EDKII System Firmware Management Protocol
> +
> +  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.
> +
> +**/
> +
> +
> +#ifndef __EDKII_SYSTEM_FMP_CAPSULE_GUID_H__
> +#define __EDKII_SYSTEM_FMP_CAPSULE_GUID_H__
> +
> +/**
> +
> +  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 | <==
> + PcdEdkiiSystemFmpCapsuleImageTypeIdGuid
> +  +------------------------------------------+
> +  |     EFI_FIRMWARE_IMAGE_AUTHENTICATION    |
> +  +------------------------------------------+
> +  |             FMP Payload                  |
> +  +------------------------------------------+
> +
> +  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            |  |  |
> +  |  |  +------------------------------+  |  |  |
> + +------------------------------------+  |
> + +------------------------------------------+
> +
> +**/
> +
> +#define EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR_SIGNATURE
> +SIGNATURE_32('S', 'F', 'I', 'D')
> +
> +#pragma pack(1)
> +typedef struct {
> +  UINT32                                Signature;
> +  UINT32                                HeaderLength; // Length of
> EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR, excluding NameString
> +  UINT32                                Length;       // Length of the data 
> structure,
> including NameString
> +  // Below structure is similar as UEFI
> EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetPackageInfo()
> +  UINT32                                PackageVersion;
> +  UINT32                                PackageVersionNameStringOffset; // 
> Offset from
> head, CHAR16 string including NULL terminate char
> +  // Below structure is similar as UEFI EFI_FIRMWARE_IMAGE_DESCRIPTOR
> +  UINT8                                 ImageIndex;
> +  UINT8                                 Reserved[3];
> +  EFI_GUID                              ImageTypeId;
> +  UINT64                                ImageId;
> +  UINT32                                ImageIdNameStringOffset; // Offset 
> from head,
> CHAR16 string including NULL terminate char
> +  UINT32                                Version;
> +  UINT32                                VersionNameStringOffset; // Offset 
> from head,
> CHAR16 string including NULL terminate char
> +  UINT8                                 Reserved2[4];
> +  UINT64                                Size;
> +  UINT64                                AttributesSupported;
> +  UINT64                                AttributesSetting;
> +  UINT64                                Compatibilities;
> +  UINT32                                LowestSupportedImageVersion;
> +  UINT32                                LastAttemptVersion;
> +  UINT32                                LastAttemptStatus;
> +  UINT8                                 Reserved3[4];
> +  UINT64                                HardwareInstance;
> +  // real string data
> +//CHAR16                                ImageIdNameStr[];        // CHAR16 
> string
> including NULL terminate char
> +//CHAR16                                VersionNameStr[];        // CHAR16 
> string
> including NULL terminate char
> +//CHAR16                                PackageVersionNameStr[]; // CHAR16 
> string
> including NULL terminate char
> +} EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR;
> +#pragma pack()
> +
> +/**
> +  System Firmware Image Descriptor is below:
> +            +----------------------+
> +            | System Firmware (FV) |
> +            |+--------------------+|
> +            ||   FFS (Freeform)   || <==
> gEdkiiSystemFirmwareImageDescriptorFileGuid
> +            ||+------------------+||
> +            |||   SECTION (RAW)  |||
> +            |||  System Firmware |||
> +            ||| Image Descriptor |||
> +            ||+------------------+||
> +            |+--------------------+|
> +            |                      |
> +            |                      |
> +            +----------------------+
> +**/
> +
> +extern EFI_GUID gEdkiiSystemFirmwareImageDescriptorFileGuid;
> +extern EFI_GUID gEdkiiSystemFmpCapsuleConfigFileGuid;
> +extern EFI_GUID gEdkiiSystemFmpCapsuleDriverFvFileGuid;
> +
> +#endif
> --
> 2.7.4.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to