summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/ppc_oldworld.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 3589812104..46d0362559 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -308,12 +308,13 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
for(i = 0; i < nb_nics; i++)
pci_nic_init(pci_bus, &nd_table[i], -1, "ne2k_pci");
- /* First IDE channel is a CMD646 on the PCI bus */
if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) {
fprintf(stderr, "qemu: too many IDE bus\n");
exit(1);
}
+
+ /* First IDE channel is a MAC IDE on the MacIO bus */
index = drive_get_index(IF_IDE, 0, 0);
if (index == -1)
hd[0] = NULL;
@@ -324,10 +325,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
hd[1] = NULL;
else
hd[1] = drives_table[index].bdrv;
- hd[3] = hd[2] = NULL;
- pci_cmd646_ide_init(pci_bus, hd, 0);
+ dbdma = DBDMA_init(&dbdma_mem_index);
+ ide_mem_index[0] = -1;
+ ide_mem_index[1] = pmac_ide_init(hd, pic[0x0D], dbdma, 0x16, pic[0x02]);
- /* Second IDE channel is a MAC IDE on the MacIO bus */
+ /* Second IDE channel is a CMD646 on the PCI bus */
index = drive_get_index(IF_IDE, 1, 0);
if (index == -1)
hd[0] = NULL;
@@ -338,11 +340,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
hd[1] = NULL;
else
hd[1] = drives_table[index].bdrv;
-
- dbdma = DBDMA_init(&dbdma_mem_index);
-
- ide_mem_index[0] = -1;
- ide_mem_index[1] = pmac_ide_init(hd, pic[0x0D], dbdma, 0x16, pic[0x02]);
+ hd[3] = hd[2] = NULL;
+ pci_cmd646_ide_init(pci_bus, hd, 0);
/* cuda also initialize ADB */
cuda_init(&cuda_mem_index, pic[0x12]);