Commit 727170b67105fef0e229e4b2eef45f88f121aa8c
1 parent
19a3da7f
Allow user to specify CPU model
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Showing
3 changed files
with
8 additions
and
10 deletions
hw/ppc440.c
| ... | ... | @@ -34,7 +34,8 @@ static const unsigned int ppc440ep_sdram_bank_sizes[] = { |
| 34 | 34 | }; |
| 35 | 35 | |
| 36 | 36 | CPUState *ppc440ep_init(ram_addr_t *ram_size, PCIBus **pcip, |
| 37 | - const unsigned int pci_irq_nrs[4], int do_init) | |
| 37 | + const unsigned int pci_irq_nrs[4], int do_init, | |
| 38 | + const char *cpu_model) | |
| 38 | 39 | { |
| 39 | 40 | target_phys_addr_t ram_bases[PPC440EP_SDRAM_NR_BANKS]; |
| 40 | 41 | target_phys_addr_t ram_sizes[PPC440EP_SDRAM_NR_BANKS]; |
| ... | ... | @@ -44,13 +45,9 @@ CPUState *ppc440ep_init(ram_addr_t *ram_size, PCIBus **pcip, |
| 44 | 45 | qemu_irq *irqs; |
| 45 | 46 | qemu_irq *pci_irqs; |
| 46 | 47 | |
| 47 | - env = cpu_ppc_init("440EP"); | |
| 48 | - if (!env && kvm_enabled()) { | |
| 49 | - /* XXX Since qemu doesn't yet emulate 440, we just say it's a 405. | |
| 50 | - * Since KVM doesn't use qemu's CPU emulation it seems to be working | |
| 51 | - * OK. */ | |
| 52 | - env = cpu_ppc_init("405"); | |
| 53 | - } | |
| 48 | + if (cpu_model == NULL) | |
| 49 | + cpu_model = "405"; // XXX: should be 440EP | |
| 50 | + env = cpu_init(cpu_model); | |
| 54 | 51 | if (!env) { |
| 55 | 52 | fprintf(stderr, "Unable to initialize CPU!\n"); |
| 56 | 53 | exit(1); | ... | ... |
hw/ppc440.h
hw/ppc440_bamboo.c
| ... | ... | @@ -103,7 +103,7 @@ static void bamboo_init(ram_addr_t ram_size, |
| 103 | 103 | int i; |
| 104 | 104 | |
| 105 | 105 | /* Setup CPU. */ |
| 106 | - env = ppc440ep_init(&ram_size, &pcibus, pci_irq_nrs, 1); | |
| 106 | + env = ppc440ep_init(&ram_size, &pcibus, pci_irq_nrs, 1, cpu_model); | |
| 107 | 107 | |
| 108 | 108 | if (pcibus) { |
| 109 | 109 | int unit_id = 0; | ... | ... |