[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/8] target-i386: kvm_cpu_fill_host(): No need to ch
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PATCH 2/8] target-i386: kvm_cpu_fill_host(): No need to check level |
Date: |
Sun, 24 Nov 2013 17:55:34 -0200 |
There's no need to check level (CPUID[0].EAX) before calling
kvm_arch_get_supported_cpuid(s, 0x7, 0, R_EBX), because:
* The kernel won't return any entry for CPUID 7 if CPUID[0].EAX is < 7
(See kvm_dev_ioctl_get_supported_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>
---
target-i386/cpu.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 5796c6d..f659a3b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1164,12 +1164,8 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
x86_cpu_def->features[FEAT_1_ECX] =
kvm_arch_get_supported_cpuid(s, 0x1, 0, R_ECX);
- if (x86_cpu_def->level >= 7) {
- x86_cpu_def->features[FEAT_7_0_EBX] =
- kvm_arch_get_supported_cpuid(s, 0x7, 0, R_EBX);
- } else {
- x86_cpu_def->features[FEAT_7_0_EBX] = 0;
- }
+ x86_cpu_def->features[FEAT_7_0_EBX] =
+ kvm_arch_get_supported_cpuid(s, 0x7, 0, R_EBX);
x86_cpu_def->xlevel = kvm_arch_get_supported_cpuid(s, 0x80000000, 0,
R_EAX);
x86_cpu_def->features[FEAT_8000_0001_EDX] =
--
1.8.3.1
- [Qemu-devel] [PATCH 0/8] target-i386: Simplify kvm_cpu_fill_host() and kvm_check_features_against_host(), Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 1/8] target-i386: kvm_cpu_fill_host(): Kill unused code, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 2/8] target-i386: kvm_cpu_fill_host(): No need to check level,
Eduardo Habkost <=
- [Qemu-devel] [PATCH 3/8] target-i386: kvm_cpu_fill_host(): No need to check CPU vendor, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 4/8] target-i386: kvm_cpu_fill_host(): No need to check xlevel2, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 5/8] target-i386: kvm_cpu_fill_host(): Set all feature words at end of function, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 6/8] target-i386: kvm_cpu_fill_host(): Fill feature words in a loop, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 7/8] target-i386: kvm_check_features_against_host(): Kill feature word array, Eduardo Habkost, 2013/11/24
- [Qemu-devel] [PATCH 8/8] target-i386: kvm_check_features_against_host(): Don't use kvm_cpu_fill_host(), Eduardo Habkost, 2013/11/24