From nobody Thu May 2 16:12:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616513905; cv=none; d=zohomail.com; s=zohoarc; b=V4ktRQs/DlmhtcnSKQJGLw3TpdFN/mXWc2hgvUQArl1ELyKS9LNur9P4OYSrgRt5QjXupla4L6wbBWJTYQle860JfN/SMXEC+o0paewZmUn6VM3WrMT5gl8hnUG71qoPQLI0CIT+48ojdyPrqRvG/vryQHsWhKumZc55DT2mmAo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616513905; 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=Mg5YXtikDewBDQKrDeIbHA61Ye7pegvjg0B1KrnboLQ=; b=gqU8a4sdX93G6mtcZo7PUgDAX1hTDurVl2hqM+fyWfbpwT2wLjbiNent4ITxkR0xbMKDkvkJlmWux5UTgAtgvwziY6qtobyk9zSn+8uD+UGNb0nnVGLMa3I8L6zAXGW2FEI4d597tkYnkx2tXWsLSC4O8wjHRJN9oXMXKv9JF6w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616513905345345.950788577274; Tue, 23 Mar 2021 08:38:25 -0700 (PDT) Received: from localhost ([::1]:57648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOj6u-0006oJ-4p for importer@patchew.org; Tue, 23 Mar 2021 11:38:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34846) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj5G-0004hO-5X for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:22084) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj53-000322-Jg for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:41 -0400 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-219-07L7MalZPcGNKky7U4zlTw-1; Tue, 23 Mar 2021 11:36:26 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 78BE38189C6; Tue, 23 Mar 2021 15:36:25 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-41.ams2.redhat.com [10.36.112.41]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7D78C5C1C5; Tue, 23 Mar 2021 15:36:18 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id E75421800393; Tue, 23 Mar 2021 16:36:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616513788; h=from:from: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; bh=Mg5YXtikDewBDQKrDeIbHA61Ye7pegvjg0B1KrnboLQ=; b=D6Re6vEqfja/ZL6jmIufWEch8lLFAMo8gc+RjQw/EW2MXsqVOXsZRf+7sbn6JhSngaMF43 fb2hZyXuVMcuDYrLETmXYg8YX06rhDDNfiETn9lMlX+nzPIEsFUNqH9nNIPgzA5ZhylJe/ js7tEcTcDTd+d5X+t2f0q6ENdWe6SBg= X-MC-Unique: 07L7MalZPcGNKky7U4zlTw-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 1/5] crypto: add reload for QCryptoTLSCredsClass Date: Tue, 23 Mar 2021 16:36:12 +0100 Message-Id: <20210323153616.873822-2-kraxel@redhat.com> In-Reply-To: <20210323153616.873822-1-kraxel@redhat.com> References: <20210323153616.873822-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zihao Chang , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Zihao Chang This patch adds reload interface for QCryptoTLSCredsClass and implements the interface for QCryptoTLSCredsX509. Signed-off-by: Zihao Chang Acked-by: Daniel P. Berrang=C3=A9 Message-Id: <20210316075845.1476-2-changzihao1@huawei.com> Signed-off-by: Gerd Hoffmann --- include/crypto/tlscreds.h | 8 ++++--- crypto/tlscredsx509.c | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/include/crypto/tlscreds.h b/include/crypto/tlscreds.h index 079e37604784..d0808e391e91 100644 --- a/include/crypto/tlscreds.h +++ b/include/crypto/tlscreds.h @@ -30,14 +30,15 @@ =20 #define TYPE_QCRYPTO_TLS_CREDS "tls-creds" typedef struct QCryptoTLSCreds QCryptoTLSCreds; -DECLARE_INSTANCE_CHECKER(QCryptoTLSCreds, QCRYPTO_TLS_CREDS, - TYPE_QCRYPTO_TLS_CREDS) - typedef struct QCryptoTLSCredsClass QCryptoTLSCredsClass; +DECLARE_OBJ_CHECKERS(QCryptoTLSCreds, QCryptoTLSCredsClass, QCRYPTO_TLS_CR= EDS, + TYPE_QCRYPTO_TLS_CREDS) + =20 #define QCRYPTO_TLS_CREDS_DH_PARAMS "dh-params.pem" =20 =20 +typedef bool (*CryptoTLSCredsReload)(QCryptoTLSCreds *, Error **); /** * QCryptoTLSCreds: * @@ -61,6 +62,7 @@ struct QCryptoTLSCreds { =20 struct QCryptoTLSCredsClass { ObjectClass parent_class; + CryptoTLSCredsReload reload; }; =20 =20 diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index dbadad4df28e..bc503bab5585 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -770,6 +770,51 @@ qcrypto_tls_creds_x509_prop_get_sanity(Object *obj, } =20 =20 +#ifdef CONFIG_GNUTLS + + +static bool +qcrypto_tls_creds_x509_reload(QCryptoTLSCreds *creds, Error **errp) +{ + QCryptoTLSCredsX509 *x509_creds =3D QCRYPTO_TLS_CREDS_X509(creds); + Error *local_err =3D NULL; + gnutls_certificate_credentials_t creds_data =3D x509_creds->data; + gnutls_dh_params_t creds_dh_params =3D x509_creds->parent_obj.dh_param= s; + + x509_creds->data =3D NULL; + x509_creds->parent_obj.dh_params =3D NULL; + qcrypto_tls_creds_x509_load(x509_creds, &local_err); + if (local_err) { + qcrypto_tls_creds_x509_unload(x509_creds); + x509_creds->data =3D creds_data; + x509_creds->parent_obj.dh_params =3D creds_dh_params; + error_propagate(errp, local_err); + return false; + } + + if (creds_data) { + gnutls_certificate_free_credentials(creds_data); + } + if (creds_dh_params) { + gnutls_dh_params_deinit(creds_dh_params); + } + return true; +} + + +#else /* ! CONFIG_GNUTLS */ + + +static bool +qcrypto_tls_creds_x509_reload(QCryptoTLSCreds *creds, Error **errp) +{ + return false; +} + + +#endif /* ! CONFIG_GNUTLS */ + + static void qcrypto_tls_creds_x509_complete(UserCreatable *uc, Error **errp) { @@ -800,6 +845,9 @@ static void qcrypto_tls_creds_x509_class_init(ObjectClass *oc, void *data) { UserCreatableClass *ucc =3D USER_CREATABLE_CLASS(oc); + QCryptoTLSCredsClass *ctcc =3D QCRYPTO_TLS_CREDS_CLASS(oc); + + ctcc->reload =3D qcrypto_tls_creds_x509_reload; =20 ucc->complete =3D qcrypto_tls_creds_x509_complete; =20 --=20 2.30.2 From nobody Thu May 2 16:12:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616514048; cv=none; d=zohomail.com; s=zohoarc; b=FY6Mq1i9tKEWr2UsAT1lYUKQfNXDxYZvOyGa5bQBPcIPggG3Ij1+dKX3evMbzXpCK7qNm0O7p2Qtk73XPf7uBTlKoKO3Hz2nu5600K9gQZTxVrfPFVIxks9DtaoUIOAJFBFXCmBc/50CGkXKyKxFtV+Dt499Ltp5jDwA1vW5nqo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616514048; 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=MJ9OfVOUw9TcSAS9h9oFSdZNfXMydVHso/BGYO5/2gc=; b=m8BpTwY7UlaLbasQ7E8YllQ9NUdvQX1NudNQ4YFtmzQT3pa8DKX+SJuSRCg4I3ghsxjC09f7jxGt9Ts6bObPYvHYABclOZ0sgJoznaabTw5gEaFxPMKnyDZpXTcMhNwWQe6q42tej4MwqxRG/Sm6hgEC1eceuDG/515e8wfZXzk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616514048528671.8462451744501; Tue, 23 Mar 2021 08:40:48 -0700 (PDT) Received: from localhost ([::1]:35172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOj9D-0001ZF-DG for importer@patchew.org; Tue, 23 Mar 2021 11:40:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj5C-0004dW-MT for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:38 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:36804) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj52-00031X-T2 for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:37 -0400 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-365--ftAeABzMXGr1xBVGWE0-w-1; Tue, 23 Mar 2021 11:36:23 -0400 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 B8072814339; Tue, 23 Mar 2021 15:36:22 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-41.ams2.redhat.com [10.36.112.41]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7F0BE60918; Tue, 23 Mar 2021 15:36:18 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 00563180039E; Tue, 23 Mar 2021 16:36:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616513788; h=from:from: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; bh=MJ9OfVOUw9TcSAS9h9oFSdZNfXMydVHso/BGYO5/2gc=; b=Ps0pny9ojmwlqmXchPu3aHgSpb9SvQlC/09caxt4ox6yTZH8bEkV7/EtD0d332M+yi/l+Y HiGPi5YtPqmmK4Rw2j018g+JKqY14TiT8liymNuBawLrExtGb6AXWuSuHiuUMgNGkw+Ej7 BI3+FXJG2daWYHM4botInp+iizXJNhw= X-MC-Unique: -ftAeABzMXGr1xBVGWE0-w-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 2/5] vnc: support reload x509 certificates for vnc Date: Tue, 23 Mar 2021 16:36:13 +0100 Message-Id: <20210323153616.873822-3-kraxel@redhat.com> In-Reply-To: <20210323153616.873822-1-kraxel@redhat.com> References: <20210323153616.873822-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zihao Chang , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Zihao Chang This patch add vnc_display_reload_certs() to support update x509 certificates. Signed-off-by: Zihao Chang Reviewed-by: Daniel P. Berrang=C3=A9 Message-Id: <20210316075845.1476-3-changzihao1@huawei.com> Signed-off-by: Gerd Hoffmann --- include/ui/console.h | 1 + ui/vnc.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/include/ui/console.h b/include/ui/console.h index c960b7066ccd..2714038a0fae 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -476,6 +476,7 @@ int vnc_display_password(const char *id, const char *pa= ssword); int vnc_display_pw_expire(const char *id, time_t expires); void vnc_parse(const char *str); int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp); +bool vnc_display_reload_certs(const char *id, Error **errp); =20 /* input.c */ int index_from_key(const char *key, size_t key_length); diff --git a/ui/vnc.c b/ui/vnc.c index e0fac2136ea3..456db47d713d 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -585,6 +585,34 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp) return prev; } =20 +bool vnc_display_reload_certs(const char *id, Error **errp) +{ + VncDisplay *vd =3D vnc_display_find(id); + QCryptoTLSCredsClass *creds =3D NULL; + + if (!vd) { + error_setg(errp, "Can not find vnc display"); + return false; + } + + if (!vd->tlscreds) { + error_setg(errp, "vnc tls is not enable"); + return false; + } + + creds =3D QCRYPTO_TLS_CREDS_GET_CLASS(OBJECT(vd->tlscreds)); + if (creds->reload =3D=3D NULL) { + error_setg(errp, "%s doesn't support to reload TLS credential", + object_get_typename(OBJECT(vd->tlscreds))); + return false; + } + if (!creds->reload(vd->tlscreds, errp)) { + return false; + } + + return true; +} + /* TODO 1) Get the queue working for IO. 2) there is some weirdness when using the -S option (the screen is grey --=20 2.30.2 From nobody Thu May 2 16:12:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616513905; cv=none; d=zohomail.com; s=zohoarc; b=gy32Mm6giBqlW9hg0nOnr8sEqixNhT9YWl66/tVysN9RjaNv5M9O4hJ6OjPNVGUNVTYywDIGRVK6kbD5GAOoDYcLV7oj8cfxcWDXPYohQRwlLzaGXltL/sk2Oll8MCLi3ObKaPJdf/PQ7vKRGJSgSRv6OFtY8w9rJDju1UgTN1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616513905; 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=wwWLfWWX4qqGwZnECrRt2Ou8JXQloBXFgKVi2KmuOAw=; b=f/qprR3M+/wvzkFmGeIBhiIa6CZc/8QralvXHUrCfLvzHDRQbTTcEwptZAKPRqAvsytEAycjT8gV+eGpiUT/P1iu/JVozIZH+jQ3mxB72xdZ/tLSpjGk6+IsGh9OwaIuFQ3N+SySgbRX1qeXABrbJdHotm+o8XWbmyys2HxQ8rQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616513905288156.1525914909024; Tue, 23 Mar 2021 08:38:25 -0700 (PDT) Received: from localhost ([::1]:57634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOj6u-0006o1-5d for importer@patchew.org; Tue, 23 Mar 2021 11:38:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj5G-0004iI-EE for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:25310) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj54-00032b-2Q for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:42 -0400 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-366-DpfIQMBQPBONcfECvkdMNw-1; Tue, 23 Mar 2021 11:36:26 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 73E3B800D53; Tue, 23 Mar 2021 15:36:25 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-41.ams2.redhat.com [10.36.112.41]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7F7025C22B; Tue, 23 Mar 2021 15:36:18 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 0D4F7180061A; Tue, 23 Mar 2021 16:36:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616513789; h=from:from: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; bh=wwWLfWWX4qqGwZnECrRt2Ou8JXQloBXFgKVi2KmuOAw=; b=Gns8qiXZqqlelSD+8qbBH5+t8t7JHPsOGeogA194JxVzEd2y8vwyPN8Jp3flvRvHCtIyq6 0Aeu30t71HA+AzbzGuRP1U5uVtFbz7VEqYcujUdSplODdDgXnaOuqwrf3FfBn+kI0LTReI rXP7eREyLRfKRaJyEq6szdlWev9j5XE= X-MC-Unique: DpfIQMBQPBONcfECvkdMNw-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 3/5] qmp: add new qmp display-reload Date: Tue, 23 Mar 2021 16:36:14 +0100 Message-Id: <20210323153616.873822-4-kraxel@redhat.com> In-Reply-To: <20210323153616.873822-1-kraxel@redhat.com> References: <20210323153616.873822-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zihao Chang , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Zihao Chang This patch provides a new qmp to reload display configuration without restart VM, but only reloading the vnc tls certificates is implemented. Example: {"execute": "display-reload", "arguments":{"type": "vnc", "tls-certs": true= }} Signed-off-by: Zihao Chang Message-Id: <20210316075845.1476-4-changzihao1@huawei.com> Signed-off-by: Gerd Hoffmann --- monitor/qmp-cmds.c | 17 +++++++++++++ qapi/ui.json | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index c7df8c0ee268..f7d64a64577a 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -334,3 +334,20 @@ MemoryInfo *qmp_query_memory_size_summary(Error **errp) =20 return mem_info; } + +void qmp_display_reload(DisplayReloadOptions *arg, Error **errp) +{ + switch (arg->type) { + case DISPLAY_RELOAD_TYPE_VNC: +#ifdef CONFIG_VNC + if (arg->u.vnc.has_tls_certs && arg->u.vnc.tls_certs) { + vnc_display_reload_certs(NULL, errp); + } +#else + error_setg(errp, "vnc is invalid, missing 'CONFIG_VNC'"); +#endif + break; + default: + abort(); + } +} diff --git a/qapi/ui.json b/qapi/ui.json index cc1882108b96..1052ca9c3848 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1168,3 +1168,64 @@ ## { 'command': 'query-display-options', 'returns': 'DisplayOptions' } + +## +# @DisplayReloadType: +# +# Available DisplayReload types. +# +# @vnc: VNC display +# +# Since: 6.0 +# +## +{ 'enum': 'DisplayReloadType', + 'data': ['vnc'] } + +## +# @DisplayReloadOptionsVNC: +# +# Specify the VNC reload options. +# +# @tls-certs: reload tls certs or not. +# +# Since: 6.0 +# +## +{ 'struct': 'DisplayReloadOptionsVNC', + 'data': { '*tls-certs': 'bool' } } + +## +# @DisplayReloadOptions: +# +# Options of the display configuration reload. +# +# @type: Specify the display type. +# +# Since: 6.0 +# +## +{ 'union': 'DisplayReloadOptions', + 'base': {'type': 'DisplayReloadType'}, + 'discriminator': 'type', + 'data': { 'vnc': 'DisplayReloadOptionsVNC' } } + +## +# @display-reload: +# +# Reload display configuration. +# +# Returns: Nothing on success. +# +# Since: 6.0 +# +# Example: +# +# -> { "execute": "display-reload", +# "arguments": { "type": "vnc", "tls-certs": true } } +# <- { "return": {} } +# +## +{ 'command': 'display-reload', + 'data': 'DisplayReloadOptions', + 'boxed' : true } --=20 2.30.2 From nobody Thu May 2 16:12:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616513908; cv=none; d=zohomail.com; s=zohoarc; b=YVYMAWLtphuRJtHz5Jp1d07mpKbaypb8u6xxy7X/vl4kZ1GBpKQA7CCs7NaaibJ8f6pj7sPc6mWnv/QxCMDoeI0rqvzLy/yFxYHwqwRKRUB2QVap6CsDx6TiRgqM1UT1ySOIytcD3X4My7f8d+OzRogRqdKGiTU65fiT7RpZBH8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616513908; 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=mobfb8EqlXp0lvXlsCwgLqGIobMgc21Nb0OooPDDHcw=; b=Uc1SpBYT6tQDaZN1U41iUgmnlWBdgKdruVuS3OpBCA57nQ+Gd9l04+cOtD22joBHtQDBPA5mUX4Etsjia2uoWJnpV+ZCF8NtxfMAXiYOU9XEmCS8758hebqAfrovOZJgNUI82KJjVZ6W6ci/yLkINKG/vzCj3/uJPPcGXXPXo5I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616513908542822.0451879863632; Tue, 23 Mar 2021 08:38:28 -0700 (PDT) Received: from localhost ([::1]:57210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOj6p-0006Wl-5s for importer@patchew.org; Tue, 23 Mar 2021 11:38:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34806) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj59-0004c7-Qb for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:51685) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj51-0002zu-R6 for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:35 -0400 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-388-HrbiaGY7O4-4zVGkAvUvaQ-1; Tue, 23 Mar 2021 11:36:23 -0400 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 B3A4C100748A; Tue, 23 Mar 2021 15:36:22 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-41.ams2.redhat.com [10.36.112.41]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7CAB76087C; Tue, 23 Mar 2021 15:36:18 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 17F191800621; Tue, 23 Mar 2021 16:36:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616513785; h=from:from: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; bh=mobfb8EqlXp0lvXlsCwgLqGIobMgc21Nb0OooPDDHcw=; b=M4Ws/m1oXN/QNHjY8OTu/MgU7AWGOJAB4j/xk4dOdZpO3nnPbB+LCPefGmjjLq2rAoOQzw UsW7UeTzRfNWkLl4hYlceTDeD92wADh+OKeLrLMkCPB/rntEoRbTdHiiRP7P00qOv0J0S3 RA69gKkFF1tOJSjIRV4iF+axM5EZ7Z4= X-MC-Unique: HrbiaGY7O4-4zVGkAvUvaQ-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 4/5] include/ui/console.h: Delete is_surface_bgr() Date: Tue, 23 Mar 2021 16:36:15 +0100 Message-Id: <20210323153616.873822-5-kraxel@redhat.com> In-Reply-To: <20210323153616.873822-1-kraxel@redhat.com> References: <20210323153616.873822-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Peter Maydell The function is_surface_bgr() is no longer used anywhere, so we can delete it. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210314163927.1184-1-peter.maydell@linaro.org> Signed-off-by: Gerd Hoffmann --- include/ui/console.h | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 2714038a0fae..ca3c7af6a6c8 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -267,16 +267,6 @@ PixelFormat qemu_default_pixelformat(int bpp); DisplaySurface *qemu_create_displaysurface(int width, int height); void qemu_free_displaysurface(DisplaySurface *surface); =20 -static inline int is_surface_bgr(DisplaySurface *surface) -{ - if (PIXMAN_FORMAT_BPP(surface->format) =3D=3D 32 && - PIXMAN_FORMAT_TYPE(surface->format) =3D=3D PIXMAN_TYPE_ABGR) { - return 1; - } else { - return 0; - } -} - static inline int is_buffer_shared(DisplaySurface *surface) { return !(surface->flags & QEMU_ALLOCATED_FLAG); --=20 2.30.2 From nobody Thu May 2 16:12:53 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616514049; cv=none; d=zohomail.com; s=zohoarc; b=ARm3AowznzYTevNpB5512E+1i8cJfgAwLlnqGGBPn4g6U+nDnIWgo5wdx5W84rTpTf1Nvipzp32JugElhDlPB5gbMT+O0RCxnxuxUj4O2DrkvBIFScGRVDrhaWez2g7jmmrfUniz3ePYRJ3TYmMoIE75HZZgDXFyPFrkSRhm4e4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616514049; 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=r6HkGSRZskuaOzMeEwx/oWOBESHI9UJHgo+0D2TZWTc=; b=b3gBTBczBzP4ga3vqOdCwoPCTUltE3ZT44aR5uqWL177Z5A8pU5XphQk6hxJbFQQzTm2I93uFoKp8w51qOKgobYkuuqUxvxF/1K0cwgEU5t9Nek20jf8Sm2F11HpnndBByS0Dd5M8DpdZwcxzJxWXOMX715/cEd+/twx5wN/L5A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616514049682384.47381668874095; Tue, 23 Mar 2021 08:40:49 -0700 (PDT) Received: from localhost ([::1]:35228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOj9E-0001as-Ir for importer@patchew.org; Tue, 23 Mar 2021 11:40:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34814) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOj5A-0004cQ-QT for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:24656) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1lOj52-000314-Ae for qemu-devel@nongnu.org; Tue, 23 Mar 2021 11:36:36 -0400 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-499-YtW7QXo6O161pkt5jA-tMQ-1; Tue, 23 Mar 2021 11:36:25 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CF1C21007476 for ; Tue, 23 Mar 2021 15:36:24 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-41.ams2.redhat.com [10.36.112.41]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6227E19705; Tue, 23 Mar 2021 15:36:24 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 22FFD1800624; Tue, 23 Mar 2021 16:36:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616513787; h=from:from: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; bh=r6HkGSRZskuaOzMeEwx/oWOBESHI9UJHgo+0D2TZWTc=; b=he0nDEm+Cbm2+fgBOcrajY8CbJSLTBUOh+MGJV2CA1OWw+42QW3PPsC5SE/5qShRoXEOoU J8/qySnHPpAgYrkXFkCLJ9vXAE/sA7L3WOA+aHvv/G+4CyiwdzmgF4MAl0oHIAnWWv/iNA pjluvkacN16N1eRdk5eFO7lxFClmAxg= X-MC-Unique: YtW7QXo6O161pkt5jA-tMQ-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 5/5] edid: prefer standard timings Date: Tue, 23 Mar 2021 16:36:16 +0100 Message-Id: <20210323153616.873822-6-kraxel@redhat.com> In-Reply-To: <20210323153616.873822-1-kraxel@redhat.com> References: <20210323153616.873822-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Markus Armbruster , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Windows guests using the "Basic Display Adapter" don't parse the "Established timings III" block. They also don't parse any edid extension. So prefer the "Standard Timings" block to store the display resolutions in edid_fill_modes(). Also reorder the mode list, so more exotic resolutions (specifically the ones which are not supported by vgabios) are moved down and the remaining ones have a better chance to get one of the eight slots in the "Standard Timings" block. Signed-off-by: Gerd Hoffmann Message-Id: <20210316143812.2363588-6-kraxel@redhat.com> --- hw/display/edid-generate.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c index 1665b7cbb29a..a1bea9a3aa35 100644 --- a/hw/display/edid-generate.c +++ b/hw/display/edid-generate.c @@ -25,19 +25,20 @@ static const struct edid_mode { { .xres =3D 1920, .yres =3D 1080, .dta =3D 31 }, =20 /* additional standard timings 3 (all @ 60Hz) */ - { .xres =3D 1920, .yres =3D 1440, .xtra3 =3D 11, .bit =3D 5 }, { .xres =3D 1920, .yres =3D 1200, .xtra3 =3D 10, .bit =3D 0 }, - { .xres =3D 1856, .yres =3D 1392, .xtra3 =3D 10, .bit =3D 3 }, - { .xres =3D 1792, .yres =3D 1344, .xtra3 =3D 10, .bit =3D 5 }, { .xres =3D 1600, .yres =3D 1200, .xtra3 =3D 9, .bit =3D 2 }, { .xres =3D 1680, .yres =3D 1050, .xtra3 =3D 9, .bit =3D 5 }, - { .xres =3D 1440, .yres =3D 1050, .xtra3 =3D 8, .bit =3D 1 }, { .xres =3D 1440, .yres =3D 900, .xtra3 =3D 8, .bit =3D 5 }, - { .xres =3D 1360, .yres =3D 768, .xtra3 =3D 8, .bit =3D 7 }, { .xres =3D 1280, .yres =3D 1024, .xtra3 =3D 7, .bit =3D 1 }, { .xres =3D 1280, .yres =3D 960, .xtra3 =3D 7, .bit =3D 3 }, { .xres =3D 1280, .yres =3D 768, .xtra3 =3D 7, .bit =3D 6 }, =20 + { .xres =3D 1920, .yres =3D 1440, .xtra3 =3D 11, .bit =3D 5 }, + { .xres =3D 1856, .yres =3D 1392, .xtra3 =3D 10, .bit =3D 3 }, + { .xres =3D 1792, .yres =3D 1344, .xtra3 =3D 10, .bit =3D 5 }, + { .xres =3D 1440, .yres =3D 1050, .xtra3 =3D 8, .bit =3D 1 }, + { .xres =3D 1360, .yres =3D 768, .xtra3 =3D 8, .bit =3D 7 }, + /* established timings (all @ 60Hz) */ { .xres =3D 1024, .yres =3D 768, .byte =3D 36, .bit =3D 3 }, { .xres =3D 800, .yres =3D 600, .byte =3D 35, .bit =3D 0 }, @@ -109,13 +110,13 @@ static void edid_fill_modes(uint8_t *edid, uint8_t *x= tra3, uint8_t *dta, =20 if (mode->byte) { edid[mode->byte] |=3D (1 << mode->bit); - } else if (mode->xtra3 && xtra3) { - xtra3[mode->xtra3] |=3D (1 << mode->bit); } else if (std < 54) { rc =3D edid_std_mode(edid + std, mode->xres, mode->yres); if (rc =3D=3D 0) { std +=3D 2; } + } else if (mode->xtra3 && xtra3) { + xtra3[mode->xtra3] |=3D (1 << mode->bit); } =20 if (dta && mode->dta) { --=20 2.30.2