On Fri, Sep 04, 2020 at 04:54:21PM +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.
Is it, though? Maybe we don't want it to be the default, but a blind passthrough mode that copies all CPUID leaves would be useful for testing new features. > > Signed-off-by: Vitaly Kuznetsov <[email protected]> > --- > target/i386/kvm.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/target/i386/kvm.c b/target/i386/kvm.c > index 87b83a2aa2cb..b7f0e200a75f 100644 > --- a/target/i386/kvm.c > +++ b/target/i386/kvm.c > @@ -1221,9 +1221,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; > @@ -1325,12 +1322,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.25.4 > -- Eduardo
