x86, apicv: add virtual x2apic support
authorYang Zhang <yang.z.zhang@Intel.com>
Fri, 25 Jan 2013 02:18:50 +0000 (10:18 +0800)
committerGleb Natapov <gleb@redhat.com>
Tue, 29 Jan 2013 08:48:06 +0000 (10:48 +0200)
commit8d14695f9542e9e0195d6e41ddaa52c32322adf5
tree30d723f19e2c13881f073280d6a3476549d15f83
parent83d4c286931c9d28c5be21bac3c73a2332cab681
x86, apicv: add virtual x2apic support

basically to benefit from apicv, we need to enable virtualized x2apic mode.
Currently, we only enable it when guest is really using x2apic.

Also, clear MSR bitmap for corresponding x2apic MSRs when guest enabled x2apic:
0x800 - 0x8ff: no read intercept for apicv register virtualization,
               except APIC ID and TMCCT which need software's assistance to
               get right value.

Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/include/asm/vmx.h
arch/x86/kvm/lapic.c
arch/x86/kvm/lapic.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c