Revision 1eed09cb

b/cpu-common.h
41 41
/* This should not be used by devices.  */
42 42
ram_addr_t qemu_ram_addr_from_host(void *ptr);
43 43

  
44
int cpu_register_io_memory(int io_index,
45
                           CPUReadMemoryFunc **mem_read,
44
int cpu_register_io_memory(CPUReadMemoryFunc **mem_read,
46 45
                           CPUWriteMemoryFunc **mem_write,
47 46
                           void *opaque);
48 47
void cpu_unregister_io_memory(int table_address);
b/exec.c
3004 3004
    mmio = qemu_mallocz(sizeof(subpage_t));
3005 3005

  
3006 3006
    mmio->base = base;
3007
    subpage_memory = cpu_register_io_memory(0, subpage_read, subpage_write, mmio);
3007
    subpage_memory = cpu_register_io_memory(subpage_read, subpage_write, mmio);
3008 3008
#if defined(DEBUG_SUBPAGE)
3009 3009
    printf("%s: %p base " TARGET_FMT_plx " len %08x %d\n", __func__,
3010 3010
           mmio, base, TARGET_PAGE_SIZE, subpage_memory);
......
3029 3029
    return -1;
3030 3030
}
3031 3031

  
3032
static int cpu_register_io_memory_fixed(int io_index,
3033
                                        CPUReadMemoryFunc **mem_read,
3034
                                        CPUWriteMemoryFunc **mem_write,
3035
                                        void *opaque);
3036

  
3032 3037
static void io_mem_init(void)
3033 3038
{
3034 3039
    int i;
3035 3040

  
3036
    cpu_register_io_memory(IO_MEM_ROM >> IO_MEM_SHIFT, error_mem_read, unassigned_mem_write, NULL);
3037
    cpu_register_io_memory(IO_MEM_UNASSIGNED >> IO_MEM_SHIFT, unassigned_mem_read, unassigned_mem_write, NULL);
3038
    cpu_register_io_memory(IO_MEM_NOTDIRTY >> IO_MEM_SHIFT, error_mem_read, notdirty_mem_write, NULL);
3041
    cpu_register_io_memory_fixed(IO_MEM_ROM, error_mem_read, unassigned_mem_write, NULL);
3042
    cpu_register_io_memory_fixed(IO_MEM_UNASSIGNED, unassigned_mem_read, unassigned_mem_write, NULL);
3043
    cpu_register_io_memory_fixed(IO_MEM_NOTDIRTY, error_mem_read, notdirty_mem_write, NULL);
3039 3044
    for (i=0; i<5; i++)
3040 3045
        io_mem_used[i] = 1;
3041 3046

  
3042
    io_mem_watch = cpu_register_io_memory(0, watch_mem_read,
3047
    io_mem_watch = cpu_register_io_memory(watch_mem_read,
3043 3048
                                          watch_mem_write, NULL);
3044 3049
#ifdef CONFIG_KQEMU
3045 3050
    if (kqemu_phys_ram_base) {
......
3057 3062
   modified. If it is zero, a new io zone is allocated. The return
3058 3063
   value can be used with cpu_register_physical_memory(). (-1) is
3059 3064
   returned if error. */
3060
int cpu_register_io_memory(int io_index,
3061
                           CPUReadMemoryFunc **mem_read,
3062
                           CPUWriteMemoryFunc **mem_write,
3063
                           void *opaque)
3065
static int cpu_register_io_memory_fixed(int io_index,
3066
                                        CPUReadMemoryFunc **mem_read,
3067
                                        CPUWriteMemoryFunc **mem_write,
3068
                                        void *opaque)
3064 3069
{
3065 3070
    int i, subwidth = 0;
3066 3071

  
......
3069 3074
        if (io_index == -1)
3070 3075
            return io_index;
3071 3076
    } else {
3077
        io_index >>= IO_MEM_SHIFT;
3072 3078
        if (io_index >= IO_MEM_NB_ENTRIES)
3073 3079
            return -1;
3074 3080
    }
......
3083 3089
    return (io_index << IO_MEM_SHIFT) | subwidth;
3084 3090
}
3085 3091

  
3092
int cpu_register_io_memory(CPUReadMemoryFunc **mem_read,
3093
                           CPUWriteMemoryFunc **mem_write,
3094
                           void *opaque)
3095
{
3096
    return cpu_register_io_memory_fixed(0, mem_read, mem_write, opaque);
3097
}
3098

  
3086 3099
void cpu_unregister_io_memory(int io_table_address)
3087 3100
{
3088 3101
    int i;
b/hw/apb_pci.c
234 234
    s->bus = pci_register_bus(NULL, "pci",
235 235
                              pci_apb_set_irq, pci_pbm_map_irq, pic, 0, 32);
236 236

  
237
    pci_mem_config = cpu_register_io_memory(0, pci_apb_config_read,
237
    pci_mem_config = cpu_register_io_memory(pci_apb_config_read,
238 238
                                            pci_apb_config_write, s);
239
    apb_config = cpu_register_io_memory(0, apb_config_read,
239
    apb_config = cpu_register_io_memory(apb_config_read,
240 240
                                        apb_config_write, s);
241
    pci_mem_data = cpu_register_io_memory(0, pci_apb_read,
241
    pci_mem_data = cpu_register_io_memory(pci_apb_read,
242 242
                                          pci_apb_write, s);
243
    pci_ioport = cpu_register_io_memory(0, pci_apb_ioread,
243
    pci_ioport = cpu_register_io_memory(pci_apb_ioread,
244 244
                                          pci_apb_iowrite, s);
245 245

  
246 246
    cpu_register_physical_memory(special_base + 0x2000ULL, 0x40, apb_config);
b/hw/apic.c
936 936
    if (apic_io_memory == 0) {
937 937
        /* NOTE: the APIC is directly connected to the CPU - it is not
938 938
           on the global memory bus. */
939
        apic_io_memory = cpu_register_io_memory(0, apic_mem_read,
939
        apic_io_memory = cpu_register_io_memory(apic_mem_read,
940 940
                                                apic_mem_write, NULL);
941 941
        cpu_register_physical_memory(s->apicbase & ~0xfff, 0x1000,
942 942
                                     apic_io_memory);
b/hw/arm_gic.c
725 725
    for (i = 0; i < NCPU; i++) {
726 726
        sysbus_init_irq(&s->busdev, &s->parent_irq[i]);
727 727
    }
728
    s->iomemtype = cpu_register_io_memory(0, gic_dist_readfn,
728
    s->iomemtype = cpu_register_io_memory(gic_dist_readfn,
729 729
                                          gic_dist_writefn, s);
730 730
    gic_reset(s);
731 731
    register_savevm("arm_gic", -1, 1, gic_save, gic_load, s);
b/hw/arm_sysctl.c
198 198
    /* The MPcore bootloader uses these flags to start secondary CPUs.
199 199
       We don't use a bootloader, so do this here.  */
200 200
    s->flags = 3;
201
    iomemtype = cpu_register_io_memory(0, arm_sysctl_readfn,
201
    iomemtype = cpu_register_io_memory(arm_sysctl_readfn,
202 202
                                       arm_sysctl_writefn, s);
203 203
    sysbus_init_mmio(dev, 0x1000, iomemtype);
204 204
    /* ??? Save/restore.  */
b/hw/arm_timer.c
268 268
    s->timer[1] = arm_timer_init(1000000);
269 269
    s->timer[0]->irq = qi[0];
270 270
    s->timer[1]->irq = qi[1];
271
    iomemtype = cpu_register_io_memory(0, sp804_readfn,
271
    iomemtype = cpu_register_io_memory(sp804_readfn,
272 272
                                       sp804_writefn, s);
273 273
    sysbus_init_mmio(dev, 0x1000, iomemtype);
274 274
    register_savevm("sp804", -1, 1, sp804_save, sp804_load, s);
......
338 338
    sysbus_init_irq(dev, &s->timer[1]->irq);
339 339
    sysbus_init_irq(dev, &s->timer[2]->irq);
340 340

  
341
    iomemtype = cpu_register_io_memory(0, icp_pit_readfn,
341
    iomemtype = cpu_register_io_memory(icp_pit_readfn,
342 342
                                       icp_pit_writefn, s);
343 343
    sysbus_init_mmio(dev, 0x1000, iomemtype);
344 344
    /* This device has no state to save/restore.  The component timers will
b/hw/armv7m.c
128 128
    int iomemtype;
129 129

  
130 130
    s->base = qdev_get_prop_int(&dev->qdev, "base", 0);
131
    iomemtype = cpu_register_io_memory(0, bitband_readfn, bitband_writefn,
131
    iomemtype = cpu_register_io_memory(bitband_readfn, bitband_writefn,
132 132
                                       &s->base);
133 133
    sysbus_init_mmio(dev, 0x02000000, iomemtype);
134 134
}
b/hw/axis_dev88.c
286 286

  
287 287
      /* Attach a NAND flash to CS1.  */
288 288
    nand_state.nand = nand_init(NAND_MFR_STMICRO, 0x39);
289
    nand_regs = cpu_register_io_memory(0, nand_read, nand_write, &nand_state);
289
    nand_regs = cpu_register_io_memory(nand_read, nand_write, &nand_state);
290 290
    cpu_register_physical_memory(0x10000000, 0x05000000, nand_regs);
291 291

  
292 292
    gpio_state.nand = &nand_state;
293
    gpio_regs = cpu_register_io_memory(0, gpio_read, gpio_write, &gpio_state);
293
    gpio_regs = cpu_register_io_memory(gpio_read, gpio_write, &gpio_state);
294 294
    cpu_register_physical_memory(0x3001a000, 0x5c, gpio_regs);
295 295

  
296 296

  
b/hw/cirrus_vga.c
3196 3196
    register_ioport_read(0x3ba, 1, 1, vga_ioport_read, s);
3197 3197
    register_ioport_read(0x3da, 1, 1, vga_ioport_read, s);
3198 3198

  
3199
    s->vga.vga_io_memory = cpu_register_io_memory(0, cirrus_vga_mem_read,
3199
    s->vga.vga_io_memory = cpu_register_io_memory(cirrus_vga_mem_read,
3200 3200
                                                  cirrus_vga_mem_write, s);
3201 3201
    cpu_register_physical_memory(isa_mem_base + 0x000a0000, 0x20000,
3202 3202
                                 s->vga.vga_io_memory);
......
3204 3204

  
3205 3205
    /* I/O handler for LFB */
3206 3206
    s->cirrus_linear_io_addr =
3207
        cpu_register_io_memory(0, cirrus_linear_read, cirrus_linear_write, s);
3207
        cpu_register_io_memory(cirrus_linear_read, cirrus_linear_write, s);
3208 3208

  
3209 3209
    /* I/O handler for LFB */
3210 3210
    s->cirrus_linear_bitblt_io_addr =
3211
        cpu_register_io_memory(0, cirrus_linear_bitblt_read,
3211
        cpu_register_io_memory(cirrus_linear_bitblt_read,
3212 3212
                               cirrus_linear_bitblt_write, s);
3213 3213

  
3214 3214
    /* I/O handler for memory-mapped I/O */
3215 3215
    s->cirrus_mmio_io_addr =
3216
        cpu_register_io_memory(0, cirrus_mmio_read, cirrus_mmio_write, s);
3216
        cpu_register_io_memory(cirrus_mmio_read, cirrus_mmio_write, s);
3217 3217

  
3218 3218
    s->real_vram_size =
3219 3219
        (s->device_id == CIRRUS_ID_CLGD5446) ? 4096 * 1024 : 2048 * 1024;
b/hw/cs4231.c
172 172

  
173 173
    s = qemu_mallocz(sizeof(CSState));
174 174

  
175
    cs_io_memory = cpu_register_io_memory(0, cs_mem_read, cs_mem_write, s);
175
    cs_io_memory = cpu_register_io_memory(cs_mem_read, cs_mem_write, s);
176 176
    cpu_register_physical_memory(base, CS_SIZE, cs_io_memory);
177 177
    register_savevm("cs4231", base, 1, cs_save, cs_load, s);
178 178
    qemu_register_reset(cs_reset, 0, s);
b/hw/cuda.c
760 760
    s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET;
761 761

  
762 762
    s->adb_poll_timer = qemu_new_timer(vm_clock, cuda_adb_poll, s);
763
    *cuda_mem_index = cpu_register_io_memory(0, cuda_read, cuda_write, s);
763
    *cuda_mem_index = cpu_register_io_memory(cuda_read, cuda_write, s);
764 764
    register_savevm("cuda", -1, 1, cuda_save, cuda_load, s);
765 765
    qemu_register_reset(cuda_reset, 0, s);
766 766
    cuda_reset(s);
b/hw/dp8393x.c
897 897
    qemu_register_reset(nic_reset, 0, s);
898 898
    nic_reset(s);
899 899

  
900
    s->mmio_index = cpu_register_io_memory(0, dp8393x_read, dp8393x_write, s);
900
    s->mmio_index = cpu_register_io_memory(dp8393x_read, dp8393x_write, s);
901 901
    cpu_register_physical_memory(base, 0x40 << it_shift, s->mmio_index);
902 902
}
b/hw/ds1225y.c
171 171
    }
172 172

  
173 173
    /* Read/write memory */
174
    mem_indexRW = cpu_register_io_memory(0, nvram_read, nvram_write, s);
174
    mem_indexRW = cpu_register_io_memory(nvram_read, nvram_write, s);
175 175
    cpu_register_physical_memory(mem_base, s->chip_size, mem_indexRW);
176 176
    /* Read/write protected memory */
177
    mem_indexRP = cpu_register_io_memory(0, nvram_read, nvram_write_protected, s);
177
    mem_indexRP = cpu_register_io_memory(nvram_read, nvram_write_protected, s);
178 178
    cpu_register_physical_memory(mem_base + s->chip_size, s->chip_size, mem_indexRP);
179 179
    return s;
180 180
}
b/hw/e1000.c
1101 1101

  
1102 1102
    pci_conf[0x3d] = 1; // interrupt pin 0
1103 1103

  
1104
    d->mmio_index = cpu_register_io_memory(0, e1000_mmio_read,
1104
    d->mmio_index = cpu_register_io_memory(e1000_mmio_read,
1105 1105
            e1000_mmio_write, d);
1106 1106

  
1107 1107
    pci_register_io_region((PCIDevice *)d, 0, PNPMMIO_SIZE,
b/hw/eccmemctl.c
325 325
    s->regs[0] = version;
326 326
    s->irq = irq;
327 327

  
328
    ecc_io_memory = cpu_register_io_memory(0, ecc_mem_read, ecc_mem_write, s);
328
    ecc_io_memory = cpu_register_io_memory(ecc_mem_read, ecc_mem_write, s);
329 329
    cpu_register_physical_memory(base, ECC_SIZE, ecc_io_memory);
330 330
    if (version == ECC_MCC) { // SS-600MP only
331
        ecc_io_memory = cpu_register_io_memory(0, ecc_diag_mem_read,
331
        ecc_io_memory = cpu_register_io_memory(ecc_diag_mem_read,
332 332
                                               ecc_diag_mem_write, s);
333 333
        cpu_register_physical_memory(base + 0x1000, ECC_DIAG_SIZE,
334 334
                                     ecc_io_memory);
b/hw/eepro100.c
1750 1750

  
1751 1751
    /* Handler for memory-mapped I/O */
1752 1752
    d->eepro100.mmio_index =
1753
        cpu_register_io_memory(0, pci_mmio_read, pci_mmio_write, s);
1753
        cpu_register_io_memory(pci_mmio_read, pci_mmio_write, s);
1754 1754

  
1755 1755
    pci_register_io_region(&d->dev, 0, PCI_MEM_SIZE,
1756 1756
                           PCI_ADDRESS_SPACE_MEM |
b/hw/escc.c
728 728

  
729 729
    s = qemu_mallocz(sizeof(SerialState));
730 730

  
731
    escc_io_memory = cpu_register_io_memory(0, escc_mem_read,
731
    escc_io_memory = cpu_register_io_memory(escc_mem_read,
732 732
                                            escc_mem_write,
733 733
                                            s);
734 734
    if (base)
......
922 922
    s->chn[0].disabled = disabled;
923 923
    s->chn[1].disabled = disabled;
924 924

  
925
    slavio_serial_io_memory = cpu_register_io_memory(0, escc_mem_read,
925
    slavio_serial_io_memory = cpu_register_io_memory(escc_mem_read,
926 926
                                                     escc_mem_write,
927 927
                                                     s);
928 928
    cpu_register_physical_memory(base, ESCC_SIZE << it_shift,
b/hw/esp.c
676 676
    s->dma_memory_write = qdev_get_prop_ptr(&dev->qdev, "dma_memory_write");
677 677
    s->dma_opaque = qdev_get_prop_ptr(&dev->qdev, "dma_opaque");
678 678

  
679
    esp_io_memory = cpu_register_io_memory(0, esp_mem_read, esp_mem_write, s);
679
    esp_io_memory = cpu_register_io_memory(esp_mem_read, esp_mem_write, s);
680 680
    sysbus_init_mmio(dev, ESP_REGS << s->it_shift, esp_io_memory);
681 681

  
682 682
    esp_reset(s);
b/hw/etraxfs_dma.c
750 750
	ctrl->nr_channels = nr_channels;
751 751
	ctrl->channels = qemu_mallocz(sizeof ctrl->channels[0] * nr_channels);
752 752

  
753
	ctrl->map = cpu_register_io_memory(0, dma_read, dma_write, ctrl);
753
	ctrl->map = cpu_register_io_memory(dma_read, dma_write, ctrl);
754 754
	cpu_register_physical_memory(base, nr_channels * 0x2000, ctrl->map);
755 755
	return ctrl;
756 756
}
b/hw/etraxfs_eth.c
587 587
	tdk_init(&eth->phy);
588 588
	mdio_attach(&eth->mdio_bus, &eth->phy, eth->phyaddr);
589 589

  
590
	eth->ethregs = cpu_register_io_memory(0, eth_read, eth_write, eth);
590
	eth->ethregs = cpu_register_io_memory(eth_read, eth_write, eth);
591 591
	cpu_register_physical_memory (base, 0x5c, eth->ethregs);
592 592

  
593 593
	eth->vc = qemu_new_vlan_client(nd->vlan, nd->model, nd->name,
b/hw/etraxfs_pic.c
145 145
    sysbus_init_irq(dev, &s->parent_irq);
146 146
    sysbus_init_irq(dev, &s->parent_nmi);
147 147

  
148
    intr_vect_regs = cpu_register_io_memory(0, pic_read, pic_write, s);
148
    intr_vect_regs = cpu_register_io_memory(pic_read, pic_write, s);
149 149
    sysbus_init_mmio(dev, R_MAX * 4, intr_vect_regs);
150 150
}
151 151

  
b/hw/etraxfs_ser.c
171 171
    s->regs[RS_STAT_DIN] |= (1 << STAT_TR_IDLE);
172 172

  
173 173
    sysbus_init_irq(dev, &s->irq);
174
    ser_regs = cpu_register_io_memory(0, ser_read, ser_write, s);
174
    ser_regs = cpu_register_io_memory(ser_read, ser_write, s);
175 175
    sysbus_init_mmio(dev, R_MAX * 4, ser_regs);
176 176
    s->chr = qdev_init_chardev(&dev->qdev);
177 177
    if (s->chr)
b/hw/etraxfs_timer.c
323 323
    sysbus_init_irq(dev, &t->irq);
324 324
    sysbus_init_irq(dev, &t->nmi);
325 325

  
326
    timer_regs = cpu_register_io_memory(0, timer_read, timer_write, t);
326
    timer_regs = cpu_register_io_memory(timer_read, timer_write, t);
327 327
    sysbus_init_mmio(dev, 0x5c, timer_regs);
328 328

  
329 329
    qemu_register_reset(etraxfs_timer_reset, 0, t);
b/hw/fdc.c
1902 1902

  
1903 1903
    fdctrl->sun4m = 0;
1904 1904
    if (mem_mapped) {
1905
        io_mem = cpu_register_io_memory(0, fdctrl_mem_read, fdctrl_mem_write,
1905
        io_mem = cpu_register_io_memory(fdctrl_mem_read, fdctrl_mem_write,
1906 1906
                                        fdctrl);
1907 1907
        cpu_register_physical_memory(io_base, 0x08, io_mem);
1908 1908
    } else {
......
1927 1927

  
1928 1928
    fdctrl = fdctrl_init_common(irq, -1, io_base, fds);
1929 1929
    fdctrl->sun4m = 1;
1930
    io_mem = cpu_register_io_memory(0, fdctrl_mem_read_strict,
1930
    io_mem = cpu_register_io_memory(fdctrl_mem_read_strict,
1931 1931
                                    fdctrl_mem_write_strict,
1932 1932
                                    fdctrl);
1933 1933
    cpu_register_physical_memory(io_base, 0x08, io_mem);
b/hw/fw_cfg.c
266 266
        register_ioport_write(data_port, 1, 1, fw_cfg_io_writeb, s);
267 267
    }
268 268
    if (ctl_addr) {
269
        io_ctl_memory = cpu_register_io_memory(0, fw_cfg_ctl_mem_read,
269
        io_ctl_memory = cpu_register_io_memory(fw_cfg_ctl_mem_read,
270 270
                                           fw_cfg_ctl_mem_write, s);
271 271
        cpu_register_physical_memory(ctl_addr, FW_CFG_SIZE, io_ctl_memory);
272 272
    }
273 273
    if (data_addr) {
274
        io_data_memory = cpu_register_io_memory(0, fw_cfg_data_mem_read,
274
        io_data_memory = cpu_register_io_memory(fw_cfg_data_mem_read,
275 275
                                           fw_cfg_data_mem_write, s);
276 276
        cpu_register_physical_memory(data_addr, FW_CFG_SIZE, io_data_memory);
277 277
    }
b/hw/g364fb.c
608 608

  
609 609
    cpu_register_physical_memory(vram_base, s->vram_size, s->vram_offset);
610 610

  
611
    io_ctrl = cpu_register_io_memory(0, g364fb_ctrl_read, g364fb_ctrl_write, s);
611
    io_ctrl = cpu_register_io_memory(g364fb_ctrl_read, g364fb_ctrl_write, s);
612 612
    cpu_register_physical_memory(ctrl_base, 0x200000, io_ctrl);
613 613

  
614 614
    return 0;
b/hw/grackle_pci.c
137 137
                              pci_grackle_set_irq, pci_grackle_map_irq,
138 138
                              pic, 0, 4);
139 139

  
140
    pci_mem_config = cpu_register_io_memory(0, pci_grackle_config_read,
140
    pci_mem_config = cpu_register_io_memory(pci_grackle_config_read,
141 141
                                            pci_grackle_config_write, s);
142
    pci_mem_data = cpu_register_io_memory(0, pci_grackle_read,
142
    pci_mem_data = cpu_register_io_memory(pci_grackle_read,
143 143
                                          pci_grackle_write, s);
144 144
    cpu_register_physical_memory(base, 0x1000, pci_mem_config);
145 145
    cpu_register_physical_memory(base + 0x00200000, 0x1000, pci_mem_data);
b/hw/gt64xxx.c
1131 1131
    s->pci->bus = pci_register_bus(NULL, "pci",
1132 1132
                                   pci_gt64120_set_irq, pci_gt64120_map_irq,
1133 1133
                                   pic, 144, 4);
1134
    s->ISD_handle = cpu_register_io_memory(0, gt64120_read, gt64120_write, s);
1134
    s->ISD_handle = cpu_register_io_memory(gt64120_read, gt64120_write, s);
1135 1135
    d = pci_register_device(s->pci->bus, "GT64120 PCI Bus", sizeof(PCIDevice),
1136 1136
                            0, gt64120_read_config, gt64120_write_config);
1137 1137

  
b/hw/heathrow_pic.c
226 226
    s = qemu_mallocz(sizeof(HeathrowPICS));
227 227
    /* only 1 CPU */
228 228
    s->irqs = irqs[0];
229
    *pmem_index = cpu_register_io_memory(0, pic_read, pic_write, s);
229
    *pmem_index = cpu_register_io_memory(pic_read, pic_write, s);
230 230

  
231 231
    register_savevm("heathrow_pic", -1, 1, heathrow_pic_save,
232 232
                    heathrow_pic_load, s);
b/hw/hpet.c
582 582
    register_savevm("hpet", -1, 1, hpet_save, hpet_load, s);
583 583
    qemu_register_reset(hpet_reset, 0, s);
584 584
    /* HPET Area */
585
    iomemtype = cpu_register_io_memory(0, hpet_ram_read,
585
    iomemtype = cpu_register_io_memory(hpet_ram_read,
586 586
                                       hpet_ram_write, s);
587 587
    cpu_register_physical_memory(HPET_BASE, 0x400, iomemtype);
588 588
}
b/hw/ide.c
3751 3751
    if (dbdma)
3752 3752
        DBDMA_register_channel(dbdma, channel, dma_irq, pmac_ide_transfer, pmac_ide_flush, d);
3753 3753

  
3754
    pmac_ide_memory = cpu_register_io_memory(0, pmac_ide_read,
3754
    pmac_ide_memory = cpu_register_io_memory(pmac_ide_read,
3755 3755
                                             pmac_ide_write, d);
3756 3756
    register_savevm("ide", 0, 1, pmac_ide_save, pmac_ide_load, d);
3757 3757
    qemu_register_reset(pmac_ide_reset, 0, d);
......
3847 3847
    s->dev = ide;
3848 3848
    s->shift = shift;
3849 3849

  
3850
    mem1 = cpu_register_io_memory(0, mmio_ide_reads, mmio_ide_writes, s);
3851
    mem2 = cpu_register_io_memory(0, mmio_ide_status, mmio_ide_cmd, s);
3850
    mem1 = cpu_register_io_memory(mmio_ide_reads, mmio_ide_writes, s);
3851
    mem2 = cpu_register_io_memory(mmio_ide_status, mmio_ide_cmd, s);
3852 3852
    cpu_register_physical_memory(membase, 16 << shift, mem1);
3853 3853
    cpu_register_physical_memory(membase2, 2 << shift, mem2);
3854 3854
}
b/hw/integratorcp.c
256 256
    s->cm_init = 0x00000112;
257 257
    s->flash_offset = qemu_ram_alloc(0x100000);
258 258

  
259
    iomemtype = cpu_register_io_memory(0, integratorcm_readfn,
259
    iomemtype = cpu_register_io_memory(integratorcm_readfn,
260 260
                                       integratorcm_writefn, s);
261 261
    sysbus_init_mmio(dev, 0x00800000, iomemtype);
262 262
    integratorcm_do_remap(s, 1);
......
381 381
    qdev_init_gpio_in(&dev->qdev, icp_pic_set_irq, 32);
382 382
    sysbus_init_irq(dev, &s->parent_irq);
383 383
    sysbus_init_irq(dev, &s->parent_fiq);
384
    iomemtype = cpu_register_io_memory(0, icp_pic_readfn,
384
    iomemtype = cpu_register_io_memory(icp_pic_readfn,
385 385
                                       icp_pic_writefn, s);
386 386
    sysbus_init_mmio(dev, 0x00800000, iomemtype);
387 387
}
......
433 433
{
434 434
    int iomemtype;
435 435

  
436
    iomemtype = cpu_register_io_memory(0, icp_control_readfn,
436
    iomemtype = cpu_register_io_memory(icp_control_readfn,
437 437
                                       icp_control_writefn, NULL);
438 438
    cpu_register_physical_memory(base, 0x00800000, iomemtype);
439 439
    /* ??? Save/restore.  */
b/hw/ioapic.c
250 250
    s = qemu_mallocz(sizeof(IOAPICState));
251 251
    ioapic_reset(s);
252 252

  
253
    io_memory = cpu_register_io_memory(0, ioapic_mem_read,
253
    io_memory = cpu_register_io_memory(ioapic_mem_read,
254 254
                                       ioapic_mem_write, s);
255 255
    cpu_register_physical_memory(0xfec00000, 0x1000, io_memory);
256 256

  
b/hw/iommu.c
375 375
    s->version = version;
376 376
    s->irq = irq;
377 377

  
378
    iommu_io_memory = cpu_register_io_memory(0, iommu_mem_read,
378
    iommu_io_memory = cpu_register_io_memory(iommu_mem_read,
379 379
                                             iommu_mem_write, s);
380 380
    cpu_register_physical_memory(addr, IOMMU_NREGS * 4, iommu_io_memory);
381 381

  
b/hw/isa_mmio.c
96 96
void isa_mmio_init(target_phys_addr_t base, target_phys_addr_t size)
97 97
{
98 98
    if (!isa_mmio_iomemtype) {
99
        isa_mmio_iomemtype = cpu_register_io_memory(0, isa_mmio_read,
99
        isa_mmio_iomemtype = cpu_register_io_memory(isa_mmio_read,
100 100
                                                    isa_mmio_write, NULL);
101 101
    }
102 102
    cpu_register_physical_memory(base, size, isa_mmio_iomemtype);
b/hw/jazz_led.c
307 307

  
308 308
    s->state = REDRAW_SEGMENTS | REDRAW_BACKGROUND;
309 309

  
310
    io = cpu_register_io_memory(0, led_read, led_write, s);
310
    io = cpu_register_io_memory(led_read, led_write, s);
311 311
    cpu_register_physical_memory(base, 1, io);
312 312

  
313 313
    s->ds = graphic_console_init(jazz_led_update_display,
b/hw/lsi53c895a.c
1998 1998
    /* Interrupt pin 1 */
1999 1999
    pci_conf[0x3d] = 0x01;
2000 2000

  
2001
    s->mmio_io_addr = cpu_register_io_memory(0, lsi_mmio_readfn,
2001
    s->mmio_io_addr = cpu_register_io_memory(lsi_mmio_readfn,
2002 2002
                                             lsi_mmio_writefn, s);
2003
    s->ram_io_addr = cpu_register_io_memory(0, lsi_ram_readfn,
2003
    s->ram_io_addr = cpu_register_io_memory(lsi_ram_readfn,
2004 2004
                                            lsi_ram_writefn, s);
2005 2005

  
2006 2006
    pci_register_io_region((struct PCIDevice *)s, 0, 256,
b/hw/m48t59.c
632 632
        register_ioport_write(io_base, 0x04, 1, NVRAM_writeb, s);
633 633
    }
634 634
    if (mem_base != 0) {
635
        s->mem_index = cpu_register_io_memory(0, nvram_read, nvram_write, s);
635
        s->mem_index = cpu_register_io_memory(nvram_read, nvram_write, s);
636 636
        cpu_register_physical_memory(mem_base, size, s->mem_index);
637 637
    }
638 638
    if (type == 59) {
b/hw/mac_dbdma.c
837 837

  
838 838
    s = qemu_mallocz(sizeof(DBDMA_channel) * DBDMA_CHANNELS);
839 839

  
840
    *dbdma_mem_index = cpu_register_io_memory(0, dbdma_read, dbdma_write, s);
840
    *dbdma_mem_index = cpu_register_io_memory(dbdma_read, dbdma_write, s);
841 841
    register_savevm("dbdma", -1, 1, dbdma_save, dbdma_load, s);
842 842
    qemu_register_reset(dbdma_reset, 0, s);
843 843
    dbdma_reset(s);
b/hw/mac_nvram.c
138 138
    s->size = size;
139 139
    s->it_shift = it_shift;
140 140

  
141
    s->mem_index = cpu_register_io_memory(0, nvram_read, nvram_write, s);
141
    s->mem_index = cpu_register_io_memory(nvram_read, nvram_write, s);
142 142
    *mem_index = s->mem_index;
143 143
    register_savevm("macio_nvram", -1, 1, macio_nvram_save, macio_nvram_load,
144 144
                    s);
b/hw/mc146818rtc.c
735 735
    s->next_second_time = qemu_get_clock(vm_clock) + (ticks_per_sec * 99) / 100;
736 736
    qemu_mod_timer(s->second_timer2, s->next_second_time);
737 737

  
738
    io_memory = cpu_register_io_memory(0, rtc_mm_read, rtc_mm_write, s);
738
    io_memory = cpu_register_io_memory(rtc_mm_read, rtc_mm_write, s);
739 739
    cpu_register_physical_memory(base, 2 << it_shift, io_memory);
740 740

  
741 741
    register_savevm("mc146818rtc", base, 1, rtc_save, rtc_load, s);
b/hw/mcf5206.c
524 524
    int iomemtype;
525 525

  
526 526
    s = (m5206_mbar_state *)qemu_mallocz(sizeof(m5206_mbar_state));
527
    iomemtype = cpu_register_io_memory(0, m5206_mbar_readfn,
527
    iomemtype = cpu_register_io_memory(m5206_mbar_readfn,
528 528
                                       m5206_mbar_writefn, s);
529 529
    cpu_register_physical_memory(base, 0x00001000, iomemtype);
530 530

  
b/hw/mcf5208.c
176 176
    QEMUBH *bh;
177 177
    int i;
178 178

  
179
    iomemtype = cpu_register_io_memory(0, m5208_sys_readfn,
179
    iomemtype = cpu_register_io_memory(m5208_sys_readfn,
180 180
                                       m5208_sys_writefn, NULL);
181 181
    /* SDRAMC.  */
182 182
    cpu_register_physical_memory(0xfc0a8000, 0x00004000, iomemtype);
......
185 185
        s = (m5208_timer_state *)qemu_mallocz(sizeof(m5208_timer_state));
186 186
        bh = qemu_bh_new(m5208_timer_trigger, s);
187 187
        s->timer = ptimer_init(bh);
188
        iomemtype = cpu_register_io_memory(0, m5208_timer_readfn,
188
        iomemtype = cpu_register_io_memory(m5208_timer_readfn,
189 189
                                           m5208_timer_writefn, s);
190 190
        cpu_register_physical_memory(0xfc080000 + 0x4000 * i, 0x00004000,
191 191
                                     iomemtype);
b/hw/mcf_fec.c
458 458

  
459 459
    s = (mcf_fec_state *)qemu_mallocz(sizeof(mcf_fec_state));
460 460
    s->irq = irq;
461
    s->mmio_index = cpu_register_io_memory(0, mcf_fec_readfn,
461
    s->mmio_index = cpu_register_io_memory(mcf_fec_readfn,
462 462
                                           mcf_fec_writefn, s);
463 463
    cpu_register_physical_memory(base, 0x400, s->mmio_index);
464 464

  
b/hw/mcf_intc.c
148 148
    s->env = env;
149 149
    mcf_intc_reset(s);
150 150

  
151
    iomemtype = cpu_register_io_memory(0, mcf_intc_readfn,
151
    iomemtype = cpu_register_io_memory(mcf_intc_readfn,
152 152
                                       mcf_intc_writefn, s);
153 153
    cpu_register_physical_memory(base, 0x100, iomemtype);
154 154

  
b/hw/mcf_uart.c
303 303
    int iomemtype;
304 304

  
305 305
    s = mcf_uart_init(irq, chr);
306
    iomemtype = cpu_register_io_memory(0, mcf_uart_readfn,
306
    iomemtype = cpu_register_io_memory(mcf_uart_readfn,
307 307
                                       mcf_uart_writefn, s);
308 308
    cpu_register_physical_memory(base, 0x40, iomemtype);
309 309
}
b/hw/mips_jazz.c
181 181

  
182 182
    /* Chipset */
183 183
    rc4030_opaque = rc4030_init(env->irq[6], env->irq[3], &rc4030, &dmas);
184
    s_dma_dummy = cpu_register_io_memory(0, dma_dummy_read, dma_dummy_write, NULL);
184
    s_dma_dummy = cpu_register_io_memory(dma_dummy_read, dma_dummy_write, NULL);
185 185
    cpu_register_physical_memory(0x8000d000, 0x00001000, s_dma_dummy);
186 186

  
187 187
    /* ISA devices */
......
245 245

  
246 246
    /* Real time clock */
247 247
    rtc_init(0x70, i8259[8], 1980);
248
    s_rtc = cpu_register_io_memory(0, rtc_read, rtc_write, env);
248
    s_rtc = cpu_register_io_memory(rtc_read, rtc_write, env);
249 249
    cpu_register_physical_memory(0x80004000, 0x00001000, s_rtc);
250 250

  
251 251
    /* Keyboard (i8042) */
b/hw/mips_malta.c
435 435

  
436 436
    s = (MaltaFPGAState *)qemu_mallocz(sizeof(MaltaFPGAState));
437 437

  
438
    malta = cpu_register_io_memory(0, malta_fpga_read,
438
    malta = cpu_register_io_memory(malta_fpga_read,
439 439
                                   malta_fpga_write, s);
440 440

  
441 441
    cpu_register_physical_memory(base, 0x900, malta);
b/hw/mips_r4k.c
185 185
    cpu_register_physical_memory(0, ram_size, ram_offset | IO_MEM_RAM);
186 186

  
187 187
    if (!mips_qemu_iomemtype) {
188
        mips_qemu_iomemtype = cpu_register_io_memory(0, mips_qemu_read,
188
        mips_qemu_iomemtype = cpu_register_io_memory(mips_qemu_read,
189 189
                                                     mips_qemu_write, NULL);
190 190
    }
191 191
    cpu_register_physical_memory(0x1fbf0000, 0x10000, mips_qemu_iomemtype);
b/hw/mpcore.c
268 268
    int i;
269 269

  
270 270
    gic_init(&s->gic);
271
    s->iomemtype = cpu_register_io_memory(0, mpcore_priv_readfn,
271
    s->iomemtype = cpu_register_io_memory(mpcore_priv_readfn,
272 272
                                          mpcore_priv_writefn, s);
273 273
    sysbus_init_mmio_cb(dev, 0x2000, mpcore_priv_map);
274 274
    for (i = 0; i < 8; i++) {
b/hw/mst_fpga.c
231 231
	qi  = qemu_allocate_irqs(mst_fpga_set_irq, s, MST_NUM_IRQS);
232 232
	s->pins = qi;
233 233

  
234
	iomemtype = cpu_register_io_memory(0, mst_fpga_readfn,
234
	iomemtype = cpu_register_io_memory(mst_fpga_readfn,
235 235
		mst_fpga_writefn, s);
236 236
	cpu_register_physical_memory(base, 0x00100000, iomemtype);
237 237
	register_savevm("mainstone_fpga", 0, 0, mst_fpga_save, mst_fpga_load, s);
b/hw/musicpal.c
437 437
    s->wm = i2c_create_slave(i2c->bus, "wm8750", MP_WM_ADDR);
438 438
    wm8750_data_req_set(s->wm, audio_callback, s);
439 439

  
440
    iomemtype = cpu_register_io_memory(0, musicpal_audio_readfn,
440
    iomemtype = cpu_register_io_memory(musicpal_audio_readfn,
441 441
                       musicpal_audio_writefn, s);
442 442
    cpu_register_physical_memory(MP_AUDIO_BASE, MP_AUDIO_SIZE, iomemtype);
443 443

  
......
756 756
    s->vc = qdev_get_vlan_client(&dev->qdev,
757 757
                                 eth_can_receive, eth_receive, NULL,
758 758
                                 eth_cleanup, s);
759
    s->mmio_index = cpu_register_io_memory(0, mv88w8618_eth_readfn,
759
    s->mmio_index = cpu_register_io_memory(mv88w8618_eth_readfn,
760 760
                                           mv88w8618_eth_writefn, s);
761 761
    sysbus_init_mmio(dev, MP_ETH_SIZE, s->mmio_index);
762 762
}
......
946 946
    musicpal_lcd_state *s = FROM_SYSBUS(musicpal_lcd_state, dev);
947 947
    int iomemtype;
948 948

  
949
    iomemtype = cpu_register_io_memory(0, musicpal_lcd_readfn,
949
    iomemtype = cpu_register_io_memory(musicpal_lcd_readfn,
950 950
                                       musicpal_lcd_writefn, s);
951 951
    sysbus_init_mmio(dev, MP_LCD_SIZE, iomemtype);
952 952
    cpu_register_physical_memory(MP_LCD_BASE, MP_LCD_SIZE, iomemtype);
......
1043 1043

  
1044 1044
    qdev_init_gpio_in(&dev->qdev, mv88w8618_pic_set_irq, 32);
1045 1045
    sysbus_init_irq(dev, &s->parent_irq);
1046
    iomemtype = cpu_register_io_memory(0, mv88w8618_pic_readfn,
1046
    iomemtype = cpu_register_io_memory(mv88w8618_pic_readfn,
1047 1047
                                       mv88w8618_pic_writefn, s);
1048 1048
    sysbus_init_mmio(dev, MP_PIC_SIZE, iomemtype);
1049 1049

  
......
1167 1167
        mv88w8618_timer_init(dev, &s->timer[i], 1000000);
1168 1168
    }
1169 1169

  
1170
    iomemtype = cpu_register_io_memory(0, mv88w8618_pit_readfn,
1170
    iomemtype = cpu_register_io_memory(mv88w8618_pit_readfn,
1171 1171
                                       mv88w8618_pit_writefn, s);
1172 1172
    sysbus_init_mmio(dev, MP_PIT_SIZE, iomemtype);
1173 1173
}
......
1224 1224
    mv88w8618_flashcfg_state *s = FROM_SYSBUS(mv88w8618_flashcfg_state, dev);
1225 1225

  
1226 1226
    s->cfgr0 = 0xfffe4285; /* Default as set by U-Boot for 8 MB flash */
1227
    iomemtype = cpu_register_io_memory(0, mv88w8618_flashcfg_readfn,
1227
    iomemtype = cpu_register_io_memory(mv88w8618_flashcfg_readfn,
1228 1228
                       mv88w8618_flashcfg_writefn, s);
1229 1229
    sysbus_init_mmio(dev, MP_FLASHCFG_SIZE, iomemtype);
1230 1230
}
......
1266 1266
{
1267 1267
    int iomemtype;
1268 1268

  
1269
    iomemtype = cpu_register_io_memory(0, musicpal_misc_readfn,
1269
    iomemtype = cpu_register_io_memory(musicpal_misc_readfn,
1270 1270
                                       musicpal_misc_writefn, NULL);
1271 1271
    cpu_register_physical_memory(MP_MISC_BASE, MP_MISC_SIZE, iomemtype);
1272 1272
}
......
1311 1311
{
1312 1312
    int iomemtype;
1313 1313

  
1314
    iomemtype = cpu_register_io_memory(0, mv88w8618_wlan_readfn,
1314
    iomemtype = cpu_register_io_memory(mv88w8618_wlan_readfn,
1315 1315
                                       mv88w8618_wlan_writefn, NULL);
1316 1316
    sysbus_init_mmio(dev, MP_WLAN_SIZE, iomemtype);
1317 1317
}
......
1412 1412
{
1413 1413
    int iomemtype;
1414 1414

  
1415
    iomemtype = cpu_register_io_memory(0, musicpal_gpio_readfn,
1415
    iomemtype = cpu_register_io_memory(musicpal_gpio_readfn,
1416 1416
                                       musicpal_gpio_writefn, NULL);
1417 1417
    cpu_register_physical_memory(MP_GPIO_BASE, MP_GPIO_SIZE, iomemtype);
1418 1418
}
b/hw/omap.h
1116 1116
static CPUReadMemoryFunc *io_readfn[] = { io_readb, io_readh, io_readw, };
1117 1117
static CPUWriteMemoryFunc *io_writefn[] = { io_writeb, io_writeh, io_writew, };
1118 1118

  
1119
inline static int debug_register_io_memory(int io_index,
1119
inline static int debug_register_io_memory(
1120 1120
                CPUReadMemoryFunc **mem_read, CPUWriteMemoryFunc **mem_write,
1121 1121
                void *opaque)
1122 1122
{
......
1126 1126
    s->mem_write = mem_write;
1127 1127
    s->opaque = opaque;
1128 1128
    s->in = 0;
1129
    return cpu_register_io_memory(io_index, io_readfn, io_writefn, s);
1129
    return cpu_register_io_memory(io_readfn, io_writefn, s);
1130 1130
}
1131 1131
#  define cpu_register_io_memory	debug_register_io_memory
1132 1132
# endif
......
1136 1136

  
1137 1137
# ifdef L4_MUX_HACK
1138 1138
#  undef l4_register_io_memory
1139
int l4_register_io_memory(int io_index, CPUReadMemoryFunc **mem_read,
1139
int l4_register_io_memory(CPUReadMemoryFunc **mem_read,
1140 1140
                CPUWriteMemoryFunc **mem_write, void *opaque);
1141 1141
# endif
1142 1142

  
b/hw/omap1.c
425 425

  
426 426
    omap_inth_reset(s);
427 427

  
428
    iomemtype = cpu_register_io_memory(0, omap_inth_readfn,
428
    iomemtype = cpu_register_io_memory(omap_inth_readfn,
429 429
                    omap_inth_writefn, s);
430 430
    cpu_register_physical_memory(base, size, iomemtype);
431 431

  
......
645 645

  
646 646
    omap_inth_reset(s);
647 647

  
648
    iomemtype = cpu_register_io_memory(0, omap2_inth_readfn,
648
    iomemtype = cpu_register_io_memory(omap2_inth_readfn,
649 649
                    omap2_inth_writefn, s);
650 650
    cpu_register_physical_memory(base, size, iomemtype);
651 651

  
......
834 834
    omap_mpu_timer_reset(s);
835 835
    omap_timer_clk_setup(s);
836 836

  
837
    iomemtype = cpu_register_io_memory(0, omap_mpu_timer_readfn,
837
    iomemtype = cpu_register_io_memory(omap_mpu_timer_readfn,
838 838
                    omap_mpu_timer_writefn, s);
839 839
    cpu_register_physical_memory(base, 0x100, iomemtype);
840 840

  
......
957 957
    omap_wd_timer_reset(s);
958 958
    omap_timer_clk_setup(&s->timer);
959 959

  
960
    iomemtype = cpu_register_io_memory(0, omap_wd_timer_readfn,
960
    iomemtype = cpu_register_io_memory(omap_wd_timer_readfn,
961 961
                    omap_wd_timer_writefn, s);
962 962
    cpu_register_physical_memory(base, 0x100, iomemtype);
963 963

  
......
1059 1059
    omap_os_timer_reset(s);
1060 1060
    omap_timer_clk_setup(&s->timer);
1061 1061

  
1062
    iomemtype = cpu_register_io_memory(0, omap_os_timer_readfn,
1062
    iomemtype = cpu_register_io_memory(omap_os_timer_readfn,
1063 1063
                    omap_os_timer_writefn, s);
1064 1064
    cpu_register_physical_memory(base, 0x800, iomemtype);
1065 1065

  
......
1286 1286
static void omap_ulpd_pm_init(target_phys_addr_t base,
1287 1287
                struct omap_mpu_state_s *mpu)
1288 1288
{
1289
    int iomemtype = cpu_register_io_memory(0, omap_ulpd_pm_readfn,
1289
    int iomemtype = cpu_register_io_memory(omap_ulpd_pm_readfn,
1290 1290
                    omap_ulpd_pm_writefn, mpu);
1291 1291

  
1292 1292
    cpu_register_physical_memory(base, 0x800, iomemtype);
......
1501 1501
static void omap_pin_cfg_init(target_phys_addr_t base,
1502 1502
                struct omap_mpu_state_s *mpu)
1503 1503
{
1504
    int iomemtype = cpu_register_io_memory(0, omap_pin_cfg_readfn,
1504
    int iomemtype = cpu_register_io_memory(omap_pin_cfg_readfn,
1505 1505
                    omap_pin_cfg_writefn, mpu);
1506 1506

  
1507 1507
    cpu_register_physical_memory(base, 0x800, iomemtype);
......
1571 1571

  
1572 1572
static void omap_id_init(struct omap_mpu_state_s *mpu)
1573 1573
{
1574
    int iomemtype = cpu_register_io_memory(0, omap_id_readfn,
1574
    int iomemtype = cpu_register_io_memory(omap_id_readfn,
1575 1575
                    omap_id_writefn, mpu);
1576 1576
    cpu_register_physical_memory_offset(0xfffe1800, 0x800, iomemtype, 0xfffe1800);
1577 1577
    cpu_register_physical_memory_offset(0xfffed400, 0x100, iomemtype, 0xfffed400);
......
1654 1654
static void omap_mpui_init(target_phys_addr_t base,
1655 1655
                struct omap_mpu_state_s *mpu)
1656 1656
{
1657
    int iomemtype = cpu_register_io_memory(0, omap_mpui_readfn,
1657
    int iomemtype = cpu_register_io_memory(omap_mpui_readfn,
1658 1658
                    omap_mpui_writefn, mpu);
1659 1659

  
1660 1660
    cpu_register_physical_memory(base, 0x100, iomemtype);
......
1763 1763
    s->abort = abort_irq;
1764 1764
    omap_tipb_bridge_reset(s);
1765 1765

  
1766
    iomemtype = cpu_register_io_memory(0, omap_tipb_bridge_readfn,
1766
    iomemtype = cpu_register_io_memory(omap_tipb_bridge_readfn,
1767 1767
                    omap_tipb_bridge_writefn, s);
1768 1768
    cpu_register_physical_memory(base, 0x100, iomemtype);
1769 1769

  
......
1869 1869
static void omap_tcmi_init(target_phys_addr_t base,
1870 1870
                struct omap_mpu_state_s *mpu)
1871 1871
{
1872
    int iomemtype = cpu_register_io_memory(0, omap_tcmi_readfn,
1872
    int iomemtype = cpu_register_io_memory(omap_tcmi_readfn,
1873 1873
                    omap_tcmi_writefn, mpu);
1874 1874

  
1875 1875
    cpu_register_physical_memory(base, 0x100, iomemtype);
......
1942 1942
static void omap_dpll_init(struct dpll_ctl_s *s, target_phys_addr_t base,
1943 1943
                omap_clk clk)
1944 1944
{
1945
    int iomemtype = cpu_register_io_memory(0, omap_dpll_readfn,
1945
    int iomemtype = cpu_register_io_memory(omap_dpll_readfn,
1946 1946
                    omap_dpll_writefn, s);
1947 1947

  
1948 1948
    s->dpll = clk;
......
2089 2089
    target_phys_addr_t base = omap_l4_attach(ta, 0, 0);
2090 2090
    struct omap_uart_s *s = omap_uart_init(base, irq,
2091 2091
                    fclk, iclk, txdma, rxdma, chr);
2092
    int iomemtype = cpu_register_io_memory(0, omap_uart_readfn,
2092
    int iomemtype = cpu_register_io_memory(omap_uart_readfn,
2093 2093
                    omap_uart_writefn, s);
2094 2094

  
2095 2095
    s->ta = ta;
......
2504 2504
                target_phys_addr_t dsp_base, struct omap_mpu_state_s *s)
2505 2505
{
2506 2506
    int iomemtype[2] = {
2507
        cpu_register_io_memory(0, omap_clkm_readfn, omap_clkm_writefn, s),
2508
        cpu_register_io_memory(0, omap_clkdsp_readfn, omap_clkdsp_writefn, s),
2507
        cpu_register_io_memory(omap_clkm_readfn, omap_clkm_writefn, s),
2508
        cpu_register_io_memory(omap_clkdsp_readfn, omap_clkdsp_writefn, s),
2509 2509
    };
2510 2510

  
2511 2511
    s->clkm.arm_idlect1 = 0x03ff;
......
2758 2758
    s->in = qemu_allocate_irqs(omap_mpuio_set, s, 16);
2759 2759
    omap_mpuio_reset(s);
2760 2760

  
2761
    iomemtype = cpu_register_io_memory(0, omap_mpuio_readfn,
2761
    iomemtype = cpu_register_io_memory(omap_mpuio_readfn,
2762 2762
                    omap_mpuio_writefn, s);
2763 2763
    cpu_register_physical_memory(base, 0x800, iomemtype);
2764 2764

  
......
2954 2954
    s->in = qemu_allocate_irqs(omap_gpio_set, s, 16);
2955 2955
    omap_gpio_reset(s);
2956 2956

  
2957
    iomemtype = cpu_register_io_memory(0, omap_gpio_readfn,
2957
    iomemtype = cpu_register_io_memory(omap_gpio_readfn,
2958 2958
                    omap_gpio_writefn, s);
2959 2959
    cpu_register_physical_memory(base, 0x1000, iomemtype);
2960 2960

  
......
3124 3124
    s->txdrq = dma;
3125 3125
    omap_uwire_reset(s);
3126 3126

  
3127
    iomemtype = cpu_register_io_memory(0, omap_uwire_readfn,
3127
    iomemtype = cpu_register_io_memory(omap_uwire_readfn,
3128 3128
                    omap_uwire_writefn, s);
3129 3129
    cpu_register_physical_memory(base, 0x800, iomemtype);
3130 3130

  
......
3225 3225

  
3226 3226
    omap_pwl_reset(s);
3227 3227

  
3228
    iomemtype = cpu_register_io_memory(0, omap_pwl_readfn,
3228
    iomemtype = cpu_register_io_memory(omap_pwl_readfn,
3229 3229
                    omap_pwl_writefn, s);
3230 3230
    cpu_register_physical_memory(base, 0x800, iomemtype);
3231 3231

  
......
3320 3320
    s->pwt.clk = clk;
3321 3321
    omap_pwt_reset(s);
3322 3322

  
3323
    iomemtype = cpu_register_io_memory(0, omap_pwt_readfn,
3323
    iomemtype = cpu_register_io_memory(omap_pwt_readfn,
3324 3324
                    omap_pwt_writefn, s);
3325 3325
    cpu_register_physical_memory(base, 0x800, iomemtype);
3326 3326
}
......
3743 3743

  
3744 3744
    omap_rtc_reset(s);
3745 3745

  
3746
    iomemtype = cpu_register_io_memory(0, omap_rtc_readfn,
3746
    iomemtype = cpu_register_io_memory(omap_rtc_readfn,
3747 3747
                    omap_rtc_writefn, s);
3748 3748
    cpu_register_physical_memory(base, 0x800, iomemtype);
3749 3749

  
......
4263 4263
    s->source_timer = qemu_new_timer(vm_clock, omap_mcbsp_source_tick, s);
4264 4264
    omap_mcbsp_reset(s);
4265 4265

  
4266
    iomemtype = cpu_register_io_memory(0, omap_mcbsp_readfn,
4266
    iomemtype = cpu_register_io_memory(omap_mcbsp_readfn,
4267 4267
                    omap_mcbsp_writefn, s);
4268 4268
    cpu_register_physical_memory(base, 0x800, iomemtype);
4269 4269

  
......
4435 4435

  
4436 4436
    omap_lpg_reset(s);
4437 4437

  
4438
    iomemtype = cpu_register_io_memory(0, omap_lpg_readfn,
4438
    iomemtype = cpu_register_io_memory(omap_lpg_readfn,
4439 4439
                    omap_lpg_writefn, s);
4440 4440
    cpu_register_physical_memory(base, 0x800, iomemtype);
4441 4441

  
......
4468 4468

  
4469 4469
static void omap_setup_mpui_io(struct omap_mpu_state_s *mpu)
4470 4470
{
4471
    int iomemtype = cpu_register_io_memory(0, omap_mpui_io_readfn,
4471
    int iomemtype = cpu_register_io_memory(omap_mpui_io_readfn,
4472 4472
                    omap_mpui_io_writefn, mpu);
4473 4473
    cpu_register_physical_memory(OMAP_MPUI_BASE, 0x7fff, iomemtype);
4474 4474
}
b/hw/omap2.c
483 483
    omap_gp_timer_reset(s);
484 484
    omap_gp_timer_clk_setup(s);
485 485

  
486
    iomemtype = l4_register_io_memory(0, omap_gp_timer_readfn,
486
    iomemtype = l4_register_io_memory(omap_gp_timer_readfn,
487 487
                    omap_gp_timer_writefn, s);
488 488
    omap_l4_attach(ta, 0, iomemtype);
489 489

  
......
554 554
    struct omap_synctimer_s *s = &mpu->synctimer;
555 555

  
556 556
    omap_synctimer_reset(s);
557
    omap_l4_attach(ta, 0, l4_register_io_memory(0,
557
    omap_l4_attach(ta, 0, l4_register_io_memory(
558 558
                      omap_synctimer_readfn, omap_synctimer_writefn, s));
559 559
}
560 560

  
......
952 952
    s->wkup = wkup;
953 953
    s->in = qemu_allocate_irqs(omap_gpio_module_set, s, 32);
954 954

  
955
    iomemtype = l4_register_io_memory(0, omap_gpio_module_readfn,
955
    iomemtype = l4_register_io_memory(omap_gpio_module_readfn,
956 956
                    omap_gpio_module_writefn, s);
957 957
    omap_l4_attach(ta, region, iomemtype);
958 958
}
......
1060 1060

  
1061 1061
    omap_gpif_reset(s);
1062 1062

  
1063
    iomemtype = l4_register_io_memory(0, omap_gpif_top_readfn,
1063
    iomemtype = l4_register_io_memory(omap_gpif_top_readfn,
1064 1064
                    omap_gpif_top_writefn, s);
1065 1065
    omap_l4_attach(ta, 1, iomemtype);
1066 1066

  
......
1386 1386
    }
1387 1387
    omap_mcspi_reset(s);
1388 1388

  
1389
    iomemtype = l4_register_io_memory(0, omap_mcspi_readfn,
1389
    iomemtype = l4_register_io_memory(omap_mcspi_readfn,
1390 1390
                    omap_mcspi_writefn, s);
1391 1391
    omap_l4_attach(ta, 0, iomemtype);
1392 1392

  
......
1975 1975
#ifdef HAS_AUDIO
1976 1976
    AUD_register_card("OMAP EAC", &s->codec.card);
1977 1977

  
1978
    iomemtype = cpu_register_io_memory(0, omap_eac_readfn,
1978
    iomemtype = cpu_register_io_memory(omap_eac_readfn,
1979 1979
                    omap_eac_writefn, s);
1980 1980
    omap_l4_attach(ta, 0, iomemtype);
1981 1981
#endif
......
2160 2160

  
2161 2161
    s->chr = chr ?: qemu_chr_open("null", "null", NULL);
2162 2162

  
2163
    iomemtype = l4_register_io_memory(0, omap_sti_readfn,
2163
    iomemtype = l4_register_io_memory(omap_sti_readfn,
2164 2164
                    omap_sti_writefn, s);
2165 2165
    omap_l4_attach(ta, 0, iomemtype);
2166 2166

  
2167
    iomemtype = cpu_register_io_memory(0, omap_sti_fifo_readfn,
2167
    iomemtype = cpu_register_io_memory(omap_sti_fifo_readfn,
2168 2168
                    omap_sti_fifo_writefn, s);
2169 2169
    cpu_register_physical_memory(channel_base, 0x10000, iomemtype);
2170 2170

  
......
2204 2204
static CPUWriteMemoryFunc **omap_l4_io_writew_fn;
2205 2205
static void **omap_l4_io_opaque;
2206 2206

  
2207
int l4_register_io_memory(int io_index, CPUReadMemoryFunc **mem_read,
2207
int l4_register_io_memory(CPUReadMemoryFunc **mem_read,
2208 2208
                CPUWriteMemoryFunc **mem_write, void *opaque)
2209 2209
{
2210 2210
    omap_l4_io_entry[omap_l4_io_entries].mem_read = mem_read;
......
2285 2285
    omap_l4_io_entry = qemu_mallocz(125 * sizeof(*omap_l4_io_entry));
2286 2286

  
2287 2287
    omap_cpu_io_entry =
2288
            cpu_register_io_memory(0, omap_l4_io_readfn,
2288
            cpu_register_io_memory(omap_l4_io_readfn,
2289 2289
                            omap_l4_io_writefn, bus);
2290 2290
# define L4_PAGES	(0xb4000 / TARGET_PAGE_SIZE)
2291 2291
    omap_l4_io_readb_fn = qemu_mallocz(sizeof(void *) * L4_PAGES);
......
2578 2578
    ta->status = 0x00000000;
2579 2579
    ta->control = 0x00000200;	/* XXX 01000200 for L4TAO */
2580 2580

  
2581
    iomemtype = l4_register_io_memory(0, omap_l4ta_readfn,
2581
    iomemtype = l4_register_io_memory(omap_l4ta_readfn,
2582 2582
                    omap_l4ta_writefn, ta);
2583 2583
    ta->base = omap_l4_attach(ta, info->ta_region, iomemtype);
2584 2584

  
......
2708 2708
void omap_tap_init(struct omap_target_agent_s *ta,
2709 2709
                struct omap_mpu_state_s *mpu)
2710 2710
{
2711
    omap_l4_attach(ta, 0, l4_register_io_memory(0,
2711
    omap_l4_attach(ta, 0, l4_register_io_memory(
2712 2712
                            omap_tap_readfn, omap_tap_writefn, mpu));
2713 2713
}
2714 2714

  
......
3521 3521
    s->mpu = mpu;
3522 3522
    omap_prcm_coldreset(s);
3523 3523

  
3524
    iomemtype = l4_register_io_memory(0, omap_prcm_readfn,
3524
    iomemtype = l4_register_io_memory(omap_prcm_readfn,
3525 3525
                    omap_prcm_writefn, s);
3526 3526
    omap_l4_attach(ta, 0, iomemtype);
3527 3527
    omap_l4_attach(ta, 1, iomemtype);
......
3891 3891
    s->mpu = mpu;
3892 3892
    omap_sysctl_reset(s);
3893 3893

  
3894
    iomemtype = l4_register_io_memory(0, omap_sysctl_readfn,
3894
    iomemtype = l4_register_io_memory(omap_sysctl_readfn,
3895 3895
                    omap_sysctl_writefn, s);
3896 3896
    omap_l4_attach(ta, 0, iomemtype);
3897 3897

  
......
4035 4035

  
4036 4036
    omap_sdrc_reset(s);
4037 4037

  
4038
    iomemtype = cpu_register_io_memory(0, omap_sdrc_readfn,
4038
    iomemtype = cpu_register_io_memory(omap_sdrc_readfn,
4039 4039
                    omap_sdrc_writefn, s);
4040 4040
    cpu_register_physical_memory(base, 0x1000, iomemtype);
4041 4041

  
......
4409 4409

  
4410 4410
    omap_gpmc_reset(s);
4411 4411

  
4412
    iomemtype = cpu_register_io_memory(0, omap_gpmc_readfn,
4412
    iomemtype = cpu_register_io_memory(omap_gpmc_readfn,
4413 4413
                    omap_gpmc_writefn, s);
4414 4414
    cpu_register_physical_memory(base, 0x1000, iomemtype);
4415 4415

  
b/hw/omap_dma.c
1655 1655
    omap_dma_reset(s->dma);
1656 1656
    omap_dma_clk_update(s, 0, 1);
1657 1657

  
1658
    iomemtype = cpu_register_io_memory(0, omap_dma_readfn,
1658
    iomemtype = cpu_register_io_memory(omap_dma_readfn,
1659 1659
                    omap_dma_writefn, s);
1660 1660
    cpu_register_physical_memory(base, memsize, iomemtype);
1661 1661

  
......
2062 2062
    omap_dma_reset(s->dma);
2063 2063
    omap_dma_clk_update(s, 0, !!s->dma->freq);
2064 2064

  
2065
    iomemtype = cpu_register_io_memory(0, omap_dma4_readfn,
2065
    iomemtype = cpu_register_io_memory(omap_dma4_readfn,
2066 2066
                    omap_dma4_writefn, s);
2067 2067
    cpu_register_physical_memory(base, 0x1000, iomemtype);
2068 2068

  
b/hw/omap_dss.c
1037 1037
    s->drq = drq;
1038 1038
    omap_dss_reset(s);
1039 1039

  
1040
    iomemtype[0] = l4_register_io_memory(0, omap_diss1_readfn,
1040
    iomemtype[0] = l4_register_io_memory(omap_diss1_readfn,
1041 1041
                    omap_diss1_writefn, s);
1042
    iomemtype[1] = l4_register_io_memory(0, omap_disc1_readfn,
1042
    iomemtype[1] = l4_register_io_memory(omap_disc1_readfn,
1043 1043
                    omap_disc1_writefn, s);
1044
    iomemtype[2] = l4_register_io_memory(0, omap_rfbi1_readfn,
1044
    iomemtype[2] = l4_register_io_memory(omap_rfbi1_readfn,
1045 1045
                    omap_rfbi1_writefn, s);
1046
    iomemtype[3] = l4_register_io_memory(0, omap_venc1_readfn,
1046
    iomemtype[3] = l4_register_io_memory(omap_venc1_readfn,
1047 1047
                    omap_venc1_writefn, s);
1048
    iomemtype[4] = cpu_register_io_memory(0, omap_im3_readfn,
1048
    iomemtype[4] = cpu_register_io_memory(omap_im3_readfn,
1049 1049
                    omap_im3_writefn, s);
1050 1050
    omap_l4_attach(ta, 0, iomemtype[0]);
1051 1051
    omap_l4_attach(ta, 1, iomemtype[1]);
b/hw/omap_i2c.c
436 436
    s->bus = i2c_init_bus(NULL, "i2c");
437 437
    omap_i2c_reset(s);
438 438

  
439
    iomemtype = cpu_register_io_memory(0, omap_i2c_readfn,
439
    iomemtype = cpu_register_io_memory(omap_i2c_readfn,
440 440
                    omap_i2c_writefn, s);
441 441
    cpu_register_physical_memory(base, 0x800, iomemtype);
442 442

  
......
457 457
    s->bus = i2c_init_bus(NULL, "i2c");
458 458
    omap_i2c_reset(s);
459 459

  
460
    iomemtype = l4_register_io_memory(0, omap_i2c_readfn,
460
    iomemtype = l4_register_io_memory(omap_i2c_readfn,
461 461
                    omap_i2c_writefn, s);
462 462
    omap_l4_attach(ta, 0, iomemtype);
463 463

  
b/hw/omap_lcdc.c
450 450
    s->emiff_base = emiff_base;
451 451
    omap_lcdc_reset(s);
452 452

  
453
    iomemtype = cpu_register_io_memory(0, omap_lcdc_readfn,
453
    iomemtype = cpu_register_io_memory(omap_lcdc_readfn,
454 454
                    omap_lcdc_writefn, s);
455 455
    cpu_register_physical_memory(base, 0x100, iomemtype);
456 456

  
b/hw/omap_mmc.c
586 586

  
587 587
    omap_mmc_reset(s);
588 588

  
589
    iomemtype = cpu_register_io_memory(0, omap_mmc_readfn,
589
    iomemtype = cpu_register_io_memory(omap_mmc_readfn,
590 590
                    omap_mmc_writefn, s);
591 591
    cpu_register_physical_memory(base, 0x800, iomemtype);
592 592

  
......
612 612

  
613 613
    omap_mmc_reset(s);
614 614

  
615
    iomemtype = l4_register_io_memory(0, omap_mmc_readfn,
615
    iomemtype = l4_register_io_memory(omap_mmc_readfn,
616 616
                    omap_mmc_writefn, s);
617 617
    omap_l4_attach(ta, 0, iomemtype);
618 618

  
b/hw/omap_sx1.c
142 142
    cpu_register_physical_memory(OMAP_CS0_BASE, flash_size,
143 143
                    (phys_flash = qemu_ram_alloc(flash_size)) | IO_MEM_ROM);
144 144

  
145
    io = cpu_register_io_memory(0, static_readfn, static_writefn, &cs0val);
145
    io = cpu_register_io_memory(static_readfn, static_writefn, &cs0val);
146 146
    cpu_register_physical_memory(OMAP_CS0_BASE + flash_size,
147 147
                    OMAP_CS0_SIZE - flash_size, io);
148
    io = cpu_register_io_memory(0, static_readfn, static_writefn, &cs2val);
148
    io = cpu_register_io_memory(static_readfn, static_writefn, &cs2val);
149 149
    cpu_register_physical_memory(OMAP_CS2_BASE, OMAP_CS2_SIZE, io);
150
    io = cpu_register_io_memory(0, static_readfn, static_writefn, &cs3val);
150
    io = cpu_register_io_memory(static_readfn, static_writefn, &cs3val);
151 151
    cpu_register_physical_memory(OMAP_CS3_BASE, OMAP_CS3_SIZE, io);
152 152

  
153 153
    fl_idx = 0;
......
167 167
        cpu_register_physical_memory(OMAP_CS1_BASE, flash1_size,
168 168
                        (phys_flash = qemu_ram_alloc(flash1_size)) |
169 169
                        IO_MEM_ROM);
170
        io = cpu_register_io_memory(0, static_readfn, static_writefn, &cs1val);
170
        io = cpu_register_io_memory(static_readfn, static_writefn, &cs1val);
171 171
        cpu_register_physical_memory(OMAP_CS1_BASE + flash1_size,
172 172
                        OMAP_CS1_SIZE - flash1_size, io);
173 173

  
......
179 179
        }
180 180
        fl_idx++;
181 181
    } else {
182
        io = cpu_register_io_memory(0, static_readfn, static_writefn, &cs1val);
182
        io = cpu_register_io_memory(static_readfn, static_writefn, &cs1val);
183 183
        cpu_register_physical_memory(OMAP_CS1_BASE, OMAP_CS1_SIZE, io);
184 184
    }
185 185

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff