Revision 751c6a17 hw/ppc405_boards.c

b/hw/ppc405_boards.c
188 188
    int linux_boot;
189 189
    int fl_idx, fl_sectors, len;
190 190
    int ppc_boot_device = boot_device[0];
191
    int index;
191
    DriveInfo *dinfo;
192 192

  
193 193
    /* XXX: fix this */
194 194
    ram_bases[0] = qemu_ram_alloc(0x08000000);
......
215 215
#endif
216 216
    fl_idx = 0;
217 217
#ifdef USE_FLASH_BIOS
218
    index = drive_get_index(IF_PFLASH, 0, fl_idx);
219
    if (index != -1) {
220
        bios_size = bdrv_getlength(drives_table[index].bdrv);
218
    dinfo = drive_get(IF_PFLASH, 0, fl_idx);
219
    if (dinfo) {
220
        bios_size = bdrv_getlength(dinfo->bdrv);
221 221
        bios_offset = qemu_ram_alloc(bios_size);
222 222
        fl_sectors = (bios_size + 65535) >> 16;
223 223
#ifdef DEBUG_BOARD_INIT
224 224
        printf("Register parallel flash %d size " ADDRX " at offset %08lx "
225 225
               " addr " ADDRX " '%s' %d\n",
226 226
               fl_idx, bios_size, bios_offset, -bios_size,
227
               bdrv_get_device_name(drives_table[index].bdrv), fl_sectors);
227
               bdrv_get_device_name(dinfo->bdrv), fl_sectors);
228 228
#endif
229 229
        pflash_cfi02_register((uint32_t)(-bios_size), bios_offset,
230
                              drives_table[index].bdrv, 65536, fl_sectors, 1,
230
                              dinfo->bdrv, 65536, fl_sectors, 1,
231 231
                              2, 0x0001, 0x22DA, 0x0000, 0x0000, 0x555, 0x2AA);
232 232
        fl_idx++;
233 233
    } else
......
509 509
    int linux_boot;
510 510
    int fl_idx, fl_sectors;
511 511
    int ppc_boot_device = boot_device[0];
512
    int index;
512
    DriveInfo *dinfo;
513 513

  
514 514
    /* RAM is soldered to the board so the size cannot be changed */
515 515
    ram_bases[0] = qemu_ram_alloc(0x04000000);
......
528 528
#endif
529 529
    fl_idx = 0;
530 530
#if defined(USE_FLASH_BIOS)
531
    index = drive_get_index(IF_PFLASH, 0, fl_idx);
532
    if (index != -1) {
533
        bios_size = bdrv_getlength(drives_table[index].bdrv);
531
    dinfo = drive_get(IF_PFLASH, 0, fl_idx);
532
    if (dinfo) {
533
        bios_size = bdrv_getlength(dinfo->bdrv);
534 534
        /* XXX: should check that size is 2MB */
535 535
        //        bios_size = 2 * 1024 * 1024;
536 536
        fl_sectors = (bios_size + 65535) >> 16;
......
539 539
        printf("Register parallel flash %d size " ADDRX " at offset %08lx "
540 540
               " addr " ADDRX " '%s' %d\n",
541 541
               fl_idx, bios_size, bios_offset, -bios_size,
542
               bdrv_get_device_name(drives_table[index].bdrv), fl_sectors);
542
               bdrv_get_device_name(dinfo->bdrv), fl_sectors);
543 543
#endif
544 544
        pflash_cfi02_register((uint32_t)(-bios_size), bios_offset,
545
                              drives_table[index].bdrv, 65536, fl_sectors, 1,
545
                              dinfo->bdrv, 65536, fl_sectors, 1,
546 546
                              4, 0x0001, 0x22DA, 0x0000, 0x0000, 0x555, 0x2AA);
547 547
        fl_idx++;
548 548
    } else
......
570 570
                                     bios_size, bios_offset | IO_MEM_ROM);
571 571
    }
572 572
    /* Register Linux flash */
573
    index = drive_get_index(IF_PFLASH, 0, fl_idx);
574
    if (index != -1) {
575
        bios_size = bdrv_getlength(drives_table[index].bdrv);
573
    dinfo = drive_get(IF_PFLASH, 0, fl_idx);
574
    if (dinfo) {
575
        bios_size = bdrv_getlength(dinfo->bdrv);
576 576
        /* XXX: should check that size is 32MB */
577 577
        bios_size = 32 * 1024 * 1024;
578 578
        fl_sectors = (bios_size + 65535) >> 16;
......
580 580
        printf("Register parallel flash %d size " ADDRX " at offset %08lx "
581 581
               " addr " ADDRX " '%s'\n",
582 582
               fl_idx, bios_size, bios_offset, (target_ulong)0xfc000000,
583
               bdrv_get_device_name(drives_table[index].bdrv));
583
               bdrv_get_device_name(dinfo->bdrv));
584 584
#endif
585 585
        bios_offset = qemu_ram_alloc(bios_size);
586 586
        pflash_cfi02_register(0xfc000000, bios_offset,
587
                              drives_table[index].bdrv, 65536, fl_sectors, 1,
587
                              dinfo->bdrv, 65536, fl_sectors, 1,
588 588
                              4, 0x0001, 0x22DA, 0x0000, 0x0000, 0x555, 0x2AA);
589 589
        fl_idx++;
590 590
    }

Also available in: Unified diff