Commit c9b1ae2cfd25e3ad88c6ef61d18eaefd177a5e49

Authored by blueswir1
1 parent f87fc09b

Add to machine structure a flag to use SCSI drives instead of IDE: fixes SS-20

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5339 c046a42c-6fe2-441c-8c8c-71466251a162
hw/boards.h
@@ -17,6 +17,7 @@ typedef struct QEMUMachine { @@ -17,6 +17,7 @@ typedef struct QEMUMachine {
17 #define RAMSIZE_FIXED (1 << 0) 17 #define RAMSIZE_FIXED (1 << 0)
18 ram_addr_t ram_require; 18 ram_addr_t ram_require;
19 int nodisk_ok; 19 int nodisk_ok;
  20 + int use_scsi;
20 struct QEMUMachine *next; 21 struct QEMUMachine *next;
21 } QEMUMachine; 22 } QEMUMachine;
22 23
hw/realview.c
@@ -197,8 +197,9 @@ static void realview_init(ram_addr_t ram_size, int vga_ram_size, @@ -197,8 +197,9 @@ static void realview_init(ram_addr_t ram_size, int vga_ram_size,
197 } 197 }
198 198
199 QEMUMachine realview_machine = { 199 QEMUMachine realview_machine = {
200 - "realview",  
201 - "ARM RealView Emulation Baseboard (ARM926EJ-S)",  
202 - realview_init,  
203 - 0x1000 200 + .name = "realview",
  201 + .desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)",
  202 + .init = realview_init,
  203 + .ram_require = 0x1000,
  204 + .use_scsi = 1,
204 }; 205 };
hw/sun4m.c
@@ -1292,6 +1292,7 @@ QEMUMachine ss5_machine = { @@ -1292,6 +1292,7 @@ QEMUMachine ss5_machine = {
1292 .init = ss5_init, 1292 .init = ss5_init,
1293 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1293 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1294 .nodisk_ok = 1, 1294 .nodisk_ok = 1,
  1295 + .use_scsi = 1,
1295 }; 1296 };
1296 1297
1297 QEMUMachine ss10_machine = { 1298 QEMUMachine ss10_machine = {
@@ -1300,6 +1301,7 @@ QEMUMachine ss10_machine = { @@ -1300,6 +1301,7 @@ QEMUMachine ss10_machine = {
1300 .init = ss10_init, 1301 .init = ss10_init,
1301 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1302 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1302 .nodisk_ok = 1, 1303 .nodisk_ok = 1,
  1304 + .use_scsi = 1,
1303 }; 1305 };
1304 1306
1305 QEMUMachine ss600mp_machine = { 1307 QEMUMachine ss600mp_machine = {
@@ -1308,6 +1310,7 @@ QEMUMachine ss600mp_machine = { @@ -1308,6 +1310,7 @@ QEMUMachine ss600mp_machine = {
1308 .init = ss600mp_init, 1310 .init = ss600mp_init,
1309 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1311 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1310 .nodisk_ok = 1, 1312 .nodisk_ok = 1,
  1313 + .use_scsi = 1,
1311 }; 1314 };
1312 1315
1313 QEMUMachine ss20_machine = { 1316 QEMUMachine ss20_machine = {
@@ -1316,6 +1319,7 @@ QEMUMachine ss20_machine = { @@ -1316,6 +1319,7 @@ QEMUMachine ss20_machine = {
1316 .init = ss20_init, 1319 .init = ss20_init,
1317 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1320 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1318 .nodisk_ok = 1, 1321 .nodisk_ok = 1,
  1322 + .use_scsi = 1,
1319 }; 1323 };
1320 1324
1321 QEMUMachine ss2_machine = { 1325 QEMUMachine ss2_machine = {
@@ -1324,6 +1328,7 @@ QEMUMachine ss2_machine = { @@ -1324,6 +1328,7 @@ QEMUMachine ss2_machine = {
1324 .init = ss2_init, 1328 .init = ss2_init,
1325 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1329 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1326 .nodisk_ok = 1, 1330 .nodisk_ok = 1,
  1331 + .use_scsi = 1,
1327 }; 1332 };
1328 1333
1329 QEMUMachine voyager_machine = { 1334 QEMUMachine voyager_machine = {
@@ -1332,6 +1337,7 @@ QEMUMachine voyager_machine = { @@ -1332,6 +1337,7 @@ QEMUMachine voyager_machine = {
1332 .init = vger_init, 1337 .init = vger_init,
1333 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1338 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1334 .nodisk_ok = 1, 1339 .nodisk_ok = 1,
  1340 + .use_scsi = 1,
1335 }; 1341 };
1336 1342
1337 QEMUMachine ss_lx_machine = { 1343 QEMUMachine ss_lx_machine = {
@@ -1340,6 +1346,7 @@ QEMUMachine ss_lx_machine = { @@ -1340,6 +1346,7 @@ QEMUMachine ss_lx_machine = {
1340 .init = ss_lx_init, 1346 .init = ss_lx_init,
1341 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1347 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1342 .nodisk_ok = 1, 1348 .nodisk_ok = 1,
  1349 + .use_scsi = 1,
1343 }; 1350 };
1344 1351
1345 QEMUMachine ss4_machine = { 1352 QEMUMachine ss4_machine = {
@@ -1348,6 +1355,7 @@ QEMUMachine ss4_machine = { @@ -1348,6 +1355,7 @@ QEMUMachine ss4_machine = {
1348 .init = ss4_init, 1355 .init = ss4_init,
1349 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1356 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1350 .nodisk_ok = 1, 1357 .nodisk_ok = 1,
  1358 + .use_scsi = 1,
1351 }; 1359 };
1352 1360
1353 QEMUMachine scls_machine = { 1361 QEMUMachine scls_machine = {
@@ -1356,6 +1364,7 @@ QEMUMachine scls_machine = { @@ -1356,6 +1364,7 @@ QEMUMachine scls_machine = {
1356 .init = scls_init, 1364 .init = scls_init,
1357 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1365 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1358 .nodisk_ok = 1, 1366 .nodisk_ok = 1,
  1367 + .use_scsi = 1,
1359 }; 1368 };
1360 1369
1361 QEMUMachine sbook_machine = { 1370 QEMUMachine sbook_machine = {
@@ -1364,6 +1373,7 @@ QEMUMachine sbook_machine = { @@ -1364,6 +1373,7 @@ QEMUMachine sbook_machine = {
1364 .init = sbook_init, 1373 .init = sbook_init,
1365 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1374 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1366 .nodisk_ok = 1, 1375 .nodisk_ok = 1,
  1376 + .use_scsi = 1,
1367 }; 1377 };
1368 1378
1369 static const struct sun4d_hwdef sun4d_hwdefs[] = { 1379 static const struct sun4d_hwdef sun4d_hwdefs[] = {
@@ -1611,6 +1621,7 @@ QEMUMachine ss1000_machine = { @@ -1611,6 +1621,7 @@ QEMUMachine ss1000_machine = {
1611 .init = ss1000_init, 1621 .init = ss1000_init,
1612 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1622 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1613 .nodisk_ok = 1, 1623 .nodisk_ok = 1,
  1624 + .use_scsi = 1,
1614 }; 1625 };
1615 1626
1616 QEMUMachine ss2000_machine = { 1627 QEMUMachine ss2000_machine = {
@@ -1619,4 +1630,5 @@ QEMUMachine ss2000_machine = { @@ -1619,4 +1630,5 @@ QEMUMachine ss2000_machine = {
1619 .init = ss2000_init, 1630 .init = ss2000_init,
1620 .ram_require = PROM_SIZE_MAX + TCX_SIZE, 1631 .ram_require = PROM_SIZE_MAX + TCX_SIZE,
1621 .nodisk_ok = 1, 1632 .nodisk_ok = 1,
  1633 + .use_scsi = 1,
1622 }; 1634 };
hw/versatilepb.c
@@ -316,13 +316,15 @@ static void vab_init(ram_addr_t ram_size, int vga_ram_size, @@ -316,13 +316,15 @@ static void vab_init(ram_addr_t ram_size, int vga_ram_size,
316 } 316 }
317 317
318 QEMUMachine versatilepb_machine = { 318 QEMUMachine versatilepb_machine = {
319 - "versatilepb",  
320 - "ARM Versatile/PB (ARM926EJ-S)",  
321 - vpb_init, 319 + .name = "versatilepb",
  320 + .desc = "ARM Versatile/PB (ARM926EJ-S)",
  321 + .init = vpb_init,
  322 + .use_scsi = 1,
322 }; 323 };
323 324
324 QEMUMachine versatileab_machine = { 325 QEMUMachine versatileab_machine = {
325 - "versatileab",  
326 - "ARM Versatile/AB (ARM926EJ-S)",  
327 - vab_init, 326 + .name = "versatileab",
  327 + .desc = "ARM Versatile/AB (ARM926EJ-S)",
  328 + .init = vab_init,
  329 + .use_scsi = 1,
328 }; 330 };
@@ -5461,12 +5461,7 @@ static int drive_init(struct drive_opt *arg, int snapshot, @@ -5461,12 +5461,7 @@ static int drive_init(struct drive_opt *arg, int snapshot,
5461 index = -1; 5461 index = -1;
5462 cache = 1; 5462 cache = 1;
5463 5463
5464 - if (!strcmp(machine->name, "realview") ||  
5465 - !strcmp(machine->name, "SS-5") ||  
5466 - !strcmp(machine->name, "SS-10") ||  
5467 - !strcmp(machine->name, "SS-600MP") ||  
5468 - !strcmp(machine->name, "versatilepb") ||  
5469 - !strcmp(machine->name, "versatileab")) { 5464 + if (machine->use_scsi) {
5470 type = IF_SCSI; 5465 type = IF_SCSI;
5471 max_devs = MAX_SCSI_DEVS; 5466 max_devs = MAX_SCSI_DEVS;
5472 pstrcpy(devname, sizeof(devname), "scsi"); 5467 pstrcpy(devname, sizeof(devname), "scsi");