X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=MdeModulePkg%2FUniversal%2FCapsuleRuntimeDxe%2FCapsuleRuntimeDxe.inf;h=3849bc84a853074c8da03e2d9f96a9ca8961afb5;hb=d1102dba7210b95e41d06c2338a22ba6af248645;hp=8aadd1af85c9c472f4c49ea6cc25a138e46bd8c1;hpb=de5b0df93fb3cf540e40bf94222c7bddbc2a6de6;p=mirror_edk2.git
diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
index 8aadd1af85..3849bc84a8 100644
--- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
@@ -1,24 +1,24 @@
-#/** @file
-#
-# Capsule Runtime Driver produces two UEFI capsule runtime services.
-# (UpdateCapsule, QueryCapsuleCapabilities)
-# It installs the Capsule Architectural Protocol defined in PI1.0a to signify
+## @file
+# Capsule Runtime Driver produces two UEFI capsule runtime services: (UpdateCapsule, QueryCapsuleCapabilities).
+#
+# It installs the Capsule Architectural Protocol defined in PI1.0a to signify
# the capsule runtime services are ready.
-#
-# Copyright (c) 2006 - 2009, Intel Corporation.
-# All rights reserved. This program and the accompanying materials
+#
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# 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
# http://opensource.org/licenses/bsd-license.php
-#
+#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
+#
+##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = CapsuleRuntimeDxe
+ MODULE_UNI_FILE = CapsuleRuntimeDxe.uni
FILE_GUID = 42857F0A-13F2-4B21-8A23-53D3F714B840
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
@@ -27,11 +27,24 @@
#
# The following information is for reference only and not required by the build tools.
#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
+# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
#
-[Sources.common]
+[Sources]
CapsuleService.c
+ CapsuleService.h
+
+[Sources.Ia32, Sources.IPF, Sources.EBC]
+ SaveLongModeContext.c
+ CapsuleReset.c
+
+[Sources.X64]
+ X64/SaveLongModeContext.c
+ CapsuleReset.c
+
+[Sources.ARM, Sources.AARCH64]
+ SaveLongModeContext.c
+ Arm/CapsuleReset.c
[Packages]
MdePkg/MdePkg.dec
@@ -45,19 +58,50 @@
UefiDriverEntryPoint
CapsuleLib
UefiRuntimeLib
+ BaseLib
+ PrintLib
+ BaseMemoryLib
+
+[LibraryClasses.X64]
+ UefiLib
+ BaseMemoryLib
+
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+ CacheMaintenanceLib
[Guids]
- gEfiCapsuleVendorGuid ## SOMETIMES_PRODUCED (Process across reset capsule image) ## Variable:L"CapsuleUpdateData" for capsule updated data
+ ## SOMETIMES_PRODUCES ## Variable:L"CapsuleUpdateData" # (Process across reset capsule image) for capsule updated data
+ ## SOMETIMES_PRODUCES ## Variable:L"CapsuleLongModeBuffer" # The long mode buffer used by IA32 Capsule PEIM to call X64 CapsuleCoalesce code to handle >4GB capsule blocks
+ gEfiCapsuleVendorGuid
+ gEfiFmpCapsuleGuid ## SOMETIMES_CONSUMES ## GUID # FMP capsule GUID
[Protocols]
- gEfiCapsuleArchProtocolGuid ## PRODUCED
+ gEfiCapsuleArchProtocolGuid ## PRODUCES
+
+[Protocols.X64]
+ ## UNDEFINED ## NOTIFY
+ ## SOMETIMES_CONSUMES
+ gEdkiiVariableLockProtocolGuid
[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset ## CONSUMES
+
+[FeaturePcd.X64]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
-[FixedPcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule || PcdSupportUpdateCapsuleReset ## Populate Image requires reset support.
+[Pcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule ## SOMETIMES_CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule ## SOMETIMES_CONSUMES # Populate Image requires reset support.
+
+[Pcd.X64]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize ## SOMETIMES_CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
[Depex]
- gEfiVariableWriteArchProtocolGuid ## Depends on variable write functionality to produce capsule data variable
+ gEfiVariableWriteArchProtocolGuid # Depends on variable write functionality to produce capsule data variable
+
+# [Hob.X64]
+# UNDEFINED ## SOMETIMES_CONSUMES # CPU
+
+[UserExtensions.TianoCore."ExtraFiles"]
+ CapsuleRuntimeDxeExtra.uni