pc: split out cpu initialization from pc_init1() into pc_cpus_init().

split out cpu initialization which is piix independent from pc_init1()
into pc_cpus_init(). Later it will be used.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Isaku Yamahata 2010-05-14 16:29:10 +09:00 committed by Blue Swirl
parent 8e78eb28c6
commit 7016647726
1 changed files with 19 additions and 12 deletions

31
hw/pc.c
View File

@ -811,6 +811,24 @@ static CPUState *pc_new_cpu(const char *cpu_model)
return env;
}
static void pc_cpus_init(const char *cpu_model)
{
int i;
/* init CPUs */
if (cpu_model == NULL) {
#ifdef TARGET_X86_64
cpu_model = "qemu64";
#else
cpu_model = "qemu32";
#endif
}
for(i = 0; i < smp_cpus; i++) {
pc_new_cpu(cpu_model);
}
}
static qemu_irq *pc_allocate_cpu_irq(void)
{
return qemu_allocate_irqs(pic_irq_request, NULL, 1);
@ -855,18 +873,7 @@ static void pc_init1(ram_addr_t ram_size,
linux_boot = (kernel_filename != NULL);
/* init CPUs */
if (cpu_model == NULL) {
#ifdef TARGET_X86_64
cpu_model = "qemu64";
#else
cpu_model = "qemu32";
#endif
}
for (i = 0; i < smp_cpus; i++) {
pc_new_cpu(cpu_model);
}
pc_cpus_init(cpu_model);
vmport_init();