Message ID | 20231027182217.3615211-6-seanjc@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | KVM: guest_memfd() and per-page attributes | expand |
On 10/27/23 20:21, Sean Christopherson wrote: > Assert that both KVM_ARCH_WANT_MMU_NOTIFIER and CONFIG_MMU_NOTIFIER are > defined when KVM is enabled, and return '1' unconditionally for the > CONFIG_KVM_BOOK3S_HV_POSSIBLE=n path. All flavors of PPC support for KVM > select MMU_NOTIFIER, and KVM_ARCH_WANT_MMU_NOTIFIER is unconditionally > defined by arch/powerpc/include/asm/kvm_host.h. > > Effectively dropping use of KVM_ARCH_WANT_MMU_NOTIFIER will simplify a > future cleanup to turn KVM_ARCH_WANT_MMU_NOTIFIER into a Kconfig, i.e. > will allow combining all of the > > #if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER) > > checks into a single > > #ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER > > without having to worry about PPC's "bare" usage of > KVM_ARCH_WANT_MMU_NOTIFIER. > > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- > arch/powerpc/kvm/powerpc.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c > index 7197c8256668..b0a512ede764 100644 > --- a/arch/powerpc/kvm/powerpc.c > +++ b/arch/powerpc/kvm/powerpc.c > @@ -632,12 +632,13 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > break; > #endif > case KVM_CAP_SYNC_MMU: > +#if !defined(CONFIG_MMU_NOTIFIER) || !defined(KVM_ARCH_WANT_MMU_NOTIFIER) > + BUILD_BUG(); > +#endif > #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE > r = hv_enabled; > -#elif defined(KVM_ARCH_WANT_MMU_NOTIFIER) > - r = 1; > #else > - r = 0; > + r = 1; > #endif > break; > #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
On Fri, Oct 27, 2023 at 7:22 PM Sean Christopherson <seanjc@google.com> wrote: > > Assert that both KVM_ARCH_WANT_MMU_NOTIFIER and CONFIG_MMU_NOTIFIER are > defined when KVM is enabled, and return '1' unconditionally for the > CONFIG_KVM_BOOK3S_HV_POSSIBLE=n path. All flavors of PPC support for KVM > select MMU_NOTIFIER, and KVM_ARCH_WANT_MMU_NOTIFIER is unconditionally > defined by arch/powerpc/include/asm/kvm_host.h. > > Effectively dropping use of KVM_ARCH_WANT_MMU_NOTIFIER will simplify a > future cleanup to turn KVM_ARCH_WANT_MMU_NOTIFIER into a Kconfig, i.e. > will allow combining all of the > > #if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER) > > checks into a single > > #ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER > > without having to worry about PPC's "bare" usage of > KVM_ARCH_WANT_MMU_NOTIFIER. > > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- Reviewed-by: Fuad Tabba <tabba@google.com> Cheers, /fuad > arch/powerpc/kvm/powerpc.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c > index 7197c8256668..b0a512ede764 100644 > --- a/arch/powerpc/kvm/powerpc.c > +++ b/arch/powerpc/kvm/powerpc.c > @@ -632,12 +632,13 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > break; > #endif > case KVM_CAP_SYNC_MMU: > +#if !defined(CONFIG_MMU_NOTIFIER) || !defined(KVM_ARCH_WANT_MMU_NOTIFIER) > + BUILD_BUG(); > +#endif > #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE > r = hv_enabled; > -#elif defined(KVM_ARCH_WANT_MMU_NOTIFIER) > - r = 1; > #else > - r = 0; > + r = 1; > #endif > break; > #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE > -- > 2.42.0.820.g83a721a137-goog >
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 7197c8256668..b0a512ede764 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -632,12 +632,13 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) break; #endif case KVM_CAP_SYNC_MMU: +#if !defined(CONFIG_MMU_NOTIFIER) || !defined(KVM_ARCH_WANT_MMU_NOTIFIER) + BUILD_BUG(); +#endif #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE r = hv_enabled; -#elif defined(KVM_ARCH_WANT_MMU_NOTIFIER) - r = 1; #else - r = 0; + r = 1; #endif break; #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
Assert that both KVM_ARCH_WANT_MMU_NOTIFIER and CONFIG_MMU_NOTIFIER are defined when KVM is enabled, and return '1' unconditionally for the CONFIG_KVM_BOOK3S_HV_POSSIBLE=n path. All flavors of PPC support for KVM select MMU_NOTIFIER, and KVM_ARCH_WANT_MMU_NOTIFIER is unconditionally defined by arch/powerpc/include/asm/kvm_host.h. Effectively dropping use of KVM_ARCH_WANT_MMU_NOTIFIER will simplify a future cleanup to turn KVM_ARCH_WANT_MMU_NOTIFIER into a Kconfig, i.e. will allow combining all of the #if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER) checks into a single #ifdef CONFIG_KVM_GENERIC_MMU_NOTIFIER without having to worry about PPC's "bare" usage of KVM_ARCH_WANT_MMU_NOTIFIER. Signed-off-by: Sean Christopherson <seanjc@google.com> --- arch/powerpc/kvm/powerpc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)