KVM: X86: Provide a capability to disable HLT intercepts
If host CPUs are dedicated to a VM, we can avoid VM exits on HLT. This patch adds the per-VM capability to disable them. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: Jan H. Schönherr <jschoenh@amazon.de> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:

committed by
Paolo Bonzini

parent
4d5422cea3
commit
caa057a2ca
@@ -1380,7 +1380,6 @@ static void init_vmcb(struct vcpu_svm *svm)
|
||||
set_intercept(svm, INTERCEPT_RDPMC);
|
||||
set_intercept(svm, INTERCEPT_CPUID);
|
||||
set_intercept(svm, INTERCEPT_INVD);
|
||||
set_intercept(svm, INTERCEPT_HLT);
|
||||
set_intercept(svm, INTERCEPT_INVLPG);
|
||||
set_intercept(svm, INTERCEPT_INVLPGA);
|
||||
set_intercept(svm, INTERCEPT_IOIO_PROT);
|
||||
@@ -1403,6 +1402,9 @@ static void init_vmcb(struct vcpu_svm *svm)
|
||||
set_intercept(svm, INTERCEPT_MWAIT);
|
||||
}
|
||||
|
||||
if (!kvm_hlt_in_guest(svm->vcpu.kvm))
|
||||
set_intercept(svm, INTERCEPT_HLT);
|
||||
|
||||
control->iopm_base_pa = __sme_set(iopm_base);
|
||||
control->msrpm_base_pa = __sme_set(__pa(svm->msrpm));
|
||||
control->int_ctl = V_INTR_MASKING_MASK;
|
||||
|
Reference in New Issue
Block a user