mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-25 06:51:49 +00:00
hv: vmcs: remove redundant check on vpid
ACRN relies on the capability of VPID to avoid EPT flushes during VMX transitions. This capability is checked as a must have hardware capability, otherwise, ACRN will refuse to boot. Also, the current code has already made sure each vpid for a virtual cpu is valid. So, no need to check the validity of vpid for vcpu and enable VPID for vCPU by default. Tracked-On: #4296 Signed-off-by: Binbin Wu <binbin.wu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
5f2c303a7e
commit
96331462b7
@ -292,19 +292,13 @@ static void init_exec_ctrl(struct acrn_vcpu *vcpu)
|
|||||||
pr_dbg("VMX_PROC_VM_EXEC_CONTROLS: 0x%x ", value32);
|
pr_dbg("VMX_PROC_VM_EXEC_CONTROLS: 0x%x ", value32);
|
||||||
|
|
||||||
/* Set up secondary processor based VM execution controls - pg 2901
|
/* Set up secondary processor based VM execution controls - pg 2901
|
||||||
* 24.6.2. Set up for: * Enable EPT * Enable RDTSCP * Unrestricted
|
* 24.6.2. Set up for: * Enable EPT * Eable VPID * Enable RDTSCP *
|
||||||
* guest (optional)
|
* Enable Unrestricted guest (optional)
|
||||||
*/
|
*/
|
||||||
value32 = check_vmx_ctrl(MSR_IA32_VMX_PROCBASED_CTLS2,
|
value32 = check_vmx_ctrl(MSR_IA32_VMX_PROCBASED_CTLS2,
|
||||||
VMX_PROCBASED_CTLS2_VAPIC | VMX_PROCBASED_CTLS2_EPT |
|
VMX_PROCBASED_CTLS2_VAPIC | VMX_PROCBASED_CTLS2_EPT |VMX_PROCBASED_CTLS2_VPID |
|
||||||
VMX_PROCBASED_CTLS2_RDTSCP | VMX_PROCBASED_CTLS2_UNRESTRICT);
|
VMX_PROCBASED_CTLS2_RDTSCP | VMX_PROCBASED_CTLS2_UNRESTRICT);
|
||||||
|
|
||||||
if (vcpu->arch.vpid != 0U) {
|
|
||||||
value32 |= VMX_PROCBASED_CTLS2_VPID;
|
|
||||||
} else {
|
|
||||||
value32 &= ~VMX_PROCBASED_CTLS2_VPID;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_apicv_advanced_feature_supported()) {
|
if (is_apicv_advanced_feature_supported()) {
|
||||||
value32 |= VMX_PROCBASED_CTLS2_VIRQ;
|
value32 |= VMX_PROCBASED_CTLS2_VIRQ;
|
||||||
value32 |= VMX_PROCBASED_CTLS2_VAPIC_REGS;
|
value32 |= VMX_PROCBASED_CTLS2_VAPIC_REGS;
|
||||||
|
Loading…
Reference in New Issue
Block a user