acrn-hypervisor/misc/config_tools/scenario_config
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
..
default_populator.py config_tools: populate default values to all nodes 2021-09-23 09:15:44 +08:00
ivshmem_cfg_h.py hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pci_dev_c.py hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pt_intx_c.py hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
README acrn-config: Reorg config tool folder 2021-01-27 11:08:28 +08:00
scenario_cfg_gen.py config-tool: rename PSRARM to SSRAM 2021-05-17 14:31:42 +08:00
scenario_item.py hv/config-tools: add the support for vCAT 2021-10-26 11:48:27 +08:00
vm_configurations_c.py HV: refine acrn_mmiodev data structure 2021-08-11 14:45:55 +08:00
vm_configurations_h.py acrn-config: Reorg config tool folder 2021-01-27 11:08:28 +08:00

Please run scenario_cfg_gen.py to generate board related configuration files.

usage: python3 scenario_cfg_gen.py [h] --board <board_info_file> --scenario <scenario_info_file>
positional arguments:
  board_info_file  : file name of the board info XML
  scenario_info_file  : file name of the scenario info XML