If there is no dynamic pcds, there should be DB header
in the Pcd DataBase.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
def CreatePcdDataBase(PcdDBData):\r
delta = {}\r
basedata = {}\r
def CreatePcdDataBase(PcdDBData):\r
delta = {}\r
basedata = {}\r
- if not PcdDBData:\r
- return ""\r
for skuname,skuid in PcdDBData:\r
if len(PcdDBData[(skuname,skuid)][1]) != len(PcdDBData[("DEFAULT","0")][1]):\r
EdkLogger.ERROR("The size of each sku in one pcd are not same")\r
for skuname,skuid in PcdDBData:\r
if len(PcdDBData[(skuname,skuid)][1]) != len(PcdDBData[("DEFAULT","0")][1]):\r
EdkLogger.ERROR("The size of each sku in one pcd are not same")\r
AdditionalAutoGenH, AdditionalAutoGenC = CreateAutoGen(PcdDriverAutoGenData)\r
else:\r
AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer,VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform,{}, Phase)\r
AdditionalAutoGenH, AdditionalAutoGenC = CreateAutoGen(PcdDriverAutoGenData)\r
else:\r
AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer,VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform,{}, Phase)\r
+ final_data = ()\r
+ for item in PcdDbBuffer:\r
+ final_data += unpack("B",item)\r
+ PcdDBData[("DEFAULT","0")] = (PcdDbBuffer, final_data)\r
- PcdDbBuffer = CreatePcdDataBase(PcdDBData)\r
- return AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer\r
+ return AdditionalAutoGenH, AdditionalAutoGenC, CreatePcdDataBase(PcdDBData)\r
## Create PCD database in DXE or PEI phase\r
#\r
# @param Platform The platform object\r
## Create PCD database in DXE or PEI phase\r
#\r
# @param Platform The platform object\r