]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FmpDevicePkg/FmpDxe/FmpDxe.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / FmpDevicePkg / FmpDxe / FmpDxe.h
index 28bfa41580b8febf6dfe33e5cb7e9d70d87cb6ce..7baf730e690e5ce8ca2164f579b989a729a22a34 100644 (file)
@@ -3,8 +3,8 @@
   image stored in a firmware device with platform and firmware device specific\r
   information provided through PCDs and libraries.\r
 \r
-  Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>\r
-  Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) Microsoft Corporation.<BR>\r
+  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>\r
 \r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiLib.h>\r
+#include <Library/PrintLib.h>\r
 #include <Library/FmpAuthenticationLib.h>\r
 #include <Library/FmpDeviceLib.h>\r
 #include <Library/FmpPayloadHeaderLib.h>\r
 #include <Library/CapsuleUpdatePolicyLib.h>\r
+#include <Library/FmpDependencyLib.h>\r
+#include <Library/FmpDependencyCheckLib.h>\r
+#include <Library/FmpDependencyDeviceLib.h>\r
 #include <Protocol/FirmwareManagement.h>\r
 #include <Protocol/FirmwareManagementProgress.h>\r
-#include <Protocol/VariableLock.h>\r
 #include <Guid/SystemResourceTable.h>\r
 #include <Guid/EventGroup.h>\r
+#include <LastAttemptStatus.h>\r
+#include <FmpLastAttemptStatus.h>\r
+#include <Library/VariablePolicyHelperLib.h>\r
 \r
 #define VERSION_STRING_NOT_SUPPORTED  L"VERSION STRING NOT SUPPORTED"\r
 #define VERSION_STRING_NOT_AVAILABLE  L"VERSION STRING NOT AVAILABLE"\r
 ///\r
 ///\r
 ///\r
-#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('f','m','p','p')\r
+#define FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('f','m','p','p')\r
 \r
 typedef struct {\r
-  UINTN                                        Signature;\r
-  EFI_HANDLE                                   Handle;\r
-  EFI_FIRMWARE_MANAGEMENT_PROTOCOL             Fmp;\r
-  BOOLEAN                                      DescriptorPopulated;\r
-  EFI_FIRMWARE_IMAGE_DESCRIPTOR                Descriptor;\r
-  CHAR16                                       *ImageIdName;\r
-  CHAR16                                       *VersionName;\r
-  BOOLEAN                                      RuntimeVersionSupported;\r
-  EFI_EVENT                                    FmpDeviceLockEvent;\r
+  UINTN                               Signature;\r
+  EFI_HANDLE                          Handle;\r
+  EFI_FIRMWARE_MANAGEMENT_PROTOCOL    Fmp;\r
+  BOOLEAN                             DescriptorPopulated;\r
+  EFI_FIRMWARE_IMAGE_DESCRIPTOR       Descriptor;\r
+  CHAR16                              *ImageIdName;\r
+  CHAR16                              *VersionName;\r
+  BOOLEAN                             RuntimeVersionSupported;\r
+  EFI_EVENT                           FmpDeviceLockEvent;\r
   //\r
   // Indicates if an attempt has been made to lock a\r
   // FLASH storage device by calling FmpDeviceLock().\r
@@ -58,13 +64,14 @@ typedef struct {
   // so this variable is set to TRUE even if FmpDeviceLock()\r
   // returns an error.\r
   //\r
-  BOOLEAN                                      FmpDeviceLocked;\r
-  VOID                                         *FmpDeviceContext;\r
-  CHAR16                                       *VersionVariableName;\r
-  CHAR16                                       *LsvVariableName;\r
-  CHAR16                                       *LastAttemptStatusVariableName;\r
-  CHAR16                                       *LastAttemptVersionVariableName;\r
-  CHAR16                                       *FmpStateVariableName;\r
+  BOOLEAN                             FmpDeviceLocked;\r
+  VOID                                *FmpDeviceContext;\r
+  CHAR16                              *VersionVariableName;\r
+  CHAR16                              *LsvVariableName;\r
+  CHAR16                              *LastAttemptStatusVariableName;\r
+  CHAR16                              *LastAttemptVersionVariableName;\r
+  CHAR16                              *FmpStateVariableName;\r
+  BOOLEAN                             DependenciesSatisfied;\r
 } FIRMWARE_MANAGEMENT_PRIVATE_DATA;\r
 \r
 ///\r
@@ -176,7 +183,6 @@ GetTheImage (
   IN OUT UINTN                             *ImageSize\r
   );\r
 \r
-\r
 /**\r
   Checks if the firmware image is valid for the device.\r
 \r