[libvirt] [Qemu-arm] [PATCH v6 2/4] arm: enhance kvm_arm_create_scratch_host_vcpu

Peter Xu peterx at redhat.com
Wed Mar 23 14:53:57 UTC 2016


On Wed, Mar 23, 2016 at 03:24:16PM +0300, Sergey Fedorov wrote:
> On 23/03/16 08:32, Peter Xu wrote:
> > diff --git a/target-arm/kvm.c b/target-arm/kvm.c
> > index 969ab0b..0a7f9a6 100644
> > --- a/target-arm/kvm.c
> > +++ b/target-arm/kvm.c
> > @@ -62,13 +62,17 @@ bool kvm_arm_create_scratch_host_vcpu(const uint32_t *cpus_to_try,
> >          goto err;
> >      }
> >  
> > +    if (!init) {
> > +        goto finish;
> > +    }
> > +
> >      ret = ioctl(vmfd, KVM_ARM_PREFERRED_TARGET, init);
> >      if (ret >= 0) {
> >          ret = ioctl(cpufd, KVM_ARM_VCPU_INIT, init);
> >          if (ret < 0) {
> >              goto err;
> >          }
> > -    } else {
> > +    } else if (cpus_to_try) {
> >          /* Old kernel which doesn't know about the
> >           * PREFERRED_TARGET ioctl: we know it will only support
> >           * creating one kind of guest CPU which is its preferred
> > @@ -85,8 +89,12 @@ bool kvm_arm_create_scratch_host_vcpu(const uint32_t *cpus_to_try,
> >          if (ret < 0) {
> >              goto err;
> >          }
> > +    } else {
> > +        /* Not providing cpus_to_try, do nothing. */
> > +        ;
> 
> I think it's probably not the best idea to skip CPU initialization here.
> I'd rather raise an error in such case. If we supplied non-NULL init
> argument then we need VCPU been initialized, don't we? If we pass NULL
> as init then we actually skip this code.

Though current we will never go into this else... I agree that we
should raise error if stepped into it.

Will fix. Thanks!

-- peterx




More information about the libvir-list mailing list