config_tool: add MAX_PCI_BUS_NUM in UI
Add MAX_PCI_BUS_NUM in UI for user. If user defined MAX_PCI_BUS_NUM is greater than the value calculated by board.xml, use user defined MAX_PCI_BUS_NUM. Tracked-On: #8018 Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
parent
a7edf92ae4
commit
32bc596129
|
@ -172,6 +172,11 @@ If your VM is not a security VM, leave this option unchecked. </xs:documentation
|
|||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_PCI_BUS_NUM" type="xs:integer" default="0">
|
||||
<xs:annotation acrn:views="">
|
||||
<xs:documentation>Specify the maximum number of PCI buses. The default value is calculated from the board configuration file. Integer from 1 to 256.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_PCI_DEV_NUM" default="96">
|
||||
<xs:annotation acrn:title="Max PCI devices" acrn:views="advanced">
|
||||
<xs:documentation>Specify the maximum number of PCI devices. This impacts the amount of memory used to maintain information about these PCI devices. The default value is calculated from the board configuration file. If you have PCI devices that were not detected by the Board Inspector, you may need to change this maximum value.</xs:documentation>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
import logging
|
||||
import common
|
||||
|
||||
def powerof2_roundup(value):
|
||||
|
@ -22,5 +22,14 @@ def create_max_ir_entries(scenario_etree, allocation_etree):
|
|||
|
||||
def fn(board_etree, scenario_etree, allocation_etree):
|
||||
pci_bus_nums = board_etree.xpath("//bus[@type='pci']/@address")
|
||||
common.append_node("/acrn-config/platform/MAX_PCI_BUS_NUM", hex(max(map(lambda x: int(x, 16), pci_bus_nums)) + 1), allocation_etree)
|
||||
calc_pci_bus_nums = (max(map(lambda x: int(x, 16), pci_bus_nums)) + 1)
|
||||
user_def_pci_bus_nums = common.get_node(f"//MAX_PCI_BUS_NUM/text()", scenario_etree)
|
||||
if user_def_pci_bus_nums == '0':
|
||||
common.append_node("/acrn-config/platform/MAX_PCI_BUS_NUM", hex(calc_pci_bus_nums), allocation_etree)
|
||||
else:
|
||||
if calc_pci_bus_nums > int(user_def_pci_bus_nums):
|
||||
logging.error(f"MAX_PCI_BUS_NUM should be greater than {calc_pci_bus_nums}")
|
||||
sys.exit(1)
|
||||
else:
|
||||
common.append_node("/acrn-config/platform/MAX_PCI_BUS_NUM", hex(int(user_def_pci_bus_nums)), allocation_etree)
|
||||
create_max_ir_entries(scenario_etree, allocation_etree)
|
||||
|
|
Loading…
Reference in New Issue