From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: Re: [PATCH 4/5] KVM: s390: Base infrastructure for enabling capabilities. Date: Mon, 10 Dec 2012 11:16:13 +0100 Message-ID: <20121210111613.4cab94c1@BR9GNB5Z> References: <1354883425-38531-1-git-send-email-cornelia.huck@de.ibm.com> <1354883425-38531-5-git-send-email-cornelia.huck@de.ibm.com> <5C533A6B-0742-48CE-A62C-0385D7AB999A@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5C533A6B-0742-48CE-A62C-0385D7AB999A@suse.de> Sender: kvm-owner@vger.kernel.org List-Archive: List-Post: To: Alexander Graf Cc: Marcelo Tosatti , Gleb Natapov , KVM , linux-s390 , Avi Kivity , Christian Borntraeger , Carsten Otte , Heiko Carstens , Martin Schwidefsky , Sebastian Ott List-ID: On Mon, 10 Dec 2012 08:54:45 +0100 Alexander Graf wrote: > Missing patch description. Otherwise: "Add base infrastructure for enabling capabilities" would be redundant, no? > > Acked-by: Alexander Graf > > > Alex > > On 07.12.2012, at 13:30, Cornelia Huck wrote: > > > Reviewed-by: Marcelo Tosatti > > Signed-off-by: Cornelia Huck > > --- > > Documentation/virtual/kvm/api.txt | 2 +- > > arch/s390/kvm/kvm-s390.c | 26 ++++++++++++++++++++++++++ > > 2 files changed, 27 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt > > index 8617339..bba630b 100644 > > --- a/Documentation/virtual/kvm/api.txt > > +++ b/Documentation/virtual/kvm/api.txt > > @@ -913,7 +913,7 @@ documentation when it pops into existence). > > 4.37 KVM_ENABLE_CAP > > > > Capability: KVM_CAP_ENABLE_CAP > > -Architectures: ppc > > +Architectures: ppc, s390 > > Type: vcpu ioctl > > Parameters: struct kvm_enable_cap (in) > > Returns: 0 on success; -1 on error > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > > index 731ddee..c015f6f 100644 > > --- a/arch/s390/kvm/kvm-s390.c > > +++ b/arch/s390/kvm/kvm-s390.c > > @@ -140,6 +140,7 @@ int kvm_dev_ioctl_check_extension(long ext) > > #endif > > case KVM_CAP_SYNC_REGS: > > case KVM_CAP_ONE_REG: > > + case KVM_CAP_ENABLE_CAP: > > r = 1; > > break; > > case KVM_CAP_NR_VCPUS: > > @@ -812,6 +813,22 @@ int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) > > return 0; > > } > > > > +static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu, > > + struct kvm_enable_cap *cap) > > +{ > > + int r; > > + > > + if (cap->flags) > > + return -EINVAL; > > + > > + switch (cap->cap) { > > + default: > > + r = -EINVAL; > > + break; > > + } > > + return r; > > +} > > + > > long kvm_arch_vcpu_ioctl(struct file *filp, > > unsigned int ioctl, unsigned long arg) > > { > > @@ -898,6 +915,15 @@ long kvm_arch_vcpu_ioctl(struct file *filp, > > r = 0; > > break; > > } > > + case KVM_ENABLE_CAP: > > + { > > + struct kvm_enable_cap cap; > > + r = -EFAULT; > > + if (copy_from_user(&cap, argp, sizeof(cap))) > > + break; > > + r = kvm_vcpu_ioctl_enable_cap(vcpu, &cap); > > + break; > > + } > > default: > > r = -ENOTTY; > > } > > -- > > 1.7.12.4 > > >