kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/8] Refactor handling flow of KVM_SET_CPUID*
@ 2020-07-08  6:50 Xiaoyao Li
  2020-07-08  6:50 ` [PATCH v3 1/8] KVM: X86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails Xiaoyao Li
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Xiaoyao Li @ 2020-07-08  6:50 UTC (permalink / raw)
  To: Paolo Bonzini, Sean Christopherson, Jim Mattson
  Cc: kvm, linux-kernel, linux-doc, Jonathan Corbet, Vitaly Kuznetsov,
	Wanpeng Li, Joerg Roedel, Xiaoyao Li

This serial is the extended version of
https://lkml.kernel.org/r/20200528151927.14346-1-xiaoyao.li@intel.com

First two patches are bug fixing, and the others aim to refactor the flow
of SET_CPUID* as:

1. cpuid check: check if userspace provides legal CPUID settings;

2. cpuid update: Update some special CPUID bits based on current vcpu
                 state, e.g., OSXSAVE, OSPKE, ...

3. update vcpu model: Update vcpu model (settings) based on the final CPUID
                      settings. 

v3:
 - Add a note in KVM api doc to state the previous CPUID configuration
   is not reliable if current KVM_SET_CPUID* fails [Jim]
 - Adjust Patch 2 to reduce code churn [Sean]
 - Commit message refine to add more justification [Sean]
 - Add a new patch (7)

v2:
https://lkml.kernel.org/r/20200623115816.24132-1-xiaoyao.li@intel.com
 - rebase to kvm/queue: a037ff353ba6 ("Merge branch 'kvm-master' into HEAD")
 - change the name of kvm_update_state_based_on_cpuid() to
   kvm_update_vcpu_model() [Sean]
 - Add patch 5 to rename kvm_x86_ops.cpuid_date() to
   kvm_x86_ops.update_vcpu_model()

v1:
https://lkml.kernel.org/r/20200529085545.29242-1-xiaoyao.li@intel.com

Xiaoyao Li (8):
  KVM: X86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails
  KVM: X86: Go on updating other CPUID leaves when leaf 1 is absent
  KVM: X86: Introduce kvm_check_cpuid()
  KVM: X86: Split kvm_update_cpuid()
  KVM: X86: Rename cpuid_update() to update_vcpu_model()
  KVM: X86: Move kvm_x86_ops.update_vcpu_model() into
    kvm_update_vcpu_model()
  KVM: lapic: Use guest_cpuid_has() in kvm_apic_set_version()
  KVM: X86: Move kvm_apic_set_version() to kvm_update_vcpu_model()

 Documentation/virt/kvm/api.rst  |   4 ++
 arch/x86/include/asm/kvm_host.h |   2 +-
 arch/x86/kvm/cpuid.c            | 107 ++++++++++++++++++++------------
 arch/x86/kvm/cpuid.h            |   3 +-
 arch/x86/kvm/lapic.c            |   4 +-
 arch/x86/kvm/svm/svm.c          |   4 +-
 arch/x86/kvm/vmx/nested.c       |   2 +-
 arch/x86/kvm/vmx/vmx.c          |   4 +-
 arch/x86/kvm/x86.c              |   1 +
 9 files changed, 81 insertions(+), 50 deletions(-)

-- 
2.18.4


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-07-09  9:37 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-08  6:50 [PATCH v3 0/8] Refactor handling flow of KVM_SET_CPUID* Xiaoyao Li
2020-07-08  6:50 ` [PATCH v3 1/8] KVM: X86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails Xiaoyao Li
2020-07-08 12:00   ` Paolo Bonzini
2020-07-08  6:50 ` [PATCH v3 2/8] KVM: X86: Go on updating other CPUID leaves when leaf 1 is absent Xiaoyao Li
2020-07-08  6:50 ` [PATCH v3 3/8] KVM: X86: Introduce kvm_check_cpuid() Xiaoyao Li
2020-07-08 12:28   ` Xiaoyao Li
2020-07-08 12:43     ` Paolo Bonzini
2020-07-08  6:50 ` [PATCH v3 4/8] KVM: X86: Split kvm_update_cpuid() Xiaoyao Li
2020-07-08 12:06   ` Paolo Bonzini
2020-07-08 12:33     ` Xiaoyao Li
2020-07-08 12:41       ` Paolo Bonzini
2020-07-08 13:27         ` Xiaoyao Li
2020-07-08 13:30           ` Paolo Bonzini
2020-07-08  6:50 ` [PATCH v3 5/8] KVM: X86: Rename cpuid_update() to update_vcpu_model() Xiaoyao Li
2020-07-08 12:08   ` Paolo Bonzini
2020-07-08  6:50 ` [PATCH v3 6/8] KVM: X86: Move kvm_x86_ops.update_vcpu_model() into kvm_update_vcpu_model() Xiaoyao Li
2020-07-08  6:50 ` [PATCH v3 7/8] KVM: lapic: Use guest_cpuid_has() in kvm_apic_set_version() Xiaoyao Li
2020-07-08  6:50 ` [PATCH v3 8/8] KVM: X86: Move kvm_apic_set_version() to kvm_update_vcpu_model() Xiaoyao Li
2020-07-08 12:10 ` [PATCH v3 0/8] Refactor handling flow of KVM_SET_CPUID* Paolo Bonzini
2020-07-09  4:27   ` Xiaoyao Li
2020-07-09  9:37     ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).