]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Capsule/GenerateCapsule.py
BaseTools: Add support for version 3 of FMP Image Header structure
[mirror_edk2.git] / BaseTools / Source / Python / Capsule / GenerateCapsule.py
index a8de988253cf2c32b226acb73aeea654109c90a2..b8039db878299bfdd8080bb655228f6f2ad66766 100644 (file)
@@ -561,6 +561,7 @@ if __name__ == '__main__':
                 print ('GenerateCapsule: error:' + str(Msg))\r
                 sys.exit (1)\r
         for SinglePayloadDescriptor in PayloadDescriptorList:\r
+            ImageCapsuleSupport = 0x0000000000000000\r
             Result = SinglePayloadDescriptor.Payload\r
             try:\r
                 FmpPayloadHeader.FwVersion              = SinglePayloadDescriptor.FwVersion\r
@@ -575,6 +576,7 @@ if __name__ == '__main__':
             if SinglePayloadDescriptor.UseDependency:\r
                 CapsuleDependency.Payload = Result\r
                 CapsuleDependency.DepexExp = SinglePayloadDescriptor.DepexExp\r
+                ImageCapsuleSupport        |= FmpCapsuleHeader.CAPSULE_SUPPORT_DEPENDENCY\r
                 Result = CapsuleDependency.Encode ()\r
                 if args.Verbose:\r
                     CapsuleDependency.DumpInfo ()\r
@@ -607,13 +609,14 @@ if __name__ == '__main__':
                     FmpAuthHeader.MonotonicCount = SinglePayloadDescriptor.MonotonicCount\r
                     FmpAuthHeader.CertData       = CertData\r
                     FmpAuthHeader.Payload        = Result\r
+                    ImageCapsuleSupport          |= FmpCapsuleHeader.CAPSULE_SUPPORT_AUTHENTICATION\r
                     Result = FmpAuthHeader.Encode ()\r
                     if args.Verbose:\r
                         FmpAuthHeader.DumpInfo ()\r
                 except:\r
                     print ('GenerateCapsule: error: can not encode FMP Auth Header')\r
                     sys.exit (1)\r
-            FmpCapsuleHeader.AddPayload (SinglePayloadDescriptor.Guid, Result, HardwareInstance = SinglePayloadDescriptor.HardwareInstance, UpdateImageIndex = SinglePayloadDescriptor.UpdateImageIndex)\r
+            FmpCapsuleHeader.AddPayload (SinglePayloadDescriptor.Guid, Result, HardwareInstance = SinglePayloadDescriptor.HardwareInstance, UpdateImageIndex = SinglePayloadDescriptor.UpdateImageIndex, CapsuleSupport = ImageCapsuleSupport)\r
         try:\r
             for EmbeddedDriver in EmbeddedDriverDescriptorList:\r
                 FmpCapsuleHeader.AddEmbeddedDriver(EmbeddedDriver)\r