acrn-hypervisor/misc/acrn-config
Junjie Mao 2f6abbe752 acrn-config: add XSLT scripts to transform XMLs to config.[h|mk]
In order to remove Kconfig from the build process, acrn-config shall
transform XML configuration files to config.h and config.mk by itself. This
patch adds XSLT scripts that do the trick.

Unfortunately, the scenario XML file along is not sufficient to generate
config.h and config.mk, though. In addition to resource
allocation (i.e. allocating physical RAM for the hypervisor), the
transformation also need to do the following:

    1. Translate UART info in board XML into several configuration entries
       depending on the UART selected in the scenario XML.
    2. Use the MAX_MSIX_TABLE_NUM value in the board XML if the scenario
       XML does not specify it.

In order to use XSLT to transform both XMLs in one shot, a template is
provided to create another XML that includes (using XInclude) both board
and scenario XMLs as sub-nodes. It will be instantiated once the
transformations are integrated in the following patch.

v2:
 * Add `allocation.xml` to `unified.xml` to include the results from static
   allocation.
 * Use HV_RAM_START and HV_RAM_SIZE in allocation results if they are not
   explicitly specified in the scenario XML.

Tracked-On: #5644
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2021-01-20 17:58:00 +08:00
..
acpi_gen acrn-config: update function for xml.etree.ElementTree to compatible with python3.9 2020-12-08 15:47:01 +08:00
board_config acrn-config: add a script to generate config sources from XMLs 2021-01-20 17:58:00 +08:00
config_app acrn-config: update function for xml.etree.ElementTree to compatible with python3.9 2020-12-08 15:47:01 +08:00
hv_config acrn-config: remove PSRAM_PASSTHROUGH_PRE_RTVM and disable PSRAM config 2020-11-04 10:34:59 +08:00
kconfig HV: Make: enable build for new configs layout 2020-07-24 16:16:06 +08:00
launch_config acrn-config: remove hardcoded device in launch script 2020-12-02 13:45:57 +08:00
library acrn-config: add static allocators to rewrite scenario XMLs 2021-01-20 17:58:00 +08:00
scenario_config acrn-config: add a script to generate config sources from XMLs 2021-01-20 17:58:00 +08:00
static_allocators acrn-config: add static allocators to rewrite scenario XMLs 2021-01-20 17:58:00 +08:00
target acrn-config: enable tpm for hybird_rt on ehl 2020-12-04 14:57:20 +08:00
xforms acrn-config: add XSLT scripts to transform XMLs to config.[h|mk] 2021-01-20 17:58:00 +08:00
README acrn-config: update README for acrn-config 2019-09-23 20:55:09 +08:00
xmls acrn-config: refactor xmls/samples folder for acrn-config 2020-07-28 10:46:27 +08:00

folder structure

	Kconfig		: Select working scenario and target board, configure ACRN hypervisor capabilities and features.
	target		: Get target board information under native Linux environment and generate board_info XML.
	board_config	: Parse board_info XML and scenario XML to generate board related configuration files under misc/acrn-config/xmls/board-xmls/ folder.
	scenario_config	: Parse board_info XML and scenario XML to generate scenario based VM configuration files under misc/acrn-config/xmls/config-xmls/$(BOARD)/ folder.
	launch_config	: Parse board_info XML, scenario XML and devicemodel param XML to generate launch script for post-launched vm under misc/acrn-config/xmls/config-xmls/$(BOARD)/ folder.
	library		: The folder stores shared software modules or libs for acrn-config offline tool.