|
@@ -162,7 +162,7 @@ void scsi_qdev_register(SCSIDeviceInfo *info)
|
|
|
|
|
|
/* handle legacy '-drive if=scsi,...' cmd line args */
|
|
|
SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockDriverState *bdrv,
|
|
|
- int unit, bool removable)
|
|
|
+ int unit, bool removable, int bootindex)
|
|
|
{
|
|
|
const char *driver;
|
|
|
DeviceState *dev;
|
|
@@ -170,6 +170,9 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockDriverState *bdrv,
|
|
|
driver = bdrv_is_sg(bdrv) ? "scsi-generic" : "scsi-disk";
|
|
|
dev = qdev_create(&bus->qbus, driver);
|
|
|
qdev_prop_set_uint32(dev, "scsi-id", unit);
|
|
|
+ if (bootindex >= 0) {
|
|
|
+ qdev_prop_set_int32(dev, "bootindex", bootindex);
|
|
|
+ }
|
|
|
if (qdev_prop_exists(dev, "removable")) {
|
|
|
qdev_prop_set_bit(dev, "removable", removable);
|
|
|
}
|
|
@@ -195,7 +198,7 @@ int scsi_bus_legacy_handle_cmdline(SCSIBus *bus)
|
|
|
continue;
|
|
|
}
|
|
|
qemu_opts_loc_restore(dinfo->opts);
|
|
|
- if (!scsi_bus_legacy_add_drive(bus, dinfo->bdrv, unit, false)) {
|
|
|
+ if (!scsi_bus_legacy_add_drive(bus, dinfo->bdrv, unit, false, -1)) {
|
|
|
res = -1;
|
|
|
break;
|
|
|
}
|