From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48790) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WXt1t-0001qy-Sr for qemu-devel@nongnu.org; Wed, 09 Apr 2014 09:59:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WXt1m-0007lO-0Y for qemu-devel@nongnu.org; Wed, 09 Apr 2014 09:59:05 -0400 Received: from cantor2.suse.de ([195.135.220.15]:47418 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WXt1l-0007l9-Q2 for qemu-devel@nongnu.org; Wed, 09 Apr 2014 09:58:57 -0400 Message-ID: <5345521F.20402@suse.de> Date: Wed, 09 Apr 2014 15:58:55 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1397043298-25755-1-git-send-email-cornelia.huck@de.ibm.com> <1397043298-25755-3-git-send-email-cornelia.huck@de.ibm.com> In-Reply-To: <1397043298-25755-3-git-send-email-cornelia.huck@de.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 2/5] kvm: add kvm_enable_cap_{vm,vcpu} List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cornelia Huck , qemu-devel@nongnu.org Cc: gleb@kernel.org, borntraeger@de.ibm.com, pbonzini@redhat.com On 09.04.14 13:34, Cornelia Huck wrote: > Provide helper functions for enabling capabilities (on a vcpu and on a vm). > > Reviewed-by: Thomas Huth > Signed-off-by: Cornelia Huck I think it makes sense to convert all ENABLE_CAP callers of the code base to this helper as well. Once you do that, you'll realize that we may want to have additional argument parameters ;). Alex > --- > include/sysemu/kvm.h | 4 ++++ > kvm-all.c | 19 ++++++++++++++++++- > 2 files changed, 22 insertions(+), 1 deletion(-) > > diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h > index 0bee1e8..d89911c 100644 > --- a/include/sysemu/kvm.h > +++ b/include/sysemu/kvm.h > @@ -294,6 +294,10 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cpu); > > int kvm_check_extension(KVMState *s, unsigned int extension); > > +int kvm_enable_cap_vm(KVMState *s, unsigned int capability); > + > +int kvm_enable_cap_vcpu(CPUState *cpu, unsigned int capability); > + > uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function, > uint32_t index, int reg); > > diff --git a/kvm-all.c b/kvm-all.c > index cd4111d..c32eeff 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -501,7 +501,24 @@ int kvm_check_extension(KVMState *s, unsigned int extension) > return ret; > } > > -static int kvm_set_ioeventfd_mmio(int fd, hwaddr addr, uint32_t val, > +int kvm_enable_cap_vm(KVMState *s, unsigned int capability) > +{ > + struct kvm_enable_cap cap = {}; > + > + cap.cap = capability; > + return kvm_vm_ioctl(s, KVM_ENABLE_CAP, &cap); > +} > + > +int kvm_enable_cap_vcpu(CPUState *cpu, unsigned int capability) > +{ > + struct kvm_enable_cap cap = {}; > + > + cap.cap = capability; > + return kvm_vcpu_ioctl(cpu, KVM_ENABLE_CAP, &cap); > +} > + > + > +static int kvm_set_ioeventfd_mmio(int fd, uint32_t addr, uint32_t val, > bool assign, uint32_t size, bool datamatch) > { > int ret;