]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Scripts/BinToPcd.py
BaseTools/BinToPcd: --offset must be 8-byte aligned
[mirror_edk2.git] / BaseTools / Scripts / BinToPcd.py
index 7e3380190e4c5ea4af8f2bf813be7cb43fb4f023..54cb844d684c0ed9350c57d6ae73dd425c25ae3c 100644 (file)
@@ -89,7 +89,7 @@ if __name__ == '__main__':
   parser.add_argument("-m", "--max-size", dest = 'MaxSize', type = ValidateUnsignedInteger,\r
                       help = "Maximum size of the PCD.  Ignored with --type HII.")\r
   parser.add_argument("-f", "--offset", dest = 'Offset', type = ValidateUnsignedInteger,\r
-                      help = "VPD offset if --type is VPD.  UEFI Variable offset if --type is HII.")\r
+                      help = "VPD offset if --type is VPD.  UEFI Variable offset if --type is HII.  Must be 8-byte aligned.")\r
   parser.add_argument("-n", "--variable-name", dest = 'VariableName',\r
                       help = "UEFI variable name.  Only used with --type HII.")\r
   parser.add_argument("-g", "--variable-guid", type = ValidateGuidName, dest = 'VariableGuid',\r
@@ -178,6 +178,12 @@ if __name__ == '__main__':
       Pcd = '  %s|*|%d|%s' % (args.PcdName, args.MaxSize, PcdValue)\r
     else:\r
       #\r
+      # --offset value must be 8-byte aligned\r
+      #\r
+      if (args.Offset % 8) != 0:\r
+        print 'BinToPcd: error: argument --offset must be 8-byte aligned.'\r
+        sys.exit()\r
+      #\r
       # Use the --offset value provided.\r
       #\r
       Pcd = '  %s|%d|%d|%s' % (args.PcdName, args.Offset, args.MaxSize, PcdValue)\r
@@ -194,6 +200,12 @@ if __name__ == '__main__':
       # Use UEFI Variable offset of 0 if --offset is not provided\r
       #\r
       args.Offset = 0\r
+    #\r
+    # --offset value must be 8-byte aligned\r
+    #\r
+    if (args.Offset % 8) != 0:\r
+      print 'BinToPcd: error: argument --offset must be 8-byte aligned.'\r
+      sys.exit()\r
     Pcd = '  %s|L"%s"|%s|%d|%s' % (args.PcdName, args.VariableName, args.VariableGuid, args.Offset, PcdValue)\r
     if args.Verbose:\r
       print 'BinToPcd: Convert binary file to PCD statement compatible with PCD sections'\r