Enhance the tool
When BOARD_PKG_NAME_OVERRIDE is configured, the tool will firstly search from BOARD_PKG_NAME_OVERRIDE, then search BOARD_PKG_NAME for dlt and vbt files. It also uses BOARD_PKG_NAME_OVERRIDE for the VerInfo file. Signed-off-by: Guo Dong <guo.dong@intel.com>
This commit is contained in:
parent
e3cc5cacac
commit
d0fac9b442
|
@ -532,7 +532,7 @@ def gen_flash_map_bin (flash_map_file, comp_list):
|
|||
def copy_expanded_file (src, dst):
|
||||
gen_cfg_data ("GENDLT", src, dst)
|
||||
|
||||
def gen_config_file (fv_dir, brd_name, platform_id, pri_key, cfg_db_size, cfg_size, cfg_int, cfg_ext, sign_scheme, hash_type, svn):
|
||||
def gen_config_file (fv_dir, brd_name_override, brd_name, platform_id, pri_key, cfg_db_size, cfg_size, cfg_int, cfg_ext, sign_scheme, hash_type, svn):
|
||||
# Remove previous generated files
|
||||
for file in glob.glob(os.path.join(fv_dir, "CfgData*.*")):
|
||||
os.remove(file)
|
||||
|
@ -544,6 +544,8 @@ def gen_config_file (fv_dir, brd_name, platform_id, pri_key, cfg_db_size, cfg_si
|
|||
|
||||
# Generate CFG data
|
||||
brd_name_dir = os.path.join(os.environ['PLT_SOURCE'], 'Platform', brd_name)
|
||||
if not os.path.exists(brd_name_dir):
|
||||
brd_name_dir = os.path.join(os.environ['SBL_SOURCE'], 'Platform', brd_name)
|
||||
comm_brd_dir = os.path.join(os.environ['SBL_SOURCE'], 'Platform', 'CommonBoardPkg')
|
||||
brd_cfg_dir = os.path.join(brd_name_dir, 'CfgData')
|
||||
com_brd_cfg_dir = os.path.join(comm_brd_dir, 'CfgData')
|
||||
|
@ -558,6 +560,8 @@ def gen_config_file (fv_dir, brd_name, platform_id, pri_key, cfg_db_size, cfg_si
|
|||
cfg_bin_int_file = os.path.join(fv_dir, "CfgDataInt.bin") #_INT_CFG_DATA_FILE settings
|
||||
cfg_bin_ext_file = os.path.join(fv_dir, "CfgDataExt.bin") #_EXT_CFG_DATA_FILE settings
|
||||
cfg_comb_dsc_file = os.path.join(fv_dir, 'CfgDataDef.' + file_ext)
|
||||
if brd_name_override != '':
|
||||
brd_cfg2_dir = os.path.join(os.environ['PLT_SOURCE'], 'Platform', brd_name_override, 'CfgData')
|
||||
|
||||
# Generate parsed result into pickle file to improve performance
|
||||
if os.path.exists(cfg_dsc_dyn_file):
|
||||
|
@ -578,7 +582,13 @@ def gen_config_file (fv_dir, brd_name, platform_id, pri_key, cfg_db_size, cfg_si
|
|||
|
||||
cfg_bin_list = []
|
||||
for dlt_file in cfg_file_list:
|
||||
cfg_dlt_file = os.path.join(brd_cfg_dir, dlt_file)
|
||||
cfg_dlt_file = ''
|
||||
if brd_name_override != '':
|
||||
cfg_dlt_file = os.path.join(brd_cfg2_dir, dlt_file)
|
||||
|
||||
if cfg_dlt_file == '' or not os.path.exists(cfg_dlt_file):
|
||||
cfg_dlt_file = os.path.join(brd_cfg_dir, dlt_file)
|
||||
|
||||
if not os.path.exists(cfg_dlt_file):
|
||||
test_file = os.path.join(fv_dir, dlt_file)
|
||||
if os.path.exists(test_file):
|
||||
|
@ -625,7 +635,11 @@ def gen_config_file (fv_dir, brd_name, platform_id, pri_key, cfg_db_size, cfg_si
|
|||
# copy delta files
|
||||
dlt_list = cfg_int[1:] + cfg_ext
|
||||
for dlt_file in dlt_list:
|
||||
src_dlt_file = os.path.join (brd_cfg_dir, dlt_file)
|
||||
src_dlt_file = ''
|
||||
if brd_name_override != '':
|
||||
src_dlt_file = os.path.join(brd_cfg2_dir, dlt_file)
|
||||
if src_dlt_file == '' or not os.path.exists(src_dlt_file):
|
||||
src_dlt_file = os.path.join (brd_cfg_dir, dlt_file)
|
||||
if not os.path.exists(src_dlt_file):
|
||||
src_dlt_file = os.path.join (fv_dir, dlt_file)
|
||||
if not os.path.exists(src_dlt_file):
|
||||
|
|
|
@ -1199,6 +1199,8 @@ class Build(object):
|
|||
ver_info_name = 'VerInfo'
|
||||
ver_bin_file = os.path.join(self._fv_dir, ver_info_name + '.bin')
|
||||
ver_txt_file = os.path.join(os.environ['PLT_SOURCE'], 'Platform', self._board.BOARD_PKG_NAME, ver_info_name + '.txt')
|
||||
if hasattr(self._board, 'BOARD_PKG_NAME_OVERRIDE'):
|
||||
ver_txt_file = os.path.join(os.environ['PLT_SOURCE'], 'Platform', self._board.BOARD_PKG_NAME_OVERRIDE, ver_info_name + '.txt')
|
||||
|
||||
keys = ['VERINFO_IMAGE_ID', 'VERINFO_BUILD_DATE', 'VERINFO_PROJ_MINOR_VER',
|
||||
'VERINFO_PROJ_MAJOR_VER', 'VERINFO_CORE_MINOR_VER', 'VERINFO_CORE_MAJOR_VER',
|
||||
|
@ -1215,7 +1217,10 @@ class Build(object):
|
|||
|
||||
# create VBT file
|
||||
if self._board.HAVE_VBT_BIN:
|
||||
gen_vbt_file (self._board.BOARD_PKG_NAME, self._board._MULTI_VBT_FILE, os.path.join(self._fv_dir, 'Vbt.bin'))
|
||||
if hasattr(self._board, 'BOARD_PKG_NAME_OVERRIDE'):
|
||||
gen_vbt_file (self._board.BOARD_PKG_NAME_OVERRIDE, self._board._MULTI_VBT_FILE, os.path.join(self._fv_dir, 'Vbt.bin'))
|
||||
else:
|
||||
gen_vbt_file (self._board.BOARD_PKG_NAME, self._board._MULTI_VBT_FILE, os.path.join(self._fv_dir, 'Vbt.bin'))
|
||||
|
||||
# create platform include dsc file
|
||||
platform_dsc_path = os.path.join(sbl_dir, 'BootloaderCorePkg', 'Platform.dsc')
|
||||
|
@ -1237,7 +1242,8 @@ class Build(object):
|
|||
if self._board.CFGDATA_SIZE > 0:
|
||||
svn = self._board.CFGDATA_SVN
|
||||
# create config data files
|
||||
gen_config_file (self._fv_dir, self._board.BOARD_PKG_NAME, self._board._PLATFORM_ID,
|
||||
board_override_name = getattr(self._board, 'BOARD_PKG_NAME_OVERRIDE', '')
|
||||
gen_config_file (self._fv_dir, board_override_name, self._board.BOARD_PKG_NAME, self._board._PLATFORM_ID,
|
||||
self._board._CFGDATA_PRIVATE_KEY, self._board.CFG_DATABASE_SIZE, self._board.CFGDATA_SIZE,
|
||||
self._board._CFGDATA_INT_FILE, self._board._CFGDATA_EXT_FILE,
|
||||
self._board._SIGNING_SCHEME, HASH_VAL_STRING[self._board.SIGN_HASH_TYPE], svn)
|
||||
|
|
Loading…
Reference in New Issue