Looks good.

Reviewed-by: Jaben Carsey <[email protected]>

> -----Original Message-----
> From: Tapan Shah [mailto:[email protected]]
> Sent: Wednesday, March 16, 2016 10:31 AM
> To: [email protected]
> Cc: [email protected]; Carsey, Jaben
> <[email protected]>; Tapan Shah <[email protected]>
> Subject: [PATCH] MdePkg: Add EFI_FIRMWARE_IMAGE_DESCRIPTOR V1 and
> V2 structure definition.
> 
> Add V1 and V2 structure definitions for EFI_FIRMWARE_IMAGE_DESCRIPTOR
> structure. Consumer of the protocol needs correct structure definition to
> decode structure fields correctly.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Tapan Shah <[email protected]>
> ---
>  MdePkg/Include/Protocol/FirmwareManagement.h | 116
> +++++++++++++++++++++++++++
>  1 file changed, 116 insertions(+)
> 
> diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h
> b/MdePkg/Include/Protocol/FirmwareManagement.h
> index e615573..67f19fd 100644
> --- a/MdePkg/Include/Protocol/FirmwareManagement.h
> +++ b/MdePkg/Include/Protocol/FirmwareManagement.h
> @@ -10,6 +10,7 @@
> 
>    Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
>    Copyright (c) 2013 - 2014, Hewlett-Packard Development Company,
> L.P.<BR>
> +  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
> @@ -119,6 +120,121 @@ typedef struct {
>    UINT64                           HardwareInstance;
>  } EFI_FIRMWARE_IMAGE_DESCRIPTOR;
> 
> +#define   EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V1   1
> +#define   EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V2   2
> +
> +///
> +/// EFI_FIRMWARE_IMAGE_DESCRIPTOR in UEFI spec < 2.4a
> +///
> +typedef struct {
> +  ///
> +  /// A unique number identifying the firmware image within the device.  The
> number is
> +  /// between 1 and DescriptorCount.
> +  ///
> +  UINT8                            ImageIndex;
> +  ///
> +  /// A unique number identifying the firmware image type.
> +  ///
> +  EFI_GUID                         ImageTypeId;
> +  ///
> +  /// A unique number identifying the firmware image.
> +  ///
> +  UINT64                           ImageId;
> +  ///
> +  /// A pointer to a null-terminated string representing the firmware image
> name.
> +  ///
> +  CHAR16                           *ImageIdName;
> +  ///
> +  /// Identifies the version of the device firmware. The format is vendor
> specific and new
> +  /// version must have a greater value than an old version.
> +  ///
> +  UINT32                           Version;
> +  ///
> +  /// A pointer to a null-terminated string representing the firmware image
> version name.
> +  ///
> +  CHAR16                           *VersionName;
> +  ///
> +  /// Size of the image in bytes.  If size=0, then only ImageIndex and
> ImageTypeId are valid.
> +  ///
> +  UINTN                            Size;
> +  ///
> +  /// Image attributes that are supported by this device.  See 'Image 
> Attribute
> Definitions'
> +  /// for possible returned values of this parameter.  A value of 1 indicates
> the attribute is
> +  /// supported and the current setting value is indicated in 
> AttributesSetting.
> A
> +  /// value of 0 indicates the attribute is not supported and the current
> setting value in
> +  /// AttributesSetting is meaningless.
> +  ///
> +  UINT64                           AttributesSupported;
> +  ///
> +  /// Image attributes.  See 'Image Attribute Definitions' for possible 
> returned
> values of
> +  /// this parameter.
> +  ///
> +  UINT64                           AttributesSetting;
> +  ///
> +  /// Image compatibilities.  See 'Image Compatibility Definitions' for 
> possible
> returned
> +  /// values of this parameter.
> +  ///
> +  UINT64                           Compatibilities;
> +} EFI_FIRMWARE_IMAGE_DESCRIPTOR_V1;
> +
> +
> +///
> +/// EFI_FIRMWARE_IMAGE_DESCRIPTOR in UEFI spec > 2.4a and < 2.5
> +///
> +typedef struct {
> +  ///
> +  /// A unique number identifying the firmware image within the device.  The
> number is
> +  /// between 1 and DescriptorCount.
> +  ///
> +  UINT8                            ImageIndex;
> +  ///
> +  /// A unique number identifying the firmware image type.
> +  ///
> +  EFI_GUID                         ImageTypeId;
> +  ///
> +  /// A unique number identifying the firmware image.
> +  ///
> +  UINT64                           ImageId;
> +  ///
> +  /// A pointer to a null-terminated string representing the firmware image
> name.
> +  ///
> +  CHAR16                           *ImageIdName;
> +  ///
> +  /// Identifies the version of the device firmware. The format is vendor
> specific and new
> +  /// version must have a greater value than an old version.
> +  ///
> +  UINT32                           Version;
> +  ///
> +  /// A pointer to a null-terminated string representing the firmware image
> version name.
> +  ///
> +  CHAR16                           *VersionName;
> +  ///
> +  /// Size of the image in bytes.  If size=0, then only ImageIndex and
> ImageTypeId are valid.
> +  ///
> +  UINTN                            Size;
> +  ///
> +  /// Image attributes that are supported by this device.  See 'Image 
> Attribute
> Definitions'
> +  /// for possible returned values of this parameter.  A value of 1 indicates
> the attribute is
> +  /// supported and the current setting value is indicated in 
> AttributesSetting.
> A
> +  /// value of 0 indicates the attribute is not supported and the current
> setting value in
> +  /// AttributesSetting is meaningless.
> +  ///
> +  UINT64                           AttributesSupported;
> +  ///
> +  /// Image attributes.  See 'Image Attribute Definitions' for possible 
> returned
> values of
> +  /// this parameter.
> +  ///
> +  UINT64                           AttributesSetting;
> +  ///
> +  /// Image compatibilities.  See 'Image Compatibility Definitions' for 
> possible
> returned
> +  /// values of this parameter.
> +  ///
> +  UINT64                           Compatibilities;
> +  ///
> +  /// Describes the lowest ImageDescriptor version that the device will
> accept. Only
> +  /// present in version 2 or higher.
> +  UINT32                           LowestSupportedImageVersion;
> +} EFI_FIRMWARE_IMAGE_DESCRIPTOR_V2;
> 
>  //
>  // Image Attribute Definitions
> --
> 2.6.2.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to