[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/16] target-i386: Don't change x86_def_t struct on
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 15/16] target-i386: Don't change x86_def_t struct on cpu_x86_register() |
Date: |
Mon, 3 Feb 2014 17:39:10 +0100 |
From: Eduardo Habkost <address@hidden>
As eventually the x86_def_t data is going to be provided by the CPU
class, it's better to not touch it, and handle the special cases on the
X86CPU object itself.
Current behavior of the code should stay exactly the same.
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
target-i386/cpu.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 8425212..be54f84 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1841,11 +1841,6 @@ static void cpu_x86_register(X86CPU *cpu, const char
*name, Error **errp)
return;
}
- if (kvm_enabled()) {
- def->features[FEAT_KVM] |= kvm_default_features;
- }
- def->features[FEAT_1_ECX] |= CPUID_EXT_HYPERVISOR;
-
object_property_set_str(OBJECT(cpu), def->vendor, "vendor", errp);
object_property_set_int(OBJECT(cpu), def->level, "level", errp);
object_property_set_int(OBJECT(cpu), def->family, "family", errp);
@@ -1864,6 +1859,12 @@ static void cpu_x86_register(X86CPU *cpu, const char
*name, Error **errp)
cpu->cache_info_passthrough = def->cache_info_passthrough;
object_property_set_str(OBJECT(cpu), def->model_id, "model-id", errp);
+
+ /* Special cases not set in the x86_def_t structs: */
+ if (kvm_enabled()) {
+ env->features[FEAT_KVM] |= kvm_default_features;
+ }
+ env->features[FEAT_1_ECX] |= CPUID_EXT_HYPERVISOR;
}
X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge,
--
1.8.3.1
- [Qemu-devel] [PULL 02/16] target-i386: kvm_cpu_fill_host(): No need to check level, (continued)
- [Qemu-devel] [PULL 02/16] target-i386: kvm_cpu_fill_host(): No need to check level, Paolo Bonzini, 2014/02/03
- [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 <=
- [Qemu-devel] [PULL 03/16] target-i386: kvm_cpu_fill_host(): No need to check CPU vendor, Paolo Bonzini, 2014/02/03
- [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