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
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
# 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