linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] kvm: x86: better handling of optional kvm_x86_ops
@ 2022-02-17 18:08 Paolo Bonzini
  2022-02-17 18:08 ` [PATCH v3 1/6] KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC Paolo Bonzini
                   ` (5 more replies)
  0 siblings, 6 replies; 27+ messages in thread
From: Paolo Bonzini @ 2022-02-17 18:08 UTC (permalink / raw)
  To: linux-kernel, kvm; +Cc: seanjc

This series is really two changes:

- patch 1 remove a kvm_x86_ops callback.

- patch 2 to 5 clean up optional kvm_x86_ops so that they are marked
  in kvm-x86-ops.h and the non-optional ones WARN if used incorrectly.
  As an additional outcome of the review, a few more uses of
  static_call_cond are introduced.

- patch 6 allows to NULL a few kvm_x86_ops that return a value, by
  using __static_call_ret0.

v1->v2:
- use KVM_X86_OP_OPTIONAL and KVM_X86_OP_OPTIONAL_RET0
- mark load_eoi_exitmap and set_virtual_apic_mode as optional
- fix module compilation of KVM

v2->v3:
- new patch 1 to remove .has_accelerated_tpr
- do not expand KVM_X86_OP_OPTIONAL in KVM_X86_OP
- cosmetic changes to comments

Paolo Bonzini (6):
  KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC
  KVM: x86: use static_call_cond for optional callbacks
  KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops
  KVM: x86: warn on incorrectly NULL members of kvm_x86_ops
  KVM: x86: make several AVIC callbacks optional
  KVM: x86: allow defining return-0 static calls

 arch/x86/include/asm/kvm-x86-ops.h | 104 +++++++++++++++--------------
 arch/x86/include/asm/kvm_host.h    |  14 ++--
 arch/x86/kvm/lapic.c               |  24 +++----
 arch/x86/kvm/svm/avic.c            |  23 -------
 arch/x86/kvm/svm/svm.c             |  30 ---------
 arch/x86/kvm/svm/svm.h             |   1 -
 arch/x86/kvm/vmx/vmx.c             |   6 --
 arch/x86/kvm/x86.c                 |  20 ++----
 kernel/static_call.c               |   1 +
 9 files changed, 81 insertions(+), 142 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2022-03-20 13:59 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-17 18:08 [PATCH v3 0/6] kvm: x86: better handling of optional kvm_x86_ops Paolo Bonzini
2022-02-17 18:08 ` [PATCH v3 1/6] KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC Paolo Bonzini
2022-02-18 15:44   ` Sean Christopherson
2022-02-23 13:21   ` Maxim Levitsky
2022-02-17 18:08 ` [PATCH v3 2/6] KVM: x86: use static_call_cond for optional callbacks Paolo Bonzini
2022-02-18 15:46   ` Sean Christopherson
2022-02-17 18:08 ` [PATCH v3 3/6] KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops Paolo Bonzini
2022-02-18 15:52   ` Sean Christopherson
2022-02-17 18:08 ` [PATCH v3 4/6] KVM: x86: warn on incorrectly NULL members of kvm_x86_ops Paolo Bonzini
2022-02-18 16:18   ` Sean Christopherson
2022-02-17 18:08 ` [PATCH v3 5/6] KVM: x86: make several AVIC callbacks optional Paolo Bonzini
2022-02-18 16:23   ` Sean Christopherson
2022-02-18 17:17     ` Paolo Bonzini
2022-02-18 17:37       ` Sean Christopherson
2022-02-18 17:41         ` Paolo Bonzini
2022-02-17 18:08 ` [PATCH v3 6/6] KVM: x86: allow defining return-0 static calls Paolo Bonzini
2022-02-18 16:29   ` Sean Christopherson
2022-02-18 17:20     ` Paolo Bonzini
2022-02-18 17:33       ` Sean Christopherson
2022-03-17 17:43   ` Maxim Levitsky
2022-03-17 22:30     ` David Laight
2022-03-18 16:29     ` Paolo Bonzini
2022-03-18 17:28       ` Peter Zijlstra
2022-03-18 17:47         ` Peter Zijlstra
2022-03-18 18:02           ` Peter Zijlstra
2022-03-18 23:03             ` David Laight
2022-03-20 13:58       ` Maxim Levitsky

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).