if (!FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {\r
return EFI_UNSUPPORTED;\r
}\r
- *ResetType = EfiResetWarm;\r
- *MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);\r
+ *ResetType = EfiResetWarm; \r
} else {\r
//\r
// For non-reset capsule image.\r
//\r
*ResetType = EfiResetCold;\r
+ }\r
+ \r
+ //\r
+ // The support max capsule image size\r
+ //\r
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) != 0) {\r
+ *MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);\r
+ } else {\r
*MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizeNonPopulateCapsule);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r