Bug 1435770
| Summary: | Error when starting mach-virt guests with TCG | ||
|---|---|---|---|
| Product: | [Community] Virtualization Tools | Reporter: | Andrea Bolognani <abologna> |
| Component: | libvirt | Assignee: | Andrea Bolognani <abologna> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | unspecified | CC: | libvirt-maint, rbalakri |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-3.4.0 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-06-12 09:45:35 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Workarounds for the time being: replace
<features>
<gic version='3'/>
</features>
with
<features>
<gic version='2'/>
</features>
(preferred) or replace all
<address type='pci' [...]/>
with
<address type='virtio-mmio'/>
You can control these settings at install time, when
using virt-install, with
$ virt-install \
--feature gic_version=2 \
[...]
and
$ virt-install \
--disk [...],address.type=virtio-mmio \
--network [...],address.type=virtio-mmio \
[...]
respectively.
The fix has been merged upstream and is part of the 3.4.0
release.
commit bc07101a7c2cd2ce07ad1ca28c47e0a7cde5625d
Author: Andrea Bolognani <abologna>
Date: Fri May 12 13:29:57 2017 +0200
qemu: Use GICv2 for aarch64/virt TCG guests
There are currently some limitations in the emulated GICv3
that make it unsuitable as a default. Use GICv2 instead.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1450433
Signed-off-by: Andrea Bolognani <abologna>
|
TCG aarch64/virt and armv7l/virt guests currently fail to start when using libvirt 3.0.0 or newer: error: internal error: qemu unexpectedly closed the monitor: 2017-03-24T16:59:31.896680Z qemu-kvm: -device ioh3420,[...]: MSI is not supported by interrupt controller 2017-03-24T16:59:31.897783Z qemu-kvm: -device ioh3420,[...]: Device initialization failed Now that libvirt has switched to using virtio-pci by default for mach-virt guests, MSI support has become a requirement. QEMU (correctly) advertises both emulated GICv2 and emulated GICv3 as available to TCG guests, but only the former supports MSI at the moment; not being aware of this, the very simple GIC version choosing logic in libvirt ("newer is better") will result in GICv3 being picked. The solution is ultimately to have GICv3 support MSI; in the meantime, libvirt should ensure aarch64/virt and armv7l/virt guests work out of the box by either using GICv2 instead (preferred) or switching back to virtio-mmio.