Revision 727170b6
b/hw/ppc440.c | ||
---|---|---|
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 | 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); |
b/hw/ppc440.h | ||
---|---|---|
15 | 15 |
#include "hw.h" |
16 | 16 |
|
17 | 17 |
CPUState *ppc440ep_init(ram_addr_t *ram_size, PCIBus **pcip, |
18 |
const unsigned int pci_irq_nrs[4], int do_init); |
|
18 |
const unsigned int pci_irq_nrs[4], int do_init, |
|
19 |
const char *cpu_model); |
|
19 | 20 |
|
20 | 21 |
#endif |
b/hw/ppc440_bamboo.c | ||
---|---|---|
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; |
Also available in: Unified diff