Revision dd37a5e4 hw/ppc_chrp.c
b/hw/ppc_chrp.c | ||
---|---|---|
409 | 409 |
|
410 | 410 |
if (is_heathrow) { |
411 | 411 |
isa_mem_base = 0x80000000; |
412 |
|
|
412 |
|
|
413 | 413 |
/* Register 2 MB of ISA IO space */ |
414 | 414 |
isa_mmio_init(0xfe000000, 0x00200000); |
415 | 415 |
|
416 | 416 |
/* init basic PC hardware */ |
417 |
if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) { |
|
418 |
cpu_abort(env, "Only 6xx bus is supported on heathrow machine\n"); |
|
419 |
exit(1); |
|
420 |
} |
|
417 | 421 |
pic = heathrow_pic_init(&heathrow_pic_mem_index); |
418 | 422 |
pci_bus = pci_grackle_init(0xfec00000, pic); |
419 |
pci_vga_init(pci_bus, ds, phys_ram_base + ram_size,
|
|
423 |
pci_vga_init(pci_bus, ds, phys_ram_base + ram_size, |
|
420 | 424 |
ram_size, vga_ram_size, |
421 | 425 |
vga_bios_offset, vga_bios_size); |
422 | 426 |
|
... | ... | |
468 | 472 |
/* Mac99 IRQ connection between OpenPIC outputs pins |
469 | 473 |
* and PowerPC input pins |
470 | 474 |
*/ |
471 |
openpic_irqs[i] = openpic_irqs[0] + (i * OPENPIC_OUTPUT_NB); |
|
472 |
openpic_irqs[i][OPENPIC_OUTPUT_INT] = |
|
473 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]; |
|
474 |
openpic_irqs[i][OPENPIC_OUTPUT_CINT] = |
|
475 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]; |
|
476 |
openpic_irqs[i][OPENPIC_OUTPUT_MCK] = |
|
477 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_MCP]; |
|
478 |
openpic_irqs[i][OPENPIC_OUTPUT_DEBUG] = NULL; /* Not connected ? */ |
|
479 |
openpic_irqs[i][OPENPIC_OUTPUT_RESET] = |
|
480 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_HRESET]; /* Check this */ |
|
475 |
switch (PPC_INPUT(env)) { |
|
476 |
case PPC_FLAGS_INPUT_6xx: |
|
477 |
openpic_irqs[i] = openpic_irqs[0] + (i * OPENPIC_OUTPUT_NB); |
|
478 |
openpic_irqs[i][OPENPIC_OUTPUT_INT] = |
|
479 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]; |
|
480 |
openpic_irqs[i][OPENPIC_OUTPUT_CINT] = |
|
481 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]; |
|
482 |
openpic_irqs[i][OPENPIC_OUTPUT_MCK] = |
|
483 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_MCP]; |
|
484 |
/* Not connected ? */ |
|
485 |
openpic_irqs[i][OPENPIC_OUTPUT_DEBUG] = NULL; |
|
486 |
/* Check this */ |
|
487 |
openpic_irqs[i][OPENPIC_OUTPUT_RESET] = |
|
488 |
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_HRESET]; |
|
489 |
break; |
|
490 |
case PPC_FLAGS_INPUT_970: |
|
491 |
openpic_irqs[i] = openpic_irqs[0] + (i * OPENPIC_OUTPUT_NB); |
|
492 |
openpic_irqs[i][OPENPIC_OUTPUT_INT] = |
|
493 |
((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT]; |
|
494 |
openpic_irqs[i][OPENPIC_OUTPUT_CINT] = |
|
495 |
((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT]; |
|
496 |
openpic_irqs[i][OPENPIC_OUTPUT_MCK] = |
|
497 |
((qemu_irq *)env->irq_inputs)[PPC970_INPUT_MCP]; |
|
498 |
/* Not connected ? */ |
|
499 |
openpic_irqs[i][OPENPIC_OUTPUT_DEBUG] = NULL; |
|
500 |
/* Check this */ |
|
501 |
openpic_irqs[i][OPENPIC_OUTPUT_RESET] = |
|
502 |
((qemu_irq *)env->irq_inputs)[PPC970_INPUT_HRESET]; |
|
503 |
break; |
|
504 |
default: |
|
505 |
cpu_abort(env, |
|
506 |
"Only bus model not supported on mac99 machine\n"); |
|
507 |
exit(1); |
|
508 |
} |
|
481 | 509 |
} |
482 | 510 |
pic = openpic_init(NULL, &openpic_mem_index, smp_cpus, |
483 | 511 |
openpic_irqs, NULL); |
Also available in: Unified diff