From nobody Sat Oct 25 09:03:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1520342507107504.694856766198; Tue, 6 Mar 2018 05:21:47 -0800 (PST) Received: from localhost ([::1]:55700 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1etCXK-0006iy-8y for importer@patchew.org; Tue, 06 Mar 2018 08:21:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47998) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1etCVN-0004m2-F3 for qemu-devel@nongnu.org; Tue, 06 Mar 2018 08:19:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1etCVH-0006Ab-00 for qemu-devel@nongnu.org; Tue, 06 Mar 2018 08:19:45 -0500 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:53448) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1etCVG-0006A1-LN for qemu-devel@nongnu.org; Tue, 06 Mar 2018 08:19:38 -0500 Received: by mail-wm0-x232.google.com with SMTP id e194so3743398wmd.3 for ; Tue, 06 Mar 2018 05:19:38 -0800 (PST) Received: from 640k.lan (94-36-191-219.adsl-ull.clienti.tiscali.it. [94.36.191.219]) by smtp.gmail.com with ESMTPSA id l38sm25652538wrc.96.2018.03.06.05.19.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Mar 2018 05:19:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=O56CItQg5XN2lG7A0+x49/Yphhm0UZ8kODuJoxd3WdQ=; b=MDK+n/po2o+mVWNKah3e/tcYlys2873yPp0muNroJeJUOxB8ON1D51Cc4kAPXV4KMR 7kI2zqCWs1H5WqZvOnf1TXtTO2tlBkQ0Vzcu4aSVZ2v/yqm1wPQc6zHIFQ+1RWOnDUWO +xLQTf9wQ86CT3HILYgwOCCplfAkA90yNsXbAFWrsK/agQGg3HbjOqKhb874v7W+dscW Rfbkm0o375jlVaOjxZF7C1sgr4AlXl9CxL51kvnPlCN3vWCEEGSAgnegxeyBVM6JSce8 sfz9P6Sm1M6EcKxWXOpzR5bz1d+0MItxEz33nXhatJfe7TjUxnnKqnkhk7+5Hrti7HUS Djpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=O56CItQg5XN2lG7A0+x49/Yphhm0UZ8kODuJoxd3WdQ=; b=TAWthPp+XTXgaZFvs+IOzc/xqaqPcMcfXzo4M9Z2yAKz4KiIOa6K9UT+ulTja5oflA hCT7Nf0Y6bF7OmxAMHnw54saQCtkpVprca73suXkr75FY3809Llm0myaa9gRb+88RMa1 2Ol7QTqwHZJ5JYAbdBb52U4qeLMYiCnv1LeX1wAp9MuhFjGZPcj5hZkR2PHZzQpNke0F PIbxBNMuWjnGWDJ8QHJjqRqhf9vpnRlAXhco2xeHbOPilw3jSnSv5kZ8ElqtbJkH0EFL k6oOKQW1VIeuNDOaIT/KPzyCqXz9tGlAuv7zGsjNjHpQEUxzLjn6w1DGyokxtRLcSdwu g3KA== X-Gm-Message-State: AElRT7HuLiwnTy84XSJvb7Myy6xcuER45MGZYBAyBKdh5WXKbmZZp/PR bftlLT6FOT8eUvXyE1iAFvLidjRp X-Google-Smtp-Source: AG47ELvzCy8GzL08g3i5RuGFIDyYNxBBRRyDRsbvtThfgJrnLGCz+UWyC8y9V/5BcKzHLlE1OB6ADg== X-Received: by 10.28.18.2 with SMTP id 2mr10648662wms.108.1520342377201; Tue, 06 Mar 2018 05:19:37 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 6 Mar 2018 14:18:59 +0100 Message-Id: <1520342370-123606-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1520342370-123606-1-git-send-email-pbonzini@redhat.com> References: <1520342370-123606-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::232 Subject: [Qemu-devel] [PULL 03/34] scsi: Remove automatic creation of SCSI controllers with -drive if=scsi X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth Automatic creation of SCSI controllers for "-drive if=3Dscsi" for x86 machines was quite a bad idea (see description of commit f778a82f0c179 for details). This is marked as deprecated since QEMU v2.9.0, and as far as I know, nobody complained that this is still urgently required anymore. Time to remove this now. Suggested-by: Markus Armbruster Signed-off-by: Thomas Huth Message-Id: <1519123357-13225-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 17 ----------------- hw/i386/pc_piix.c | 4 ---- hw/i386/pc_q35.c | 3 --- hw/scsi/lsi53c895a.c | 2 +- hw/scsi/scsi-bus.c | 49 +---------------------------------------------= --- hw/scsi/spapr_vscsi.c | 3 +-- include/hw/scsi/scsi.h | 2 +- qemu-doc.texi | 5 ----- tests/qemu-iotests/051 | 4 ---- vl.c | 9 --------- 10 files changed, 4 insertions(+), 94 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 94cfd40..35fcb6e 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1636,23 +1636,6 @@ void pc_nic_init(ISABus *isa_bus, PCIBus *pci_bus) rom_reset_order_override(); } =20 -void pc_pci_device_init(PCIBus *pci_bus) -{ - int max_bus; - int bus; - - /* Note: if=3Dscsi is deprecated with PC machine types */ - max_bus =3D drive_get_max_bus(IF_SCSI); - for (bus =3D 0; bus <=3D max_bus; bus++) { - pci_create_simple(pci_bus, -1, "lsi53c895a"); - /* - * By not creating frontends here, we make - * scsi_legacy_handle_cmdline() create them, and warn that - * this usage is deprecated. - */ - } -} - void ioapic_init_gsi(GSIState *gsi_state, const char *parent_name) { DeviceState *dev; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 456dc9e..8658bcb 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -295,10 +295,6 @@ static void pc_init1(MachineState *machine, PC_MACHINE_ACPI_DEVICE_PROP, &error_abort= ); } =20 - if (pcmc->pci_enabled) { - pc_pci_device_init(pci_bus); - } - if (pcms->acpi_nvdimm_state.is_enabled) { nvdimm_init_acpi_state(&pcms->acpi_nvdimm_state, system_io, pcms->fw_cfg, OBJECT(pcms)); diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index aba7541..0c0bc48 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -273,9 +273,6 @@ static void pc_q35_init(MachineState *machine) /* the rest devices to which pci devfn is automatically assigned */ pc_vga_init(isa_bus, host_bus); pc_nic_init(isa_bus, host_bus); - if (pcmc->pci_enabled) { - pc_pci_device_init(host_bus); - } =20 if (pcms->acpi_nvdimm_state.is_enabled) { nvdimm_init_acpi_state(&pcms->acpi_nvdimm_state, system_io, diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index 191505d..f3d4c4d 100644 --- a/hw/scsi/lsi53c895a.c +++ b/hw/scsi/lsi53c895a.c @@ -2277,5 +2277,5 @@ void lsi53c895a_create(PCIBus *bus) { LSIState *s =3D LSI53C895A(pci_create_simple(bus, -1, "lsi53c895a")); =20 - scsi_bus_legacy_handle_cmdline(&s->bus, false); + scsi_bus_legacy_handle_cmdline(&s->bus); } diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index b7bafbe..1eaeffc 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -271,7 +271,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, return SCSI_DEVICE(dev); } =20 -void scsi_bus_legacy_handle_cmdline(SCSIBus *bus, bool deprecated) +void scsi_bus_legacy_handle_cmdline(SCSIBus *bus) { Location loc; DriveInfo *dinfo; @@ -284,59 +284,12 @@ void scsi_bus_legacy_handle_cmdline(SCSIBus *bus, boo= l deprecated) continue; } qemu_opts_loc_restore(dinfo->opts); - if (deprecated) { - /* Handling -drive not claimed by machine initialization */ - if (blk_get_attached_dev(blk_by_legacy_dinfo(dinfo))) { - continue; /* claimed */ - } - if (!dinfo->is_default) { - warn_report("bus=3D%d,unit=3D%d is deprecated with this" - " machine type", - bus->busnr, unit); - } - } scsi_bus_legacy_add_drive(bus, blk_by_legacy_dinfo(dinfo), unit, false, -1, false, NULL, &error_fat= al); } loc_pop(&loc); } =20 -static bool is_scsi_hba_with_legacy_magic(Object *obj) -{ - static const char *magic[] =3D { - "am53c974", "dc390", "esp", "lsi53c810", "lsi53c895a", - "megasas", "megasas-gen2", "mptsas1068", "spapr-vscsi", - "virtio-scsi-device", - NULL - }; - const char *typename =3D object_get_typename(obj); - int i; - - for (i =3D 0; magic[i]; i++) - if (!strcmp(typename, magic[i])) { - return true; - } - - return false; -} - -static int scsi_legacy_handle_cmdline_cb(Object *obj, void *opaque) -{ - SCSIBus *bus =3D (SCSIBus *)object_dynamic_cast(obj, TYPE_SCSI_BUS); - - if (bus && is_scsi_hba_with_legacy_magic(OBJECT(bus->qbus.parent))) { - scsi_bus_legacy_handle_cmdline(bus, true); - } - - return 0; -} - -void scsi_legacy_handle_cmdline(void) -{ - object_child_foreach_recursive(object_get_root(), - scsi_legacy_handle_cmdline_cb, NULL); -} - static int32_t scsi_invalid_field(SCSIRequest *req, uint8_t *buf) { scsi_req_build_sense(req, SENSE_CODE(INVALID_FIELD)); diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c index 360db53..a9e49c7 100644 --- a/hw/scsi/spapr_vscsi.c +++ b/hw/scsi/spapr_vscsi.c @@ -1215,8 +1215,7 @@ void spapr_vscsi_create(VIOsPAPRBus *bus) dev =3D qdev_create(&bus->bus, "spapr-vscsi"); =20 qdev_init_nofail(dev); - scsi_bus_legacy_handle_cmdline(&VIO_SPAPR_VSCSI_DEVICE(dev)->bus, - false); + scsi_bus_legacy_handle_cmdline(&VIO_SPAPR_VSCSI_DEVICE(dev)->bus); } =20 static int spapr_vscsi_devnode(VIOsPAPRDevice *dev, void *fdt, int node_of= f) diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index 802a647..7ecadda 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -153,7 +153,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, int unit, bool removable, int bootin= dex, bool share_rw, const char *serial, Error **errp); -void scsi_bus_legacy_handle_cmdline(SCSIBus *bus, bool deprecated); +void scsi_bus_legacy_handle_cmdline(SCSIBus *bus); void scsi_legacy_handle_cmdline(void); =20 SCSIRequest *scsi_req_alloc(const SCSIReqOps *reqops, SCSIDevice *d, diff --git a/qemu-doc.texi b/qemu-doc.texi index 76ca83f..fb6fac5 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2680,11 +2680,6 @@ The ``-net vlan=3DNN'' argument is partially replace= d with the new ``-netdev'' argument. The remaining use cases will no longer be directly supported in QEMU. =20 -@subsection -drive if=3Dscsi (since 2.9.0) - -The ``-drive if=3Dscsi'' argument is replaced by the the -``-device BUS-TYPE'' argument combined with ``-drive if=3Dnone''. - @subsection -drive cyls=3D...,heads=3D...,secs=3D...,trans=3D... (since 2.= 10.0) =20 The drive geometry arguments are replaced by the the geometry arguments diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051 index 0c3be16..f617e25 100755 --- a/tests/qemu-iotests/051 +++ b/tests/qemu-iotests/051 @@ -157,9 +157,7 @@ case "$QEMU_DEFAULT_MACHINE" in pc) run_qemu -drive if=3Dfloppy run_qemu -drive if=3Dide,media=3Dcdrom - run_qemu -drive if=3Dscsi,media=3Dcdrom run_qemu -drive if=3Dide - run_qemu -drive if=3Dscsi ;; *) ;; @@ -188,9 +186,7 @@ case "$QEMU_DEFAULT_MACHINE" in pc) run_qemu -drive file=3D"$TEST_IMG",if=3Dfloppy,readonly=3Don run_qemu -drive file=3D"$TEST_IMG",if=3Dide,media=3Dcdrom,readonly= =3Don - run_qemu -drive file=3D"$TEST_IMG",if=3Dscsi,media=3Dcdrom,readonl= y=3Don run_qemu -drive file=3D"$TEST_IMG",if=3Dide,readonly=3Don - run_qemu -drive file=3D"$TEST_IMG",if=3Dscsi,readonly=3Don ;; *) ;; diff --git a/vl.c b/vl.c index a92f60c..6e4f1a2 100644 --- a/vl.c +++ b/vl.c @@ -4621,15 +4621,6 @@ int main(int argc, char **argv, char **envp) =20 rom_reset_order_override(); =20 - /* - * Create frontends for -drive if=3Dscsi leftovers. - * Normally, frontends for -drive get created by machine - * initialization for onboard SCSI HBAs. However, we create a few - * more ever since SCSI qdevification, but this is pretty much an - * implementation accident, and deprecated. - */ - scsi_legacy_handle_cmdline(); - /* Did we create any drives that we failed to create a device for? */ drive_check_orphaned(); =20 --=20 1.8.3.1