qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH V4 5/6] target-arm: Common kvm_arm_vcpu_init


From: Peter Maydell
Subject: Re: [Qemu-devel] [RFC PATCH V4 5/6] target-arm: Common kvm_arm_vcpu_init() for KVM ARM and KVM ARM64
Date: Mon, 5 May 2014 11:44:55 +0100

On 5 May 2014 10:00, Pranavkumar Sawargaonkar <address@hidden> wrote:
> Introduce a common kvm_arm_vcpu_init() for doing KVM_ARM_VCPU_INIT
> ioctl in KVM ARM and KVM ARM64. This also helps us factor-out few
> common code lines from kvm_arch_init_vcpu() for KVM ARM/ARM64.
>
> Signed-off-by: Pranavkumar Sawargaonkar <address@hidden>
> Signed-off-by: Anup Patel <address@hidden>
> ---
>  target-arm/kvm.c     |   23 +++++++++++++++++++++++
>  target-arm/kvm32.c   |   18 +++---------------
>  target-arm/kvm64.c   |   22 ++++++++--------------
>  target-arm/kvm_arm.h |   14 ++++++++++++++
>  4 files changed, 48 insertions(+), 29 deletions(-)
>
> diff --git a/target-arm/kvm.c b/target-arm/kvm.c
> index 39202d7..55bc3a3 100644
> --- a/target-arm/kvm.c
> +++ b/target-arm/kvm.c
> @@ -27,6 +27,29 @@ const KVMCapabilityInfo kvm_arch_required_capabilities[] = 
> {
>      KVM_CAP_LAST_INFO
>  };
>
> +int kvm_arm_vcpu_init(CPUState *cs, uint32_t feature0_extra)
> +{
> +    ARMCPU *cpu = ARM_CPU(cs);
> +    struct kvm_vcpu_init init;
> +
> +    if (cpu->kvm_target == QEMU_KVM_ARM_TARGET_NONE) {
> +        fprintf(stderr, "KVM is not supported for this guest CPU type\n");
> +        return -EINVAL;
> +    }
> +
> +    init.target = cpu->kvm_target;
> +    memset(init.features, 0, sizeof(init.features));
> +    if (cpu->start_powered_off) {
> +        init.features[0] |= 1 << KVM_ARM_VCPU_POWER_OFF;
> +    }
> +    if (kvm_check_extension(cs->kvm_state, KVM_CAP_ARM_PSCI_0_2)) {
> +        init.features[0] |= 1 << KVM_ARM_VCPU_PSCI_0_2;
> +    }
> +    init.features[0] |= feature0_extra;
> +
> +    return kvm_vcpu_ioctl(cs, KVM_ARM_VCPU_INIT, &init);
> +}

I said back in the review comments for v2 of this series that we
didn't need to do all this just for reset. Put the features word in
cpu along with kvm_target:
http://patchwork.ozlabs.org/patch/335900/

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]