diff options
author | li-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-02 11:34:35 +0000 |
---|---|---|
committer | li-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-02 11:34:35 +0000 |
commit | ab7017fe2bf2c1944090d347e7853e087d8641e8 (patch) | |
tree | d7cd1ecb4d6cdf3784a139c33d1d7f1e615674a6 /MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | |
parent | 4ff7e37b4f7e336a8ecb7080b8f48eef4b52d396 (diff) | |
download | edk2-ab7017fe2bf2c1944090d347e7853e087d8641e8.tar.gz edk2-ab7017fe2bf2c1944090d347e7853e087d8641e8.tar.bz2 edk2-ab7017fe2bf2c1944090d347e7853e087d8641e8.zip |
Add capsule > 4GB support. When capsule data is put above 4GB, IA32 PEI transfers to long mode to get capsule data.
Signed-off-by: li-elvin
Reviewed-by: lgao4, mdkinney
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12264 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf')
-rw-r--r-- | MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf index 43388f55fc..e52b6a5f28 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf @@ -33,6 +33,12 @@ [Sources]
CapsuleService.c
+[Sources.Ia32, Sources.IPF, Sources.EBC, Sources.ARM]
+ SaveLongModeContext.c
+
+[Sources.X64]
+ X64/SaveLongModeContext.c
+
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
@@ -47,19 +53,38 @@ UefiRuntimeLib
BaseLib
PrintLib
+
+[LibraryClasses.X64]
+ LockBoxLib
+ UefiLib
+ BaseMemoryLib
+ HobLib
[Guids]
gEfiCapsuleVendorGuid ## SOMETIMES_PRODUCED (Process across reset capsule image) ## Variable:L"CapsuleUpdateData" for capsule updated data
+[Guids.X64]
+ gEfiAcpiVariableGuid # ALWAYS_CONSUMED
+ gEfiAcpiS3ContextGuid # ALWAYS_CONSUMED
+
[Protocols]
gEfiCapsuleArchProtocolGuid ## PRODUCED
+[Protocols.X64]
+ gEfiDxeSmmReadyToLockProtocolGuid # ALWAYS_CONSUMED
+
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset
+[FeaturePcd.X64]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
+
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule || gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset ## Populate Image requires reset support.
+[Pcd.X64]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize
+
[Depex]
gEfiVariableWriteArchProtocolGuid ## Depends on variable write functionality to produce capsule data variable
|