KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive
authorWanpeng Li <wanpeng.li@hotmail.com>
Wed, 21 Sep 2016 23:43:25 +0000 (07:43 +0800)
committerRadim Krčmář <rkrcmar@redhat.com>
Thu, 22 Sep 2016 23:08:14 +0000 (01:08 +0200)
commitf6e90f9e0ee3df5010e7f378e669d6838b9a25bf
tree9053c7223a7e03ad5ad1abc3ba674749b0c6e501
parentc83b6d1594bfff8cdb95becb338b8fe9e3473c8d
KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive

I observed that kvmvapic(to optimize flexpriority=N or AMD) is used
to boost TPR access when testing kvm-unit-test/eventinj.flat tpr case
on my haswell desktop (w/ flexpriority, w/o APICv). Commit (8d14695f9542
x86, apicv: add virtual x2apic support) disable virtual x2apic mode
completely if w/o APICv, and the author also told me that windows guest
can't enter into x2apic mode when he developed the APICv feature several
years ago. However, it is not truth currently, Interrupt Remapping and
vIOMMU is added to qemu and the developers from Intel test windows 8 can
work in x2apic mode w/ Interrupt Remapping enabled recently.

This patch enables TPR shadow for virtual x2apic mode to boost
windows guest in x2apic mode even if w/o APICv.

Can pass the kvm-unit-test.

Suggested-by: Radim Krčmář <rkrcmar@redhat.com>
Suggested-by: Wincy Van <fanwenyi0529@gmail.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Wincy Van <fanwenyi0529@gmail.com>
Cc: Yang Zhang <yang.zhang.wz@gmail.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/vmx.c