summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2014-12-18 23:28:45 -0200
committerEduardo Habkost <ehabkost@redhat.com>2015-02-25 15:00:07 -0300
commit9c235e83f1c3437be6ca45755909efb745c10deb (patch)
tree0d99e8c7cf74dfa274470ad2d8731f798a4b87c1
parent696da41b1b741f6056e52c572e05abd790637be1 (diff)
downloadfocaccia-qemu-9c235e83f1c3437be6ca45755909efb745c10deb.tar.gz
focaccia-qemu-9c235e83f1c3437be6ca45755909efb745c10deb.zip
target-i386: Set APIC ID using cpu_index on CONFIG_USER
The PC CPU initialization code already sets apic-id based on the CPU
topology, and CONFIG_USER doesn't need the topology-based APIC ID
calculation code.

Make CONFIG_USER set apic-id before realizing the CPU (just like PC
already does), so we can simplify x86_cpu_initfn later. As there is no
CPU topology configuration in CONFIG_USER, just use cpu_index as the
APIC ID.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r--target-i386/cpu.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index e8cd7b38ba..3e0c39c8bd 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2145,6 +2145,12 @@ CPUX86State *cpu_x86_init_user(const char *cpu_model)
         goto error;
     }
 
+    object_property_set_int(OBJECT(cpu), CPU(cpu)->cpu_index, "apic-id",
+                            &error);
+    if (error) {
+        goto error;
+    }
+
     object_property_set_bool(OBJECT(cpu), true, "realized", &error);
     if (error) {
         goto error;