BaseTools/Capsule: Do not support -o with --dump-info
[mirror_edk2.git] / BaseTools / Source / Python / Capsule / GenerateCapsule.py
index 4018dc0..3c641bd 100644 (file)
@@ -239,8 +239,8 @@ if __name__ == '__main__':
     # Add optional arguments for this command\r
     #\r
     parser.add_argument ("--capflag", dest = 'CapsuleFlag', action='append', default = [],\r
-                         choices=['PersistAcrossReset', 'PopulateSystemTable', 'InitiateReset'],\r
-                         help = "Capsule flag can be PersistAcrossReset, or PopulateSystemTable or InitiateReset or not set")\r
+                         choices=['PersistAcrossReset', 'InitiateReset'],\r
+                         help = "Capsule flag can be PersistAcrossReset or InitiateReset or not set")\r
     parser.add_argument ("--capoemflag", dest = 'CapsuleOemFlag', type = ValidateUnsignedInteger, default = 0x0000,\r
                          help = "Capsule OEM Flag is an integer between 0x0000 and 0xffff.")\r
 \r
@@ -294,10 +294,14 @@ if __name__ == '__main__':
         if args.Guid is None:\r
             parser.error ('the following option is required: --guid')\r
         if 'PersistAcrossReset' not in args.CapsuleFlag:\r
-            if 'PopulateSystemTable' in args.CapsuleFlag:\r
-                parser.error ('--capflag PopulateSystemTable also requires --capflag PersistAcrossReset')\r
             if 'InitiateReset' in args.CapsuleFlag:\r
                 parser.error ('--capflag InitiateReset also requires --capflag PersistAcrossReset')\r
+        if args.CapsuleOemFlag > 0xFFFF:\r
+            parser.error ('--capoemflag must be an integer between 0x0000 and 0xffff')\r
+        if args.HardwareInstance > 0xFFFFFFFFFFFFFFFF:\r
+            parser.error ('--hardware-instance must be an integer in range 0x0..0xffffffffffffffff')\r
+        if args.MonotonicCount > 0xFFFFFFFFFFFFFFFF:\r
+            parser.error ('--monotonic-count must be an integer in range 0x0..0xffffffffffffffff')\r
 \r
     UseSignTool = args.SignToolPfxFile is not None\r
     UseOpenSsl  = (args.OpenSslSignerPrivateCertFile is not None and\r
@@ -319,6 +323,10 @@ if __name__ == '__main__':
         if args.Encode and (UseSignTool or UseOpenSsl):\r
             if args.FwVersion is None or args.LowestSupportedVersion is None:\r
                 parser.error ('the following options are required: --fw-version, --lsv')\r
+            if args.FwVersion > 0xFFFFFFFF:\r
+                parser.error ('--fw-version must be an integer in range 0x0..0xffffffff')\r
+            if args.LowestSupportedVersion > 0xFFFFFFFF:\r
+                parser.error ('--lsv must be an integer in range 0x0..0xffffffff')\r
 \r
         if UseSignTool:\r
             args.SignToolPfxFile.close()\r
@@ -331,6 +339,10 @@ if __name__ == '__main__':
             args.OpenSslOtherPublicCertFile   = args.OpenSslOtherPublicCertFile.name\r
             args.OpenSslTrustedPublicCertFile = args.OpenSslTrustedPublicCertFile.name\r
 \r
+    if args.DumpInfo:\r
+        if args.OutputFile is not None:\r
+            parser.error ('the following option is not supported for dumpinfo operations: --output')\r
+\r
     #\r
     # Read binary input file\r
     #\r
@@ -411,7 +423,7 @@ if __name__ == '__main__':
         try:\r
             UefiCapsuleHeader.OemFlags            = args.CapsuleOemFlag\r
             UefiCapsuleHeader.PersistAcrossReset  = 'PersistAcrossReset'  in args.CapsuleFlag\r
-            UefiCapsuleHeader.PopulateSystemTable = 'PopulateSystemTable' in args.CapsuleFlag\r
+            UefiCapsuleHeader.PopulateSystemTable = False\r
             UefiCapsuleHeader.InitiateReset       = 'InitiateReset'       in args.CapsuleFlag\r
             UefiCapsuleHeader.Payload             = Result\r
             Result = UefiCapsuleHeader.Encode ()\r