acrn-config: set DRHDx_IGNORE while no DEV_SCOPE in DRHD

Set the DRHDx_IGNORE to false even there is no DEV_SCOPE under this
DRHD.

Tracked-On: #3854
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
Wei Liu 2019-12-12 08:46:01 +08:00 committed by wenlingz
parent 12a9bc29df
commit 13d6b69d65
2 changed files with 3 additions and 4 deletions

View File

@ -63,8 +63,7 @@ def gen_dmar_structure(config):
print("\t\t.segment = DRHD{}_SEGMENT,".format(i_drhd_cnt), file=config)
print("\t\t.flags = DRHD{}_FLAGS,".format(i_drhd_cnt), file=config)
print("\t\t.reg_base_addr = DRHD{}_REG_BASE,".format(i_drhd_cnt), file=config)
if dev_cnt != 0:
print("\t\t.ignore = DRHD{}_IGNORE,".format(i_drhd_cnt), file=config)
print("\t\t.ignore = DRHD{}_IGNORE,".format(i_drhd_cnt), file=config)
print("\t\t.devices = drhd{}_dev_scope".format(i_drhd_cnt), file=config)
print("\t},", file=config)

View File

@ -244,6 +244,8 @@ def walk_pci_bus(tmp_pdf, dmar_tbl, dmar_hw_list, drhd_cnt):
:param dmar_hw_list: it is a class to describe hardware scope in DMAR table
:param drhd_cnt: it is a counter to calculate the DRHD in DMAR table
"""
# initialize DRHDx_IGNORE to false
dmar_hw_list.hw_ignore[drhd_cnt] = 'false'
# path offset is in end of device spcope
dmar_tbl.path_offset = dmar_tbl.dev_scope_offset + ctypes.sizeof(DmarDevScope)
n_cnt = (dmar_tbl.dmar_dev_scope.scope_length - ctypes.sizeof(DmarDevScope)) // 2
@ -259,8 +261,6 @@ def walk_pci_bus(tmp_pdf, dmar_tbl, dmar_hw_list, drhd_cnt):
if ((dmar_tbl.dmar_drhd.segment << 16) | (
dmar_tbl.dmar_dev_scope.bus << 8) | tmp_pdf.path) == CONFIG_GPU_SBDF:
dmar_hw_list.hw_ignore[drhd_cnt] = 'true'
else:
dmar_hw_list.hw_ignore[drhd_cnt] = 'false'
dmar_tbl.path_offset += ctypes.sizeof(DevScopePath)
n_cnt -= 1