[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: |
Rob Herring |
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 08:42:55 -0500 |
On Mon, May 5, 2014 at 6:42 AM, Pranavkumar Sawargaonkar
<address@hidden> wrote:
> Hi Peter,
>
> On 5 May 2014 16:14, Peter Maydell <address@hidden> wrote:
>> 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(-)
Rather than add this in 2 places, shouldn't this come after patch 5?
Rob
>>>
>>> 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/
>
> Sure, I will do it.
>
>>
>> thanks
>> -- PMM
> Thanks,
> Pranav