예제 #1
0
    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))
예제 #2
0
파일: GenVpd.py 프로젝트: lersek/edk2
    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))