OSDN Git Service

KVM: cpuid: remove has_leaf_count from struct kvm_cpuid_param
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 24 Jun 2019 08:32:57 +0000 (10:32 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 Jul 2019 11:48:45 +0000 (13:48 +0200)
The has_leaf_count member was originally added for KVM's paravirtualization
CPUID leaves.  However, since then the leaf count _has_ been added to those
leaves as well, so we can drop that special case.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/cpuid.c

index e172e54..2238145 100644 (file)
@@ -791,7 +791,6 @@ static int do_cpuid_func(struct kvm_cpuid_entry2 *entry, u32 func,
 
 struct kvm_cpuid_param {
        u32 func;
-       bool has_leaf_count;
        bool (*qualifier)(const struct kvm_cpuid_param *param);
 };
 
@@ -835,11 +834,10 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
        int limit, nent = 0, r = -E2BIG, i;
        u32 func;
        static const struct kvm_cpuid_param param[] = {
-               { .func = 0, .has_leaf_count = true },
-               { .func = 0x80000000, .has_leaf_count = true },
-               { .func = 0xC0000000, .qualifier = is_centaur_cpu, .has_leaf_count = true },
+               { .func = 0 },
+               { .func = 0x80000000 },
+               { .func = 0xC0000000, .qualifier = is_centaur_cpu },
                { .func = KVM_CPUID_SIGNATURE },
-               { .func = KVM_CPUID_FEATURES },
        };
 
        if (cpuid->nent < 1)
@@ -869,9 +867,6 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
                if (r)
                        goto out_free;
 
-               if (!ent->has_leaf_count)
-                       continue;
-
                limit = cpuid_entries[nent - 1].eax;
                for (func = ent->func + 1; func <= limit && nent < cpuid->nent && r == 0; ++func)
                        r = do_cpuid_func(&cpuid_entries[nent], func,