qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 1/1] cpu: report hyperv feature words through


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2 1/1] cpu: report hyperv feature words through qom
Date: Tue, 21 Jun 2016 14:00:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1

On 20/06/2016 17:29, Denis V. Lunev wrote:
> +static int hyperv_handle_properties(CPUState *cs)
> +{
> +    X86CPU *cpu = X86_CPU(cs);
> +    CPUX86State *env = &cpu->env;
> +
> +    if (cpu->hyperv_relaxed_timing) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_HYPERCALL_AVAILABLE;
> +    }
> +    if (cpu->hyperv_vapic) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_HYPERCALL_AVAILABLE;
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_APIC_ACCESS_AVAILABLE;
> +        has_msr_hv_vapic = true;
> +    }
> +    if (cpu->hyperv_time &&
> +            kvm_check_extension(cs->kvm_state, KVM_CAP_HYPERV_TIME) > 0) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_HYPERCALL_AVAILABLE;
> +        env->features[FEAT_HYPERV_EAX] |= 
> HV_X64_MSR_TIME_REF_COUNT_AVAILABLE;
> +        env->features[FEAT_HYPERV_EAX] |= 0x200;
> +        has_msr_hv_tsc = true;
> +    }
> +    if (cpu->hyperv_crash && has_msr_hv_crash) {
> +        env->features[FEAT_HYPERV_EDX] |= HV_X64_GUEST_CRASH_MSR_AVAILABLE;
> +    }
> +    if (cpu->hyperv_reset && has_msr_hv_reset) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_RESET_AVAILABLE;
> +    }
> +    if (cpu->hyperv_vpindex && has_msr_hv_vpindex) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_VP_INDEX_AVAILABLE;
> +    }
> +    if (cpu->hyperv_runtime && has_msr_hv_runtime) {
> +        env->features[FEAT_HYPERV_EAX] |= HV_X64_MSR_VP_RUNTIME_AVAILABLE;

Yay, thanks for this!

I'm curious if there's anything more you need to support "-cpu
...,hv_time,enforce", and have it fail if KVM_CAP_HYPERV_TIME is not
available.

Thanks,

Paolo



reply via email to

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