[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/16] target-i386: kvm_cpu_fill_host(): No need to c
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 03/16] target-i386: kvm_cpu_fill_host(): No need to check CPU vendor |
Date: |
Mon, 3 Feb 2014 17:38:58 +0100 |
From: Eduardo Habkost <address@hidden>
There's no need to check CPU vendor before calling
kvm_arch_get_supported_cpuid(s, 0xC0000000, 0, R_EAX), because:
* The kernel won't return any entry for 0xC0000000 if host CPU vendor
is not Centaur (See kvm_dev_ioctl_get_cpuid() on the kernel code);
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
target-i386/cpu.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 05138bd..1e115cf 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1177,14 +1177,12 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
cpu_x86_fill_model_id(x86_cpu_def->model_id);
/* Call Centaur's CPUID instruction. */
- if (!strcmp(x86_cpu_def->vendor, CPUID_VENDOR_VIA)) {
- eax = kvm_arch_get_supported_cpuid(s, 0xC0000000, 0, R_EAX);
- if (eax >= 0xC0000001) {
- /* Support VIA max extended level */
- x86_cpu_def->xlevel2 = eax;
- x86_cpu_def->features[FEAT_C000_0001_EDX] =
- kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX);
- }
+ eax = kvm_arch_get_supported_cpuid(s, 0xC0000000, 0, R_EAX);
+ if (eax >= 0xC0000001) {
+ /* Support VIA max extended level */
+ x86_cpu_def->xlevel2 = eax;
+ x86_cpu_def->features[FEAT_C000_0001_EDX] =
+ kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX);
}
/* Other KVM-specific feature fields: */
--
1.8.3.1
- [Qemu-devel] [PULL 01/16] target-i386: kvm_cpu_fill_host(): Kill unused code, (continued)
- [Qemu-devel] [PULL 01/16] target-i386: kvm_cpu_fill_host(): Kill unused code, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 04/16] target-i386: kvm_cpu_fill_host(): No need to check xlevel2, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 06/16] target-i386: kvm_cpu_fill_host(): Fill feature words in a loop, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 08/16] kvm: print suberror on all internal errors, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 09/16] KVM: fix coexistence of KVM and Hyper-V leaves, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 10/16] kvm: make availability of Hyper-V enlightenments dependent on KVM_CAP_HYPERV, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 11/16] kvm: make hyperv hypercall and guest os id MSRs migratable., Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 13/16] kvm: add support for hyper-v timers, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 14/16] target-i386: Eliminate CONFIG_KVM #ifdefs, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 15/16] target-i386: Don't change x86_def_t struct on cpu_x86_register(), Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 03/16] target-i386: kvm_cpu_fill_host(): No need to check CPU vendor,
Paolo Bonzini <=
- [Qemu-devel] [PULL 05/16] target-i386: kvm_cpu_fill_host(): Set all feature words at end of function, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 07/16] target-i386: kvm_check_features_against_host(): Kill feature word array, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 12/16] kvm: make hyperv vapic assist page migratable, Paolo Bonzini, 2014/02/03
- [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Paolo Bonzini, 2014/02/03
- Re: [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Andreas Färber, 2014/02/08
- Re: [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Paolo Bonzini, 2014/02/08
- Re: [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Peter Maydell, 2014/02/08
- Re: [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Peter Maydell, 2014/02/08
- Re: [Qemu-devel] [PULL 16/16] target-i386: Move KVM default-vendor hack to instance_init, Paolo Bonzini, 2014/02/09
- [Qemu-devel] [PATCH] target-i386: Don't declare variables in the middle of blocks, Eduardo Habkost, 2014/02/09