acrn-hypervisor/misc/config_tools
dongshen 368f158b46 hv/config-tools: add the support for vCAT
Add the VCAT_ENABLED element to RDTType so that user can enable/disable vCAT globally

Add the GUEST_FLAG_VCAT_ENABLED guest flag to enable/disable vCAT per-VM.

  Currently we have the following per-VM clos element in scenario file for RDT use:
    <clos>
      <vcpu_clos>0</vcpu_clos>
      <vcpu_clos>0</vcpu_clos>
    </clos>

  When the GUEST_FLAG_VCAT_ENABLED guest flag is not specified, clos is for RDT use,
  vcpu_clos is per-CPU and it configures each CPU in VMs to a desired CLOS ID.

  When the GUEST_FLAG_VCAT_ENABLED guest flag is specified, vCAT is enabled for this VM,
  clos is for vCAT use, vcpu_clos is not per-CPU anymore in this case, just a list of
  physical CLOSIDs (minimum 2) that are assigned to VMs for vCAT use. Each vcpu_clos
  will be mapped to a virtual CLOSID, the first vcpu_clos is mapped to virtual CLOSID
  0 and the second is mapped to virtual CLOSID 1, etc

Add xs:assert to prevent any problems with invalid configuration data for vCAT:

  If any GUEST_FLAG_VCAT_ENABLED guest flag is specified, both RDT_ENABLED and VCAT_ENABLED
  must be 'y'

  If VCAT_ENABLED is 'y', RDT_ENABLED must be 'y' and CDP_ENABLED must be 'n'

  For a vCAT VM, vcpu_clos cannot be set to CLOSID 0, CLOSID 0 is reserved to be used by hypervisor

  For a vCAT VM, number of clos/vcpu_clos elements must be greater than 1

  For a vCAT VM, each clos/vcpu_clos must be less than L2/L3 COS_MAX

  For a vCAT VM, its clos/vcpu_clos elements cannot contain duplicate values

  There should not be any CLOS IDs overlap between a vCAT VM and any other VMs

Tracked-On: #5917
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-10-26 11:48:27 +08:00
..
acpi_gen config_tools: add PnP uart and rtc for pre-launched VM 2021-10-25 13:35:09 +08:00
acpi_template/template config_tools: generate vDSDT according to allocated resources 2021-08-09 09:05:01 +08:00
board_config config-tools: remove the misc_cfg.h.py 2021-09-13 09:04:37 +08:00
board_inspector config_tools: skip remapping HW units with no devices under scope 2021-10-25 15:31:54 +08:00
config_app config_tools: fix the UI issue that fail to overwrite scenario file 2021-10-21 15:19:21 +08:00
data config_tools: remove HV_RAM_SIZE 2021-10-25 15:47:24 +08:00
hv_config config_tools: remove HV_RAM_SIZE 2021-10-25 15:47:24 +08:00
launch_config config_tool: remove "gpu" parameter when pass-thru IGD 2021-09-22 15:32:01 +08:00
library hv/config-tools: add the support for vCAT 2021-10-26 11:48:27 +08:00
scenario_config hv/config-tools: add the support for vCAT 2021-10-26 11:48:27 +08:00
schema hv/config-tools: add the support for vCAT 2021-10-26 11:48:27 +08:00
static_allocators config_tools: remove HV_RAM_SIZE 2021-10-25 15:47:24 +08:00
xforms hv/config-tools: add the support for vCAT 2021-10-26 11:48:27 +08:00
README config_tools: remove obsolete kconfig files 2021-08-09 09:25:02 +08:00

README

folder structure

	board_inspector	: 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.