diff --git a/misc/config_tools/board_config/board_c.py b/misc/config_tools/board_config/board_c.py index 655cfc6c4..c1ce14e29 100644 --- a/misc/config_tools/board_config/board_c.py +++ b/misc/config_tools/board_config/board_c.py @@ -408,8 +408,14 @@ def gen_px_cx(config): def gen_pci_hide(config): """Generate hide pci information for this platform""" + + scenario_etree = lxml.etree.parse(common.SCENARIO_INFO_FILE) + hidden_pdev_list = [x.replace('.', ':') for x in scenario_etree.xpath(f"//HIDDEN_PDEV/text()")] + if board_cfg_lib.BOARD_NAME in list(board_cfg_lib.KNOWN_HIDDEN_PDEVS_BOARD_DB.keys()) and board_cfg_lib.KNOWN_HIDDEN_PDEVS_BOARD_DB[board_cfg_lib.BOARD_NAME] != 0: - hidden_pdev_list = board_cfg_lib.KNOWN_HIDDEN_PDEVS_BOARD_DB[board_cfg_lib.BOARD_NAME] + hidden_pdev_list += board_cfg_lib.KNOWN_HIDDEN_PDEVS_BOARD_DB[board_cfg_lib.BOARD_NAME] + scenario_pdev_list + + if len(hidden_pdev_list) > 0: hidden_pdev_num = len(hidden_pdev_list) print("const union pci_bdf plat_hidden_pdevs[MAX_HIDDEN_PDEVS_NUM] = {", file=config) for hidden_pdev_i in range(hidden_pdev_num): diff --git a/misc/config_tools/schema/VMtypes.xsd b/misc/config_tools/schema/VMtypes.xsd index ce4ef09be..4ced8e02d 100644 --- a/misc/config_tools/schema/VMtypes.xsd +++ b/misc/config_tools/schema/VMtypes.xsd @@ -272,6 +272,16 @@ The size is a subset of the VM's total memory size specified on the Basic tab. + + + + + Specify the hidden device vBDF + + + + + diff --git a/misc/config_tools/schema/checks/vbdf_assignment.xsd b/misc/config_tools/schema/checks/vbdf_assignment.xsd index c151c2fed..c17f93f63 100644 --- a/misc/config_tools/schema/checks/vbdf_assignment.xsd +++ b/misc/config_tools/schema/checks/vbdf_assignment.xsd @@ -24,4 +24,11 @@ + + + Can't passthrough P2SB to VM {/acrn-config//vm[./load_order/text() = 'PRE_LAUNCHED_VM' and .//p2sb/text() = 'y']/name/text()} because '00:1f.1' is set as a hidden device". + + + diff --git a/misc/config_tools/schema/config.xsd b/misc/config_tools/schema/config.xsd index 2bb5a4fb8..d75971524 100644 --- a/misc/config_tools/schema/config.xsd +++ b/misc/config_tools/schema/config.xsd @@ -304,6 +304,13 @@ Refer to :ref:`vuart_config` for detailed vUART settings. Miscellaneous options for workarounds. + + + + Specify the hidden devices. + + + Specify the cache setting. diff --git a/misc/config_tools/xforms/lib.xsl b/misc/config_tools/xforms/lib.xsl index 2fdad6b37..8974cc16a 100644 --- a/misc/config_tools/xforms/lib.xsl +++ b/misc/config_tools/xforms/lib.xsl @@ -375,6 +375,9 @@ + + +