diff options
-rw-r--r-- | hw/pc.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -876,16 +876,10 @@ static void pc_init1(ram_addr_t ram_size, fprintf(stderr, "Unable to find x86 CPU definition\n"); exit(1); } - if (i != 0) - env->halted = 1; - if (smp_cpus > 1) { - /* XXX: enable it in all cases */ - env->cpuid_features |= CPUID_APIC; - } - qemu_register_reset(main_cpu_reset, 0, env); - if (pci_enabled) { + if ((env->cpuid_features & CPUID_APIC) || smp_cpus > 1) { apic_init(env); } + qemu_register_reset(main_cpu_reset, 0, env); } vmport_init(); |