summaryrefslogtreecommitdiff
path: root/hw/pc.c
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2010-05-14 16:29:10 +0900
committerBlue Swirl <blauwirbel@gmail.com>2010-05-15 15:45:17 +0000
commit70166477269d6cb9978a60ede1d570656987d15c (patch)
tree02caa3787bbfcf548327db977a2f757cd516579a /hw/pc.c
parent8e78eb28c6bc532f103857ca485ea4976b3514da (diff)
downloadqemu-70166477269d6cb9978a60ede1d570656987d15c.tar.gz
qemu-70166477269d6cb9978a60ede1d570656987d15c.tar.bz2
qemu-70166477269d6cb9978a60ede1d570656987d15c.zip
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>
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 18c025bbb8..9f720df2ba 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -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();