def _PackIntValue(self, IntValue, Size): if Size not in _FORMAT_CHAR: EdkLogger.error( "BPDG", BuildToolError.FORMAT_INVALID, "Invalid size %d for PCD %s in integer datum size(File: %s Line: %s)." % (Size, self.PcdCName, self.FileName, self.Lineno)) for Type, MaxSize in MAX_SIZE_TYPE.items(): if Type == 'BOOLEAN': continue if Size == MaxSize: if IntValue < 0: EdkLogger.error( "BPDG", BuildToolError.FORMAT_INVALID, "PCD can't be set to negative value %d for PCD %s in %s datum type(File: %s Line: %s)." % (IntValue, self.PcdCName, Type, self.FileName, self.Lineno)) elif IntValue > MAX_VAL_TYPE[Type]: EdkLogger.error( "BPDG", BuildToolError.FORMAT_INVALID, "Too large PCD value %d for datum type %s for PCD %s(File: %s Line: %s)." % (IntValue, Type, self.PcdCName, self.FileName, self.Lineno)) try: self.PcdValue = pack(_FORMAT_CHAR[Size], IntValue) except: EdkLogger.error( "BPDG", BuildToolError.FORMAT_INVALID, "Invalid size or value for PCD %s to pack(File: %s Line: %s)." % (self.PcdCName, self.FileName, self.Lineno))
def _PackIntValue(self, IntValue, Size): if Size not in _FORMAT_CHAR: EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "Invalid size %d for PCD %s in integer datum size(File: %s Line: %s)." % (Size, self.PcdCName, self.FileName, self.Lineno)) for Type, MaxSize in MAX_SIZE_TYPE.items(): if Type == 'BOOLEAN': continue if Size == MaxSize: if IntValue < 0: EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "PCD can't be set to negative value %d for PCD %s in %s datum type(File: %s Line: %s)." % ( IntValue, self.PcdCName, Type, self.FileName, self.Lineno)) elif IntValue > MAX_VAL_TYPE[Type]: EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "Too large PCD value %d for datum type %s for PCD %s(File: %s Line: %s)." % ( IntValue, Type, self.PcdCName, self.FileName, self.Lineno)) try: self.PcdValue = pack(_FORMAT_CHAR[Size], IntValue) except: EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "Invalid size or value for PCD %s to pack(File: %s Line: %s)." % (self.PcdCName, self.FileName, self.Lineno))