Hi Peter, On 5 May 2014 16:14, Peter Maydell <peter.maydell@xxxxxxxxxx> wrote: > On 5 May 2014 10:00, Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx> 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 <pranavkumar@xxxxxxxxxx> >> Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxx> >> --- >> 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/ Sure, I will do it. > > thanks > -- PMM Thanks, Pranav _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm