Revision e4bcb14c hw/versatilepb.c

b/hw/versatilepb.c
171 171
    NICInfo *nd;
172 172
    int n;
173 173
    int done_smc = 0;
174
    int index;
174 175

  
175 176
    if (!cpu_model)
176 177
        cpu_model = "arm926";
......
206 207
    if (usb_enabled) {
207 208
        usb_ohci_init_pci(pci_bus, 3, -1);
208 209
    }
210
    if (drive_get_max_bus(IF_SCSI) > 0) {
211
        fprintf(stderr, "qemu: too many SCSI bus\n");
212
        exit(1);
213
    }
209 214
    scsi_hba = lsi_scsi_init(pci_bus, -1);
210
    for (n = 0; n < MAX_DISKS; n++) {
211
        if (bs_table[n]) {
212
            lsi_scsi_attach(scsi_hba, bs_table[n], n);
213
        }
215
    for (n = 0; n < LSI_MAX_DEVS; n++) {
216
        index = drive_get_index(IF_SCSI, 0, n);
217
        if (index == -1)
218
            continue;
219
        lsi_scsi_attach(scsi_hba, drives_table[index].bdrv, n);
214 220
    }
215 221

  
216 222
    pl011_init(0x101f1000, pic[12], serial_hds[0], PL011_ARM);
......
226 232
       that includes hardware cursor support from the PL111.  */
227 233
    pl110_init(ds, 0x10120000, pic[16], 1);
228 234

  
229
    pl181_init(0x10005000, sd_bdrv, sic[22], sic[1]);
235
    index = drive_get_index(IF_SD, 0, 0);
236
    if (index == -1) {
237
        fprintf(stderr, "qemu: missing SecureDigital card\n");
238
        exit(1);
239
    }
240

  
241
    pl181_init(0x10005000, drives_table[index].bdrv, sic[22], sic[1]);
230 242
#if 0
231 243
    /* Disabled because there's no way of specifying a block device.  */
232 244
    pl181_init(0x1000b000, NULL, sic, 23, 2);

Also available in: Unified diff