Commit bd4524edb80610a5e5523599aaa81614a512056c
1 parent
3098dba0
ppc_oldworld: swap the MACIO and CMD646 IDE controllers
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6763 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
9 deletions
hw/ppc_oldworld.c
| @@ -308,12 +308,13 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | @@ -308,12 +308,13 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | ||
| 308 | for(i = 0; i < nb_nics; i++) | 308 | for(i = 0; i < nb_nics; i++) |
| 309 | pci_nic_init(pci_bus, &nd_table[i], -1, "ne2k_pci"); | 309 | pci_nic_init(pci_bus, &nd_table[i], -1, "ne2k_pci"); |
| 310 | 310 | ||
| 311 | - /* First IDE channel is a CMD646 on the PCI bus */ | ||
| 312 | 311 | ||
| 313 | if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) { | 312 | if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) { |
| 314 | fprintf(stderr, "qemu: too many IDE bus\n"); | 313 | fprintf(stderr, "qemu: too many IDE bus\n"); |
| 315 | exit(1); | 314 | exit(1); |
| 316 | } | 315 | } |
| 316 | + | ||
| 317 | + /* First IDE channel is a MAC IDE on the MacIO bus */ | ||
| 317 | index = drive_get_index(IF_IDE, 0, 0); | 318 | index = drive_get_index(IF_IDE, 0, 0); |
| 318 | if (index == -1) | 319 | if (index == -1) |
| 319 | hd[0] = NULL; | 320 | hd[0] = NULL; |
| @@ -324,10 +325,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | @@ -324,10 +325,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | ||
| 324 | hd[1] = NULL; | 325 | hd[1] = NULL; |
| 325 | else | 326 | else |
| 326 | hd[1] = drives_table[index].bdrv; | 327 | hd[1] = drives_table[index].bdrv; |
| 327 | - hd[3] = hd[2] = NULL; | ||
| 328 | - pci_cmd646_ide_init(pci_bus, hd, 0); | 328 | + dbdma = DBDMA_init(&dbdma_mem_index); |
| 329 | + ide_mem_index[0] = -1; | ||
| 330 | + ide_mem_index[1] = pmac_ide_init(hd, pic[0x0D], dbdma, 0x16, pic[0x02]); | ||
| 329 | 331 | ||
| 330 | - /* Second IDE channel is a MAC IDE on the MacIO bus */ | 332 | + /* Second IDE channel is a CMD646 on the PCI bus */ |
| 331 | index = drive_get_index(IF_IDE, 1, 0); | 333 | index = drive_get_index(IF_IDE, 1, 0); |
| 332 | if (index == -1) | 334 | if (index == -1) |
| 333 | hd[0] = NULL; | 335 | hd[0] = NULL; |
| @@ -338,11 +340,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | @@ -338,11 +340,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, | ||
| 338 | hd[1] = NULL; | 340 | hd[1] = NULL; |
| 339 | else | 341 | else |
| 340 | hd[1] = drives_table[index].bdrv; | 342 | hd[1] = drives_table[index].bdrv; |
| 341 | - | ||
| 342 | - dbdma = DBDMA_init(&dbdma_mem_index); | ||
| 343 | - | ||
| 344 | - ide_mem_index[0] = -1; | ||
| 345 | - ide_mem_index[1] = pmac_ide_init(hd, pic[0x0D], dbdma, 0x16, pic[0x02]); | 343 | + hd[3] = hd[2] = NULL; |
| 344 | + pci_cmd646_ide_init(pci_bus, hd, 0); | ||
| 346 | 345 | ||
| 347 | /* cuda also initialize ADB */ | 346 | /* cuda also initialize ADB */ |
| 348 | cuda_init(&cuda_mem_index, pic[0x12]); | 347 | cuda_init(&cuda_mem_index, pic[0x12]); |