hw/display: fail early when multiple virgl devices are requested

This avoids failing to initialize virgl and crashing later on, and clear
the user expectations.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20210705104218.1161101-1-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Marc-André Lureau 2021-07-05 14:42:18 +04:00 committed by Gerd Hoffmann
parent dcc5fc2a3a
commit 02f9725f3d

View File

@ -113,6 +113,11 @@ static void virtio_gpu_gl_device_realize(DeviceState *qdev, Error **errp)
return; return;
#endif #endif
if (!object_resolve_path_type("", TYPE_VIRTIO_GPU_GL, NULL)) {
error_setg(errp, "at most one %s device is permitted", TYPE_VIRTIO_GPU_GL);
return;
}
if (!display_opengl) { if (!display_opengl) {
error_setg(errp, "opengl is not available"); error_setg(errp, "opengl is not available");
return; return;