]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: add helper method for checking if ESP SCSI is builtin
authorDaniel P. Berrangé <berrange@redhat.com>
Wed, 18 Nov 2020 16:11:05 +0000 (16:11 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 20 Nov 2020 12:09:51 +0000 (12:09 +0000)
The NCR53C90 ESP SCSI controller is only usable when built-in to the
machine type. This method will facilitate checking that restriction
across many places.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h

index e85ca809299d015cba979bc12583c0cb06cc77d1..1a80aa4c69343fabaed2a97c69f4ad281ba39d45 100644 (file)
@@ -8289,6 +8289,23 @@ qemuDomainMachineHasBuiltinIDE(const char *machine,
 }
 
 
+bool qemuDomainHasBuiltinESP(const virDomainDef *def)
+{
+    /* These machines use ncr53c90 (ESP) SCSI controller built-in */
+    if (def->os.arch == VIR_ARCH_SPARC) {
+        return true;
+    } else if (ARCH_IS_MIPS64(def->os.arch) &&
+               (STREQ(def->os.machine, "magnum") ||
+                STREQ(def->os.machine, "pica61"))) {
+        return true;
+    } else if (def->os.arch == VIR_ARCH_M68K &&
+               STREQ(def->os.machine, "q800")) {
+        return true;
+    }
+    return false;
+}
+
+
 static bool
 qemuDomainMachineNeedsFDC(const char *machine,
                           const virArch arch)
index 8dbec6e33fd3043019e891ba2be1e5b110ba6c06..6b75b828c06ab646f842e787d1bf0e4b72a170a6 100644 (file)
@@ -780,6 +780,7 @@ bool qemuDomainIsPSeries(const virDomainDef *def);
 bool qemuDomainHasPCIRoot(const virDomainDef *def);
 bool qemuDomainHasPCIeRoot(const virDomainDef *def);
 bool qemuDomainHasBuiltinIDE(const virDomainDef *def);
+bool qemuDomainHasBuiltinESP(const virDomainDef *def);
 bool qemuDomainNeedsFDC(const virDomainDef *def);
 bool qemuDomainSupportsPCI(virDomainDefPtr def,
                            virQEMUCapsPtr qemuCaps);