/** @file\r
Guid & data structure used for EFI System Resource Table (ESRT)\r
\r
- Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
@par Revision Reference:\r
///\r
/// Last Attempt Status Values\r
///\r
-#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000\r
-#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001\r
-#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002\r
-#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003\r
-#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004\r
-#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005\r
-#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006\r
-#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007\r
+#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000\r
+#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001\r
+#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002\r
+#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003\r
+#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004\r
+#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005\r
+#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006\r
+#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007\r
+#define LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES 0x00000008\r
\r
typedef struct {\r
///\r
CheckImage(), GetPackageInfo(), and SetPackageInfo() shall return\r
EFI_UNSUPPORTED if not supported by the driver.\r
\r
- Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>\r
Copyright (c) 2013 - 2014, Hewlett-Packard Development Company, L.P.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
\r
typedef struct _EFI_FIRMWARE_MANAGEMENT_PROTOCOL EFI_FIRMWARE_MANAGEMENT_PROTOCOL;\r
\r
+///\r
+/// Dependency Expression Opcode\r
+///\r
+#define EFI_FMP_DEP_PUSH_GUID 0x00\r
+#define EFI_FMP_DEP_PUSH_VERSION 0x01\r
+#define EFI_FMP_DEP_VERSION_STR 0x02\r
+#define EFI_FMP_DEP_AND 0x03\r
+#define EFI_FMP_DEP_OR 0x04\r
+#define EFI_FMP_DEP_NOT 0x05\r
+#define EFI_FMP_DEP_TRUE 0x06\r
+#define EFI_FMP_DEP_FALSE 0x07\r
+#define EFI_FMP_DEP_EQ 0x08\r
+#define EFI_FMP_DEP_GT 0x09\r
+#define EFI_FMP_DEP_GTE 0x0A\r
+#define EFI_FMP_DEP_LT 0x0B\r
+#define EFI_FMP_DEP_LTE 0x0C\r
+#define EFI_FMP_DEP_END 0x0D\r
+\r
+///\r
+/// Image Attribute - Dependency\r
+///\r
+typedef struct {\r
+ UINT8 Dependencies[1];\r
+} EFI_FIRMWARE_IMAGE_DEP;\r
+\r
///\r
/// EFI_FIRMWARE_IMAGE_DESCRIPTOR\r
///\r
/// present in version 3 or higher.\r
///\r
UINT64 HardwareInstance;\r
+ EFI_FIRMWARE_IMAGE_DEP *Dependencies;\r
} EFI_FIRMWARE_IMAGE_DESCRIPTOR;\r
\r
\r
/// The attribute IMAGE_ATTRIBUTE_UEFI_IMAGE indicates that this image is an EFI compatible image.\r
///\r
#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010\r
+///\r
+/// The attribute IMAGE_ATTRIBUTE_DEPENDENCY indicates that there is an EFI_FIRMWARE_IMAGE_DEP\r
+/// section associated with the image.\r
+///\r
+#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020\r
\r
\r
//\r
///\r
/// Descriptor Version exposed by GetImageInfo() function\r
///\r
-#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 3\r
+#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4\r
\r
\r
///\r