summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/CapsuleRuntimeDxe
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-23 15:18:48 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-23 15:18:48 +0000
commit5c526736370b475e85c59fafe3900101a95e93d3 (patch)
treee207e4cd31cd230e43d460d34b39b20c3f9fbebc /MdeModulePkg/Universal/CapsuleRuntimeDxe
parent773194427588380d8eb41fc46de2bed43a46f872 (diff)
downloadedk2-5c526736370b475e85c59fafe3900101a95e93d3.tar.gz
edk2-5c526736370b475e85c59fafe3900101a95e93d3.tar.bz2
edk2-5c526736370b475e85c59fafe3900101a95e93d3.zip
Move MdeModuleHii.h into Include\Guid directory
Move Capsule.h into MdePkg\Include\Protocol directory because Capsule is defined in PI1.0a. Merge WorkingBlockHeader.h into SystemNvDataGuid.h Remove unused NvDataFvHob. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7606 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/CapsuleRuntimeDxe')
-rw-r--r--MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c
index 2d5411a607..14246b0669 100644
--- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c
+++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c
@@ -235,15 +235,23 @@ QueryCapsuleCapabilities (
if (!FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {
return EFI_UNSUPPORTED;
}
- *ResetType = EfiResetWarm;
- *MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);
+ *ResetType = EfiResetWarm;
} else {
//
// For non-reset capsule image.
//
*ResetType = EfiResetCold;
+ }
+
+ //
+ // The support max capsule image size
+ //
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) != 0) {
+ *MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);
+ } else {
*MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizeNonPopulateCapsule);
}
+
return EFI_SUCCESS;
}