[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 03/19] i386: always fill Hyper-V CPUID feature leaves from
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH v6 03/19] i386: always fill Hyper-V CPUID feature leaves from X86CPU data |
Date: |
Fri, 30 Apr 2021 19:15:57 -0400 |
On Thu, Apr 22, 2021 at 06:11:14PM +0200, Vitaly Kuznetsov wrote:
> We have all the required data in X86CPU already and as we are about to
> split hyperv_handle_properties() into hyperv_expand_features()/
> hyperv_fill_cpuids() we can remove the blind copy. The functional change
> is that QEMU won't pass CPUID leaves it doesn't currently know about
> to the guest but arguably this is a good change.
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
This makes hv-passthrough less useful for debugging and
development, but safer for using in production. I assume we want
to eventually make hv-passthrough supported in production when
live migration support isn't required.
I'll trust your judgement here and assume this is really a good
change, but maybe this should be documented more explicitly in
the hv-passthrough section at docs/hyperv.txt?
Anyway:
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> target/i386/kvm/kvm.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
> index afd173514da1..7c751185491f 100644
> --- a/target/i386/kvm/kvm.c
> +++ b/target/i386/kvm/kvm.c
> @@ -1207,9 +1207,6 @@ static int hyperv_handle_properties(CPUState *cs,
> }
>
> if (cpu->hyperv_passthrough) {
> - memcpy(cpuid_ent, &cpuid->entries[0],
> - cpuid->nent * sizeof(cpuid->entries[0]));
> -
> c = cpuid_find_entry(cpuid, HV_CPUID_VENDOR_AND_MAX_FUNCTIONS, 0);
> if (c) {
> cpu->hyperv_vendor_id[0] = c->ebx;
> @@ -1309,12 +1306,6 @@ static int hyperv_handle_properties(CPUState *cs,
> goto free;
> }
>
> - if (cpu->hyperv_passthrough) {
> - /* We already copied all feature words from KVM as is */
> - r = cpuid->nent;
> - goto free;
> - }
> -
> c = &cpuid_ent[cpuid_i++];
> c->function = HV_CPUID_VENDOR_AND_MAX_FUNCTIONS;
> c->eax = hyperv_feat_enabled(cpu, HYPERV_FEAT_EVMCS) ?
> --
> 2.30.2
>
--
Eduardo
- [PATCH v6 00/19] i386: KVM: expand Hyper-V features early, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 01/19] i386: keep hyperv_vendor string up-to-date, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 03/19] i386: always fill Hyper-V CPUID feature leaves from X86CPU data, Vitaly Kuznetsov, 2021/04/22
- Re: [PATCH v6 03/19] i386: always fill Hyper-V CPUID feature leaves from X86CPU data,
Eduardo Habkost <=
- [PATCH v6 02/19] i386: invert hyperv_spinlock_attempts setting logic with hv_passthrough, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 04/19] i386: stop using env->features[] for filling Hyper-V CPUIDs, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 06/19] i386: introduce hv_cpuid_get_host(), Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 05/19] i386: introduce hyperv_feature_supported(), Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 07/19] i386: drop FEAT_HYPERV feature leaves, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 08/19] i386: introduce hv_cpuid_cache, Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 11/19] i386: switch hyperv_expand_features() to using error_setg(), Vitaly Kuznetsov, 2021/04/22
- [PATCH v6 09/19] i386: split hyperv_handle_properties() into hyperv_expand_features()/hyperv_fill_cpuids(), Vitaly Kuznetsov, 2021/04/22