/** @file\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
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