[PATCH v3 0/4] KVM: VMX: enable LBR virtualization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With host CPU model SandyBridge while using guest CPU model
core2duo(addresses of MSRs recording last branch information
between these two CPUs are different), to read the contents of
LBR MSRs in the guest, but the result is not correct, the
reason is that these MSRs do not exist in the physical CPU.
The prerequisite to enable LBRV has changed in v3.

Changelog in v3:
1) The new implementation of VMX DEBUGCTLMSR is moved
   from x86.c to vmx.c
2) LBRV depends on two prerequisites:
     - guest CPU model
     - numbers and addresses of MSRs about LBR MUST be the same
       between the host and the guest
3) Tweak the CPU table

Changelog in v2:
1) Move the implementation into vmx.c
2) Migraton is supported
3) Add arrays in kvm_vcpu_arch struct to save/restore
   LBR MSRs at vm exit/entry time.
4) Add a parameter of kvm_intel module to permanently
   disable LBRV
5) Table of supported CPUs is reorgnized, LBRV
   can be enabled or not according to the guest CPUID

Jian Zhou (4):
  KVM: X86: Names and addresses of LBR MSRs
  KVM: X86: Add arrays to save/restore LBR MSRs
  KVM: X86: Implementation of DEBUGCTLMSR is moved
  KVM: VMX: Implementation of DEBUGCTLMSR and LBRV

 arch/x86/include/asm/kvm_host.h  |  22 ++-
 arch/x86/include/asm/msr-index.h |  26 ++-
 arch/x86/kvm/vmx.c               | 335 +++++++++++++++++++++++++++++++++++++++
 arch/x86/kvm/x86.c               |  24 ++-
 4 files changed, 384 insertions(+), 23 deletions(-)

--
1.7.12.4


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux