From: Daniel P. Berrangé Date: Wed, 18 Nov 2020 16:11:05 +0000 (+0000) Subject: qemu: add helper method for checking if ESP SCSI is builtin X-Git-Tag: v6.10.0-rc1~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=044eed3f9463d0205b4b9d5a2235f47ff9972c21;p=thirdparty%2Flibvirt.git qemu: add helper method for checking if ESP SCSI is builtin 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é --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index e85ca80929..1a80aa4c69 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 8dbec6e33f..6b75b828c0 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -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);