diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-10 15:15:54 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-10 15:15:54 +0000 |
commit | aaed909a495e78364abc6812df672d2e764961a8 (patch) | |
tree | 704ab4280f250fa310bee6a3d0ba94e5417daef3 /hw/ppc_oldworld.c | |
parent | 7d77bf200682ed8cbd0c94bdfbac64dc4b23b149 (diff) |
added cpu_model parameter to cpu_init()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3562 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ppc_oldworld.c')
-rw-r--r-- | hw/ppc_oldworld.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c index 49012cddfb..bafe7b5195 100644 --- a/hw/ppc_oldworld.c +++ b/hw/ppc_oldworld.c @@ -100,7 +100,7 @@ static void ppc_heathrow_init (int ram_size, int vga_ram_size, const char *initrd_filename, const char *cpu_model) { - CPUState *env, *envs[MAX_CPUS]; + CPUState *env = NULL, *envs[MAX_CPUS]; char buf[1024]; qemu_irq *pic, **heathrow_irqs; nvram_t nvram; @@ -108,7 +108,6 @@ static void ppc_heathrow_init (int ram_size, int vga_ram_size, int linux_boot, i; unsigned long bios_offset, vga_bios_offset; uint32_t kernel_base, kernel_size, initrd_base, initrd_size; - ppc_def_t *def; PCIBus *pci_bus; MacIONVRAMState *nvr; int vga_bios_size, bios_size; @@ -119,16 +118,14 @@ static void ppc_heathrow_init (int ram_size, int vga_ram_size, linux_boot = (kernel_filename != NULL); /* init CPUs */ - env = cpu_init(); if (cpu_model == NULL) cpu_model = "default"; - ppc_find_by_name(cpu_model, &def); - if (def == NULL) { - cpu_abort(env, "Unable to find PowerPC CPU definition\n"); - } for (i = 0; i < smp_cpus; i++) { - cpu_ppc_register(env, def); - cpu_ppc_reset(env); + env = cpu_init(cpu_model); + if (!env) { + fprintf(stderr, "Unable to find PowerPC CPU definition\n"); + exit(1); + } /* Set time-base frequency to 100 Mhz */ cpu_ppc_tb_init(env, 100UL * 1000UL * 1000UL); env->osi_call = vga_osi_call; |