VIR_DOMAIN_DISK_DEVICE_CDROM,
VIR_DOMAIN_DISK_DEVICE_LUN);
- /* PowerPC pseries based VMs do not support floppy device */
- if (!qemuDomainMachineIsPSeries(machine, qemuCaps->arch)) {
+ if (qemuDomainMachineSupportsFloppy(machine, qemuCaps)) {
VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_FLOPPY);
VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_FDC);
}
return virCPUCompareUnusable(arch, hypervisorCPU, cpu,
blockers, failIncompatible);
}
+
+
+bool
+qemuDomainMachineSupportsFloppy(const char *machine,
+ virQEMUCaps *qemuCaps)
+{
+ /* PowerPC pseries based VMs do not support floppy device */
+ if (qemuDomainMachineIsPSeries(machine, virQEMUCapsGetArch(qemuCaps)))
+ return false;
+
+ return true;
+}
virCPUDef *cpu,
virQEMUCapsHostCPUType compatCPU,
bool failIncompatible);
+
+bool
+qemuDomainMachineSupportsFloppy(const char *machine,
+ virQEMUCaps *qemuCaps);
return -1;
}
- /* PowerPC pseries based VMs do not support floppy device */
if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY &&
- qemuDomainIsPSeries(vm->def)) {
+ !qemuDomainMachineSupportsFloppy(vm->def->os.machine, qemuCaps)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("PowerPC pseries machines do not support floppy device"));
+ _("this machine type do not support floppy devices"));
return -1;
}
-unsupported configuration: PowerPC pseries machines do not support floppy device
+unsupported configuration: this machine type do not support floppy devices