Revision c227f099 hw/sun4m.c

b/hw/sun4m.c
92 92
#define ESCC_CLOCK 4915200
93 93

  
94 94
struct sun4m_hwdef {
95
    a_target_phys_addr iommu_base, slavio_base;
96
    a_target_phys_addr intctl_base, counter_base, nvram_base, ms_kb_base;
97
    a_target_phys_addr serial_base, fd_base;
98
    a_target_phys_addr idreg_base, dma_base, esp_base, le_base;
99
    a_target_phys_addr tcx_base, cs_base, apc_base, aux1_base, aux2_base;
100
    a_target_phys_addr ecc_base;
95
    target_phys_addr_t iommu_base, slavio_base;
96
    target_phys_addr_t intctl_base, counter_base, nvram_base, ms_kb_base;
97
    target_phys_addr_t serial_base, fd_base;
98
    target_phys_addr_t idreg_base, dma_base, esp_base, le_base;
99
    target_phys_addr_t tcx_base, cs_base, apc_base, aux1_base, aux2_base;
100
    target_phys_addr_t ecc_base;
101 101
    uint32_t ecc_version;
102 102
    uint8_t nvram_machine_id;
103 103
    uint16_t machine_id;
......
109 109
#define MAX_IOUNITS 5
110 110

  
111 111
struct sun4d_hwdef {
112
    a_target_phys_addr iounit_bases[MAX_IOUNITS], slavio_base;
113
    a_target_phys_addr counter_base, nvram_base, ms_kb_base;
114
    a_target_phys_addr serial_base;
115
    a_target_phys_addr espdma_base, esp_base;
116
    a_target_phys_addr ledma_base, le_base;
117
    a_target_phys_addr tcx_base;
118
    a_target_phys_addr sbi_base;
112
    target_phys_addr_t iounit_bases[MAX_IOUNITS], slavio_base;
113
    target_phys_addr_t counter_base, nvram_base, ms_kb_base;
114
    target_phys_addr_t serial_base;
115
    target_phys_addr_t espdma_base, esp_base;
116
    target_phys_addr_t ledma_base, le_base;
117
    target_phys_addr_t tcx_base;
118
    target_phys_addr_t sbi_base;
119 119
    uint8_t nvram_machine_id;
120 120
    uint16_t machine_id;
121 121
    uint32_t iounit_version;
......
124 124
};
125 125

  
126 126
struct sun4c_hwdef {
127
    a_target_phys_addr iommu_base, slavio_base;
128
    a_target_phys_addr intctl_base, counter_base, nvram_base, ms_kb_base;
129
    a_target_phys_addr serial_base, fd_base;
130
    a_target_phys_addr idreg_base, dma_base, esp_base, le_base;
131
    a_target_phys_addr tcx_base, aux1_base;
127
    target_phys_addr_t iommu_base, slavio_base;
128
    target_phys_addr_t intctl_base, counter_base, nvram_base, ms_kb_base;
129
    target_phys_addr_t serial_base, fd_base;
130
    target_phys_addr_t idreg_base, dma_base, esp_base, le_base;
131
    target_phys_addr_t tcx_base, aux1_base;
132 132
    uint8_t nvram_machine_id;
133 133
    uint16_t machine_id;
134 134
    uint32_t iommu_version;
......
164 164
    return 0;
165 165
}
166 166

  
167
static void nvram_init(a_m48t59 *nvram, uint8_t *macaddr, const char *cmdline,
168
                       const char *boot_devices, a_ram_addr RAM_size,
167
static void nvram_init(m48t59_t *nvram, uint8_t *macaddr, const char *cmdline,
168
                       const char *boot_devices, ram_addr_t RAM_size,
169 169
                       uint32_t kernel_size,
170 170
                       int width, int height, int depth,
171 171
                       int nvram_machine_id, const char *arch)
......
294 294

  
295 295
static unsigned long sun4m_load_kernel(const char *kernel_filename,
296 296
                                       const char *initrd_filename,
297
                                       a_ram_addr RAM_size)
297
                                       ram_addr_t RAM_size)
298 298
{
299 299
    int linux_boot;
300 300
    unsigned int i;
......
352 352
    return kernel_size;
353 353
}
354 354

  
355
static void *iommu_init(a_target_phys_addr addr, uint32_t version, qemu_irq irq)
355
static void *iommu_init(target_phys_addr_t addr, uint32_t version, qemu_irq irq)
356 356
{
357 357
    DeviceState *dev;
358 358
    SysBusDevice *s;
......
367 367
    return s;
368 368
}
369 369

  
370
static void *sparc32_dma_init(a_target_phys_addr daddr, qemu_irq parent_irq,
370
static void *sparc32_dma_init(target_phys_addr_t daddr, qemu_irq parent_irq,
371 371
                              void *iommu, qemu_irq *dev_irq)
372 372
{
373 373
    DeviceState *dev;
......
384 384
    return s;
385 385
}
386 386

  
387
static void lance_init(NICInfo *nd, a_target_phys_addr leaddr,
387
static void lance_init(NICInfo *nd, target_phys_addr_t leaddr,
388 388
                       void *dma_opaque, qemu_irq irq)
389 389
{
390 390
    DeviceState *dev;
......
404 404
    qdev_connect_gpio_out(dma_opaque, 0, reset);
405 405
}
406 406

  
407
static DeviceState *slavio_intctl_init(a_target_phys_addr addr,
408
                                       a_target_phys_addr addrg,
407
static DeviceState *slavio_intctl_init(target_phys_addr_t addr,
408
                                       target_phys_addr_t addrg,
409 409
                                       qemu_irq **parent_irq)
410 410
{
411 411
    DeviceState *dev;
......
433 433
#define SYS_TIMER_OFFSET      0x10000ULL
434 434
#define CPU_TIMER_OFFSET(cpu) (0x1000ULL * cpu)
435 435

  
436
static void slavio_timer_init_all(a_target_phys_addr addr, qemu_irq master_irq,
436
static void slavio_timer_init_all(target_phys_addr_t addr, qemu_irq master_irq,
437 437
                                  qemu_irq *cpu_irqs, unsigned int num_cpus)
438 438
{
439 439
    DeviceState *dev;
......
448 448
    sysbus_mmio_map(s, 0, addr + SYS_TIMER_OFFSET);
449 449

  
450 450
    for (i = 0; i < MAX_CPUS; i++) {
451
        sysbus_mmio_map(s, i + 1, addr + (a_target_phys_addr)CPU_TIMER_OFFSET(i));
451
        sysbus_mmio_map(s, i + 1, addr + (target_phys_addr_t)CPU_TIMER_OFFSET(i));
452 452
        sysbus_connect_irq(s, i + 1, cpu_irqs[i]);
453 453
    }
454 454
}
......
459 459
#define MISC_MDM  0x01b00000
460 460
#define MISC_SYS  0x01f00000
461 461

  
462
static void slavio_misc_init(a_target_phys_addr base,
463
                             a_target_phys_addr aux1_base,
464
                             a_target_phys_addr aux2_base, qemu_irq irq,
462
static void slavio_misc_init(target_phys_addr_t base,
463
                             target_phys_addr_t aux1_base,
464
                             target_phys_addr_t aux2_base, qemu_irq irq,
465 465
                             qemu_irq fdc_tc)
466 466
{
467 467
    DeviceState *dev;
......
498 498
    qemu_system_powerdown = qdev_get_gpio_in(dev, 0);
499 499
}
500 500

  
501
static void ecc_init(a_target_phys_addr base, qemu_irq irq, uint32_t version)
501
static void ecc_init(target_phys_addr_t base, qemu_irq irq, uint32_t version)
502 502
{
503 503
    DeviceState *dev;
504 504
    SysBusDevice *s;
......
514 514
    }
515 515
}
516 516

  
517
static void apc_init(a_target_phys_addr power_base, qemu_irq cpu_halt)
517
static void apc_init(target_phys_addr_t power_base, qemu_irq cpu_halt)
518 518
{
519 519
    DeviceState *dev;
520 520
    SysBusDevice *s;
......
527 527
    sysbus_connect_irq(s, 0, cpu_halt);
528 528
}
529 529

  
530
static void tcx_init(a_target_phys_addr addr, int vram_size, int width,
530
static void tcx_init(target_phys_addr_t addr, int vram_size, int width,
531 531
                     int height, int depth)
532 532
{
533 533
    DeviceState *dev;
......
563 563
/* NCR89C100/MACIO Internal ID register */
564 564
static const uint8_t idreg_data[] = { 0xfe, 0x81, 0x01, 0x03 };
565 565

  
566
static void idreg_init(a_target_phys_addr addr)
566
static void idreg_init(target_phys_addr_t addr)
567 567
{
568 568
    DeviceState *dev;
569 569
    SysBusDevice *s;
......
578 578

  
579 579
static int idreg_init1(SysBusDevice *dev)
580 580
{
581
    a_ram_addr idreg_offset;
581
    ram_addr_t idreg_offset;
582 582

  
583 583
    idreg_offset = qemu_ram_alloc(sizeof(idreg_data));
584 584
    sysbus_init_mmio(dev, sizeof(idreg_data), idreg_offset | IO_MEM_ROM);
......
599 599
device_init(idreg_register_devices);
600 600

  
601 601
/* Boot PROM (OpenBIOS) */
602
static void prom_init(a_target_phys_addr addr, const char *bios_name)
602
static void prom_init(target_phys_addr_t addr, const char *bios_name)
603 603
{
604 604
    DeviceState *dev;
605 605
    SysBusDevice *s;
......
635 635

  
636 636
static int prom_init1(SysBusDevice *dev)
637 637
{
638
    a_ram_addr prom_offset;
638
    ram_addr_t prom_offset;
639 639

  
640 640
    prom_offset = qemu_ram_alloc(PROM_SIZE_MAX);
641 641
    sysbus_init_mmio(dev, PROM_SIZE_MAX, prom_offset | IO_MEM_ROM);
......
667 667
/* System RAM */
668 668
static int ram_init1(SysBusDevice *dev)
669 669
{
670
    a_ram_addr RAM_size, ram_offset;
670
    ram_addr_t RAM_size, ram_offset;
671 671
    RamDevice *d = FROM_SYSBUS(RamDevice, dev);
672 672

  
673 673
    RAM_size = d->size;
......
677 677
    return 0;
678 678
}
679 679

  
680
static void ram_init(a_target_phys_addr addr, a_ram_addr RAM_size,
680
static void ram_init(target_phys_addr_t addr, ram_addr_t RAM_size,
681 681
                     uint64_t max_mem)
682 682
{
683 683
    DeviceState *dev;
......
743 743
    return env;
744 744
}
745 745

  
746
static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, a_ram_addr RAM_size,
746
static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size,
747 747
                          const char *boot_device,
748 748
                          const char *kernel_filename,
749 749
                          const char *kernel_cmdline,
......
1129 1129
};
1130 1130

  
1131 1131
/* SPARCstation 5 hardware initialisation */
1132
static void ss5_init(a_ram_addr RAM_size,
1132
static void ss5_init(ram_addr_t RAM_size,
1133 1133
                     const char *boot_device,
1134 1134
                     const char *kernel_filename, const char *kernel_cmdline,
1135 1135
                     const char *initrd_filename, const char *cpu_model)
......
1139 1139
}
1140 1140

  
1141 1141
/* SPARCstation 10 hardware initialisation */
1142
static void ss10_init(a_ram_addr RAM_size,
1142
static void ss10_init(ram_addr_t RAM_size,
1143 1143
                      const char *boot_device,
1144 1144
                      const char *kernel_filename, const char *kernel_cmdline,
1145 1145
                      const char *initrd_filename, const char *cpu_model)
......
1149 1149
}
1150 1150

  
1151 1151
/* SPARCserver 600MP hardware initialisation */
1152
static void ss600mp_init(a_ram_addr RAM_size,
1152
static void ss600mp_init(ram_addr_t RAM_size,
1153 1153
                         const char *boot_device,
1154 1154
                         const char *kernel_filename,
1155 1155
                         const char *kernel_cmdline,
......
1160 1160
}
1161 1161

  
1162 1162
/* SPARCstation 20 hardware initialisation */
1163
static void ss20_init(a_ram_addr RAM_size,
1163
static void ss20_init(ram_addr_t RAM_size,
1164 1164
                      const char *boot_device,
1165 1165
                      const char *kernel_filename, const char *kernel_cmdline,
1166 1166
                      const char *initrd_filename, const char *cpu_model)
......
1170 1170
}
1171 1171

  
1172 1172
/* SPARCstation Voyager hardware initialisation */
1173
static void vger_init(a_ram_addr RAM_size,
1173
static void vger_init(ram_addr_t RAM_size,
1174 1174
                      const char *boot_device,
1175 1175
                      const char *kernel_filename, const char *kernel_cmdline,
1176 1176
                      const char *initrd_filename, const char *cpu_model)
......
1180 1180
}
1181 1181

  
1182 1182
/* SPARCstation LX hardware initialisation */
1183
static void ss_lx_init(a_ram_addr RAM_size,
1183
static void ss_lx_init(ram_addr_t RAM_size,
1184 1184
                       const char *boot_device,
1185 1185
                       const char *kernel_filename, const char *kernel_cmdline,
1186 1186
                       const char *initrd_filename, const char *cpu_model)
......
1190 1190
}
1191 1191

  
1192 1192
/* SPARCstation 4 hardware initialisation */
1193
static void ss4_init(a_ram_addr RAM_size,
1193
static void ss4_init(ram_addr_t RAM_size,
1194 1194
                     const char *boot_device,
1195 1195
                     const char *kernel_filename, const char *kernel_cmdline,
1196 1196
                     const char *initrd_filename, const char *cpu_model)
......
1200 1200
}
1201 1201

  
1202 1202
/* SPARCClassic hardware initialisation */
1203
static void scls_init(a_ram_addr RAM_size,
1203
static void scls_init(ram_addr_t RAM_size,
1204 1204
                      const char *boot_device,
1205 1205
                      const char *kernel_filename, const char *kernel_cmdline,
1206 1206
                      const char *initrd_filename, const char *cpu_model)
......
1210 1210
}
1211 1211

  
1212 1212
/* SPARCbook hardware initialisation */
1213
static void sbook_init(a_ram_addr RAM_size,
1213
static void sbook_init(ram_addr_t RAM_size,
1214 1214
                       const char *boot_device,
1215 1215
                       const char *kernel_filename, const char *kernel_cmdline,
1216 1216
                       const char *initrd_filename, const char *cpu_model)
......
1341 1341
    },
1342 1342
};
1343 1343

  
1344
static DeviceState *sbi_init(a_target_phys_addr addr, qemu_irq **parent_irq)
1344
static DeviceState *sbi_init(target_phys_addr_t addr, qemu_irq **parent_irq)
1345 1345
{
1346 1346
    DeviceState *dev;
1347 1347
    SysBusDevice *s;
......
1361 1361
    return dev;
1362 1362
}
1363 1363

  
1364
static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, a_ram_addr RAM_size,
1364
static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
1365 1365
                          const char *boot_device,
1366 1366
                          const char *kernel_filename,
1367 1367
                          const char *kernel_cmdline,
......
1403 1403
    }
1404 1404

  
1405 1405
    for (i = 0; i < MAX_IOUNITS; i++)
1406
        if (hwdef->iounit_bases[i] != (a_target_phys_addr)-1)
1406
        if (hwdef->iounit_bases[i] != (target_phys_addr_t)-1)
1407 1407
            iounits[i] = iommu_init(hwdef->iounit_bases[i],
1408 1408
                                    hwdef->iounit_version,
1409 1409
                                    sbi_irq[0]);
......
1472 1472
}
1473 1473

  
1474 1474
/* SPARCserver 1000 hardware initialisation */
1475
static void ss1000_init(a_ram_addr RAM_size,
1475
static void ss1000_init(ram_addr_t RAM_size,
1476 1476
                        const char *boot_device,
1477 1477
                        const char *kernel_filename, const char *kernel_cmdline,
1478 1478
                        const char *initrd_filename, const char *cpu_model)
......
1482 1482
}
1483 1483

  
1484 1484
/* SPARCcenter 2000 hardware initialisation */
1485
static void ss2000_init(a_ram_addr RAM_size,
1485
static void ss2000_init(ram_addr_t RAM_size,
1486 1486
                        const char *boot_device,
1487 1487
                        const char *kernel_filename, const char *kernel_cmdline,
1488 1488
                        const char *initrd_filename, const char *cpu_model)
......
1530 1530
    },
1531 1531
};
1532 1532

  
1533
static DeviceState *sun4c_intctl_init(a_target_phys_addr addr,
1533
static DeviceState *sun4c_intctl_init(target_phys_addr_t addr,
1534 1534
                                      qemu_irq *parent_irq)
1535 1535
{
1536 1536
    DeviceState *dev;
......
1550 1550
    return dev;
1551 1551
}
1552 1552

  
1553
static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, a_ram_addr RAM_size,
1553
static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
1554 1554
                          const char *boot_device,
1555 1555
                          const char *kernel_filename,
1556 1556
                          const char *kernel_cmdline,
......
1615 1615

  
1616 1616
    slavio_misc_init(0, hwdef->aux1_base, 0, slavio_irq[1], fdc_tc);
1617 1617

  
1618
    if (hwdef->fd_base != (a_target_phys_addr)-1) {
1618
    if (hwdef->fd_base != (target_phys_addr_t)-1) {
1619 1619
        /* there is zero or one floppy drive */
1620 1620
        memset(fd, 0, sizeof(fd));
1621 1621
        dinfo = drive_get(IF_FLOPPY, 0, 0);
......
1664 1664
}
1665 1665

  
1666 1666
/* SPARCstation 2 hardware initialisation */
1667
static void ss2_init(a_ram_addr RAM_size,
1667
static void ss2_init(ram_addr_t RAM_size,
1668 1668
                     const char *boot_device,
1669 1669
                     const char *kernel_filename, const char *kernel_cmdline,
1670 1670
                     const char *initrd_filename, const char *cpu_model)

Also available in: Unified diff