Re: [edk2] [Patch] BaseTools: refactor the error for PCD value is negative or exceed max
Reviewed-by: Yonghong Zhu Best Regards, Zhu Yonghong -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Yonghong Zhu Sent: Saturday, September 29, 2018 11:08 AM To: edk2-devel@lists.01.org Cc: Gao, Liming Subject: [edk2] [Patch] BaseTools: refactor the error for PCD value is negative or exceed max From: zhijufan refactor the error handling for the PCD value that is negative or it exceed the max value. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan --- BaseTools/Source/Python/AutoGen/GenC.py | 57 - BaseTools/Source/Python/BPDG/GenVpd.py | 44 - BaseTools/Source/Python/Common/Misc.py | 4 +++ 3 files changed, 30 insertions(+), 75 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index f455f83..09626d0 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -1013,54 +1013,23 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd): ValueNumber = int (Value, 0) except: EdkLogger.error("build", AUTOGEN_ERROR, "PCD value is not valid dec or hex number for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), ExtraData="[%s]" % str(Info)) -if Pcd.DatumType == TAB_UINT64: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('ULL'): -Value += 'ULL' -elif Pcd.DatumType == TAB_UINT32: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' -elif Pcd.DatumType == TAB_UINT16: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' -elif Pcd.DatumType == TAB_UINT8: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x100: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' +if ValueNumber < 0: +EdkLogger.error("build", AUTOGEN_ERROR, +"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), +ExtraData="[%s]" % str(Info)) +elif ValueNumber > MAX_VAL_TYPE[Pcd.DatumType]:
[edk2] [Patch] BaseTools: refactor the error for PCD value is negative or exceed max
From: zhijufan refactor the error handling for the PCD value that is negative or it exceed the max value. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan --- BaseTools/Source/Python/AutoGen/GenC.py | 57 - BaseTools/Source/Python/BPDG/GenVpd.py | 44 - BaseTools/Source/Python/Common/Misc.py | 4 +++ 3 files changed, 30 insertions(+), 75 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index f455f83..09626d0 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -1013,54 +1013,23 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd): ValueNumber = int (Value, 0) except: EdkLogger.error("build", AUTOGEN_ERROR, "PCD value is not valid dec or hex number for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), ExtraData="[%s]" % str(Info)) -if Pcd.DatumType == TAB_UINT64: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('ULL'): -Value += 'ULL' -elif Pcd.DatumType == TAB_UINT32: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' -elif Pcd.DatumType == TAB_UINT16: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x1: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' -elif Pcd.DatumType == TAB_UINT8: -if ValueNumber < 0: -EdkLogger.error("build", AUTOGEN_ERROR, -"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -elif ValueNumber >= 0x100: -EdkLogger.error("build", AUTOGEN_ERROR, -"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), -ExtraData="[%s]" % str(Info)) -if not Value.endswith('U'): -Value += 'U' +if ValueNumber < 0: +EdkLogger.error("build", AUTOGEN_ERROR, +"PCD can't be set to negative value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), +ExtraData="[%s]" % str(Info)) +elif ValueNumber > MAX_VAL_TYPE[Pcd.DatumType]: +EdkLogger.error("build", AUTOGEN_ERROR, +"Too large PCD value for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName), +ExtraData="[%s]" % str(Info)) +if Pcd.DatumType == TAB_UINT64 and not Value.endswith('ULL'): +