mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-09 08:56:55 +00:00
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> |
||
---|---|---|
.. | ||
arch/x86/asm | ||
common | ||
debug | ||
dm | ||
hw | ||
lib | ||
public |