mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
scsi: add bus_name parameter to scsi_bus_new.
This adds the possibility to create a scsi-bus with a specified name. Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com> Message-id: 1367330931-12994-4-git-send-email-fred.konrad@greensocs.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
1034e9cf4d
commit
11fc853c4c
@ -354,7 +354,7 @@ static int esp_pci_scsi_init(PCIDevice *dev)
|
|||||||
pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io);
|
pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io);
|
||||||
s->irq = pci->dev.irq[0];
|
s->irq = pci->dev.irq[0];
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info);
|
scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info, NULL);
|
||||||
if (!dev->qdev.hotplugged) {
|
if (!dev->qdev.hotplugged) {
|
||||||
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
}
|
}
|
||||||
|
@ -681,7 +681,7 @@ static int sysbus_esp_init(SysBusDevice *dev)
|
|||||||
|
|
||||||
qdev_init_gpio_in(&dev->qdev, sysbus_esp_gpio_demux, 2);
|
qdev_init_gpio_in(&dev->qdev, sysbus_esp_gpio_demux, 2);
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info);
|
scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info, NULL);
|
||||||
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2099,7 +2099,7 @@ static int lsi_scsi_init(PCIDevice *dev)
|
|||||||
pci_register_bar(&s->dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ram_io);
|
pci_register_bar(&s->dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ram_io);
|
||||||
QTAILQ_INIT(&s->queue);
|
QTAILQ_INIT(&s->queue);
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info);
|
scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info, NULL);
|
||||||
if (!dev->qdev.hotplugged) {
|
if (!dev->qdev.hotplugged) {
|
||||||
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
return scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
}
|
}
|
||||||
|
@ -2159,7 +2159,7 @@ static int megasas_scsi_init(PCIDevice *dev)
|
|||||||
s->frames[i].state = s;
|
s->frames[i].state = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info);
|
scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info, NULL);
|
||||||
scsi_bus_legacy_handle_cmdline(&s->bus);
|
scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -72,9 +72,10 @@ static void scsi_device_unit_attention_reported(SCSIDevice *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Create a scsi bus, and attach devices to it. */
|
/* Create a scsi bus, and attach devices to it. */
|
||||||
void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info)
|
void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
|
||||||
|
const char *bus_name)
|
||||||
{
|
{
|
||||||
qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, NULL);
|
qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, bus_name);
|
||||||
bus->busnr = next_scsi_bus++;
|
bus->busnr = next_scsi_bus++;
|
||||||
bus->info = info;
|
bus->info = info;
|
||||||
bus->qbus.allow_hotplug = 1;
|
bus->qbus.allow_hotplug = 1;
|
||||||
|
@ -915,7 +915,7 @@ static int spapr_vscsi_init(VIOsPAPRDevice *dev)
|
|||||||
|
|
||||||
dev->crq.SendFunc = vscsi_do_crq;
|
dev->crq.SendFunc = vscsi_do_crq;
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info);
|
scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info, NULL);
|
||||||
if (!dev->qdev.hotplugged) {
|
if (!dev->qdev.hotplugged) {
|
||||||
scsi_bus_legacy_handle_cmdline(&s->bus);
|
scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
}
|
}
|
||||||
|
@ -624,7 +624,7 @@ static int virtio_scsi_device_init(VirtIODevice *vdev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info);
|
scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, NULL);
|
||||||
if (!qdev->hotplugged) {
|
if (!qdev->hotplugged) {
|
||||||
scsi_bus_legacy_handle_cmdline(&s->bus);
|
scsi_bus_legacy_handle_cmdline(&s->bus);
|
||||||
}
|
}
|
||||||
|
@ -1088,7 +1088,7 @@ pvscsi_init(PCIDevice *pci_dev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info);
|
scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info, NULL);
|
||||||
pvscsi_reset_state(s);
|
pvscsi_reset_state(s);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -623,7 +623,7 @@ static int usb_msd_initfn_storage(USBDevice *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
usb_desc_init(dev);
|
usb_desc_init(dev);
|
||||||
scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage);
|
scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage, NULL);
|
||||||
scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable,
|
scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable,
|
||||||
s->conf.bootindex, s->serial);
|
s->conf.bootindex, s->serial);
|
||||||
if (!scsi_dev) {
|
if (!scsi_dev) {
|
||||||
@ -650,7 +650,7 @@ static int usb_msd_initfn_bot(USBDevice *dev)
|
|||||||
|
|
||||||
usb_desc_create_serial(dev);
|
usb_desc_create_serial(dev);
|
||||||
usb_desc_init(dev);
|
usb_desc_init(dev);
|
||||||
scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot);
|
scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot, NULL);
|
||||||
s->bus.qbus.allow_hotplug = 0;
|
s->bus.qbus.allow_hotplug = 0;
|
||||||
usb_msd_handle_reset(dev);
|
usb_msd_handle_reset(dev);
|
||||||
|
|
||||||
|
@ -888,7 +888,7 @@ static int usb_uas_init(USBDevice *dev)
|
|||||||
QTAILQ_INIT(&uas->requests);
|
QTAILQ_INIT(&uas->requests);
|
||||||
uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
|
uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
|
||||||
|
|
||||||
scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info);
|
scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info, NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,8 @@ struct SCSIBus {
|
|||||||
const SCSIBusInfo *info;
|
const SCSIBusInfo *info;
|
||||||
};
|
};
|
||||||
|
|
||||||
void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info);
|
void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
|
||||||
|
const char *bus_name);
|
||||||
|
|
||||||
static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d)
|
static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user