From 9ce9bf5339f8a5a9acfd77d9fbc70bb92a55dd6a Mon Sep 17 00:00:00 2001 From: Yonghong Zhu Date: Wed, 4 Jan 2017 10:40:54 +0800 Subject: BaseTools: not report error for the optional items in the FmpTokens in the FDF spec defined some optional items, eg: IMAGE_INDEX, HARDWARE_INSTANCE. but current tool report error if no such item is exist in the FDF file. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=293 Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- BaseTools/Source/Python/GenFds/FdfParser.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'BaseTools/Source/Python/GenFds/FdfParser.py') diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 2900283737..e1295f2ee7 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1,7 +1,7 @@ ## @file # parse FDF file # -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
# Copyright (c) 2015, Hewlett Packard Enterprise Development, L.P.
# # This program and the accompanying materials @@ -3239,13 +3239,10 @@ class FdfParser: if (FmpData.MonotonicCount and not FmpData.Certificate_Guid) or (not FmpData.MonotonicCount and FmpData.Certificate_Guid): EdkLogger.error("FdfParser", FORMAT_INVALID, "CERTIFICATE_GUID and MONOTONIC_COUNT must be work as a pair.") - # remove CERTIFICATE_GUID and MONOTONIC_COUNT from FmpKeyList, since these keys are optional - if 'CERTIFICATE_GUID' in FmpKeyList: - FmpKeyList.remove('CERTIFICATE_GUID') - if 'MONOTONIC_COUNT' in FmpKeyList: - FmpKeyList.remove('MONOTONIC_COUNT') - if FmpKeyList: - raise Warning("Missing keywords %s in FMP payload section." % ', '.join(FmpKeyList), self.FileName, self.CurrentLineNumber) + + # Only the IMAGE_TYPE_ID is required item + if FmpKeyList and 'IMAGE_TYPE_ID' in FmpKeyList: + raise Warning("Missing keywords IMAGE_TYPE_ID in FMP payload section.", self.FileName, self.CurrentLineNumber) # get the Image file and Vendor code file self.__GetFMPCapsuleData(FmpData) if not FmpData.ImageFile: -- cgit v1.2.3