Revision 487414f1

b/hw/adlib.c
331 331
    s->samples = AUD_get_buffer_size_out (s->voice) >> SHIFT;
332 332
    s->mixbuf = qemu_mallocz (s->samples << SHIFT);
333 333

  
334
    if (!s->mixbuf) {
335
        dolog ("Could not allocate mixing buffer, %d samples (each %d bytes)\n",
336
               s->samples, 1 << SHIFT);
337
        Adlib_fini (s);
338
        return -1;
339
    }
340

  
341 334
    register_ioport_read (0x388, 4, 1, adlib_read, s);
342 335
    register_ioport_write (0x388, 4, 1, adlib_write, s);
343 336

  
b/hw/apic.c
898 898
    if (last_apic_id >= MAX_APICS)
899 899
        return -1;
900 900
    s = qemu_mallocz(sizeof(APICState));
901
    if (!s)
902
        return -1;
903 901
    env->apic_state = s;
904 902
    s->id = last_apic_id++;
905 903
    env->cpuid_apic_id = s->id;
......
1124 1122
    int io_memory;
1125 1123

  
1126 1124
    s = qemu_mallocz(sizeof(IOAPICState));
1127
    if (!s)
1128
        return NULL;
1129 1125
    ioapic_reset(s);
1130 1126
    s->id = last_apic_id++;
1131 1127

  
b/hw/arm_gic.c
725 725
    int i;
726 726

  
727 727
    s = (gic_state *)qemu_mallocz(sizeof(gic_state));
728
    if (!s)
729
        return NULL;
730 728
    s->in = qemu_allocate_irqs(gic_set_irq, s, GIC_NIRQ);
731 729
    for (i = 0; i < NCPU; i++) {
732 730
        s->parent_irq[i] = parent_irq[i];
b/hw/arm_sysctl.c
194 194
    int iomemtype;
195 195

  
196 196
    s = (arm_sysctl_state *)qemu_mallocz(sizeof(arm_sysctl_state));
197
    if (!s)
198
        return;
199 197
    s->sys_id = sys_id;
200 198
    /* The MPcore bootloader uses these flags to start secondary CPUs.
201 199
       We don't use a bootloader, so do this here.  */
b/hw/baum.c
575 575
    int tty;
576 576

  
577 577
    baum = qemu_mallocz(sizeof(BaumDriverState));
578
    if (!baum)
579
        return NULL;
580

  
581 578
    baum->chr = chr = qemu_mallocz(sizeof(CharDriverState));
582
    if (!chr)
583
        goto fail_baum;
584 579

  
585 580
    chr->opaque = baum;
586 581
    chr->chr_write = baum_write;
......
588 583
    chr->chr_accept_input = baum_accept_input;
589 584

  
590 585
    handle = qemu_mallocz(brlapi_getHandleSize());
591
    if (!handle)
592
        goto fail_chr;
593 586
    baum->brlapi = handle;
594 587

  
595 588
    baum->brlapi_fd = brlapi__openConnection(handle, NULL, NULL);
......
628 621
fail:
629 622
    qemu_free_timer(baum->cellCount_timer);
630 623
    brlapi__closeConnection(handle);
631
fail_handle:
632 624
    free(handle);
633
fail_chr:
634 625
    free(chr);
635
fail_baum:
636 626
    free(baum);
637 627
    return NULL;
638 628
}
b/hw/cs4231.c
171 171
    CSState *s;
172 172

  
173 173
    s = qemu_mallocz(sizeof(CSState));
174
    if (!s)
175
        return;
176 174

  
177 175
    cs_io_memory = cpu_register_io_memory(0, cs_mem_read, cs_mem_write, s);
178 176
    cpu_register_physical_memory(base, CS_SIZE, cs_io_memory);
b/hw/cs4231a.c
647 647
    }
648 648

  
649 649
    s = qemu_mallocz (sizeof (*s));
650
    if (!s) {
651
        lerr ("Could not allocate memory for cs4231a (%zu bytes)\n",
652
               sizeof (*s));
653
        return -1;
654
    }
655 650

  
656 651
    s->pic = pic;
657 652
    s->irq = conf.irq;
b/hw/ds1225y.c
152 152
    QEMUFile *file;
153 153

  
154 154
    s = qemu_mallocz(sizeof(ds1225y_t));
155
    if (!s)
156
        return NULL;
157 155
    s->chip_size = 0x2000; /* Fixed for ds1225y chip: 8 KiB */
158 156
    s->contents = qemu_mallocz(s->chip_size);
159
    if (!s->contents) {
160
        return NULL;
161
    }
162 157
    s->protection = 7;
163 158

  
164 159
    /* Read current file */
b/hw/eccmemctl.c
320 320
    ECCState *s;
321 321

  
322 322
    s = qemu_mallocz(sizeof(ECCState));
323
    if (!s)
324
        return NULL;
325 323

  
326 324
    s->version = version;
327 325
    s->regs[0] = version;
b/hw/escc.c
727 727
    SerialState *s;
728 728

  
729 729
    s = qemu_mallocz(sizeof(SerialState));
730
    if (!s)
731
        return 0;
732 730

  
733 731
    escc_io_memory = cpu_register_io_memory(0, escc_mem_read,
734 732
                                            escc_mem_write,
......
909 907
    SerialState *s;
910 908

  
911 909
    s = qemu_mallocz(sizeof(SerialState));
912
    if (!s)
913
        return;
914 910

  
915 911
    s->it_shift = it_shift;
916 912
    for (i = 0; i < 2; i++) {
b/hw/esp.c
653 653
    int esp_io_memory;
654 654

  
655 655
    s = qemu_mallocz(sizeof(ESPState));
656
    if (!s)
657
        return NULL;
658 656

  
659 657
    s->irq = irq;
660 658
    s->it_shift = it_shift;
b/hw/etraxfs_dma.c
756 756
	struct fs_dma_ctrl *ctrl = NULL;
757 757

  
758 758
	ctrl = qemu_mallocz(sizeof *ctrl);
759
	if (!ctrl)
760
		return NULL;
761 759

  
762 760
        ctrl->bh = qemu_bh_new(DMA_run, ctrl);
763 761

  
764 762
	ctrl->env = env;
765 763
	ctrl->nr_channels = nr_channels;
766 764
	ctrl->channels = qemu_mallocz(sizeof ctrl->channels[0] * nr_channels);
767
	if (!ctrl->channels)
768
		goto err;
769 765

  
770 766
	ctrl->map = cpu_register_io_memory(0, dma_read, dma_write, ctrl);
771 767
	cpu_register_physical_memory(base, nr_channels * 0x2000, ctrl->map);
772 768
	return ctrl;
773
  err:
774
	qemu_free(ctrl->channels);
775
	qemu_free(ctrl);
776
	return NULL;
777 769
}
b/hw/etraxfs_eth.c
564 564
	qemu_check_nic_model(nd, "fseth");
565 565

  
566 566
	dma = qemu_mallocz(sizeof *dma * 2);
567
	if (!dma)
568
		return NULL;
569 567

  
570 568
	eth = qemu_mallocz(sizeof *eth);
571
	if (!eth)
572
		goto err;
573 569

  
574 570
	dma[0].client.push = eth_tx_push;
575 571
	dma[0].client.opaque = eth;
......
595 591
	eth->vc->link_status_changed = eth_set_link;
596 592

  
597 593
	return dma;
598
  err:
599
	qemu_free(eth);
600
	qemu_free(dma);
601
	return NULL;
602 594
}
b/hw/etraxfs_pic.c
192 192

  
193 193
	pic = qemu_mallocz(sizeof *pic);
194 194
	pic->internal = fs = qemu_mallocz(sizeof *fs);
195
	if (!fs || !pic)
196
		goto err;
197 195

  
198 196
	fs->env = env;
199 197
	pic->irq = qemu_allocate_irqs(irq_handler, fs, 30);
......
204 202
	cpu_register_physical_memory(base, 0x14, intr_vect_regs);
205 203

  
206 204
	return pic;
207
  err:
208
	free(pic);
209
	free(fs);
210
	return NULL;
211 205
}
b/hw/etraxfs_ser.c
233 233
	int ser_regs;
234 234

  
235 235
	s = qemu_mallocz(sizeof *s);
236
	if (!s)
237
		return;
238 236

  
239 237
	s->env = env;
240 238
	s->irq = irq;
b/hw/etraxfs_timer.c
321 321
	int timer_regs;
322 322

  
323 323
	t = qemu_mallocz(sizeof *t);
324
	if (!t)
325
		return;
326 324

  
327 325
	t->bh_t0 = qemu_bh_new(timer0_hit, t);
328 326
	t->bh_t1 = qemu_bh_new(timer1_hit, t);
b/hw/fdc.c
1866 1866

  
1867 1867
    FLOPPY_DPRINTF("init controller\n");
1868 1868
    fdctrl = qemu_mallocz(sizeof(fdctrl_t));
1869
    if (!fdctrl)
1870
        return NULL;
1871 1869
    fdctrl->fifo = qemu_memalign(512, FD_SECTOR_LEN);
1872
    if (fdctrl->fifo == NULL) {
1873
        qemu_free(fdctrl);
1874
        return NULL;
1875
    }
1876 1870
    fdctrl->result_timer = qemu_new_timer(vm_clock,
1877 1871
                                          fdctrl_result_timer, fdctrl);
1878 1872

  
b/hw/fmopl.c
619 619
	double pom;
620 620

  
621 621
	/* allocate dynamic tables */
622
	if( (TL_TABLE = malloc(TL_MAX*2*sizeof(INT32))) == NULL)
623
		return 0;
624
	if( (SIN_TABLE = malloc(SIN_ENT*4 *sizeof(INT32 *))) == NULL)
625
	{
626
		free(TL_TABLE);
627
		return 0;
628
	}
629
	if( (AMS_TABLE = malloc(AMS_ENT*2 *sizeof(INT32))) == NULL)
630
	{
631
		free(TL_TABLE);
632
		free(SIN_TABLE);
633
		return 0;
634
	}
635
	if( (VIB_TABLE = malloc(VIB_ENT*2 *sizeof(INT32))) == NULL)
636
	{
637
		free(TL_TABLE);
638
		free(SIN_TABLE);
639
		free(AMS_TABLE);
640
		return 0;
641
	}
622
	TL_TABLE = qemu_malloc(TL_MAX*2*sizeof(INT32));
623
	SIN_TABLE = qemu_malloc(SIN_ENT*4 *sizeof(INT32 *));
624
	AMS_TABLE = qemu_malloc(AMS_ENT*2 *sizeof(INT32));
625
	VIB_TABLE = qemu_malloc(VIB_ENT*2 *sizeof(INT32));
642 626
	/* make total level table */
643 627
	for (t = 0;t < EG_ENT-1 ;t++){
644 628
		rate = ((1<<TL_BITS)-1)/pow(10,EG_STEP*t/20);	/* dB -> voltage */
......
1221 1205
	if(type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT);
1222 1206
#endif
1223 1207
	/* allocate memory block */
1224
	ptr = malloc(state_size);
1225
	if(ptr==NULL) return NULL;
1208
	ptr = qemu_malloc(state_size);
1226 1209
	/* clear */
1227 1210
	memset(ptr,0,state_size);
1228 1211
	OPL        = (FM_OPL *)ptr; ptr+=sizeof(FM_OPL);
b/hw/fw_cfg.c
206 206
    uint16_t *copy;
207 207

  
208 208
    copy = qemu_malloc(sizeof(value));
209
    if (!copy)
210
        return 0;
211 209
    *copy = cpu_to_le16(value);
212 210
    return fw_cfg_add_bytes(opaque, key, (uint8_t *)copy, sizeof(value));
213 211
}
......
217 215
    uint32_t *copy;
218 216

  
219 217
    copy = qemu_malloc(sizeof(value));
220
    if (!copy)
221
        return 0;
222 218
    *copy = cpu_to_le32(value);
223 219
    return fw_cfg_add_bytes(opaque, key, (uint8_t *)copy, sizeof(value));
224 220
}
......
228 224
    uint64_t *copy;
229 225

  
230 226
    copy = qemu_malloc(sizeof(value));
231
    if (!copy)
232
        return 0;
233 227
    *copy = cpu_to_le64(value);
234 228
    return fw_cfg_add_bytes(opaque, key, (uint8_t *)copy, sizeof(value));
235 229
}
......
263 257
    int io_ctl_memory, io_data_memory;
264 258

  
265 259
    s = qemu_mallocz(sizeof(FWCfgState));
266
    if (!s)
267
        return NULL;
268 260

  
269 261
    if (ctl_port) {
270 262
        register_ioport_write(ctl_port, 2, 2, fw_cfg_io_writew, s);
b/hw/g364fb.c
593 593
    int io_ctrl;
594 594

  
595 595
    s = qemu_mallocz(sizeof(G364State));
596
    if (!s)
597
        return -1;
598 596

  
599 597
    s->vram = vram;
600 598
    s->vram_offset = vram_offset;
b/hw/gus.c
261 261
    }
262 262

  
263 263
    s = qemu_mallocz (sizeof (*s));
264
    if (!s) {
265
        dolog ("Could not allocate memory for GUS (%zu bytes)\n",
266
               sizeof (*s));
267
        return -1;
268
    }
269 264

  
270 265
    AUD_register_card (audio, "gus", &s->card);
271 266

  
......
292 287
    s->shift = 2;
293 288
    s->samples = AUD_get_buffer_size_out (s->voice) >> s->shift;
294 289
    s->mixbuf = qemu_mallocz (s->samples << s->shift);
295
    if (!s->mixbuf) {
296
        AUD_close_out (&s->card, s->voice);
297
        AUD_remove_card (&s->card);
298
        qemu_free (s);
299
        return -1;
300
    }
301 290

  
302 291
    register_ioport_write (conf.port, 1, 1, gus_writeb, s);
303 292
    register_ioport_write (conf.port, 1, 2, gus_writew, s);
b/hw/i8259.c
550 550
    PicState2 *s;
551 551

  
552 552
    s = qemu_mallocz(sizeof(PicState2));
553
    if (!s)
554
        return NULL;
555 553
    pic_init1(0x20, 0x4d0, &s->pics[0]);
556 554
    pic_init1(0xa0, 0x4d1, &s->pics[1]);
557 555
    s->pics[0].elcr_mask = 0xf8;
b/hw/ide.c
2895 2895
    IDEState *ide_state;
2896 2896

  
2897 2897
    ide_state = qemu_mallocz(sizeof(IDEState) * 2);
2898
    if (!ide_state)
2899
        return;
2900 2898

  
2901 2899
    ide_init2(ide_state, hd0, hd1, irq);
2902 2900
    ide_init_ioport(ide_state, iobase, iobase2);
b/hw/integratorcp.c
378 378
    qemu_irq *qi;
379 379

  
380 380
    s = (icp_pic_state *)qemu_mallocz(sizeof(icp_pic_state));
381
    if (!s)
382
        return NULL;
383 381
    qi = qemu_allocate_irqs(icp_pic_set_irq, s, 32);
384 382
    s->parent_irq = parent_irq;
385 383
    s->parent_fiq = parent_fiq;
b/hw/iommu.c
371 371
    int iommu_io_memory;
372 372

  
373 373
    s = qemu_mallocz(sizeof(IOMMUState));
374
    if (!s)
375
        return NULL;
376 374

  
377 375
    s->version = version;
378 376
    s->irq = irq;
b/hw/jazz_led.c
304 304
    int io;
305 305

  
306 306
    s = qemu_mallocz(sizeof(LedState));
307
    if (!s)
308
        return;
309 307

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

  
b/hw/m48t59.c
622 622
    target_phys_addr_t save_base;
623 623

  
624 624
    s = qemu_mallocz(sizeof(m48t59_t));
625
    if (!s)
626
	return NULL;
627 625
    s->buffer = qemu_mallocz(size);
628
    if (!s->buffer) {
629
        qemu_free(s);
630
        return NULL;
631
    }
632 626
    s->IRQ = IRQ;
633 627
    s->size = size;
634 628
    s->io_base = io_base;
b/hw/mac_dbdma.c
865 865
    DBDMA_channel *s;
866 866

  
867 867
    s = qemu_mallocz(sizeof(DBDMA_channel) * DBDMA_CHANNELS);
868
    if (!s)
869
        return NULL;
870 868

  
871 869
    *dbdma_mem_index = cpu_register_io_memory(0, dbdma_read, dbdma_write, s);
872 870
    register_savevm("dbdma", -1, 1, dbdma_save, dbdma_load, s);
b/hw/mac_nvram.c
132 132
    MacIONVRAMState *s;
133 133

  
134 134
    s = qemu_mallocz(sizeof(MacIONVRAMState));
135
    if (!s)
136
        return NULL;
137 135
    s->data = qemu_mallocz(size);
138
    if (!s->data) {
139
        qemu_free(s);
140
	return NULL;
141
    }
142 136
    s->size = size;
143 137

  
144 138
    s->mem_index = cpu_register_io_memory(0, nvram_read, nvram_write, s);
b/hw/mc146818rtc.c
532 532
    RTCState *s;
533 533

  
534 534
    s = qemu_mallocz(sizeof(RTCState));
535
    if (!s)
536
        return NULL;
537 535

  
538 536
    s->irq = irq;
539 537
    s->cmos_data[RTC_REG_A] = 0x26;
......
644 642
    int io_memory;
645 643

  
646 644
    s = qemu_mallocz(sizeof(RTCState));
647
    if (!s)
648
        return NULL;
649 645

  
650 646
    s->irq = irq;
651 647
    s->cmos_data[RTC_REG_A] = 0x26;
b/hw/mipsnet.c
239 239
    qemu_check_nic_model(nd, "mipsnet");
240 240

  
241 241
    s = qemu_mallocz(sizeof(MIPSnetState));
242
    if (!s)
243
        return;
244 242

  
245 243
    register_ioport_write(base, 36, 1, mipsnet_ioport_write, s);
246 244
    register_ioport_read(base, 36, 1, mipsnet_ioport_read, s);
b/hw/mpcore.c
265 265
    int i;
266 266

  
267 267
    s = (mpcore_priv_state *)qemu_mallocz(sizeof(mpcore_priv_state));
268
    if (!s)
269
        return NULL;
270 268
    s->gic = gic_init(base + 0x1000, pic_irq);
271 269
    if (!s->gic)
272 270
        return NULL;
b/hw/mst_fpga.c
225 225
	s = (mst_irq_state  *)
226 226
		qemu_mallocz(sizeof(mst_irq_state));
227 227

  
228
	if (!s)
229
		return NULL;
230 228
	s->parent = &cpu->pic[irq];
231 229

  
232 230
	/* alloc the external 16 irqs */
b/hw/musicpal.c
443 443
    }
444 444

  
445 445
    s = qemu_mallocz(sizeof(musicpal_audio_state));
446
    if (!s)
447
        return NULL;
448 446
    s->irq = irq;
449 447

  
450 448
    i2c = qemu_mallocz(sizeof(i2c_interface));
451
    if (!i2c)
452
        return NULL;
453 449
    i2c->bus = i2c_init_bus();
454 450
    i2c->current_addr = -1;
455 451

  
......
717 713
    qemu_check_nic_model(nd, "mv88w8618");
718 714

  
719 715
    s = qemu_mallocz(sizeof(mv88w8618_eth_state));
720
    if (!s)
721
        return;
722 716
    s->irq = irq;
723 717
    s->vc = qemu_new_vlan_client(nd->vlan, nd->model, nd->name,
724 718
                                 eth_receive, eth_can_receive, s);
......
911 905
    int iomemtype;
912 906

  
913 907
    s = qemu_mallocz(sizeof(musicpal_lcd_state));
914
    if (!s)
915
        return;
916 908
    iomemtype = cpu_register_io_memory(0, musicpal_lcd_readfn,
917 909
                                       musicpal_lcd_writefn, s);
918 910
    cpu_register_physical_memory(base, MP_LCD_SIZE, iomemtype);
......
1008 1000
    qemu_irq *qi;
1009 1001

  
1010 1002
    s = qemu_mallocz(sizeof(mv88w8618_pic_state));
1011
    if (!s)
1012
        return NULL;
1013 1003
    qi = qemu_allocate_irqs(mv88w8618_pic_set_irq, s, 32);
1014 1004
    s->parent_irq = parent_irq;
1015 1005
    iomemtype = cpu_register_io_memory(0, mv88w8618_pic_readfn,
......
1134 1124
    mv88w8618_pit_state *s;
1135 1125

  
1136 1126
    s = qemu_mallocz(sizeof(mv88w8618_pit_state));
1137
    if (!s)
1138
        return;
1139 1127

  
1140 1128
    /* Letting them all run at 1 MHz is likely just a pragmatic
1141 1129
     * simplification. */
......
1200 1188
    mv88w8618_flashcfg_state *s;
1201 1189

  
1202 1190
    s = qemu_mallocz(sizeof(mv88w8618_flashcfg_state));
1203
    if (!s)
1204
        return;
1205 1191

  
1206 1192
    s->cfgr0 = 0xfffe4285; /* Default as set by U-Boot for 8 MB flash */
1207 1193
    iomemtype = cpu_register_io_memory(0, mv88w8618_flashcfg_readfn,
b/hw/ne2000.c
725 725
    qemu_check_nic_model(nd, "ne2k_isa");
726 726

  
727 727
    s = qemu_mallocz(sizeof(NE2000State));
728
    if (!s)
729
        return;
730 728

  
731 729
    register_ioport_write(base, 16, 1, ne2000_ioport_write, s);
732 730
    register_ioport_read(base, 16, 1, ne2000_ioport_read, s);
b/hw/parallel.c
445 445
    uint8_t dummy;
446 446

  
447 447
    s = qemu_mallocz(sizeof(ParallelState));
448
    if (!s)
449
        return NULL;
450 448
    s->irq = irq;
451 449
    s->chr = chr;
452 450
    parallel_reset(s);
......
539 537
    int io_sw;
540 538

  
541 539
    s = qemu_mallocz(sizeof(ParallelState));
542
    if (!s)
543
        return NULL;
544 540
    s->irq = irq;
545 541
    s->chr = chr;
546 542
    s->it_shift = it_shift;
b/hw/pci.c
178 178
    found: ;
179 179
    }
180 180
    pci_dev = qemu_mallocz(instance_size);
181
    if (!pci_dev)
182
        return NULL;
183 181
    pci_dev->bus = bus;
184 182
    pci_dev->devfn = devfn;
185 183
    pstrcpy(pci_dev->name, sizeof(pci_dev->name), name);
b/hw/pcnet.c
2089 2089
    qemu_check_nic_model(nd, "lance");
2090 2090

  
2091 2091
    d = qemu_mallocz(sizeof(PCNetState));
2092
    if (!d)
2093
        return;
2094 2092

  
2095 2093
    lance_io_memory =
2096 2094
        cpu_register_io_memory(0, lance_mem_read, lance_mem_write, d);
b/hw/pflash_cfi01.c
519 519

  
520 520
    pfl = qemu_mallocz(sizeof(pflash_t));
521 521

  
522
    if (pfl == NULL)
523
        return NULL;
524 522
    pfl->storage = phys_ram_base + off;
525 523
    pfl->fl_mem = cpu_register_io_memory(0,
526 524
                    pflash_read_ops, pflash_write_ops, pfl);
b/hw/pflash_cfi02.c
557 557
        return NULL;
558 558
#endif
559 559
    pfl = qemu_mallocz(sizeof(pflash_t));
560
    if (pfl == NULL)
561
        return NULL;
562 560
    pfl->storage = phys_ram_base + off;
563 561
    pfl->fl_mem = cpu_register_io_memory(0, pflash_read_ops, pflash_write_ops,
564 562
                                         pfl);
b/hw/pl031.c
193 193
    struct tm tm;
194 194

  
195 195
    s = qemu_mallocz(sizeof(pl031_state));
196
    if (!s)
197
        cpu_abort(cpu_single_env, "pl031_init: Out of memory\n");
198 196

  
199 197
    iomemtype = cpu_register_io_memory(0, pl031_readfn, pl031_writefn, s);
200 198
    if (iomemtype == -1)
b/hw/ppc.c
645 645
    ppc_tb_t *tb_env;
646 646

  
647 647
    tb_env = qemu_mallocz(sizeof(ppc_tb_t));
648
    if (tb_env == NULL)
649
        return NULL;
650 648
    env->tb_env = tb_env;
651 649
    /* Create new timer */
652 650
    tb_env->decr_timer = qemu_new_timer(vm_clock, &cpu_ppc_decr_cb, env);
......
915 913
    ppcemb_timer_t *ppcemb_timer;
916 914

  
917 915
    tb_env = qemu_mallocz(sizeof(ppc_tb_t));
918
    if (tb_env == NULL) {
919
        return NULL;
920
    }
921 916
    env->tb_env = tb_env;
922 917
    ppcemb_timer = qemu_mallocz(sizeof(ppcemb_timer_t));
923 918
    tb_env->tb_freq = freq;
......
1024 1019
    ppc_dcr_t *dcr_env;
1025 1020

  
1026 1021
    dcr_env = qemu_mallocz(sizeof(ppc_dcr_t));
1027
    if (dcr_env == NULL)
1028
        return -1;
1029 1022
    dcr_env->read_error = read_error;
1030 1023
    dcr_env->write_error = write_error;
1031 1024
    env->dcr_env = dcr_env;
b/hw/ppc405_boards.c
162 162
    int fpga_memory;
163 163

  
164 164
    fpga = qemu_mallocz(sizeof(ref405ep_fpga_t));
165
    if (fpga != NULL) {
166
        fpga_memory = cpu_register_io_memory(0, ref405ep_fpga_read,
167
                                             ref405ep_fpga_write, fpga);
168
        cpu_register_physical_memory(base, 0x00000100, fpga_memory);
169
        ref405ep_fpga_reset(fpga);
170
        qemu_register_reset(&ref405ep_fpga_reset, fpga);
171
    }
165
    fpga_memory = cpu_register_io_memory(0, ref405ep_fpga_read,
166
                                         ref405ep_fpga_write, fpga);
167
    cpu_register_physical_memory(base, 0x00000100, fpga_memory);
168
    ref405ep_fpga_reset(fpga);
169
    qemu_register_reset(&ref405ep_fpga_reset, fpga);
172 170
}
173 171

  
174 172
static void ref405ep_init (ram_addr_t ram_size, int vga_ram_size,
......
486 484
    int cpld_memory;
487 485

  
488 486
    cpld = qemu_mallocz(sizeof(taihu_cpld_t));
489
    if (cpld != NULL) {
490
        cpld_memory = cpu_register_io_memory(0, taihu_cpld_read,
491
                                             taihu_cpld_write, cpld);
492
        cpu_register_physical_memory(base, 0x00000100, cpld_memory);
493
        taihu_cpld_reset(cpld);
494
        qemu_register_reset(&taihu_cpld_reset, cpld);
495
    }
487
    cpld_memory = cpu_register_io_memory(0, taihu_cpld_read,
488
                                         taihu_cpld_write, cpld);
489
    cpu_register_physical_memory(base, 0x00000100, cpld_memory);
490
    taihu_cpld_reset(cpld);
491
    qemu_register_reset(&taihu_cpld_reset, cpld);
496 492
}
497 493

  
498 494
static void taihu_405ep_init(ram_addr_t ram_size, int vga_ram_size,
b/hw/ppc405_uc.c
169 169
    ppc4xx_plb_t *plb;
170 170

  
171 171
    plb = qemu_mallocz(sizeof(ppc4xx_plb_t));
172
    if (plb != NULL) {
173
        ppc_dcr_register(env, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
174
        ppc_dcr_register(env, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb);
175
        ppc_dcr_register(env, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb);
176
        ppc4xx_plb_reset(plb);
177
        qemu_register_reset(ppc4xx_plb_reset, plb);
178
    }
172
    ppc_dcr_register(env, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb);
173
    ppc_dcr_register(env, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb);
174
    ppc_dcr_register(env, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb);
175
    ppc4xx_plb_reset(plb);
176
    qemu_register_reset(ppc4xx_plb_reset, plb);
179 177
}
180 178

  
181 179
/*****************************************************************************/
......
248 246
    ppc4xx_pob_t *pob;
249 247

  
250 248
    pob = qemu_mallocz(sizeof(ppc4xx_pob_t));
251
    if (pob != NULL) {
252
        ppc_dcr_register(env, POB0_BEAR, pob, &dcr_read_pob, &dcr_write_pob);
253
        ppc_dcr_register(env, POB0_BESR0, pob, &dcr_read_pob, &dcr_write_pob);
254
        ppc_dcr_register(env, POB0_BESR1, pob, &dcr_read_pob, &dcr_write_pob);
255
        qemu_register_reset(ppc4xx_pob_reset, pob);
256
        ppc4xx_pob_reset(env);
257
    }
249
    ppc_dcr_register(env, POB0_BEAR, pob, &dcr_read_pob, &dcr_write_pob);
250
    ppc_dcr_register(env, POB0_BESR0, pob, &dcr_read_pob, &dcr_write_pob);
251
    ppc_dcr_register(env, POB0_BESR1, pob, &dcr_read_pob, &dcr_write_pob);
252
    qemu_register_reset(ppc4xx_pob_reset, pob);
253
    ppc4xx_pob_reset(env);
258 254
}
259 255

  
260 256
/*****************************************************************************/
......
384 380
    ppc4xx_opba_t *opba;
385 381

  
386 382
    opba = qemu_mallocz(sizeof(ppc4xx_opba_t));
387
    if (opba != NULL) {
388
        opba->base = offset;
383
    opba->base = offset;
389 384
#ifdef DEBUG_OPBA
390
        printf("%s: offset " PADDRX "\n", __func__, offset);
385
    printf("%s: offset " PADDRX "\n", __func__, offset);
391 386
#endif
392
        ppc4xx_mmio_register(env, mmio, offset, 0x002,
393
                             opba_read, opba_write, opba);
394
        qemu_register_reset(ppc4xx_opba_reset, opba);
395
        ppc4xx_opba_reset(opba);
396
    }
387
    ppc4xx_mmio_register(env, mmio, offset, 0x002,
388
                         opba_read, opba_write, opba);
389
    qemu_register_reset(ppc4xx_opba_reset, opba);
390
    ppc4xx_opba_reset(opba);
397 391
}
398 392

  
399 393
/*****************************************************************************/
......
585 579
    ppc4xx_ebc_t *ebc;
586 580

  
587 581
    ebc = qemu_mallocz(sizeof(ppc4xx_ebc_t));
588
    if (ebc != NULL) {
589
        ebc_reset(ebc);
590
        qemu_register_reset(&ebc_reset, ebc);
591
        ppc_dcr_register(env, EBC0_CFGADDR,
592
                         ebc, &dcr_read_ebc, &dcr_write_ebc);
593
        ppc_dcr_register(env, EBC0_CFGDATA,
594
                         ebc, &dcr_read_ebc, &dcr_write_ebc);
595
    }
582
    ebc_reset(ebc);
583
    qemu_register_reset(&ebc_reset, ebc);
584
    ppc_dcr_register(env, EBC0_CFGADDR,
585
                     ebc, &dcr_read_ebc, &dcr_write_ebc);
586
    ppc_dcr_register(env, EBC0_CFGDATA,
587
                     ebc, &dcr_read_ebc, &dcr_write_ebc);
596 588
}
597 589

  
598 590
/*****************************************************************************/
......
678 670
    ppc405_dma_t *dma;
679 671

  
680 672
    dma = qemu_mallocz(sizeof(ppc405_dma_t));
681
    if (dma != NULL) {
682
        memcpy(dma->irqs, irqs, 4 * sizeof(qemu_irq));
683
        ppc405_dma_reset(dma);
684
        qemu_register_reset(&ppc405_dma_reset, dma);
685
        ppc_dcr_register(env, DMA0_CR0,
686
                         dma, &dcr_read_dma, &dcr_write_dma);
687
        ppc_dcr_register(env, DMA0_CT0,
688
                         dma, &dcr_read_dma, &dcr_write_dma);
689
        ppc_dcr_register(env, DMA0_DA0,
690
                         dma, &dcr_read_dma, &dcr_write_dma);
691
        ppc_dcr_register(env, DMA0_SA0,
692
                         dma, &dcr_read_dma, &dcr_write_dma);
693
        ppc_dcr_register(env, DMA0_SG0,
694
                         dma, &dcr_read_dma, &dcr_write_dma);
695
        ppc_dcr_register(env, DMA0_CR1,
696
                         dma, &dcr_read_dma, &dcr_write_dma);
697
        ppc_dcr_register(env, DMA0_CT1,
698
                         dma, &dcr_read_dma, &dcr_write_dma);
699
        ppc_dcr_register(env, DMA0_DA1,
700
                         dma, &dcr_read_dma, &dcr_write_dma);
701
        ppc_dcr_register(env, DMA0_SA1,
702
                         dma, &dcr_read_dma, &dcr_write_dma);
703
        ppc_dcr_register(env, DMA0_SG1,
704
                         dma, &dcr_read_dma, &dcr_write_dma);
705
        ppc_dcr_register(env, DMA0_CR2,
706
                         dma, &dcr_read_dma, &dcr_write_dma);
707
        ppc_dcr_register(env, DMA0_CT2,
708
                         dma, &dcr_read_dma, &dcr_write_dma);
709
        ppc_dcr_register(env, DMA0_DA2,
710
                         dma, &dcr_read_dma, &dcr_write_dma);
711
        ppc_dcr_register(env, DMA0_SA2,
712
                         dma, &dcr_read_dma, &dcr_write_dma);
713
        ppc_dcr_register(env, DMA0_SG2,
714
                         dma, &dcr_read_dma, &dcr_write_dma);
715
        ppc_dcr_register(env, DMA0_CR3,
716
                         dma, &dcr_read_dma, &dcr_write_dma);
717
        ppc_dcr_register(env, DMA0_CT3,
718
                         dma, &dcr_read_dma, &dcr_write_dma);
719
        ppc_dcr_register(env, DMA0_DA3,
720
                         dma, &dcr_read_dma, &dcr_write_dma);
721
        ppc_dcr_register(env, DMA0_SA3,
722
                         dma, &dcr_read_dma, &dcr_write_dma);
723
        ppc_dcr_register(env, DMA0_SG3,
724
                         dma, &dcr_read_dma, &dcr_write_dma);
725
        ppc_dcr_register(env, DMA0_SR,
726
                         dma, &dcr_read_dma, &dcr_write_dma);
727
        ppc_dcr_register(env, DMA0_SGC,
728
                         dma, &dcr_read_dma, &dcr_write_dma);
729
        ppc_dcr_register(env, DMA0_SLP,
730
                         dma, &dcr_read_dma, &dcr_write_dma);
731
        ppc_dcr_register(env, DMA0_POL,
732
                         dma, &dcr_read_dma, &dcr_write_dma);
733
    }
673
    memcpy(dma->irqs, irqs, 4 * sizeof(qemu_irq));
674
    ppc405_dma_reset(dma);
675
    qemu_register_reset(&ppc405_dma_reset, dma);
676
    ppc_dcr_register(env, DMA0_CR0,
677
                     dma, &dcr_read_dma, &dcr_write_dma);
678
    ppc_dcr_register(env, DMA0_CT0,
679
                     dma, &dcr_read_dma, &dcr_write_dma);
680
    ppc_dcr_register(env, DMA0_DA0,
681
                     dma, &dcr_read_dma, &dcr_write_dma);
682
    ppc_dcr_register(env, DMA0_SA0,
683
                     dma, &dcr_read_dma, &dcr_write_dma);
684
    ppc_dcr_register(env, DMA0_SG0,
685
                     dma, &dcr_read_dma, &dcr_write_dma);
686
    ppc_dcr_register(env, DMA0_CR1,
687
                     dma, &dcr_read_dma, &dcr_write_dma);
688
    ppc_dcr_register(env, DMA0_CT1,
689
                     dma, &dcr_read_dma, &dcr_write_dma);
690
    ppc_dcr_register(env, DMA0_DA1,
691
                     dma, &dcr_read_dma, &dcr_write_dma);
692
    ppc_dcr_register(env, DMA0_SA1,
693
                     dma, &dcr_read_dma, &dcr_write_dma);
694
    ppc_dcr_register(env, DMA0_SG1,
695
                     dma, &dcr_read_dma, &dcr_write_dma);
696
    ppc_dcr_register(env, DMA0_CR2,
697
                     dma, &dcr_read_dma, &dcr_write_dma);
698
    ppc_dcr_register(env, DMA0_CT2,
699
                     dma, &dcr_read_dma, &dcr_write_dma);
700
    ppc_dcr_register(env, DMA0_DA2,
701
                     dma, &dcr_read_dma, &dcr_write_dma);
702
    ppc_dcr_register(env, DMA0_SA2,
703
                     dma, &dcr_read_dma, &dcr_write_dma);
704
    ppc_dcr_register(env, DMA0_SG2,
705
                     dma, &dcr_read_dma, &dcr_write_dma);
706
    ppc_dcr_register(env, DMA0_CR3,
707
                     dma, &dcr_read_dma, &dcr_write_dma);
708
    ppc_dcr_register(env, DMA0_CT3,
709
                     dma, &dcr_read_dma, &dcr_write_dma);
710
    ppc_dcr_register(env, DMA0_DA3,
711
                     dma, &dcr_read_dma, &dcr_write_dma);
712
    ppc_dcr_register(env, DMA0_SA3,
713
                     dma, &dcr_read_dma, &dcr_write_dma);
714
    ppc_dcr_register(env, DMA0_SG3,
715
                     dma, &dcr_read_dma, &dcr_write_dma);
716
    ppc_dcr_register(env, DMA0_SR,
717
                     dma, &dcr_read_dma, &dcr_write_dma);
718
    ppc_dcr_register(env, DMA0_SGC,
719
                     dma, &dcr_read_dma, &dcr_write_dma);
720
    ppc_dcr_register(env, DMA0_SLP,
721
                     dma, &dcr_read_dma, &dcr_write_dma);
722
    ppc_dcr_register(env, DMA0_POL,
723
                     dma, &dcr_read_dma, &dcr_write_dma);
734 724
}
735 725

  
736 726
/*****************************************************************************/
......
845 835
    ppc405_gpio_t *gpio;
846 836

  
847 837
    gpio = qemu_mallocz(sizeof(ppc405_gpio_t));
848
    if (gpio != NULL) {
849
        gpio->base = offset;
850
        ppc405_gpio_reset(gpio);
851
        qemu_register_reset(&ppc405_gpio_reset, gpio);
838
    gpio->base = offset;
839
    ppc405_gpio_reset(gpio);
840
    qemu_register_reset(&ppc405_gpio_reset, gpio);
852 841
#ifdef DEBUG_GPIO
853
        printf("%s: offset " PADDRX "\n", __func__, offset);
842
    printf("%s: offset " PADDRX "\n", __func__, offset);
854 843
#endif
855
        ppc4xx_mmio_register(env, mmio, offset, 0x038,
856
                             ppc405_gpio_read, ppc405_gpio_write, gpio);
857
    }
844
    ppc4xx_mmio_register(env, mmio, offset, 0x038,
845
                         ppc405_gpio_read, ppc405_gpio_write, gpio);
858 846
}
859 847

  
860 848
/*****************************************************************************/
......
1038 1026
    ppc405_ocm_t *ocm;
1039 1027

  
1040 1028
    ocm = qemu_mallocz(sizeof(ppc405_ocm_t));
1041
    if (ocm != NULL) {
1042
        ocm->offset = offset;
1043
        ocm_reset(ocm);
1044
        qemu_register_reset(&ocm_reset, ocm);
1045
        ppc_dcr_register(env, OCM0_ISARC,
1046
                         ocm, &dcr_read_ocm, &dcr_write_ocm);
1047
        ppc_dcr_register(env, OCM0_ISACNTL,
1048
                         ocm, &dcr_read_ocm, &dcr_write_ocm);
1049
        ppc_dcr_register(env, OCM0_DSARC,
1050
                         ocm, &dcr_read_ocm, &dcr_write_ocm);
1051
        ppc_dcr_register(env, OCM0_DSACNTL,
1052
                         ocm, &dcr_read_ocm, &dcr_write_ocm);
1053
    }
1029
    ocm->offset = offset;
1030
    ocm_reset(ocm);
1031
    qemu_register_reset(&ocm_reset, ocm);
1032
    ppc_dcr_register(env, OCM0_ISARC,
1033
                     ocm, &dcr_read_ocm, &dcr_write_ocm);
1034
    ppc_dcr_register(env, OCM0_ISACNTL,
1035
                     ocm, &dcr_read_ocm, &dcr_write_ocm);
1036
    ppc_dcr_register(env, OCM0_DSARC,
1037
                     ocm, &dcr_read_ocm, &dcr_write_ocm);
1038
    ppc_dcr_register(env, OCM0_DSACNTL,
1039
                     ocm, &dcr_read_ocm, &dcr_write_ocm);
1054 1040
}
1055 1041

  
1056 1042
/*****************************************************************************/
......
1286 1272
    ppc4xx_i2c_t *i2c;
1287 1273

  
1288 1274
    i2c = qemu_mallocz(sizeof(ppc4xx_i2c_t));
1289
    if (i2c != NULL) {
1290
        i2c->base = offset;
1291
        i2c->irq = irq;
1292
        ppc4xx_i2c_reset(i2c);
1275
    i2c->base = offset;
1276
    i2c->irq = irq;
1277
    ppc4xx_i2c_reset(i2c);
1293 1278
#ifdef DEBUG_I2C
1294
        printf("%s: offset " PADDRX "\n", __func__, offset);
1279
    printf("%s: offset " PADDRX "\n", __func__, offset);
1295 1280
#endif
1296
        ppc4xx_mmio_register(env, mmio, offset, 0x011,
1297
                             i2c_read, i2c_write, i2c);
1298
        qemu_register_reset(ppc4xx_i2c_reset, i2c);
1299
    }
1281
    ppc4xx_mmio_register(env, mmio, offset, 0x011,
1282
                         i2c_read, i2c_write, i2c);
1283
    qemu_register_reset(ppc4xx_i2c_reset, i2c);
1300 1284
}
1301 1285

  
1302 1286
/*****************************************************************************/
......
1568 1552
    int i;
1569 1553

  
1570 1554
    gpt = qemu_mallocz(sizeof(ppc4xx_gpt_t));
1571
    if (gpt != NULL) {
1572
        gpt->base = offset;
1573
        for (i = 0; i < 5; i++)
1574
            gpt->irqs[i] = irqs[i];
1575
        gpt->timer = qemu_new_timer(vm_clock, &ppc4xx_gpt_cb, gpt);
1576
        ppc4xx_gpt_reset(gpt);
1555
    gpt->base = offset;
1556
    for (i = 0; i < 5; i++)
1557
        gpt->irqs[i] = irqs[i];
1558
    gpt->timer = qemu_new_timer(vm_clock, &ppc4xx_gpt_cb, gpt);
1559
    ppc4xx_gpt_reset(gpt);
1577 1560
#ifdef DEBUG_GPT
1578
        printf("%s: offset " PADDRX "\n", __func__, offset);
1561
    printf("%s: offset " PADDRX "\n", __func__, offset);
1579 1562
#endif
1580
        ppc4xx_mmio_register(env, mmio, offset, 0x0D4,
1581
                             gpt_read, gpt_write, gpt);
1582
        qemu_register_reset(ppc4xx_gpt_reset, gpt);
1583
    }
1563
    ppc4xx_mmio_register(env, mmio, offset, 0x0D4,
1564
                         gpt_read, gpt_write, gpt);
1565
    qemu_register_reset(ppc4xx_gpt_reset, gpt);
1584 1566
}
1585 1567

  
1586 1568
/*****************************************************************************/
......
1802 1784
    int i;
1803 1785

  
1804 1786
    mal = qemu_mallocz(sizeof(ppc40x_mal_t));
1805
    if (mal != NULL) {
1806
        for (i = 0; i < 4; i++)
1807
            mal->irqs[i] = irqs[i];
1808
        ppc40x_mal_reset(mal);
1809
        qemu_register_reset(&ppc40x_mal_reset, mal);
1810
        ppc_dcr_register(env, MAL0_CFG,
1811
                         mal, &dcr_read_mal, &dcr_write_mal);
1812
        ppc_dcr_register(env, MAL0_ESR,
1813
                         mal, &dcr_read_mal, &dcr_write_mal);
1814
        ppc_dcr_register(env, MAL0_IER,
1815
                         mal, &dcr_read_mal, &dcr_write_mal);
1816
        ppc_dcr_register(env, MAL0_TXCASR,
1817
                         mal, &dcr_read_mal, &dcr_write_mal);
1818
        ppc_dcr_register(env, MAL0_TXCARR,
1819
                         mal, &dcr_read_mal, &dcr_write_mal);
1820
        ppc_dcr_register(env, MAL0_TXEOBISR,
1821
                         mal, &dcr_read_mal, &dcr_write_mal);
1822
        ppc_dcr_register(env, MAL0_TXDEIR,
1823
                         mal, &dcr_read_mal, &dcr_write_mal);
1824
        ppc_dcr_register(env, MAL0_RXCASR,
1825
                         mal, &dcr_read_mal, &dcr_write_mal);
1826
        ppc_dcr_register(env, MAL0_RXCARR,
1827
                         mal, &dcr_read_mal, &dcr_write_mal);
1828
        ppc_dcr_register(env, MAL0_RXEOBISR,
1829
                         mal, &dcr_read_mal, &dcr_write_mal);
1830
        ppc_dcr_register(env, MAL0_RXDEIR,
1831
                         mal, &dcr_read_mal, &dcr_write_mal);
1832
        ppc_dcr_register(env, MAL0_TXCTP0R,
1833
                         mal, &dcr_read_mal, &dcr_write_mal);
1834
        ppc_dcr_register(env, MAL0_TXCTP1R,
1835
                         mal, &dcr_read_mal, &dcr_write_mal);
1836
        ppc_dcr_register(env, MAL0_TXCTP2R,
1837
                         mal, &dcr_read_mal, &dcr_write_mal);
1838
        ppc_dcr_register(env, MAL0_TXCTP3R,
1839
                         mal, &dcr_read_mal, &dcr_write_mal);
1840
        ppc_dcr_register(env, MAL0_RXCTP0R,
1841
                         mal, &dcr_read_mal, &dcr_write_mal);
1842
        ppc_dcr_register(env, MAL0_RXCTP1R,
1843
                         mal, &dcr_read_mal, &dcr_write_mal);
1844
        ppc_dcr_register(env, MAL0_RCBS0,
1845
                         mal, &dcr_read_mal, &dcr_write_mal);
1846
        ppc_dcr_register(env, MAL0_RCBS1,
1847
                         mal, &dcr_read_mal, &dcr_write_mal);
1848
    }
1787
    for (i = 0; i < 4; i++)
1788
        mal->irqs[i] = irqs[i];
1789
    ppc40x_mal_reset(mal);
1790
    qemu_register_reset(&ppc40x_mal_reset, mal);
1791
    ppc_dcr_register(env, MAL0_CFG,
1792
                     mal, &dcr_read_mal, &dcr_write_mal);
1793
    ppc_dcr_register(env, MAL0_ESR,
1794
                     mal, &dcr_read_mal, &dcr_write_mal);
1795
    ppc_dcr_register(env, MAL0_IER,
1796
                     mal, &dcr_read_mal, &dcr_write_mal);
1797
    ppc_dcr_register(env, MAL0_TXCASR,
1798
                     mal, &dcr_read_mal, &dcr_write_mal);
1799
    ppc_dcr_register(env, MAL0_TXCARR,
1800
                     mal, &dcr_read_mal, &dcr_write_mal);
1801
    ppc_dcr_register(env, MAL0_TXEOBISR,
1802
                     mal, &dcr_read_mal, &dcr_write_mal);
1803
    ppc_dcr_register(env, MAL0_TXDEIR,
1804
                     mal, &dcr_read_mal, &dcr_write_mal);
1805
    ppc_dcr_register(env, MAL0_RXCASR,
1806
                     mal, &dcr_read_mal, &dcr_write_mal);
1807
    ppc_dcr_register(env, MAL0_RXCARR,
1808
                     mal, &dcr_read_mal, &dcr_write_mal);
1809
    ppc_dcr_register(env, MAL0_RXEOBISR,
1810
                     mal, &dcr_read_mal, &dcr_write_mal);
1811
    ppc_dcr_register(env, MAL0_RXDEIR,
1812
                     mal, &dcr_read_mal, &dcr_write_mal);
1813
    ppc_dcr_register(env, MAL0_TXCTP0R,
1814
                     mal, &dcr_read_mal, &dcr_write_mal);
1815
    ppc_dcr_register(env, MAL0_TXCTP1R,
1816
                     mal, &dcr_read_mal, &dcr_write_mal);
1817
    ppc_dcr_register(env, MAL0_TXCTP2R,
1818
                     mal, &dcr_read_mal, &dcr_write_mal);
1819
    ppc_dcr_register(env, MAL0_TXCTP3R,
1820
                     mal, &dcr_read_mal, &dcr_write_mal);
1821
    ppc_dcr_register(env, MAL0_RXCTP0R,
1822
                     mal, &dcr_read_mal, &dcr_write_mal);
1823
    ppc_dcr_register(env, MAL0_RXCTP1R,
1824
                     mal, &dcr_read_mal, &dcr_write_mal);
1825
    ppc_dcr_register(env, MAL0_RCBS0,
1826
                     mal, &dcr_read_mal, &dcr_write_mal);
1827
    ppc_dcr_register(env, MAL0_RCBS1,
1828
                     mal, &dcr_read_mal, &dcr_write_mal);
1849 1829
}
1850 1830

  
1851 1831
/*****************************************************************************/
......
2170 2150
    ppc405cr_cpc_t *cpc;
2171 2151

  
2172 2152
    cpc = qemu_mallocz(sizeof(ppc405cr_cpc_t));
2173
    if (cpc != NULL) {
2174
        memcpy(cpc->clk_setup, clk_setup,
2175
               PPC405CR_CLK_NB * sizeof(clk_setup_t));
2176
        cpc->sysclk = sysclk;
2177
        cpc->jtagid = 0x42051049;
2178
        ppc_dcr_register(env, PPC405CR_CPC0_PSR, cpc,
2179
                         &dcr_read_crcpc, &dcr_write_crcpc);
2180
        ppc_dcr_register(env, PPC405CR_CPC0_CR0, cpc,
2181
                         &dcr_read_crcpc, &dcr_write_crcpc);
2182
        ppc_dcr_register(env, PPC405CR_CPC0_CR1, cpc,
2183
                         &dcr_read_crcpc, &dcr_write_crcpc);
2184
        ppc_dcr_register(env, PPC405CR_CPC0_JTAGID, cpc,
2185
                         &dcr_read_crcpc, &dcr_write_crcpc);
2186
        ppc_dcr_register(env, PPC405CR_CPC0_PLLMR, cpc,
2187
                         &dcr_read_crcpc, &dcr_write_crcpc);
2188
        ppc_dcr_register(env, PPC405CR_CPC0_ER, cpc,
2189
                         &dcr_read_crcpc, &dcr_write_crcpc);
2190
        ppc_dcr_register(env, PPC405CR_CPC0_FR, cpc,
2191
                         &dcr_read_crcpc, &dcr_write_crcpc);
2192
        ppc_dcr_register(env, PPC405CR_CPC0_SR, cpc,
2193
                         &dcr_read_crcpc, &dcr_write_crcpc);
2194
        ppc405cr_clk_init(cpc);
2195
        qemu_register_reset(ppc405cr_cpc_reset, cpc);
2196
        ppc405cr_cpc_reset(cpc);
2197
    }
2153
    memcpy(cpc->clk_setup, clk_setup,
2154
           PPC405CR_CLK_NB * sizeof(clk_setup_t));
2155
    cpc->sysclk = sysclk;
2156
    cpc->jtagid = 0x42051049;
2157
    ppc_dcr_register(env, PPC405CR_CPC0_PSR, cpc,
2158
                     &dcr_read_crcpc, &dcr_write_crcpc);
2159
    ppc_dcr_register(env, PPC405CR_CPC0_CR0, cpc,
2160
                     &dcr_read_crcpc, &dcr_write_crcpc);
2161
    ppc_dcr_register(env, PPC405CR_CPC0_CR1, cpc,
2162
                     &dcr_read_crcpc, &dcr_write_crcpc);
2163
    ppc_dcr_register(env, PPC405CR_CPC0_JTAGID, cpc,
2164
                     &dcr_read_crcpc, &dcr_write_crcpc);
2165
    ppc_dcr_register(env, PPC405CR_CPC0_PLLMR, cpc,
2166
                     &dcr_read_crcpc, &dcr_write_crcpc);
2167
    ppc_dcr_register(env, PPC405CR_CPC0_ER, cpc,
2168
                     &dcr_read_crcpc, &dcr_write_crcpc);
2169
    ppc_dcr_register(env, PPC405CR_CPC0_FR, cpc,
2170
                     &dcr_read_crcpc, &dcr_write_crcpc);
2171
    ppc_dcr_register(env, PPC405CR_CPC0_SR, cpc,
2172
                     &dcr_read_crcpc, &dcr_write_crcpc);
2173
    ppc405cr_clk_init(cpc);
2174
    qemu_register_reset(ppc405cr_cpc_reset, cpc);
2175
    ppc405cr_cpc_reset(cpc);
2198 2176
}
2199 2177

  
2200 2178
CPUState *ppc405cr_init (target_phys_addr_t ram_bases[4],
......
2516 2494
    ppc405ep_cpc_t *cpc;
2517 2495

  
2518 2496
    cpc = qemu_mallocz(sizeof(ppc405ep_cpc_t));
2519
    if (cpc != NULL) {
2520
        memcpy(cpc->clk_setup, clk_setup,
2521
               PPC405EP_CLK_NB * sizeof(clk_setup_t));
2522
        cpc->jtagid = 0x20267049;
2523
        cpc->sysclk = sysclk;
2524
        ppc405ep_cpc_reset(cpc);
2525
        qemu_register_reset(&ppc405ep_cpc_reset, cpc);
2526
        ppc_dcr_register(env, PPC405EP_CPC0_BOOT, cpc,
2527
                         &dcr_read_epcpc, &dcr_write_epcpc);
2528
        ppc_dcr_register(env, PPC405EP_CPC0_EPCTL, cpc,
2529
                         &dcr_read_epcpc, &dcr_write_epcpc);
2530
        ppc_dcr_register(env, PPC405EP_CPC0_PLLMR0, cpc,
2531
                         &dcr_read_epcpc, &dcr_write_epcpc);
2532
        ppc_dcr_register(env, PPC405EP_CPC0_PLLMR1, cpc,
2533
                         &dcr_read_epcpc, &dcr_write_epcpc);
2534
        ppc_dcr_register(env, PPC405EP_CPC0_UCR, cpc,
2535
                         &dcr_read_epcpc, &dcr_write_epcpc);
2536
        ppc_dcr_register(env, PPC405EP_CPC0_SRR, cpc,
2537
                         &dcr_read_epcpc, &dcr_write_epcpc);
2538
        ppc_dcr_register(env, PPC405EP_CPC0_JTAGID, cpc,
2539
                         &dcr_read_epcpc, &dcr_write_epcpc);
2540
        ppc_dcr_register(env, PPC405EP_CPC0_PCI, cpc,
2541
                         &dcr_read_epcpc, &dcr_write_epcpc);
2497
    memcpy(cpc->clk_setup, clk_setup,
2498
           PPC405EP_CLK_NB * sizeof(clk_setup_t));
2499
    cpc->jtagid = 0x20267049;
2500
    cpc->sysclk = sysclk;
2501
    ppc405ep_cpc_reset(cpc);
2502
    qemu_register_reset(&ppc405ep_cpc_reset, cpc);
2503
    ppc_dcr_register(env, PPC405EP_CPC0_BOOT, cpc,
2504
                     &dcr_read_epcpc, &dcr_write_epcpc);
2505
    ppc_dcr_register(env, PPC405EP_CPC0_EPCTL, cpc,
2506
                     &dcr_read_epcpc, &dcr_write_epcpc);
2507
    ppc_dcr_register(env, PPC405EP_CPC0_PLLMR0, cpc,
2508
                     &dcr_read_epcpc, &dcr_write_epcpc);
2509
    ppc_dcr_register(env, PPC405EP_CPC0_PLLMR1, cpc,
2510
                     &dcr_read_epcpc, &dcr_write_epcpc);
2511
    ppc_dcr_register(env, PPC405EP_CPC0_UCR, cpc,
2512
                     &dcr_read_epcpc, &dcr_write_epcpc);
2513
    ppc_dcr_register(env, PPC405EP_CPC0_SRR, cpc,
2514
                     &dcr_read_epcpc, &dcr_write_epcpc);
2515
    ppc_dcr_register(env, PPC405EP_CPC0_JTAGID, cpc,
2516
                     &dcr_read_epcpc, &dcr_write_epcpc);
2517
    ppc_dcr_register(env, PPC405EP_CPC0_PCI, cpc,
2518
                     &dcr_read_epcpc, &dcr_write_epcpc);
2542 2519
#if 0
2543
        ppc_dcr_register(env, PPC405EP_CPC0_ER, cpc,
2544
                         &dcr_read_epcpc, &dcr_write_epcpc);
2545
        ppc_dcr_register(env, PPC405EP_CPC0_FR, cpc,
2546
                         &dcr_read_epcpc, &dcr_write_epcpc);
2547
        ppc_dcr_register(env, PPC405EP_CPC0_SR, cpc,
2548
                         &dcr_read_epcpc, &dcr_write_epcpc);
2520
    ppc_dcr_register(env, PPC405EP_CPC0_ER, cpc,
2521
                     &dcr_read_epcpc, &dcr_write_epcpc);
2522
    ppc_dcr_register(env, PPC405EP_CPC0_FR, cpc,
2523
                     &dcr_read_epcpc, &dcr_write_epcpc);
2524
    ppc_dcr_register(env, PPC405EP_CPC0_SR, cpc,
2525
                     &dcr_read_epcpc, &dcr_write_epcpc);
2549 2526
#endif
2550
    }
2551 2527
}
2552 2528

  
2553 2529
CPUState *ppc405ep_init (target_phys_addr_t ram_bases[2],
b/hw/ppc440_bamboo.c
42 42

  
43 43
    pathlen = snprintf(NULL, 0, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE) + 1;
44 44
    path = qemu_malloc(pathlen);
45
    if (path == NULL)
46
        return NULL;
47 45

  
48 46
    snprintf(path, pathlen, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE);
49 47

  
b/hw/ppc4xx_devs.c
246 246
    int mmio_memory;
247 247

  
248 248
    mmio = qemu_mallocz(sizeof(ppc4xx_mmio_t));
249
    if (mmio != NULL) {
250
        mmio->base = base;
251
        mmio_memory = cpu_register_io_memory(0, mmio_read, mmio_write, mmio);
249
    mmio->base = base;
250
    mmio_memory = cpu_register_io_memory(0, mmio_read, mmio_write, mmio);
252 251
#if defined(DEBUG_MMIO)
253
        printf("%s: base " PADDRX " len %08x %d\n", __func__,
254
               base, TARGET_PAGE_SIZE, mmio_memory);
252
    printf("%s: base " PADDRX " len %08x %d\n", __func__,
253
           base, TARGET_PAGE_SIZE, mmio_memory);
255 254
#endif
256
        cpu_register_physical_memory(base, TARGET_PAGE_SIZE, mmio_memory);
257
        ppc4xx_mmio_register(env, mmio, 0, TARGET_PAGE_SIZE,
258
                             unassigned_mmio_read, unassigned_mmio_write,
259
                             mmio);
260
    }
255
    cpu_register_physical_memory(base, TARGET_PAGE_SIZE, mmio_memory);
256
    ppc4xx_mmio_register(env, mmio, 0, TARGET_PAGE_SIZE,
257
                         unassigned_mmio_read, unassigned_mmio_write,
258
                         mmio);
261 259

  
262 260
    return mmio;
263 261
}
......
492 490
    int i;
493 491

  
494 492
    uic = qemu_mallocz(sizeof(ppcuic_t));
495
    if (uic != NULL) {
496
        uic->dcr_base = dcr_base;
497
        uic->irqs = irqs;
498
        if (has_vr)
499
            uic->use_vectors = 1;
500
        for (i = 0; i < DCR_UICMAX; i++) {
501
            ppc_dcr_register(env, dcr_base + i, uic,
502
                             &dcr_read_uic, &dcr_write_uic);
503
        }
504
        qemu_register_reset(ppcuic_reset, uic);
505
        ppcuic_reset(uic);
493
    uic->dcr_base = dcr_base;
494
    uic->irqs = irqs;
495
    if (has_vr)
496
        uic->use_vectors = 1;
497
    for (i = 0; i < DCR_UICMAX; i++) {
498
        ppc_dcr_register(env, dcr_base + i, uic,
499
                         &dcr_read_uic, &dcr_write_uic);
506 500
    }
501
    qemu_register_reset(ppcuic_reset, uic);
502
    ppcuic_reset(uic);
507 503

  
508 504
    return qemu_allocate_irqs(&ppcuic_set_irq, uic, UIC_MAX_IRQ);
509 505
}
......
829 825
    ppc4xx_sdram_t *sdram;
830 826

  
831 827
    sdram = qemu_mallocz(sizeof(ppc4xx_sdram_t));
832
    if (sdram != NULL) {
833
        sdram->irq = irq;
834
        sdram->nbanks = nbanks;
835
        memset(sdram->ram_bases, 0, 4 * sizeof(target_phys_addr_t));
836
        memcpy(sdram->ram_bases, ram_bases,
837
               nbanks * sizeof(target_phys_addr_t));
838
        memset(sdram->ram_sizes, 0, 4 * sizeof(target_phys_addr_t));
839
        memcpy(sdram->ram_sizes, ram_sizes,
840
               nbanks * sizeof(target_phys_addr_t));
841
        sdram_reset(sdram);
842
        qemu_register_reset(&sdram_reset, sdram);
843
        ppc_dcr_register(env, SDRAM0_CFGADDR,
844
                         sdram, &dcr_read_sdram, &dcr_write_sdram);
845
        ppc_dcr_register(env, SDRAM0_CFGDATA,
846
                         sdram, &dcr_read_sdram, &dcr_write_sdram);
847
        if (do_init)
848
            sdram_map_bcr(sdram);
849
    }
828
    sdram->irq = irq;
829
    sdram->nbanks = nbanks;
830
    memset(sdram->ram_bases, 0, 4 * sizeof(target_phys_addr_t));
831
    memcpy(sdram->ram_bases, ram_bases,
832
           nbanks * sizeof(target_phys_addr_t));
833
    memset(sdram->ram_sizes, 0, 4 * sizeof(target_phys_addr_t));
834
    memcpy(sdram->ram_sizes, ram_sizes,
835
           nbanks * sizeof(target_phys_addr_t));
836
    sdram_reset(sdram);
837
    qemu_register_reset(&sdram_reset, sdram);
838
    ppc_dcr_register(env, SDRAM0_CFGADDR,
839
                     sdram, &dcr_read_sdram, &dcr_write_sdram);
840
    ppc_dcr_register(env, SDRAM0_CFGDATA,
841
                     sdram, &dcr_read_sdram, &dcr_write_sdram);
842
    if (do_init)
843
        sdram_map_bcr(sdram);
850 844
}
851 845

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

Also available in: Unified diff