mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
qemu: Enable I/O APIC if needed
This is a follow up of my previous commits. If the number of vCPUs exceeds some arbitrary value (255) then QEMU requires IOMMU with EIM and intremap enabled. But in turn, intremap IOMMU requires split I/O APIC (per virDomainDefIOMMUValidate()). Since after my previous commits (e.g. v10.10.0-rc1~183) IOMMU is added automagically, the I/O APIC can be also enabled automagically. Relates to: https://issues.redhat.com/browse/RHEL-65844 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
99474f8e50
commit
2d222ecf6e
@ -1547,6 +1547,13 @@ qemuDomainDefEnableDefaultFeatures(virDomainDef *def,
|
||||
* capabilities, we still want to enable this */
|
||||
def->features[VIR_DOMAIN_FEATURE_GIC] = VIR_TRISTATE_SWITCH_ON;
|
||||
}
|
||||
|
||||
/* IOMMU with intremap requires split I/O APIC */
|
||||
if (def->iommu &&
|
||||
def->iommu->intremap == VIR_TRISTATE_SWITCH_ON &&
|
||||
def->features[VIR_DOMAIN_FEATURE_IOAPIC] == VIR_DOMAIN_IOAPIC_NONE) {
|
||||
def->features[VIR_DOMAIN_FEATURE_IOAPIC] = VIR_DOMAIN_IOAPIC_QEMU;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -8,9 +8,6 @@
|
||||
<type arch='x86_64' machine='q35'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<ioapic driver='qemu'/>
|
||||
</features>
|
||||
<cpu mode='custom' match='exact' check='none'>
|
||||
<model fallback='forbid'>qemu64</model>
|
||||
</cpu>
|
||||
|
Loading…
Reference in New Issue
Block a user