aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2014-01-30 17:48:57 -0200
committerAndreas Färber <afaerber@suse.de>2014-03-13 19:01:49 +0100
commit285f025d2c804de78d4f3a90cd1efa4c8907d641 (patch)
treec5c61a83675bb2976323ded958eba9942031dbdf /target-i386
parentc080e30ec8727d7b8c4995fe288852541aa58b06 (diff)
target-i386: Call x86_cpu_load_def() earlier
As we will initialize the X86CPU fields on instance_init eventually, move the code that initializes the X86CPU data based on the CPU model name closer to the object_new() call. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/cpu.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 241b4b2b96..fa56b8a9b3 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1893,6 +1893,11 @@ X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge,
features = model_pieces[1];
cpu = X86_CPU(object_new(TYPE_X86_CPU));
+ x86_cpu_load_def(cpu, name, &error);
+ if (error) {
+ goto out;
+ }
+
#ifndef CONFIG_USER_ONLY
if (icc_bridge == NULL) {
error_setg(&error, "Invalid icc-bridge value");
@@ -1902,11 +1907,6 @@ X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge,
object_unref(OBJECT(cpu));
#endif
- x86_cpu_load_def(cpu, name, &error);
- if (error) {
- goto out;
- }
-
/* Emulate per-model subclasses for global properties */
typename = g_strdup_printf("%s-" TYPE_X86_CPU, name);
qdev_prop_set_globals_for_type(DEVICE(cpu), typename, &error);