* [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.