]> git.proxmox.com Git - qemu.git/commitdiff
target-i386: Emulate X86CPU subclasses for global properties
authorAndreas Färber <afaerber@suse.de>
Wed, 1 May 2013 15:05:47 +0000 (17:05 +0200)
committerAndreas Färber <afaerber@suse.de>
Mon, 6 May 2013 17:55:00 +0000 (19:55 +0200)
After initializing the object from its x86_def_t and before setting any
additional -cpu arguments, set any global properties for the designated
subclass <name>-{i386,x86_64}-cpu.

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
target-i386/cpu.c

index eb1825b53d79f887b34643b0f26c3f6373635ca3..b43847835b6c8980fe3df4a12ddd26eb003b089d 100644 (file)
@@ -1751,6 +1751,7 @@ X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge,
     CPUX86State *env;
     gchar **model_pieces;
     char *name, *features;
+    char *typename;
     Error *error = NULL;
 
     model_pieces = g_strsplit(cpu_model, ",", 2);
@@ -1778,6 +1779,14 @@ X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge,
         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);
+    g_free(typename);
+    if (error) {
+        goto out;
+    }
+
     cpu_x86_parse_featurestr(cpu, features, &error);
     if (error) {
         goto out;