
On 03/21/19 18:58, Peter Maydell wrote:
On Thu, 21 Mar 2019 at 17:35, Laszlo Ersek <lersek@redhat.com> wrote:
It simply keeps the status quo from before the patchset.
The specific emulation targets that virtio-vga should not be enabled for (regardless of other targets / machine types) are arm/aarch64. IOW, in the longer term, it's not that virtio-vga is suitable only for PC || DINO || PSERIES, but that it's *not* suitable for arm/aarch64.
Relying on the device not being present for aarch64 seems fragile to me. It will break if we add a different aarch64 machine other than "virt" and want that other machine to have virtio-vga. It will also break if we ever manage to get full heterogenous-CPU support and end up with a single qemu-system binary that can emulate both AArch64 virt and x86-64 pc machines :-)
If what you want is "don't use virtio-vga when using KVM on aarch64" then why not have logic that implements that?
That's actually the logic that I implemented originally (or something very close to it -- <https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=706b5b627719e95a33606c463bc83c841c7b5b0e>), but since then, this code has been modified in libvirt multiple times: * [libvirt] [PATCH v2 00/17] cleanups and improvements for video device code https://www.redhat.com/archives/libvir-list/2016-October/msg00533.html https://libvirt.org/git/?p=libvirt.git;a=shortlog;hp=a62655f9c33a8f7c6257779... * [libvirt] [PATCH v3 0/6] Add support for video and input devices on S390 https://www.redhat.com/archives/libvir-list/2018-March/msg01519.html https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=4bbf7f8cb5bf979ea2f5c2... I'm not implying that those patches must have introduced a libvirt regression, I just agree that the code deserves investigation. This is why I added libvir-list to the CC list when reporting the problem.
For 4.0 we should definitely just retain what we had before the introduction of KConfig, but as a general thing we should look to not have to have this odd wrinkle.
(AFAIK virtio-vga is no different in this regard to the other vga PCI devices, which also won't work in KVM setups.)
I agree -- please refer to the "domcapabilities" part (1) of my report: https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg06060.html
@@ -92,6 +92,8 @@ <video supported='yes'> <enum name='modelType'> <value>vga</value> + <value>cirrus</value> + <value>vmvga</value> <value>virtio</value> </enum> </video>
"cirrus" and "vmvga" look wrong for aarch64. Thanks Laszlo