]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
1. CapsuleLongModeBuffer variable should not have EFI_VARIABLE_RUNTIME_ACCESS attribute.
[mirror_edk2.git] / MdeModulePkg / Universal / CapsuleRuntimeDxe / CapsuleRuntimeDxe.inf
index 5addb491180874d9089a8f7dabeb7c9f42e49cba..66c438ca63498fbc69681009a45425180f0ce3f1 100644 (file)
@@ -1,12 +1,12 @@
-#/** @file\r
+## @file\r
 #  \r
-#  Capsule Runtime Drivers produces two UEFI capsule runtime services.\r
+#  Capsule Runtime Driver produces two UEFI capsule runtime services.\r
 #  (UpdateCapsule, QueryCapsuleCapabilities)\r
-#  It installs the Capsule Architectural Protocol (EDKII definition) to signify \r
+#  It installs the Capsule Architectural Protocol defined in PI1.0a to signify \r
 #  the capsule runtime services are ready.\r
 #  \r
-#  Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-#  All rights reserved. This program and the accompanying materials\r
+#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
 #  which accompanies this distribution.  The full text of the license may be found at\r
 #  http://opensource.org/licenses/bsd-license.php\r
@@ -14,7 +14,7 @@
 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #  \r
-#**/\r
+##\r
 \r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
 #\r
 \r
-[Sources.common]\r
+[Sources]\r
   CapsuleService.c\r
 \r
+[Sources.Ia32, Sources.IPF, Sources.EBC, Sources.ARM, Sources.AARCH64]\r
+  SaveLongModeContext.c\r
+\r
+[Sources.X64]\r
+  X64/SaveLongModeContext.c\r
+\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   MdeModulePkg/MdeModulePkg.dec\r
   UefiDriverEntryPoint\r
   CapsuleLib\r
   UefiRuntimeLib\r
+  BaseLib\r
+  PrintLib\r
+  BaseMemoryLib\r
+\r
+[LibraryClasses.X64]\r
+  LockBoxLib\r
+  UefiLib\r
+  BaseMemoryLib\r
+  HobLib  \r
 \r
 [Guids]\r
-  gEfiCapsuleVendorGuid                         # Produce variable L"CapsuleUpdateData" for capsule updated data\r
+  gEfiCapsuleVendorGuid                         ## SOMETIMES_PRODUCED (Process across reset capsule image) ## Variable:L"CapsuleUpdateData" for capsule updated data\r
+  gEfiFmpCapsuleGuid                            ## FMP capsule GUID\r
+\r
+[Guids.X64]\r
+  gEfiAcpiVariableGuid                          # ALWAYS_CONSUMED\r
+  gEfiAcpiS3ContextGuid                         # ALWAYS_CONSUMED\r
 \r
 [Protocols]\r
-  gEfiCapsuleArchProtocolGuid                   # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiCapsuleArchProtocolGuid                   ## PRODUCED\r
+\r
+[Protocols.X64]\r
+  ## UNDEFINED ## NOTIFY\r
+  ## SOMETIMES_CONSUMES\r
+  gEdkiiVariableLockProtocolGuid\r
 \r
 [FeaturePcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset\r
 \r
-[FixedPcd]\r
+[FeaturePcd.X64]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode\r
+\r
+[Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule || gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset  ## Populate Image requires reset support.\r
+\r
+[Pcd.X64]\r
+  ## SOMETIMES_CONSUMES\r
+  ## SOMETIMES_PRODUCES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdIdentifyMappingPageTablePtr\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable                ## SOMETIMES_CONSUMES\r
 \r
 [Depex]\r
-  gEfiVariableWriteArchProtocolGuid             # Depends on variable write functionality to produce capsule data variable\r
+  gEfiVariableWriteArchProtocolGuid             ## Depends on variable write functionality to produce capsule data variable\r