if Vpd.MaxDatumSize == None or Vpd.MaxDatumSize == "":\r
Vpd.MaxDatumSize = VpdInfoFile._MAX_SIZE_TYPE[Vpd.DatumType]\r
else:\r
- EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, \r
- "Invalid DatumType %s for VPD PCD %s.%s" % (Vpd.DatumType, Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
+ if Vpd.MaxDatumSize <= 0:\r
+ EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID,\r
+ "Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
\r
if Vpd not in self._VpdArray.keys():\r
#\r
OutputBinFileName = os.path.join(OutputDir, "%s.bin" % BaseName)\r
\r
try:\r
- PopenObject = subprocess.Popen([ToolPath,\r
+ PopenObject = subprocess.Popen(' '.join([ToolPath,\r
'-o', OutputBinFileName, \r
'-m', OutputMapFileName,\r
'-q',\r
'-f',\r
- VpdFileName],\r
+ VpdFileName]),\r
stdout=subprocess.PIPE, \r
- stderr= subprocess.PIPE)\r
+ stderr= subprocess.PIPE,\r
+ shell=True)\r
except Exception, X:\r
EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData="%s" % (str(X)))\r
(out, error) = PopenObject.communicate()\r