From nobody Tue Apr 23 17:34:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605612527; cv=none; d=zohomail.com; s=zohoarc; b=T+HaIT4eB31ITJs5VU0I29uj7OmGZvvW01mE4X/ojbP+QtfN6Q9fnSMFJuPLdKH9+w6SH/1DOdynPbdRObHwVAnjZowxao0uB/GzxTaJpKiWLFoeipXlzHrotoqgLRpzhow1Cg50NCtzKqOAYcnFbuY5+HJsv7AA4PbiHUvsjcA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605612527; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3PtPMXUf8SH5UKRNwHDisg/Ejz528Mcad42857PlRmg=; b=i87vH7QuuzbXC/5XJ/IoCmUZpJH2HH6kaWWz9obNJ18IubeCYZNzJwso0pOmSrvaWMoRhTb3ZGGaSlngs7T5F5pVHEbXt/1oRiKfF3mkfi5sWJqpKrrj8KrFpB6NqSkwNxPGPMV/XcPkwKD031UC9bFt/2OZg8K28WG0kOevhjQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605612527715893.8377454442515; Tue, 17 Nov 2020 03:28:47 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-73-4NkTuhgNN-il9t9MsQE23w-1; Tue, 17 Nov 2020 06:28:43 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 40541186DD29; Tue, 17 Nov 2020 11:28:38 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5F30F10013D0; Tue, 17 Nov 2020 11:28:37 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 005CF58133; Tue, 17 Nov 2020 11:28:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AHBSYgM027245 for ; Tue, 17 Nov 2020 06:28:34 -0500 Received: by smtp.corp.redhat.com (Postfix) id 866425D9D2; Tue, 17 Nov 2020 11:28:34 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.192.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id 07DCA5D9CC for ; Tue, 17 Nov 2020 11:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605612526; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=3PtPMXUf8SH5UKRNwHDisg/Ejz528Mcad42857PlRmg=; b=D4QFd0hjn5rkiZgAQqsz/v2W7+ILKCBmJJ6paBWgp8xvqPwjyBKXqk0oF9vHsl2sE0gsfF wh8CIK/2QCIp/Bhq/7yzVPL1F0xZ9KEdgAy4zfmswL+Zk7lrabRPcqCrPQUaFVjtSaKgf6 Lh6taP+RInIsQiUE4T/vnxk/T8QsHVw= X-MC-Unique: 4NkTuhgNN-il9t9MsQE23w-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 1/5] domain_capabilities: Introduce VIR_DOMAIN_CAPS_ENUM_IS_SET Date: Tue, 17 Nov 2020 12:28:23 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This is a convenient macro for querying whether particular domain caps enum value is set or not. Signed-off-by: Michal Privoznik Reviewed-by: Cole Robinson --- src/conf/domain_capabilities.c | 2 +- src/conf/domain_capabilities.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 8a690a57a3..8130311590 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -287,7 +287,7 @@ virDomainCapsEnumFormat(virBufferPtr buf, for (i =3D 0; i < sizeof(capsEnum->values) * CHAR_BIT; i++) { const char *val; =20 - if (!(capsEnum->values & (1 << i))) + if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(*capsEnum, i)) continue; =20 if ((val =3D (valToStr)(i))) diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 4ae6f0fbb1..f177af1744 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -214,6 +214,8 @@ virDomainCapsCPUModelPtr virDomainCapsCPUModelsGet(virDomainCapsCPUModelsPtr cpuModels, const char *name); =20 +#define VIR_DOMAIN_CAPS_ENUM_IS_SET(capsEnum, value) \ + ((capsEnum).values & (1 << value)) =20 #define VIR_DOMAIN_CAPS_ENUM_SET(capsEnum, ...) \ do { \ --=20 2.26.2 From nobody Tue Apr 23 17:34:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605612539; cv=none; d=zohomail.com; s=zohoarc; b=NdX1rvqA6Qey/OXG9w57S6bvrOraH5luBoracU7bTW066x5uxWvgfLahrM3U7Yr+tyTevXLI/iJzYqr4m5oRAb1aJ2vyd5tV+ud5mfStCglVp7c5ipoNVSGu6zxf29VutJ1m4imSVaeBcn9Oml/qY/sNtLNjN2p6Pakaq5CkrkE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605612539; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=CDqMkjbijwmLftVYXDdEfr6QTi1y7cH/aRdGPyCd/qI=; b=gLZy9vKmryMks5ZjY+Pc2adi5tApTNjG2qEQo5Q8RdvsyOfSxORwUUNt1QCb9PGmHR0ETwm9tnUtDplvyL05FJIWu0H/kgxc8nS7GLEFw1xzucuwE9tXcr3sPyZlEUcIEQGD88Es9H4Ck2zPz0JlGizpDbqzibv9LqCi+HW6l9M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605612539617121.55109530950983; Tue, 17 Nov 2020 03:28:59 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-479-VrXeWCxyMrugBrBCO-lrOw-1; Tue, 17 Nov 2020 06:28:54 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D31081007B04; Tue, 17 Nov 2020 11:28:48 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B25245D9D2; Tue, 17 Nov 2020 11:28:48 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 7BD81180B791; Tue, 17 Nov 2020 11:28:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AHBSZgT027252 for ; Tue, 17 Nov 2020 06:28:35 -0500 Received: by smtp.corp.redhat.com (Postfix) id 66A6F5D9D2; Tue, 17 Nov 2020 11:28:35 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.192.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id D839F5D9CC for ; Tue, 17 Nov 2020 11:28:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605612536; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=CDqMkjbijwmLftVYXDdEfr6QTi1y7cH/aRdGPyCd/qI=; b=WsieififInHXXWCQmJfqVIlf/FgPjtZJYQSCzT6fWz7fUKcMmTULud9neI5UQDODF392BR N9UaFa9PiXlHrfPFJda07/13M0cWan3Jo+fCqwn9LVDM4yAkjN2JSlwgb+8YOZvLa1GHb9 tAdNvrSNq/qwrqKVYkCvSRs4I7KthCQ= X-MC-Unique: VrXeWCxyMrugBrBCO-lrOw-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 2/5] qemu_validate: Deduplicate code for video model check Date: Tue, 17 Nov 2020 12:28:24 +0100 Message-Id: <9d2fc699752606666902a1438a02e7fe69ae615f.1605611915.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" In my recent commit of a33279daa8 I've moved video model check from domain capabilities validator into qemu validator. During that I had to basically duplicate video model to qemuCaps checks. Problem with this approach is that after my commit qemu validator and domCaps are disconnected and thus domCaps might report (in general) different set of supported video models. Signed-off-by: Michal Privoznik Reviewed-by: Cole Robinson --- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_capabilities.h | 4 ++++ src/qemu/qemu_validate.c | 37 +++--------------------------------- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 9f9f976754..78d3b965c6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5991,7 +5991,7 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCapsPt= r qemuCaps, } =20 =20 -static void +void virQEMUCapsFillDomainDeviceVideoCaps(virQEMUCapsPtr qemuCaps, virDomainCapsDeviceVideoPtr dev) { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 9d3f73b2ab..22b3da3e63 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -739,6 +739,10 @@ int virQEMUCapsFillDomainCaps(virQEMUCapsPtr qemuCaps, virFirmwarePtr *firmwares, size_t nfirmwares); =20 +void virQEMUCapsFillDomainDeviceVideoCaps(virQEMUCapsPtr qemuCaps, + virDomainCapsDeviceVideoPtr dev); + + bool virQEMUCapsGuestIsNative(virArch host, virArch guest); =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 09cdcb20c2..6e1db2715d 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2203,46 +2203,15 @@ static int qemuValidateDomainDeviceDefVideo(const virDomainVideoDef *video, virQEMUCapsPtr qemuCaps) { - virQEMUCapsFlags cap =3D QEMU_CAPS_LAST; + virDomainCapsDeviceVideo videoCaps =3D { 0 }; =20 /* there's no properties to validate for NONE video devices */ if (video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_NONE) return 0; =20 - switch ((virDomainVideoType) video->type) { - case VIR_DOMAIN_VIDEO_TYPE_VGA: - cap =3D QEMU_CAPS_DEVICE_VGA; - break; - case VIR_DOMAIN_VIDEO_TYPE_CIRRUS: - cap =3D QEMU_CAPS_DEVICE_CIRRUS_VGA; - break; - case VIR_DOMAIN_VIDEO_TYPE_VMVGA: - cap =3D QEMU_CAPS_DEVICE_VMWARE_SVGA; - break; - case VIR_DOMAIN_VIDEO_TYPE_QXL: - cap =3D QEMU_CAPS_DEVICE_QXL; - break; - case VIR_DOMAIN_VIDEO_TYPE_VIRTIO: - cap =3D QEMU_CAPS_DEVICE_VIRTIO_GPU; - break; - case VIR_DOMAIN_VIDEO_TYPE_BOCHS: - cap =3D QEMU_CAPS_DEVICE_BOCHS_DISPLAY; - break; - case VIR_DOMAIN_VIDEO_TYPE_RAMFB: - cap =3D QEMU_CAPS_DEVICE_RAMFB; - break; - case VIR_DOMAIN_VIDEO_TYPE_DEFAULT: - case VIR_DOMAIN_VIDEO_TYPE_XEN: - case VIR_DOMAIN_VIDEO_TYPE_VBOX: - case VIR_DOMAIN_VIDEO_TYPE_PARALLELS: - case VIR_DOMAIN_VIDEO_TYPE_GOP: - case VIR_DOMAIN_VIDEO_TYPE_NONE: - case VIR_DOMAIN_VIDEO_TYPE_LAST: - /* nada */ - break; - } + virQEMUCapsFillDomainDeviceVideoCaps(qemuCaps, &videoCaps); =20 - if (!virQEMUCapsGet(qemuCaps, cap)) { + if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(videoCaps.modelType, video->type)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("domain configuration does not support video mode= l '%s'"), virDomainVideoTypeToString(video->type)); --=20 2.26.2 From nobody Tue Apr 23 17:34:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605612544; cv=none; d=zohomail.com; s=zohoarc; b=UE96LHCbtZP3lGk4D15wUd3Pe5v2os4qt8AMFYwKV4KpPzsXbgAyhefm73JIXITgHNB6oogV8rBzQgUsOS7CIG3qUjMU3HgM9tU2A+vKIKeuSk7qQAbTveNHJvlhu/uvQEIGyLAp88hMDFoa5JXjRRYtJ/dT7DfRowreLk7bYek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605612544; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YNSUNP6/v+DwDzIDCgtRo3c/CXYwY1FEM5nG8BrGoqw=; b=b01CoBeqe27/07dNd1s6Y/MwzIAV+nEcVInydaa6QjkjkQY7yN8vRuwC+Rsr5Jmfgb2SUUP21kKzCLDeqjTLV5dREbU+p9IioZcxq2FzV5S4d4tx9ZaEJ8QLwrPG8e515nTJWOPla5RbTXKw+F3cCTSnqZN3UeAjypHAxSJumIk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1605612544049707.7764204533363; Tue, 17 Nov 2020 03:29:04 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-73-SkJgodD1Oemld-IseyZmDA-1; Tue, 17 Nov 2020 06:28:44 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 45116873114; Tue, 17 Nov 2020 11:28:38 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1CE2A5D9D2; Tue, 17 Nov 2020 11:28:38 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A4E84180B657; Tue, 17 Nov 2020 11:28:37 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AHBSac8027260 for ; Tue, 17 Nov 2020 06:28:36 -0500 Received: by smtp.corp.redhat.com (Postfix) id 43A905D9D2; Tue, 17 Nov 2020 11:28:36 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.192.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id B88115D9CC for ; Tue, 17 Nov 2020 11:28:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605612543; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=YNSUNP6/v+DwDzIDCgtRo3c/CXYwY1FEM5nG8BrGoqw=; b=H5rQydPM3Wi8pfcJi3pgqOYjCCWVbe2yKVtSlHcaiZx3j6VUevtnBpbpd8H7CWq5/k5UBb XJwPiHD0KwsXDS/XP5mvkP/JS0LUMrgCYYtxAP2Ar2oT1r4WbdN8Lu4/Rn4Bp7sXUjbLC+ rt4gheC07TInC3ZHHE3B3TTalwaEVHg= X-MC-Unique: SkJgodD1Oemld-IseyZmDA-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 3/5] qemu_validate: Deduplicate code for RNG model check Date: Tue, 17 Nov 2020 12:28:25 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" In my recent commit of 5216304bfe I've moved RNG model check from domain capabilities validator into qemu validator. During that I had to basically duplicate RNG model to qemuCaps checks. Problem with this approach is that after my commit qemu validator and domCaps are disconnected and thus domCaps might report (in general) different set of supported RNG models. Signed-off-by: Michal Privoznik Reviewed-by: Cole Robinson --- src/qemu/qemu_capabilities.c | 2 +- src/qemu/qemu_capabilities.h | 2 ++ src/qemu/qemu_validate.c | 30 ++++++++---------------------- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 78d3b965c6..58ab1beba6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6068,7 +6068,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr= qemuCaps, } =20 =20 -static void +void virQEMUCapsFillDomainDeviceRNGCaps(virQEMUCapsPtr qemuCaps, virDomainCapsDeviceRNGPtr rng) { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 22b3da3e63..0b28c9b635 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -742,6 +742,8 @@ int virQEMUCapsFillDomainCaps(virQEMUCapsPtr qemuCaps, void virQEMUCapsFillDomainDeviceVideoCaps(virQEMUCapsPtr qemuCaps, virDomainCapsDeviceVideoPtr dev); =20 +void virQEMUCapsFillDomainDeviceRNGCaps(virQEMUCapsPtr qemuCaps, + virDomainCapsDeviceRNGPtr rng); =20 bool virQEMUCapsGuestIsNative(virArch host, virArch guest); diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 6e1db2715d..7e2fe81e08 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1845,6 +1845,8 @@ static int qemuValidateDomainRNGDef(const virDomainRNGDef *def, virQEMUCapsPtr qemuCaps) { + virDomainCapsDeviceRNG rngCaps =3D { 0 }; + switch ((virDomainRNGBackend) def->backend) { case VIR_DOMAIN_RNG_BACKEND_RANDOM: if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_RANDOM)) { @@ -1883,29 +1885,13 @@ qemuValidateDomainRNGDef(const virDomainRNGDef *def, return -1; } =20 - switch ((virDomainRNGModel) def->model) { - case VIR_DOMAIN_RNG_MODEL_VIRTIO: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_RNG)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("domain configuration does not support rng mo= del '%s'"), - virDomainRNGModelTypeToString(def->model)); - return -1; - } - break; + virQEMUCapsFillDomainDeviceRNGCaps(qemuCaps, &rngCaps); =20 - case VIR_DOMAIN_RNG_MODEL_VIRTIO_TRANSITIONAL: - case VIR_DOMAIN_RNG_MODEL_VIRTIO_NON_TRANSITIONAL: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL) && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY)= ) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("domain configuration does not support rng mo= del '%s'"), - virDomainRNGModelTypeToString(def->model)); - return -1; - } - break; - - case VIR_DOMAIN_RNG_MODEL_LAST: - break; + if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(rngCaps.model, def->model)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("domain configuration does not support rng model = '%s'"), + virDomainRNGModelTypeToString(def->model)); + return -1; } =20 if (qemuValidateDomainVirtioOptions(def->virtio, qemuCaps) < 0) --=20 2.26.2 From nobody Tue Apr 23 17:34:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605612547; cv=none; d=zohomail.com; s=zohoarc; b=KSWe5CIbdEcaSshiDXWhaWuxageKuU1GJaVpLS2ABrC1hxerBLMSZNGbJCo2cHLhn3SpljdFTkTmb5MHQW2U5bXlaVsQr1jPUrFGqXJQ53+ZBhSPz6BohwiosXSH410IU5BkIVY4DYJW9ZTyKPWSAepKywC9GTdWBjiSkermsWI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605612547; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=psQhvx1Mx1DOy3z6waqaWWypm2kd7GLt7IlP6pHBuJ8=; b=PReNRkDHacBVtdtamWgyeNMjvtiO+2ZR5O0lgzCtbVEDS8YZWu5UD0GmdUL2Gq55IgoqEXEHzDy7lpPJV7YtdLUyXP4eX6pRtOOD2rWmmpdxmxTNiKCmXGLFpeWnCJlPnK1ZFF9fsxW4rmvHJ+IcFHU0kS2ulvS50Klq4iTW1vI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 160561254726491.47054231151776; Tue, 17 Nov 2020 03:29:07 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-233-t4qtiE0kPAeF7jlBdK9k2g-1; Tue, 17 Nov 2020 06:28:58 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0D6AA107465F; Tue, 17 Nov 2020 11:28:53 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D99A310016DA; Tue, 17 Nov 2020 11:28:52 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A304B18037CC; Tue, 17 Nov 2020 11:28:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AHBSbsY027267 for ; Tue, 17 Nov 2020 06:28:37 -0500 Received: by smtp.corp.redhat.com (Postfix) id 49BBD5D9D2; Tue, 17 Nov 2020 11:28:37 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.192.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id 95CCB5D9CC for ; Tue, 17 Nov 2020 11:28:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605612546; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=psQhvx1Mx1DOy3z6waqaWWypm2kd7GLt7IlP6pHBuJ8=; b=Vm5bW5qtSou51vc9WtCJQztEJy+5Am2HAIsE8cg0cRRH3iq1vT14zwFZZtZ4BloEMqihVq rRthKU77S4H0eMc3cYKYTprNT2mitl9ilmB3Qbs+UoSSfV1m03HnjKYM8aoeybf3ut1GoQ eJ9YkyLRIBBiEwi5Z1GqlGcQIgU+BSQ= X-MC-Unique: t4qtiE0kPAeF7jlBdK9k2g-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 4/5] domcaps: Report egl-headless graphics type Date: Tue, 17 Nov 2020 12:28:26 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" QEMU supports egl-headless if QEMU_CAPS_EGL_HEADLESS capability is present. There are some additional requirements but those are checked for in qemuValidateDomainDeviceDefGraphics() and depend on domain configuration and thus are not representable in domain capabilities. Let's stick with plain qemuCaps check then. Signed-off-by: Michal Privoznik Reviewed-by: Cole Robinson --- src/qemu/qemu_capabilities.c | 2 ++ tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + 57 files changed, 58 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 58ab1beba6..7745c968de 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5988,6 +5988,8 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCapsPt= r qemuCaps, VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_VNC); if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SPICE)) VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SPICE= ); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_EGL_HEADLESS)) + VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_EGL_H= EADLESS); } =20 =20 diff --git a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml b/tests/domain= capsdata/qemu_2.10.0-q35.x86_64.xml index be2840d9b8..be99698f09 100644 --- a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml @@ -109,6 +109,7 @@ sdl vnc spice + egl-headless