All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup()
@ 2022-11-09 11:59 Like Xu
  2022-11-09 17:32 ` Sean Christopherson
  2023-01-19 21:03 ` Sean Christopherson
  0 siblings, 2 replies; 3+ messages in thread
From: Like Xu @ 2022-11-09 11:59 UTC (permalink / raw)
  To: Sean Christopherson, Paolo Bonzini; +Cc: kvm, linux-kernel

From: Like Xu <likexu@tencent.com>

Even in commit 4bdec12aa8d6 ("KVM: SVM: Detect X2APIC virtualization
(x2AVIC) support"), where avic_hardware_setup() was first introduced,
its only pass-in parameter "struct kvm_x86_ops *ops" is not used at all.
Clean it up a bit to avoid compiler ranting from LLVM toolchain.

Signed-off-by: Like Xu <likexu@tencent.com>
---
 arch/x86/kvm/svm/avic.c | 2 +-
 arch/x86/kvm/svm/svm.c  | 2 +-
 arch/x86/kvm/svm/svm.h  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c
index cc651a3310b1..18283b8e954d 100644
--- a/arch/x86/kvm/svm/avic.c
+++ b/arch/x86/kvm/svm/avic.c
@@ -1161,7 +1161,7 @@ void avic_vcpu_unblocking(struct kvm_vcpu *vcpu)
  * - Hypervisor can support both xAVIC and x2AVIC in the same guest.
  * - The mode can be switched at run-time.
  */
-bool avic_hardware_setup(struct kvm_x86_ops *x86_ops)
+bool avic_hardware_setup(void)
 {
 	if (!npt_enabled)
 		return false;
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index c773bbf9b6cf..b81fe508b7b9 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -5038,7 +5038,7 @@ static __init int svm_hardware_setup(void)
 			nrips = false;
 	}
 
-	enable_apicv = avic = avic && avic_hardware_setup(&svm_x86_ops);
+	enable_apicv = avic = avic && avic_hardware_setup();
 
 	if (!enable_apicv) {
 		svm_x86_ops.vcpu_blocking = NULL;
diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h
index 9d940d8736f0..7f1e2c9ac920 100644
--- a/arch/x86/kvm/svm/svm.h
+++ b/arch/x86/kvm/svm/svm.h
@@ -427,7 +427,7 @@ extern struct kvm_x86_nested_ops svm_nested_ops;
 
 /* avic.c */
 
-bool avic_hardware_setup(struct kvm_x86_ops *ops);
+bool avic_hardware_setup(void);
 int avic_ga_log_notifier(u32 ga_tag);
 void avic_vm_destroy(struct kvm *kvm);
 int avic_vm_init(struct kvm *kvm);
-- 
2.38.1


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

* Re: [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup()
  2022-11-09 11:59 [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup() Like Xu
@ 2022-11-09 17:32 ` Sean Christopherson
  2023-01-19 21:03 ` Sean Christopherson
  1 sibling, 0 replies; 3+ messages in thread
From: Sean Christopherson @ 2022-11-09 17:32 UTC (permalink / raw)
  To: Like Xu; +Cc: Paolo Bonzini, kvm, linux-kernel, Maxim Levitsky

+Maxim

On Wed, Nov 09, 2022, Like Xu wrote:
> From: Like Xu <likexu@tencent.com>
> 
> Even in commit 4bdec12aa8d6 ("KVM: SVM: Detect X2APIC virtualization
> (x2AVIC) support"), where avic_hardware_setup() was first introduced,
> its only pass-in parameter "struct kvm_x86_ops *ops" is not used at all.

I assume the intent was to fill the AVIC ops so that they don't need to be exposed
outside of avic.c.  I like the idea in theory, but unlike vmx_nested_ops they
wouldn't be fully contained, which IMO would make the code as a whole more difficult
to follow.

Maxim, any objection?

> Clean it up a bit to avoid compiler ranting from LLVM toolchain.
> 
> Signed-off-by: Like Xu <likexu@tencent.com>
> ---

Reviewed-by: Sean Christopherson <seanjc@google.com>

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

* Re: [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup()
  2022-11-09 11:59 [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup() Like Xu
  2022-11-09 17:32 ` Sean Christopherson
@ 2023-01-19 21:03 ` Sean Christopherson
  1 sibling, 0 replies; 3+ messages in thread
From: Sean Christopherson @ 2023-01-19 21:03 UTC (permalink / raw)
  To: Sean Christopherson, Paolo Bonzini, Like Xu; +Cc: kvm, linux-kernel

On Wed, 09 Nov 2022 19:59:52 +0800, Like Xu wrote:
> Even in commit 4bdec12aa8d6 ("KVM: SVM: Detect X2APIC virtualization
> (x2AVIC) support"), where avic_hardware_setup() was first introduced,
> its only pass-in parameter "struct kvm_x86_ops *ops" is not used at all.
> Clean it up a bit to avoid compiler ranting from LLVM toolchain.
> 
> 

Applied to kvm-x86 svm, thanks!

[1/1] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup()
      https://github.com/kvm-x86/linux/commit/6e66dcbdfe90

--
https://github.com/kvm-x86/linux/tree/next
https://github.com/kvm-x86/linux/tree/fixes

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

end of thread, other threads:[~2023-01-19 21:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-09 11:59 [PATCH] KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup() Like Xu
2022-11-09 17:32 ` Sean Christopherson
2023-01-19 21:03 ` Sean Christopherson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.