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

