From nobody Sun Feb 8 16:30:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1575933401; cv=none; d=zohomail.com; s=zohoarc; b=LUIjaw7YPtxanEiJ6DyiAYIHKauyic5SxbwaXn/Sw2Ia7PNo7Zs2qbSnfUyFg+nJjerfVe2fBPv+Ma5Bk/SZlKwqXGUhcZRi3IeP8A/UwGRdex6l0XCw/DTRPbtp6nPJnLEoT81+dhH1uidTpc5/fv/CAd6swWFOobiNnXv2NYk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575933401; h=Content-Type:Content-Transfer-Encoding:Cc: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=pNefDs1AZTTW+17kkDTupNTSTQu1zBU4rf5arVXPetk=; b=UO7lZ6KTYPbOnv+/KW5zQ2qcmVDRxtJDdtctXYJeY0quvHU/LKfoGD25NyS0xkVzvd3EbdUp0/W1/CQpYgDfahVnZeg3wsupYQGXk9LDxZhySSdSQ3n8+pKey2PIC34hRVT6aaHE51EGMhhdVzRX/Fd7y9XNZDv8PqmBcSziw60= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1575933401715435.35588068124673; Mon, 9 Dec 2019 15:16:41 -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-286-6zldoFn-M-e-Wf6-BSbZOg-1; Mon, 09 Dec 2019 18:16:38 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4173C106F8ED; Mon, 9 Dec 2019 23:16:31 +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 1ABF4A4B84; Mon, 9 Dec 2019 23:16:31 +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 C283E8355E; Mon, 9 Dec 2019 23:16:30 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xB9NGNE9008632 for ; Mon, 9 Dec 2019 18:16:24 -0500 Received: by smtp.corp.redhat.com (Postfix) id CD525DBF14; Mon, 9 Dec 2019 23:16:23 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C8167DBF09 for ; Mon, 9 Dec 2019 23:16:23 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AF50D8F1BA8 for ; Mon, 9 Dec 2019 23:16:23 +0000 (UTC) Received: from mail-qv1-f67.google.com (mail-qv1-f67.google.com [209.85.219.67]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-284-WaWYCh0WN4mHkhyM6SvDYw-1; Mon, 09 Dec 2019 18:16:20 -0500 Received: by mail-qv1-f67.google.com with SMTP id b18so3393165qvo.8; Mon, 09 Dec 2019 15:16:20 -0800 (PST) Received: from rekt.ibmuc.com ([2804:431:c7c6:fe5:8243:c780:f073:3beb]) by smtp.gmail.com with ESMTPSA id e130sm352436qkb.72.2019.12.09.15.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 15:16:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575933400; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=pNefDs1AZTTW+17kkDTupNTSTQu1zBU4rf5arVXPetk=; b=fiT3EolvFUT7OOcnFp7sa5ajQC+QHpTwGtCQ0yEX8+qnKs3CMlkXdDQgVoyWGhrtRVXG4x jjqwy3DQmNaJc1VKap3I6IhYPDoDJKFzj5JN7FkjpjHtZUpDrzBhnyeKgurGCt1E/W2a5P MOljY7uSpgG/cPgZA1ZjK4Q6ngmK0Jk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iakft0ZGGxBMsHXgPSIpatGL5d/Oueq9zgpej+rXMkM=; b=pDykzK0LnyDDfYbo/Vky7N+MjPWoCNpX6h0YBkRyNeyPH4zRMcSEXiw8J841HTNY8e Uv4oI9agk3741fE0KYNXwpkeZc4C5/gSTnyX+4l+zYbAkNLuWknTtN2fD4mSPs81JdNo Bm39tVSAkv8/3ETS6wgpUhP3BvZcaRJE6BgPUyQ7OwMVWGpS0MeTnlEM1FzOBaFdibpP 6bdOmsklZFuux/xob4sQ2C+xFwG4gpUmY767BtqjHtCSFOkfpENJVVO3VKWIyALbP3fH /L1zu5bKz7R6iLjJUF85VwqgtWgsHKkBn7dd20nFS+twsXWxcY2MOZfBYS0tQ8eHCW5W zG2Q== X-Gm-Message-State: APjAAAUyERHcArXWN0oWvnjNKcZFEmFta0QiLj04Li66k+5NFf9KkcLt xEuwjkGElQlwUkRSRBSMFQoS2yuIjag= X-Google-Smtp-Source: APXvYqwX2+CcgKlYbby0euOY8t6KpYoI8CpZxuVBWcWCbnX6nJK9FKKSfzk+vGLO8sjEVs+dxSKHOQ== X-Received: by 2002:ad4:5048:: with SMTP id m8mr25831519qvq.248.1575933379439; Mon, 09 Dec 2019 15:16:19 -0800 (PST) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 9 Dec 2019 20:15:28 -0300 Message-Id: <20191209231531.2423222-24-danielhb413@gmail.com> In-Reply-To: <20191209231531.2423222-1-danielhb413@gmail.com> References: <20191209231531.2423222-1-danielhb413@gmail.com> MIME-Version: 1.0 X-MC-Unique: WaWYCh0WN4mHkhyM6SvDYw-1 X-MC-Unique: 6zldoFn-M-e-Wf6-BSbZOg-1 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id xB9NGNE9008632 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , crobinso@redhat.com Subject: [libvirt] [PATCH v1 23/26] qemu: move qemuBuildGraphicsEGLHeadlessCommandLine validation to qemu_domain.c 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.13 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Move EGL Headless validation from qemuBuildGraphicsEGLHeadlessCommandLine() to qemuDomainDeviceDefValidateGraphics(). This function is called by qemuDomainDefValidate(), validating the graphics parameters in domain define time. Tests were adapted to consider validation in this earlier stage. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_command.c | 10 +--------- src/qemu/qemu_domain.c | 7 +++++++ tests/qemuxml2argvdata/graphics-egl-headless.args | 2 +- .../qemuxml2argvdata/graphics-spice-egl-headless.args | 2 +- tests/qemuxml2argvdata/graphics-vnc-egl-headless.args | 2 +- tests/qemuxml2argvtest.c | 9 ++++++--- tests/qemuxml2xmltest.c | 6 ++++-- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index aceb42a289..efc70d6de9 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7729,7 +7729,6 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfig= Ptr cfg, static int qemuBuildGraphicsEGLHeadlessCommandLine(virQEMUDriverConfigPtr cfg G_GNUC_= UNUSED, virCommandPtr cmd, - virQEMUCapsPtr qemuCaps, virDomainGraphicsDefPtr graphics) { g_auto(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; @@ -7737,13 +7736,6 @@ qemuBuildGraphicsEGLHeadlessCommandLine(virQEMUDrive= rConfigPtr cfg G_GNUC_UNUSED virBufferAddLit(&opt, "egl-headless"); =20 if (graphics->data.egl_headless.rendernode) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_EGL_HEADLESS_RENDERNODE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support OpenGL rendernode " - "with egl-headless graphics type")); - return -1; - } - virBufferAddLit(&opt, ",rendernode=3D"); virQEMUBuildBufferEscapeComma(&opt, graphics->data.egl_headless.renderno= de); @@ -7788,7 +7780,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr c= fg, break; case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: if (qemuBuildGraphicsEGLHeadlessCommandLine(cfg, cmd, - qemuCaps, graphics= ) < 0) + graphics) < 0) return -1; =20 break; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 9f29d2afbe..415f0916a2 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7717,6 +7717,13 @@ qemuDomainDeviceDefValidateGraphics(const virDomainG= raphicsDef *graphics, break; =20 case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_EGL_HEADLESS_RENDERNODE)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support OpenGL rendernode " + "with egl-headless graphics type")); + return -1; + } + break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: diff --git a/tests/qemuxml2argvdata/graphics-egl-headless.args b/tests/qemu= xml2argvdata/graphics-egl-headless.args index 76d7583462..04b09803de 100644 --- a/tests/qemuxml2argvdata/graphics-egl-headless.args +++ b/tests/qemuxml2argvdata/graphics-egl-headless.args @@ -25,5 +25,5 @@ server,nowait \ -usb \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ --display egl-headless \ +-display egl-headless,rendernode=3D/dev/dri/foo \ -vga cirrus diff --git a/tests/qemuxml2argvdata/graphics-spice-egl-headless.args b/test= s/qemuxml2argvdata/graphics-spice-egl-headless.args index 54b7184376..159b6e15fb 100644 --- a/tests/qemuxml2argvdata/graphics-spice-egl-headless.args +++ b/tests/qemuxml2argvdata/graphics-spice-egl-headless.args @@ -27,7 +27,7 @@ server,nowait \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ -spice port=3D5903,addr=3D127.0.0.1,seamless-migration=3Don \ --display egl-headless \ +-display egl-headless,rendernode=3D/dev/dri/foo \ -vga qxl \ -global qxl-vga.ram_size=3D67108864 \ -global qxl-vga.vram_size=3D33554432 \ diff --git a/tests/qemuxml2argvdata/graphics-vnc-egl-headless.args b/tests/= qemuxml2argvdata/graphics-vnc-egl-headless.args index 3c0901d1a5..5c01972ef8 100644 --- a/tests/qemuxml2argvdata/graphics-vnc-egl-headless.args +++ b/tests/qemuxml2argvdata/graphics-vnc-egl-headless.args @@ -27,5 +27,5 @@ server,nowait \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ -vnc '[2001:1:2:3:4:5:1234:1234]:3' \ --display egl-headless \ +-display egl-headless,rendernode=3D/dev/dri/foo \ -vga cirrus diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 3a002bb393..0af6083750 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1163,7 +1163,8 @@ mymain(void) =20 DO_TEST("graphics-egl-headless", QEMU_CAPS_EGL_HEADLESS, - QEMU_CAPS_DEVICE_CIRRUS_VGA); + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_EGL_HEADLESS_RENDERNODE); DO_TEST_CAPS_LATEST("graphics-egl-headless"); DO_TEST_CAPS_LATEST("graphics-egl-headless-rendernode"); =20 @@ -1207,7 +1208,8 @@ mymain(void) DO_TEST("graphics-vnc-egl-headless", QEMU_CAPS_VNC, QEMU_CAPS_EGL_HEADLESS, - QEMU_CAPS_DEVICE_CIRRUS_VGA); + QEMU_CAPS_DEVICE_CIRRUS_VGA, + QEMU_CAPS_EGL_HEADLESS_RENDERNODE); =20 DO_TEST("graphics-sdl", QEMU_CAPS_DEVICE_VGA); @@ -1269,7 +1271,8 @@ mymain(void) DO_TEST("graphics-spice-egl-headless", QEMU_CAPS_SPICE, QEMU_CAPS_EGL_HEADLESS, - QEMU_CAPS_DEVICE_QXL); + QEMU_CAPS_DEVICE_QXL, + QEMU_CAPS_EGL_HEADLESS_RENDERNODE); DO_TEST_CAPS_LATEST_PARSE_ERROR("graphics-spice-invalid-egl-headless"); DO_TEST_CAPS_LATEST("graphics-spice-gl-auto-rendernode"); =20 diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index d3ef08dcdf..b449c21f18 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -376,7 +376,8 @@ mymain(void) DO_TEST("graphics-vnc-egl-headless", QEMU_CAPS_DEVICE_CIRRUS_VGA, QEMU_CAPS_EGL_HEADLESS, - QEMU_CAPS_VNC); + QEMU_CAPS_VNC, + QEMU_CAPS_EGL_HEADLESS_RENDERNODE); =20 DO_TEST_CAPS_ARCH_LATEST("default-video-type-aarch64", "aarch64"); DO_TEST_CAPS_ARCH_LATEST("default-video-type-ppc64", "ppc64"); @@ -420,7 +421,8 @@ mymain(void) DO_TEST("graphics-spice-egl-headless", QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_EGL_HEADLESS, - QEMU_CAPS_SPICE); + QEMU_CAPS_SPICE, + QEMU_CAPS_EGL_HEADLESS_RENDERNODE); =20 DO_TEST("graphics-egl-headless-rendernode", QEMU_CAPS_DEVICE_CIRRUS_VGA, --=20 2.23.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list