[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v6 2/4] arm: enhance kvm_arm_create_scratch_host_v
From: |
Sergey Fedorov |
Subject: |
Re: [Qemu-arm] [PATCH v6 2/4] arm: enhance kvm_arm_create_scratch_host_vcpu |
Date: |
Wed, 23 Mar 2016 15:24:16 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
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.
Kind regards,
Sergey
> }
>
> +finish:
> fdarray[0] = kvmfd;
> fdarray[1] = vmfd;
> fdarray[2] = cpufd;
[Qemu-arm] [PATCH v6 4/4] arm: implement query-gic-capabilities, Peter Xu, 2016/03/23
Re: [Qemu-arm] [PATCH v6 0/4] ARM: add query-gic-capabilities SMP command, Peter Xu, 2016/03/23