]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenPcdDb.py
BaseTools: fix imports
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenPcdDb.py
index c90b814e7dbd88e876171eb9946410176c969881..a9068d2d7a8674d5b975713b1c97e41c4ee7001a 100644 (file)
 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
+from __future__ import absolute_import\r
 from io import BytesIO\r
 from Common.Misc import *\r
 from Common.StringUtils import StringToArray\r
 from struct import pack\r
-from ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER\r
-from ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB\r
-from ValidCheckingInfoObject import GetValidationObject\r
+from .ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER\r
+from .ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB\r
+from .ValidCheckingInfoObject import GetValidationObject\r
 from Common.VariableAttributes import VariableAttributes\r
 import copy\r
 from struct import unpack\r
 from Common.DataType import *\r
+from Common import GlobalData\r
+from Common import EdkLogger\r
+import Common.LongFilePathOs as os\r
 \r
 DATABASE_VERSION = 7\r
 \r
@@ -937,7 +941,7 @@ def NewCreatePcdDatabasePhaseSpecificAutoGen(Platform, Phase):
         new_pcd = copy.deepcopy(pcd)\r
         new_pcd.SkuInfoList = {skuname:pcd.SkuInfoList[skuname]}\r
         new_pcd.isinit = 'INIT'\r
-        if new_pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+        if new_pcd.DatumType in TAB_PCD_NUMERIC_TYPES:\r
             for skuobj in pcd.SkuInfoList.values():\r
                 if skuobj.DefaultValue:\r
                     defaultvalue = int(skuobj.DefaultValue, 16) if skuobj.DefaultValue.upper().startswith("0X") else int(skuobj.DefaultValue, 10)\r
@@ -1183,6 +1187,12 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                 # and calculate the VariableHeadStringIndex\r
 \r
                 VariableNameStructure = StringToArray(Sku.VariableName)\r
+\r
+                #  Make pointer of VaraibleName(HII PCD) 2 bytes aligned\r
+                VariableNameStructureBytes = VariableNameStructure.lstrip("{").rstrip("}").split(",")\r
+                if len(VariableNameStructureBytes) % 2:\r
+                    VariableNameStructure = "{%s,0x00}" % ",".join(VariableNameStructureBytes)\r
+\r
                 if VariableNameStructure not in Dict['STRING_TABLE_VALUE']:\r
                     Dict['STRING_TABLE_CNAME'].append(CName)\r
                     Dict['STRING_TABLE_GUID'].append(TokenSpaceGuid)\r