From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 1/2] KVM: Unconditionally export KVM_CAP_READONLY_MEM Date: Tue, 26 Aug 2014 14:30:52 +0200 Message-ID: <53FC7DFC.1050800@redhat.com> References: <1409054438-14293-1-git-send-email-christoffer.dall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Cc: Gleb Natapov To: Christoffer Dall , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:4498 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754695AbaHZMa6 (ORCPT ); Tue, 26 Aug 2014 08:30:58 -0400 In-Reply-To: <1409054438-14293-1-git-send-email-christoffer.dall@linaro.org> Sender: kvm-owner@vger.kernel.org List-ID: Il 26/08/2014 14:00, Christoffer Dall ha scritto: > The idea between capabilities and the KVM_CHECK_EXTENSION ioctl is that > userspace can, at run-time, determine if a feature is supported or not. > This allows KVM to being supporting a new feature with a new kernel > version without any need to update user space. Unfortunately, since the > definition of KVM_CAP_READONLY_MEM was guarded by #ifdef > __KVM_HAVE_READONLY_MEM, such discovery still required a user space > update. > > Therefore, unconditionally export KVM_CAP_READONLY_MEM and change the > in-kernel conditional to rely on __KVM_HAVE_READONLY_MEM. > > Signed-off-by: Christoffer Dall > --- > include/uapi/linux/kvm.h | 2 -- > virt/kvm/kvm_main.c | 2 +- > 2 files changed, 1 insertion(+), 3 deletions(-) > > diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h > index cf3a2ff..90d3eda 100644 > --- a/include/uapi/linux/kvm.h > +++ b/include/uapi/linux/kvm.h > @@ -738,9 +738,7 @@ struct kvm_ppc_smmu_info { > #define KVM_CAP_PPC_GET_SMMU_INFO 78 > #define KVM_CAP_S390_COW 79 > #define KVM_CAP_PPC_ALLOC_HTAB 80 > -#ifdef __KVM_HAVE_READONLY_MEM > #define KVM_CAP_READONLY_MEM 81 > -#endif > #define KVM_CAP_IRQFD_RESAMPLE 82 > #define KVM_CAP_PPC_BOOKE_WATCHDOG 83 > #define KVM_CAP_PPC_HTAB_FD 84 > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 5a0817e..1d03967 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -708,7 +708,7 @@ static int check_memory_region_flags(struct kvm_userspace_memory_region *mem) > { > u32 valid_flags = KVM_MEM_LOG_DIRTY_PAGES; > > -#ifdef KVM_CAP_READONLY_MEM > +#ifdef __KVM_HAVE_READONLY_MEM > valid_flags |= KVM_MEM_READONLY; > #endif > > Thanks, applying both. Next time please include a cover letter. :) Paolo