Revision 07a7484e hw/ppc/mac_newworld.c
b/hw/ppc/mac_newworld.c | ||
---|---|---|
148 | 148 |
long kernel_size, initrd_size; |
149 | 149 |
PCIBus *pci_bus; |
150 | 150 |
PCIDevice *macio; |
151 |
MACIOIDEState *macio_ide; |
|
151 | 152 |
MacIONVRAMState *nvr; |
152 | 153 |
int bios_size; |
153 |
MemoryRegion *pic_mem, *dbdma_mem, *cuda_mem, *escc_mem;
|
|
154 |
MemoryRegion *pic_mem, *cuda_mem, *escc_mem; |
|
154 | 155 |
MemoryRegion *escc_bar = g_new(MemoryRegion, 1); |
155 |
MemoryRegion *ide_mem[3]; |
|
156 | 156 |
int ppc_boot_device; |
157 | 157 |
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; |
158 | 158 |
void *fw_cfg; |
159 |
void *dbdma; |
|
160 | 159 |
int machine_arch; |
161 | 160 |
SysBusDevice *s; |
162 | 161 |
DeviceState *dev; |
... | ... | |
363 | 362 |
pci_nic_init_nofail(&nd_table[i], "ne2k_pci", NULL); |
364 | 363 |
|
365 | 364 |
ide_drive_get(hd, MAX_IDE_BUS); |
366 |
dbdma = DBDMA_init(&dbdma_mem); |
|
367 |
|
|
368 |
/* We only emulate 2 out of 3 IDE controllers for now */ |
|
369 |
ide_mem[0] = NULL; |
|
370 |
ide_mem[1] = pmac_ide_init(hd, pic[0x0d], dbdma, 0x16, pic[0x02]); |
|
371 |
ide_mem[2] = pmac_ide_init(&hd[MAX_IDE_DEVS], pic[0x0e], dbdma, 0x1a, pic[0x02]); |
|
372 | 365 |
|
373 | 366 |
cuda_init(&cuda_mem, pic[0x19]); |
374 | 367 |
|
... | ... | |
376 | 369 |
adb_mouse_init(&adb_bus); |
377 | 370 |
|
378 | 371 |
macio = pci_create(pci_bus, -1, TYPE_NEWWORLD_MACIO); |
379 |
macio_init(macio, pic_mem, |
|
380 |
dbdma_mem, cuda_mem, 3, ide_mem, escc_bar); |
|
372 |
dev = DEVICE(macio); |
|
373 |
qdev_connect_gpio_out(dev, 0, pic[0x0d]); /* IDE */ |
|
374 |
qdev_connect_gpio_out(dev, 1, pic[0x02]); /* IDE DMA */ |
|
375 |
qdev_connect_gpio_out(dev, 2, pic[0x0e]); /* IDE */ |
|
376 |
qdev_connect_gpio_out(dev, 3, pic[0x02]); /* IDE DMA */ |
|
377 |
macio_init(macio, pic_mem, cuda_mem, escc_bar); |
|
378 |
|
|
379 |
/* We only emulate 2 out of 3 IDE controllers for now */ |
|
380 |
macio_ide = MACIO_IDE(object_resolve_path_component(OBJECT(macio), |
|
381 |
"ide[0]")); |
|
382 |
macio_ide_init_drives(macio_ide, hd); |
|
383 |
|
|
384 |
macio_ide = MACIO_IDE(object_resolve_path_component(OBJECT(macio), |
|
385 |
"ide[1]")); |
|
386 |
macio_ide_init_drives(macio_ide, &hd[MAX_IDE_DEVS]); |
|
381 | 387 |
|
382 | 388 |
if (usb_enabled(machine_arch == ARCH_MAC99_U3)) { |
383 | 389 |
pci_create_simple(pci_bus, -1, "pci-ohci"); |
Also available in: Unified diff