mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: add capabilities for the three ESP family SCSI controllers
Probing for the NCR53C90 controller is a little unusual. The qom-list-types QMP command returns a list of all types known to the QEMU binary. It does not distinguish devices which are user creatable from those which are built-in. Any QEMU target that supports PCI will have the DC390 / AM53C974 devices because they are PCI based. Due to code dependencies in QEMU though, existence of these two devices will also pull in the NCR53C90 device (called just 'esp' in QEMU). The NCR53C90 is not user-creatable and can only be used when built-in to the machine type. This is only the case on sparc machines, and certain mips64 and m68k machines. IOW, we don't rely on qom-list-types as a guide for existence of NCR53C90, as it shouldn't really exist in most QEMU binaries. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
19264c706b
commit
98caef4a55
@ -604,6 +604,11 @@ VIR_ENUM_IMPL(virQEMUCaps,
|
||||
"block-export-add",
|
||||
"netdev.vhost-vdpa",
|
||||
"fsdev.createmode",
|
||||
|
||||
/* 385 */
|
||||
"ncr53c90",
|
||||
"dc390",
|
||||
"am53c974",
|
||||
);
|
||||
|
||||
|
||||
@ -1306,6 +1311,20 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
|
||||
{ "tcg-accel", QEMU_CAPS_TCG },
|
||||
{ "pvscsi", QEMU_CAPS_SCSI_PVSCSI },
|
||||
{ "spapr-tpm-proxy", QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY },
|
||||
/*
|
||||
* We don't probe 'esp' directly, because it is often reported
|
||||
* as present for all QEMU binaries, due to it being enabled
|
||||
* for built as a dependancy of dc390/am53c974 PCI SCSI
|
||||
* controllers.
|
||||
*
|
||||
* The base 'esp' device is only used as a built-in device
|
||||
* and is not user-creatable. So we turn this cap on later
|
||||
* based on arch.
|
||||
*
|
||||
* { "esp", QEMU_CAPS_SCSI_NCR53C90 },
|
||||
*/
|
||||
{ "dc390", QEMU_CAPS_SCSI_DC390 },
|
||||
{ "am53c974", QEMU_CAPS_SCSI_AM53C974 },
|
||||
};
|
||||
|
||||
|
||||
@ -5121,6 +5140,14 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps)
|
||||
virQEMUCapsGet(qemuCaps, QEMU_CAPS_SAVEVM_MONITOR_NODES))
|
||||
virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV);
|
||||
|
||||
/* We can't probe "esp" as a type via virQEMUCapsObjectTypes
|
||||
* array as it is only usable when builtin to the machine type
|
||||
*/
|
||||
if (qemuCaps->arch == VIR_ARCH_SPARC ||
|
||||
qemuCaps->arch == VIR_ARCH_M68K ||
|
||||
qemuCaps->arch == VIR_ARCH_MIPS)
|
||||
virQEMUCapsSet(qemuCaps, QEMU_CAPS_SCSI_NCR53C90);
|
||||
|
||||
virQEMUCapsInitProcessCapsInterlock(qemuCaps);
|
||||
}
|
||||
|
||||
|
@ -585,6 +585,11 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
|
||||
QEMU_CAPS_NETDEV_VHOST_VDPA, /* -netdev vhost-vdpa*/
|
||||
QEMU_CAPS_FSDEV_CREATEMODE, /* fsdev.createmode */
|
||||
|
||||
/* 385 */
|
||||
QEMU_CAPS_SCSI_NCR53C90, /* built-in SCSI */
|
||||
QEMU_CAPS_SCSI_DC390, /* -device dc-390 */
|
||||
QEMU_CAPS_SCSI_AM53C974, /* -device am53c974 */
|
||||
|
||||
QEMU_CAPS_LAST /* this must always be the last item */
|
||||
} virQEMUCapsFlags;
|
||||
|
||||
|
@ -88,6 +88,8 @@
|
||||
<flag name='i8042'/>
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>1005003</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100245</microcodeVersion>
|
||||
|
@ -93,6 +93,8 @@
|
||||
<flag name='i8042'/>
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>1006000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100243</microcodeVersion>
|
||||
|
@ -95,6 +95,8 @@
|
||||
<flag name='i8042'/>
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>1007000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100244</microcodeVersion>
|
||||
|
@ -111,6 +111,8 @@
|
||||
<flag name='i8042'/>
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2001001</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100240</microcodeVersion>
|
||||
|
@ -147,6 +147,8 @@
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700287</microcodeVersion>
|
||||
|
@ -147,6 +147,8 @@
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900287</microcodeVersion>
|
||||
|
@ -191,6 +191,8 @@
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2010000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100287</microcodeVersion>
|
||||
|
@ -198,6 +198,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2011000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100288</microcodeVersion>
|
||||
|
@ -164,6 +164,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2012000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700289</microcodeVersion>
|
||||
|
@ -165,6 +165,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2011090</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900289</microcodeVersion>
|
||||
|
@ -208,6 +208,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2011090</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100289</microcodeVersion>
|
||||
|
@ -138,6 +138,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2004000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100242</microcodeVersion>
|
||||
|
@ -144,6 +144,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2005000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100243</microcodeVersion>
|
||||
|
@ -127,6 +127,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2006000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700244</microcodeVersion>
|
||||
|
@ -123,6 +123,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2006000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900244</microcodeVersion>
|
||||
|
@ -156,6 +156,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2006000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100244</microcodeVersion>
|
||||
|
@ -161,6 +161,8 @@
|
||||
<flag name='tcg'/>
|
||||
<flag name='pvscsi'/>
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2007000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100245</microcodeVersion>
|
||||
|
@ -166,6 +166,8 @@
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2008000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100246</microcodeVersion>
|
||||
|
@ -138,6 +138,8 @@
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2009000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900247</microcodeVersion>
|
||||
|
@ -184,6 +184,8 @@
|
||||
<flag name='fw_cfg'/>
|
||||
<flag name='migration-param.bandwidth'/>
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2009000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100247</microcodeVersion>
|
||||
|
@ -167,6 +167,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>2012050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900239</microcodeVersion>
|
||||
|
@ -214,6 +214,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>3000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100239</microcodeVersion>
|
||||
|
@ -172,6 +172,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>3000091</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900240</microcodeVersion>
|
||||
|
@ -217,6 +217,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>3000092</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100240</microcodeVersion>
|
||||
|
@ -178,6 +178,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700240</microcodeVersion>
|
||||
|
@ -186,6 +186,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900240</microcodeVersion>
|
||||
|
@ -179,6 +179,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
|
@ -179,6 +179,8 @@
|
||||
<flag name='migration-param.downtime'/>
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
|
@ -223,6 +223,8 @@
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='intel-iommu.aw-bits'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100240</microcodeVersion>
|
||||
|
@ -229,6 +229,8 @@
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='intel-iommu.aw-bits'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4001000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100241</microcodeVersion>
|
||||
|
@ -191,6 +191,8 @@
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4001050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700242</microcodeVersion>
|
||||
|
@ -192,6 +192,8 @@
|
||||
<flag name='migration-param.xbzrle-cache-size'/>
|
||||
<flag name='spapr-tpm-proxy'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4001050</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900242</microcodeVersion>
|
||||
|
@ -238,6 +238,8 @@
|
||||
<flag name='intel-iommu.aw-bits'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>4002000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100242</microcodeVersion>
|
||||
|
@ -201,6 +201,8 @@
|
||||
<flag name='numa.hmat'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>61700241</microcodeVersion>
|
||||
|
@ -210,6 +210,8 @@
|
||||
<flag name='numa.hmat'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>42900241</microcodeVersion>
|
||||
|
@ -197,6 +197,8 @@
|
||||
<flag name='numa.hmat'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>0</microcodeVersion>
|
||||
|
@ -245,6 +245,8 @@
|
||||
<flag name='numa.hmat'/>
|
||||
<flag name='blockdev-hostdev-scsi'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5000000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100241</microcodeVersion>
|
||||
|
@ -247,6 +247,8 @@
|
||||
<flag name='virtio-balloon.free-page-reporting'/>
|
||||
<flag name='netdev.vhost-vdpa'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5001000</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100242</microcodeVersion>
|
||||
|
@ -249,6 +249,8 @@
|
||||
<flag name='block-export-add'/>
|
||||
<flag name='netdev.vhost-vdpa'/>
|
||||
<flag name='fsdev.createmode'/>
|
||||
<flag name='dc390'/>
|
||||
<flag name='am53c974'/>
|
||||
<version>5001091</version>
|
||||
<kvmVersion>0</kvmVersion>
|
||||
<microcodeVersion>43100243</microcodeVersion>
|
||||
|
Loading…
Reference in New Issue
Block a user