summary refs log tree commit diff stats
path: root/include
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2017-02-15 13:18:55 +0100
committerMarkus Armbruster <armbru@redhat.com>2017-02-21 13:17:45 +0100
commita64aa5785d5d26878d0a80ce64625b61be8fde60 (patch)
treee321f5c6429caeceef212428fb6760cca171e1fd /include
parentfb8b660e1718aaa77cccbda67af5727bb4a6250f (diff)
downloadfocaccia-qemu-a64aa5785d5d26878d0a80ce64625b61be8fde60.tar.gz
focaccia-qemu-a64aa5785d5d26878d0a80ce64625b61be8fde60.zip
hw: Deprecate -drive if=scsi with non-onboard HBAs
Block backends defined with "-drive if=T" with T other than "none" are
meant to be picked up by machine initialization code: a suitable
frontend gets created and wired up automatically.

Drives defined with if=scsi are also picked up by SCSI HBAs added with
-device, unlike other interface types.  Deprecate this usage, as follows.

Create the frontends for onboard HBAs in machine initialization code,
exactly like we do for if=ide and other interface types.  Change
scsi_legacy_handle_cmdline() to create a frontend only when it's still
missing, and warn that this usage is deprecated.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1487161136-9018-3-git-send-email-armbru@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/pci/pci.h2
-rw-r--r--include/hw/scsi/scsi.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 05ef14b6f5..6983f13745 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -688,6 +688,8 @@ PCIDevice *pci_create_simple_multifunction(PCIBus *bus, int devfn,
 PCIDevice *pci_create(PCIBus *bus, int devfn, const char *name);
 PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name);
 
+void lsi53c895a_create(PCIBus *bus);
+
 qemu_irq pci_allocate_irq(PCIDevice *pci_dev);
 void pci_set_irq(PCIDevice *pci_dev, int level);
 
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index eeef949b66..6b85786dbf 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -177,7 +177,7 @@ static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d)
 SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockBackend *blk,
                                       int unit, bool removable, int bootindex,
                                       const char *serial, Error **errp);
-void scsi_bus_legacy_handle_cmdline(SCSIBus *bus);
+void scsi_bus_legacy_handle_cmdline(SCSIBus *bus, bool deprecated);
 void scsi_legacy_handle_cmdline(void);
 
 /*