mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
qemu: Move capability checks inside switch() statements
Current capability checks are specific to Intel IOMMU, so we need to move them inside the switch() statement before we can introduce more virDomainIOMMUModel values. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
70cdf1b52e
commit
21bb887abc
@ -6933,17 +6933,17 @@ qemuBuildIOMMUCommandLine(virCommandPtr cmd,
|
||||
if (!iommu)
|
||||
return 0;
|
||||
|
||||
/* qemuDomainDeviceDefValidate() already made sure we have one of
|
||||
* QEMU_CAPS_DEVICE_INTEL_IOMMU or QEMU_CAPS_MACHINE_IOMMU: here we
|
||||
* handle the former case, while the latter is taken care of in
|
||||
* qemuBuildMachineCommandLine() */
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_INTEL_IOMMU))
|
||||
return 0;
|
||||
|
||||
switch (iommu->model) {
|
||||
case VIR_DOMAIN_IOMMU_MODEL_INTEL: {
|
||||
VIR_AUTOCLEAN(virBuffer) opts = VIR_BUFFER_INITIALIZER;
|
||||
|
||||
/* qemuDomainDeviceDefValidateIOMMU() already made sure we have
|
||||
* one of QEMU_CAPS_DEVICE_INTEL_IOMMU or QEMU_CAPS_MACHINE_IOMMU:
|
||||
* here we handle the former case, while the latter is taken care
|
||||
* of in qemuBuildMachineCommandLine() */
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_INTEL_IOMMU))
|
||||
return 0;
|
||||
|
||||
virBufferAddLit(&opts, "intel-iommu");
|
||||
if (iommu->intremap != VIR_TRISTATE_SWITCH_ABSENT) {
|
||||
virBufferAsprintf(&opts, ",intremap=%s",
|
||||
@ -7602,15 +7602,15 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
|
||||
}
|
||||
}
|
||||
|
||||
/* qemuDomainDeviceDefValidate() already made sure we have one of
|
||||
* QEMU_CAPS_DEVICE_INTEL_IOMMU or QEMU_CAPS_MACHINE_IOMMU: here we
|
||||
* handle the latter case, while the former is taken care of in
|
||||
* qemuBuildIOMMUCommandLine() */
|
||||
if (def->iommu &&
|
||||
virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_IOMMU)) {
|
||||
if (def->iommu) {
|
||||
switch (def->iommu->model) {
|
||||
case VIR_DOMAIN_IOMMU_MODEL_INTEL:
|
||||
virBufferAddLit(&buf, ",iommu=on");
|
||||
/* qemuDomainDeviceDefValidateIOMMU() already made sure we have
|
||||
* one of QEMU_CAPS_DEVICE_INTEL_IOMMU or QEMU_CAPS_MACHINE_IOMMU:
|
||||
* here we handle the latter case, while the former is taken care
|
||||
* of in qemuBuildIOMMUCommandLine() */
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_IOMMU))
|
||||
virBufferAddLit(&buf, ",iommu=on");
|
||||
break;
|
||||
case VIR_DOMAIN_IOMMU_MODEL_LAST:
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user