From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709838; cv=none; d=zohomail.com; s=zohoarc; b=HZcjMkXdZJld8xnt9CtRwQH5yV8iD3GZOf05JPlv1j7FyhJXQePVq90EubEQqddtu2DmISvsNsSOQvSsvOtSvUSAtzA77LYmrfdo7JHEgGNa9ZLFwyDcC9PXphYDbANzWcjMKf6X0i+KSekMlpCFfUzrn6U0pdEmWwplCQvEVmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709838; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mSjfDgNCiY45fveQ2h8VwKHwe+m8EahSQRaPM8gB4pM=; b=C2+x1aChaT98c7YEuuKAvGYkLYuZm5fcVAIwKl5di7bx+MsbAEraIvvOZ3qVrrZ+vVKef2/eCEJ/NgRQE3sqP1M2UDu8Pl/Ex/SZe+oAH6oCeg4jBqxd+IitimbN2WwOW2E7T5IwKcvw7ae+ZjMqw3OPRSg944YzWGYsn6fmpCM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178170983831253.33649906689186; Wed, 17 Jun 2026 08:23:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs79-00057K-9Q; Wed, 17 Jun 2026 11:23:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs77-00056o-Rp for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs76-00042X-Hv for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:37 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-282-WL-jo4UfPLu61Uo4zQjFGQ-1; Wed, 17 Jun 2026 11:23:33 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2B23B195399E for ; Wed, 17 Jun 2026 15:23:32 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 112FB3008B3D; Wed, 17 Jun 2026 15:23:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709815; 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=mSjfDgNCiY45fveQ2h8VwKHwe+m8EahSQRaPM8gB4pM=; b=FHZ5s5OCPlM3iDvz0gHSDhxRio91rp6ORyTIaczYo3ZPwYH4TDS/aG/D1hD7OCaryuVbpe fasHAvi2UbkzgHN5EE1JdfAVvNkc87lCoEx00oC7fDmpOKFVTzi8aRcrnnG3xxyTp7B51G ETOaP1qJCb8Uf1jCZ3ujtVNC1p9HHX4= X-MC-Unique: WL-jo4UfPLu61Uo4zQjFGQ-1 X-Mimecast-MFC-AGG-ID: WL-jo4UfPLu61Uo4zQjFGQ_1781709812 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:22:58 +0400 Subject: [GIT PULL 01/27] hmp-commands.hx: fix button_state doc MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-1-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=989; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=IKyF0Qb3TuwUu8Bcrf8zMjPpRwd+JPEGfJAb0qTJfLI=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvo+fXtF+xKiR75JawSjfwtSRRty4h/5rEyo NPKNPwWQm6JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5RWaEACC53Z7z2UxPJM1615yAfOC2tSbUF1oi/jcqhuF9XIUE73G4ZV0Cn7ELYY5/PNYkyiD3n9 NLEWK+jIMkPv6a0RLbtQCbSO5uWPpH+IsXqAX9DJ5LvcVhNxcSX0VS/U/LJqniJCSQsLsFGGxPy v7nuRWaKgSkgyAus1dhTni3M3bJJW71KFRg2j9ufNlnDgpQ9AeFUPMT12ga/OOlZAdzKWsfnyB7 WapZZlYteYgYzi7B8D3UVPKZrukHJp+PPezoNXo5Z1fvYyTDQWUeMUad6tTB5p1zIKVugvV2vCh gNA+IJDjJ9sagnVN+BfMNocvOXzyvggZPY84mlW7qHSwAJjaEtc/4qZddfbisSi+VhYzZHfTmbq WuvPACNjJzOxunQ9O47DjB4WxCg4TPQEcQ+7iWOqXM+9pEY8GJbwZkfwtADahm5UKs65gJ4s6tE AFR+7hUyqPAcpfB7P7R+VW+p0NfGvl1ij2Uw8Udjwyom6Rwqhzbq0d2zNS6u+/HNw4k2hgJVHdO /AI3eLG6KjqJ49Q45gd1C4GbHR9zeSxJrRJIrHN8UqHU11lAmfJq8Ht8Zv40VC5oY2sWOyNurvL u08uZ78UCRMZ7E4E+5ww1FyRfXXLebh1hnQLqpx300FIaXssRIYfKEdO1p2JpX0yxBPVCS2WGHK PCJUjxerEIELKZQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709839952158500 Right & middle buttons are inverted (see hmp_mouse_button) Acked-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hmp-commands.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index 0d780e6da30..7ae2468a3d9 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -752,13 +752,13 @@ ERST .name =3D "mouse_button", .args_type =3D "button_state:i", .params =3D "state", - .help =3D "change mouse button state (1=3DL, 2=3DM, 4=3DR)", + .help =3D "change mouse button state (1=3DL, 2=3DR, 4=3DM)", .cmd =3D hmp_mouse_button, }, =20 SRST ``mouse_button`` *val* - Change the active mouse button state *val* (1=3DL, 2=3DM, 4=3DR). + Change the active mouse button state *val* (1=3DL, 2=3DR, 4=3DM). ERST =20 { --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709861; cv=none; d=zohomail.com; s=zohoarc; b=WgKzBpfVp2CKNAQHl+87g8rupQ16N4U7GgclMf007Tn79Z4LkeCBYYAXAfemjV5KxIrOQjmZCX+U+5G3vfgmEEsq4JlDx0W4dal3xxy8tWkuISEA0xcczPm1WeZQ5ZTcwFCTBHFUwxMA8lQOZ+m3N+VURI1n3GyOrn2Eyl7g0bc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709861; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UxZUNvwWAjxJnqiWTST9BHMgAOWqnx0QfSP91jc8058=; b=bBwjdvdBaeKmxnAlt+y1d6tmi0TygYLbuwCVeyQSJ2KCZF0gtZPSnuhHvSGsThhnZ9T6SJEdkL8orI9dO4TEdIQZiadgXtHUASN9CuLK/1QQAfdooNFA2+V3b517685Dko7MeNaLq1NY+ZS9iYUwKScG4OHnyFMrCluLUknmpLs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709861830994.2332506542969; Wed, 17 Jun 2026 08:24:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7E-0005Df-Al; Wed, 17 Jun 2026 11:23:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7C-0005C2-Aj for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7A-00043G-Na for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:42 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-659-POlr2RC4NhuJXIHXdrZrRw-1; Wed, 17 Jun 2026 11:23:38 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C53C51806C86 for ; Wed, 17 Jun 2026 15:23:37 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 68F451800591; Wed, 17 Jun 2026 15:23:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709820; 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=UxZUNvwWAjxJnqiWTST9BHMgAOWqnx0QfSP91jc8058=; b=f0N37/FOz0WA6b+0c7ftrJwkpmFV6p767t2qcSiCEco1icnTkJMnp+hDw+V8AVsn1nxbvZ LgfdPrKi5J/aoY8ofZx6rBQx8sAKCCwWuJ87wPyPfwhqrUWBZRmmi5v48N3ESz87sZaGTt 65g2YQ4NVQHzhCTriXdEDVQ8WakXxG4= X-MC-Unique: POlr2RC4NhuJXIHXdrZrRw-1 X-Mimecast-MFC-AGG-ID: POlr2RC4NhuJXIHXdrZrRw_1781709817 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:22:59 +0400 Subject: [GIT PULL 02/27] ui/hmp: move index_from_key() where it is used MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-2-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2281; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=wXfw72vTSr4KKaDWsW73dCO4+hZUkFWNWVCR09czORY=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvotrtsnYO4BviTTdG8wlrlS7r2pee0mE62n Q0T9xjXqrOJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5Y7ED/9Exi89hnLIkWOpx94Q0zQC4ruc5Mrbkfxp/glt8b+sDx8qY8jlerGX4FD9q2nchbfiBMx sC/f0fKnnrksjN96pmS/NDpX7GfpYewADkvTi/RzQAYwTx61+cws7/pYuqUgrs7wocWleYAQhb3 SUddboNZ5cg6QZzZ1q2yqkBFbHBlUJ+pQHO9tOGI54dPFiGYYDEeN6527yhBlEmqj3amdC581Vx hC1pEP++NGTdKR7s2OK1PrX+ss28veptMUc4YJugOZi8hfVT5L+uaQ+4HSZVL9aTqzuJSGGs0rg dw0Q52hhpd/KP3bYi7pCvzf/aXZiywVMP8eJZDA1joQOTdLs81c9D0joI47jVoYoZa3qWy9lAdW 6NmzT5SBnl2Uikzxu4CImG0xq/xulTnQiNLhoZ/VEVzpWsVal6An5rLFVZWMxVsj9qXNPDfyQlJ mTmIIRo9yxqXJEcUhEl6OM1nqefL2eHZr1U7uqE03ycGNxLdvqinQFHqVVCM4pyYbqyaCybu0X6 D2u4YkAcNgAZoi/nCf514DhUoBmKlQehbQ+T+zVXmtFlOTxELFH8DbFJlmp0h+RmOpDnpTOmEcj cx91qgO50lEYGbv5SOyB6srIzhrLy/n/maJa0w4hiCI89KdSlFfCkE42PDW/NkK82FfhAf81h9s ajSrKriGwaupXpw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709863937158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/console.h | 3 --- ui/input-legacy.c | 15 --------------- ui/ui-hmp-cmds.c | 15 +++++++++++++++ 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index a31c5a4995c..3cb78989cd2 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -450,9 +450,6 @@ bool vnc_display_reload_certs(const char *id, Error **= errp); bool vnc_display_update(DisplayUpdateOptionsVNC *arg, Error **errp); void vnc_cleanup(void); =20 -/* input.c */ -int index_from_key(const char *key, size_t key_length); - #ifdef CONFIG_LINUX /* udmabuf.c */ int udmabuf_fd(void); diff --git a/ui/input-legacy.c b/ui/input-legacy.c index 193c9ae2ef9..71b17a3cfc7 100644 --- a/ui/input-legacy.c +++ b/ui/input-legacy.c @@ -56,21 +56,6 @@ struct QEMUPutLEDEntry { static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =3D QTAILQ_HEAD_INITIALIZER(led_handlers); =20 -int index_from_key(const char *key, size_t key_length) -{ - int i; - - for (i =3D 0; i < Q_KEY_CODE__MAX; i++) { - if (!strncmp(key, QKeyCode_str(i), key_length) && - !QKeyCode_str(i)[key_length]) { - break; - } - } - - /* Return Q_KEY_CODE__MAX if the key is invalid */ - return i; -} - void qmp_send_key(KeyValueList *keys, bool has_hold_time, int64_t hold_tim= e, Error **errp) { diff --git a/ui/ui-hmp-cmds.c b/ui/ui-hmp-cmds.c index 1e9bc77bd80..76f5181de43 100644 --- a/ui/ui-hmp-cmds.c +++ b/ui/ui-hmp-cmds.c @@ -350,6 +350,21 @@ void hmp_change_vnc(Monitor *mon, const char *device, = const char *target, } #endif =20 +static int index_from_key(const char *key, size_t key_length) +{ + int i; + + for (i =3D 0; i < Q_KEY_CODE__MAX; i++) { + if (!strncmp(key, QKeyCode_str(i), key_length) && + !QKeyCode_str(i)[key_length]) { + break; + } + } + + /* Return Q_KEY_CODE__MAX if the key is invalid */ + return i; +} + void hmp_sendkey(Monitor *mon, const QDict *qdict) { const char *keys =3D qdict_get_str(qdict, "keys"); --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709854; cv=none; d=zohomail.com; s=zohoarc; b=nJ7GQXgnS6+JiNnDzTjO82K/D+AZwJmeQfkKggeQR513CWt3m0NJrvZxlUyS20qI4O3gFXYTEdY1cUvZh2gxNONLxY+5PWvDwELWLrAANftOx+4ZnG0e68irwt+MP44sW+T4usFv58XYIbE8GNlsEA+cJhQdbcHBuOU2q00Fn5U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709854; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rambNSgx5DF5OBlD4yqYHn8fwQtRbWr+liVloOeJlu0=; b=WEJf+VYnx8i50gAeIYx41E6RUXX5h5tT+kfB8I9kt++EOn7Phrp6vfXA3ttaCAI0oz0qysfmT6SqZtnc9f13h3TAwU3s0vdCXbKLe+KR5l+1dJ+P26KfLYyvcM7XzjxJ+o+omKnaXrIklCaexFyZtpGcZHBnGwNUA//CMD9NABo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709854305562.20631985597; Wed, 17 Jun 2026 08:24:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7K-0005GE-Bk; Wed, 17 Jun 2026 11:23:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7I-0005E6-64 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7G-000446-Ga for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:47 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-391-Zb0RABisPd6vkHDs72Ymag-1; Wed, 17 Jun 2026 11:23:44 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 671541806C86 for ; Wed, 17 Jun 2026 15:23:43 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 21F073008B3D; Wed, 17 Jun 2026 15:23:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709825; 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=rambNSgx5DF5OBlD4yqYHn8fwQtRbWr+liVloOeJlu0=; b=JXq9gA29vzO0HWc55frC3J1GatAGWXN0xVAoW9aCUHM7/j4Gb+gkns9+ss1MaMWpfP42Tg hy860Tm5WNmWzMYTT9GPh739EGsEnewvL8qyfI39UiriTOzciDgrKcjzFKeUivhuvDALq0 pRg24JkqWxrUasopKoZ9WnUdc6j64y4= X-MC-Unique: Zb0RABisPd6vkHDs72Ymag-1 X-Mimecast-MFC-AGG-ID: Zb0RABisPd6vkHDs72Ymag_1781709823 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:00 +0400 Subject: [GIT PULL 03/27] hw/i386/vmmouse: convert to QemuInputHandler API MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-3-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=6706; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=cBOsmCZOmYIqojWNv1AOUvbr9Uk0cg9No4sFDN7duMA=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvojyN8+OMdJ3vNlt32NWf6QBwKnqeAX82An dzY8llpCYmJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5fWJD/9neTCqeP2JGJGwfiYiUjyJgmFzA/nMskhgByjltfQDIZ9XEPiEORXe3jkliK6TU61AiNC lP+VMZmazuVlcaF8y+lslEYAVDOPpEpCk4PI34rtC3DSvU2rcevSB7J9C7iuUtICa97G97pSuLS W3/3h/k8oEvYkTnnWBgvhgaf9MXqbP9+k5z49sVeumvrbxRJpZZxSiy/903ijRZPx8Fhg+55ao2 KVKtQxqizgXOB20V+zCsSg+AJXnDv39Ga2DSMFtQB/cPKCNESRxeaBCNgV25qO0Y1wScrMHPEW3 I/NutnpLtgtCzlILaxjcEjK3iwEaQcw7K6khvEj+YA4ZGt4gB7NipbokMp/PiyEYVMHVc3OWVws eyn0rNyCYICIHM5X5SVWXxNiyddnmMtl3UVYvquXawkDK3CEufQSBPponB9dZp5UEs9o2n4oaLe RQvwpelsf1IO4u0MvyqlEAEQLunFgIyC8vnpD3iAYd05U9EXADPihGyaz0ZJ6ZJS5Kt17lbMGuK DZvw1+GccJdMGrO6CrslfDZHosdy6LdSCKC0uia3b+MYd5mH9DQdhAJiVytUGmJCP96ey9uX3NF Q8Q0qeBV4T0t7ifzFfrrmJzpRL9AKRgVqSGJjg17plvKjIuqJKR7An7Ece1rVmaFZNPFRGedaw+ TNkW1o5KCU23a5g== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709856026158500 Replace the legacy QEMUPutMouseEvent callback with a proper QemuInputHandler registration. This eliminates one of the two remaining users of the legacy input adapter in ui/input-legacy.c. Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Gerd Hoffmann --- hw/i386/vmmouse.c | 115 +++++++++++++++++++++++++++++++++++++----------= ---- hw/i386/trace-events | 2 +- 2 files changed, 85 insertions(+), 32 deletions(-) diff --git a/hw/i386/vmmouse.c b/hw/i386/vmmouse.c index d54adb34a88..e289bce8e2e 100644 --- a/hw/i386/vmmouse.c +++ b/hw/i386/vmmouse.c @@ -68,7 +68,10 @@ struct VMMouseState { uint16_t nb_queue; uint16_t status; uint8_t absolute; - QEMUPutMouseEntry *entry; + QemuInputHandlerState *hs; + int axis[INPUT_AXIS__MAX]; + int dz; + bool btns[INPUT_BUTTON__MAX]; ISAKBDState *i8042; }; =20 @@ -99,39 +102,78 @@ static uint32_t vmmouse_get_status(VMMouseState *s) return (s->status << 16) | s->nb_queue; } =20 -static void vmmouse_mouse_event(void *opaque, int x, int y, int dz, int bu= ttons_state) +static void vmmouse_input_event(DeviceState *dev, QemuConsole *src, + QemuInputEvent *evt) { - VMMouseState *s =3D opaque; + VMMouseState *s =3D VMMOUSE(dev); + + switch (evt->type) { + case INPUT_EVENT_KIND_BTN: + if (evt->btn.down) { + if (evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_UP) { + s->dz--; + } else if (evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_DOWN) { + s->dz++; + } + } + s->btns[evt->btn.button] =3D evt->btn.down; + break; + case INPUT_EVENT_KIND_ABS: + if (evt->abs.axis =3D=3D INPUT_AXIS_X) { + s->axis[INPUT_AXIS_X] =3D + qemu_input_scale_axis(evt->abs.value, + INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS= _MAX, + VMMOUSE_MIN_X, VMMOUSE_MAX_X); + } else if (evt->abs.axis =3D=3D INPUT_AXIS_Y) { + s->axis[INPUT_AXIS_Y] =3D + qemu_input_scale_axis(evt->abs.value, + INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS= _MAX, + VMMOUSE_MIN_Y, VMMOUSE_MAX_Y); + } + break; + case INPUT_EVENT_KIND_REL: + s->axis[evt->rel.axis] +=3D evt->rel.value; + break; + default: + break; + } +} + +static void vmmouse_input_sync(DeviceState *dev) +{ + VMMouseState *s =3D VMMOUSE(dev); int buttons =3D 0; =20 - if (s->nb_queue > (VMMOUSE_QUEUE_SIZE - 4)) + if (s->nb_queue > (VMMOUSE_QUEUE_SIZE - 4)) { return; + } =20 - trace_vmmouse_mouse_event(x, y, dz, buttons_state); - - if ((buttons_state & MOUSE_EVENT_LBUTTON)) + if (s->btns[INPUT_BUTTON_LEFT]) { buttons |=3D VMMOUSE_LEFT_BUTTON; - if ((buttons_state & MOUSE_EVENT_RBUTTON)) + } + if (s->btns[INPUT_BUTTON_RIGHT]) { buttons |=3D VMMOUSE_RIGHT_BUTTON; - if ((buttons_state & MOUSE_EVENT_MBUTTON)) + } + if (s->btns[INPUT_BUTTON_MIDDLE]) { buttons |=3D VMMOUSE_MIDDLE_BUTTON; - - if (s->absolute) { - x =3D qemu_input_scale_axis(x, - INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS_MAX, - VMMOUSE_MIN_X, VMMOUSE_MAX_X); - y =3D qemu_input_scale_axis(y, - INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS_MAX, - VMMOUSE_MIN_Y, VMMOUSE_MAX_Y); - } else{ - /* add for guest vmmouse driver to judge this is a relative packet= . */ + } + if (!s->absolute) { buttons |=3D VMMOUSE_RELATIVE_PACKET; } =20 + trace_vmmouse_queue_event(s->axis[INPUT_AXIS_X], s->axis[INPUT_AXIS_Y], + s->dz, buttons); + s->queue[s->nb_queue++] =3D buttons; - s->queue[s->nb_queue++] =3D x; - s->queue[s->nb_queue++] =3D y; - s->queue[s->nb_queue++] =3D dz; + s->queue[s->nb_queue++] =3D s->axis[INPUT_AXIS_X]; + s->queue[s->nb_queue++] =3D s->axis[INPUT_AXIS_Y]; + s->queue[s->nb_queue++] =3D s->dz; + s->dz =3D 0; + + if (!s->absolute) { + s->axis[INPUT_AXIS_X] =3D 0; + s->axis[INPUT_AXIS_Y] =3D 0; + } =20 /* need to still generate PS2 events to notify driver to read from queue */ @@ -140,14 +182,25 @@ static void vmmouse_mouse_event(void *opaque, int x, = int y, int dz, int buttons_ =20 static void vmmouse_remove_handler(VMMouseState *s) { - if (s->entry) { - qemu_remove_mouse_event_handler(s->entry); - s->entry =3D NULL; - } + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static void vmmouse_update_handler(VMMouseState *s, int absolute) { + static const QemuInputHandler vmmouse_abs_handler =3D { + .name =3D "vmmouse", + .mask =3D INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS, + .event =3D vmmouse_input_event, + .sync =3D vmmouse_input_sync, + }; + + static const QemuInputHandler vmmouse_rel_handler =3D { + .name =3D "vmmouse", + .mask =3D INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL, + .event =3D vmmouse_input_event, + .sync =3D vmmouse_input_sync, + }; + if (s->status !=3D 0) { return; } @@ -155,11 +208,11 @@ static void vmmouse_update_handler(VMMouseState *s, i= nt absolute) s->absolute =3D absolute; vmmouse_remove_handler(s); } - if (s->entry =3D=3D NULL) { - s->entry =3D qemu_add_mouse_event_handler(vmmouse_mouse_event, - s, s->absolute, - "vmmouse"); - qemu_activate_mouse_event_handler(s->entry); + if (s->hs =3D=3D NULL) { + const QemuInputHandler *h =3D s->absolute ? + &vmmouse_abs_handler : &vmmouse_rel_handler; + s->hs =3D qemu_input_handler_register(DEVICE(s), h); + qemu_input_handler_activate(s->hs); } } =20 diff --git a/hw/i386/trace-events b/hw/i386/trace-events index a1dfade20f1..a1a50d09109 100644 --- a/hw/i386/trace-events +++ b/hw/i386/trace-events @@ -134,7 +134,7 @@ port92_write(uint8_t val) "port92: write 0x%02x" =20 # vmmouse.c vmmouse_get_status(void) "" -vmmouse_mouse_event(int x, int y, int dz, int buttons_state) "event: x=3D%= d y=3D%d dz=3D%d state=3D%d" +vmmouse_queue_event(int x, int y, int dz, int buttons_state) "event: x=3D%= d y=3D%d dz=3D%d state=3D%d" vmmouse_init(void) "" vmmouse_read_id(void) "" vmmouse_request_relative(void) "" --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709854; cv=none; d=zohomail.com; s=zohoarc; b=YNqgrj/Gzn4CBueCChYzbHiwlILQrdE7vdNnpLxp3Om1wjnwqadezJWLmjLpzDzBpgR55Hr/NfAMgInl0mXV/SQDDhfEBobRjeNcDbMZrBql1NqsNCyHmiO6x1dVanb1Ziz3AGwfxyHpPquuMHrhWUc/dnAUQojRnA7mAJMFlzs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709854; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ogG/MnvSzYDiB+fCaAwHVaiQQvOjoc5ERv09JnrV5Ig=; b=eg6E3/pQy/d21g5wjczTl6cutrb2RERddexmkskbE7YD/96YUgmgAJqrPS8OJ3PNlQGk2QhApqybOjaibT1VfuvZjxVx6Y9FpxMoxN6C8oFPKR2OFAVWzmmtY4KA7zESTZciw73OLDv/UGjNKcAg2J0wYDKh2Nt72f/B7Ht3eWo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709854616745.1935406379657; Wed, 17 Jun 2026 08:24:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7R-0005HQ-JV; Wed, 17 Jun 2026 11:23:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7O-0005HC-77 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:54 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7M-00046H-AA for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:23:53 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-299-6VvU0mkrOESHplYzRdBJaQ-1; Wed, 17 Jun 2026 11:23:49 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A328C18009DF for ; Wed, 17 Jun 2026 15:23:48 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8DF9D3008B3D; Wed, 17 Jun 2026 15:23:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709830; 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=ogG/MnvSzYDiB+fCaAwHVaiQQvOjoc5ERv09JnrV5Ig=; b=RPTjw0kSEGZqMLX7EupbXJ09ZU1VceDF+za6SAy0h9Fb8/4rWdi5ijctjDFvXfiMzkfdts 5ibSoONKUDyuibIIN1TWhcPrZtwcCon9FHn2CA6OmHYpBFOG2r4GoYTRIr+uForeuFaMPS tOL9naZGLEgVe0esCT/G20XRqtx7+Z0= X-MC-Unique: 6VvU0mkrOESHplYzRdBJaQ-1 X-Mimecast-MFC-AGG-ID: 6VvU0mkrOESHplYzRdBJaQ_1781709828 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:01 +0400 Subject: [GIT PULL 04/27] hw/usb/dev-wacom: convert to modern QemuInputHandler API MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-4-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=7949; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=zrxXU17/hZeqWHvP0MTFv+W2hkRQVFdnOtABpkxwApM=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvo6B28yB/1m294JTF+qdnDrIvKtVhkuzvQQ 3eQmvT+ktyJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5dC/D/9HyZHra0yTRxMjFLGMwyDt6yCBvwKxVIn5FMwBwlOuABbL3IU46I6HKp850ZIc/DBCXs6 JwuB59MZyXPBLpbFtL1RNF7ZQ+B7DoMoZX+G7sSab4QsDjZrOWRIGnKrL32d6amtjCtwe0AYDli MZQlulpE39oYCApd/w++pFz6TNrX6niYiATm7gFWcvcrxxQVKBo4vohLWOtXJ/8awzJtP8G+QYL Ruqrp/5+MeiYqBzCDYogJkBf8VR1yqMrucLRbAzz5P1q9Lx/lgXKy43Vt5M7zx25RYq7okqSTM1 lLhFtS6R+lwbC9O3+Y3052e1BPTLsgAsHq4hPIwa3I7T58i9DmnVZymhoCady7pg2bh9HAh0Qk2 3H29uh0/6eBW3Lue7k7FjnIf9qn5WHXWagYYU2LfabtKPJmDgS/q+VowBXctSQwiNX96Bn2uR+w U6Qy4fNPB02rzN+0sHVfkIFKs7r51wyauNoBT2TRNVG3K02BmkrLnFIKi2lXJbW6lXl8JepoKF8 y/9P9uiCVoOLFAg4WU+b1Aqvx9jNJibicFZY59ehM0WMUVEtDGwmp9iQxxdIkg3s7sWlKXcSACP TQWPTfqd04pgR8HJ6QLz8WXkophpj1dM9Q+o6IJ1b0UegleOcbFM4n+SGcLVEWccXMGwwpewyls D7u1w9kzwgaG87w== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709856037158500 Replace the legacy QEMUPutMouseEvent callbacks with a proper QemuInputHandler registration. The device now receives typed input events (BTN/ABS/REL) directly. Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Gerd Hoffmann --- hw/usb/dev-wacom.c | 155 ++++++++++++++++++++++++++++++++-----------------= ---- 1 file changed, 94 insertions(+), 61 deletions(-) diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c index 14d07e81281..c69e247f7b7 100644 --- a/hw/usb/dev-wacom.c +++ b/hw/usb/dev-wacom.c @@ -42,10 +42,10 @@ struct USBWacomState { USBDevice dev; USBEndpoint *intr; - QEMUPutMouseEntry *eh_entry; - int dx, dy, dz, buttons_state; - int x, y; - int mouse_grabbed; + QemuInputHandlerState *hs; + int axis[INPUT_AXIS__MAX]; + int dz; + bool btns[INPUT_BUTTON__MAX]; enum { WACOM_MODE_HID =3D 1, WACOM_MODE_WACOM =3D 2, @@ -188,29 +188,37 @@ static const USBDesc desc_wacom =3D { .str =3D desc_strings, }; =20 -static void usb_mouse_event(void *opaque, - int dx1, int dy1, int dz1, int buttons_state) +static void usb_wacom_input_event(DeviceState *dev, QemuConsole *src, + QemuInputEvent *evt) { - USBWacomState *s =3D opaque; + USBWacomState *s =3D USB_WACOM(dev); =20 - s->dx +=3D dx1; - s->dy +=3D dy1; - s->dz +=3D dz1; - s->buttons_state =3D buttons_state; - s->changed =3D 1; - usb_wakeup(s->intr, 0); + switch (evt->type) { + case INPUT_EVENT_KIND_BTN: + if (evt->btn.down) { + if (evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_UP) { + s->dz--; + } else if (evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_DOWN) { + s->dz++; + } + } + s->btns[evt->btn.button] =3D evt->btn.down; + break; + case INPUT_EVENT_KIND_ABS: + s->axis[evt->abs.axis] =3D evt->abs.value; + break; + case INPUT_EVENT_KIND_REL: + s->axis[evt->rel.axis] +=3D evt->rel.value; + break; + default: + break; + } } =20 -static void usb_wacom_event(void *opaque, - int x, int y, int dz, int buttons_state) +static void usb_wacom_input_sync(DeviceState *dev) { - USBWacomState *s =3D opaque; + USBWacomState *s =3D USB_WACOM(dev); =20 - /* scale to Penpartner resolution */ - s->x =3D (x * 5040 / 0x7FFF); - s->y =3D (y * 3780 / 0x7FFF); - s->dz +=3D dz; - s->buttons_state =3D buttons_state; s->changed =3D 1; usb_wakeup(s->intr, 0); } @@ -225,32 +233,57 @@ static inline int int_clamp(int val, int vmin, int vm= ax) return val; } =20 +static void usb_wacom_register_input_handler(USBWacomState *s, bool absolu= te) +{ + static const QemuInputHandler usb_wacom_abs_handler =3D { + .name =3D "QEMU PenPartner tablet", + .mask =3D INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS, + .event =3D usb_wacom_input_event, + .sync =3D usb_wacom_input_sync, + }; + + static const QemuInputHandler usb_wacom_rel_handler =3D { + .name =3D "QEMU PenPartner tablet", + .mask =3D INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL, + .event =3D usb_wacom_input_event, + .sync =3D usb_wacom_input_sync, + }; + + const QemuInputHandler *h =3D absolute ? + &usb_wacom_abs_handler : &usb_wacom_rel_handler; + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); + + s->hs =3D qemu_input_handler_register(DEVICE(s), h); + qemu_input_handler_activate(s->hs); +} + static int usb_mouse_poll(USBWacomState *s, uint8_t *buf, int len) { int dx, dy, dz, b, l; =20 - if (!s->mouse_grabbed) { - s->eh_entry =3D qemu_add_mouse_event_handler(usb_mouse_event, s, 0, - "QEMU PenPartner tablet"); - qemu_activate_mouse_event_handler(s->eh_entry); - s->mouse_grabbed =3D 1; + if (!s->hs) { + usb_wacom_register_input_handler(s, false); } =20 - dx =3D int_clamp(s->dx, -128, 127); - dy =3D int_clamp(s->dy, -128, 127); + dx =3D int_clamp(s->axis[INPUT_AXIS_X], -128, 127); + dy =3D int_clamp(s->axis[INPUT_AXIS_Y], -128, 127); dz =3D int_clamp(s->dz, -128, 127); =20 - s->dx -=3D dx; - s->dy -=3D dy; + s->axis[INPUT_AXIS_X] -=3D dx; + s->axis[INPUT_AXIS_Y] -=3D dy; s->dz -=3D dz; =20 b =3D 0; - if (s->buttons_state & MOUSE_EVENT_LBUTTON) + if (s->btns[INPUT_BUTTON_LEFT]) { b |=3D 0x01; - if (s->buttons_state & MOUSE_EVENT_RBUTTON) + } + if (s->btns[INPUT_BUTTON_RIGHT]) { b |=3D 0x02; - if (s->buttons_state & MOUSE_EVENT_MBUTTON) + } + if (s->btns[INPUT_BUTTON_MIDDLE]) { b |=3D 0x04; + } =20 buf[0] =3D b; buf[1] =3D dx; @@ -265,32 +298,40 @@ static int usb_mouse_poll(USBWacomState *s, uint8_t *= buf, int len) =20 static int usb_wacom_poll(USBWacomState *s, uint8_t *buf, int len) { - int b; + int b, x, y; =20 - if (!s->mouse_grabbed) { - s->eh_entry =3D qemu_add_mouse_event_handler(usb_wacom_event, s, 1, - "QEMU PenPartner tablet"); - qemu_activate_mouse_event_handler(s->eh_entry); - s->mouse_grabbed =3D 1; + if (!s->hs) { + usb_wacom_register_input_handler(s, true); } =20 b =3D 0; - if (s->buttons_state & MOUSE_EVENT_LBUTTON) + if (s->btns[INPUT_BUTTON_LEFT]) { b |=3D 0x01; - if (s->buttons_state & MOUSE_EVENT_RBUTTON) + } + if (s->btns[INPUT_BUTTON_RIGHT]) { b |=3D 0x40; - if (s->buttons_state & MOUSE_EVENT_MBUTTON) + } + if (s->btns[INPUT_BUTTON_MIDDLE]) { b |=3D 0x20; /* eraser */ + } =20 - if (len < 7) + if (len < 7) { return 0; + } + + x =3D qemu_input_scale_axis(s->axis[INPUT_AXIS_X], + INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS_MAX, + 0, 5040); + y =3D qemu_input_scale_axis(s->axis[INPUT_AXIS_Y], + INPUT_EVENT_ABS_MIN, INPUT_EVENT_ABS_MAX, + 0, 3780); =20 buf[0] =3D s->mode; buf[5] =3D 0x00 | (b & 0xf0); - buf[1] =3D s->x & 0xff; - buf[2] =3D s->x >> 8; - buf[3] =3D s->y & 0xff; - buf[4] =3D s->y >> 8; + buf[1] =3D x & 0xff; + buf[2] =3D x >> 8; + buf[3] =3D y & 0xff; + buf[4] =3D y >> 8; if (b & 0x3f) { buf[6] =3D 0; } else { @@ -302,15 +343,13 @@ static int usb_wacom_poll(USBWacomState *s, uint8_t *= buf, int len) =20 static void usb_wacom_handle_reset(USBDevice *dev) { - USBWacomState *s =3D (USBWacomState *) dev; + USBWacomState *s =3D USB_WACOM(dev); =20 - s->dx =3D 0; - s->dy =3D 0; + memset(s->axis, 0, sizeof(s->axis)); + memset(s->btns, 0, sizeof(s->btns)); s->dz =3D 0; - s->x =3D 0; - s->y =3D 0; - s->buttons_state =3D 0; s->mode =3D WACOM_MODE_HID; + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p, @@ -337,10 +376,7 @@ static void usb_wacom_handle_control(USBDevice *dev, U= SBPacket *p, } break; case WACOM_SET_REPORT: - if (s->mouse_grabbed) { - qemu_remove_mouse_event_handler(s->eh_entry); - s->mouse_grabbed =3D 0; - } + g_clear_pointer(&s->hs, qemu_input_handler_unregister); s->mode =3D data[0]; break; case WACOM_GET_REPORT: @@ -400,10 +436,7 @@ static void usb_wacom_unrealize(USBDevice *dev) { USBWacomState *s =3D (USBWacomState *) dev; =20 - if (s->mouse_grabbed) { - qemu_remove_mouse_event_handler(s->eh_entry); - s->mouse_grabbed =3D 0; - } + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static void usb_wacom_realize(USBDevice *dev, Error **errp) --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709858; cv=none; d=zohomail.com; s=zohoarc; b=UPuVAzMPsQ20DSTeEk1K4AAqYT2JVE95N8hAPsz+kKUgM4V4MUfi4Z35APnA07qEswpBOvzPr6Upq3gxHHixEBhWt4/886LCxDxkDq87ZH7+SoIJKpivJQJUaLUuENmAdBEGIDgO8NQXMwL4PDWQEkE9/m9ilgEGbo++suNBNfc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709858; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=foIhxx3v2ER0pFKslPpmz0iFr4/jr5DcTZkU6B61CKY=; b=cFIZan4JcakvlKujhSWqxFgtOpHoYp2FXwQ0vmXHVVv1tTdzaEa0XuLBc1xXdtEiwcucaVl+Zq8pIhdQjOUzaqpj3RZ4XLge2UcxgLE5cRSc5FjN18LNZl8EMC2Hp58nong/wkWo2h9Ito527P9O276u0lQ/ea9/uKhAkWCfgUY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709858636205.57979607689754; Wed, 17 Jun 2026 08:24:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7d-0005gL-0y; Wed, 17 Jun 2026 11:24:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7U-0005Sr-Pm for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:02 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7S-00046z-6Z for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:00 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-262-L2cO15zyOfqg2JdFi1gjpg-1; Wed, 17 Jun 2026 11:23:56 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6581D180058D for ; Wed, 17 Jun 2026 15:23:54 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DE723180049F; Wed, 17 Jun 2026 15:23:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709837; 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=foIhxx3v2ER0pFKslPpmz0iFr4/jr5DcTZkU6B61CKY=; b=W6BAelNt7p1rd+fbPUF7WE2PouvTBoC9Id0/JGrOdVjZOGetmvzzen4vWcbbENQGtLoN9s 7CSyggLnkaKdG6xNmqURIcMpHlKwyt8Z7DmvJdDqiFybuXRbN+T/2L6qbefu9/Z3U+WrJt sihaKVF21UCHM/qGgt+8IH6Og0aacJg= X-MC-Unique: L2cO15zyOfqg2JdFi1gjpg-1 X-Mimecast-MFC-AGG-ID: L2cO15zyOfqg2JdFi1gjpg_1781709834 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:02 +0400 Subject: [GIT PULL 05/27] ui: move LED and key utilities to input.c, delete input-legacy.c MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-5-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=13318; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=KSMS1le0509EljJzlOzYsF6ivRoe5a6u5ovwTx7L00M=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvod96MtE7i9PTc+g+8x1WIu+2GZEqRU+RC+ 25PMGBU7DyJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5eMMD/kBk+rIWYyIcCmg2ctYnWgi+LzJXKFTRqd17dvK7kOTIGewy38vJQFX2jLnsNwnNn7/CBt jpMeSdDbDzMACKppPISgm+cFz2gkmcVZvPdw2mEc1fZULmn1Qtd3f1YIX+W63LacggpblEIwUhP 51lynXUuZcqvXif1rkRrjHByHjvUGWOgz9j5Inkq7++8TvSG1GfWhhBIgA6SL8jOiOjKTCUiyF9 Cj93+hGI8Vn0WYwRomddm03QrFIsp+6sXS4gjT4Rovr38FXTN4CGFoTIMwYlAmru235ZOOPGiGl X+nNByMO/Oh8nr2znJYb6cLu6kwXzYDPb8xHJJv11bW/5Sn0gwhHp+bQfeTA0LCU8uDiv64chvC TnNTDdtgxLdIeIZb20cIl4SewB8t9IPGI8j76S66G+KuORPoskMFrocZZbC0c79Q9RwcasKYWCJ 5bfaWDD2fUBnfaACcvr+jL/uXqIqsTndfXVKIR5Ll6xX76eHAclCjH9IWOPHajP9YmtxZ8D54q8 KLr+6wcG41l+WDu65aKi4ea6487jO+wuSPNrvv5N1DY2dHmSzWPdqv+kb+Q6Rfpm4zYzqeMWkAm DV7+zXs71+JN6UlMSnXQ7OgR7vKQrEWw+Fe6zVRqts7QSJhx7r4yEBtbJjbAavcyf9SmIo9tGQB sj66yMAiNnShA1g== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709860267158500 With both legacy mouse API consumers converted, the remaining code in input-legacy.c (LED broadcast, index_from_key, qmp_send_key) is not legacy-specific. Move it to ui/input.c and delete the file. Clean up include/ui/console.h by removing the now-unused legacy mouse API declarations (QEMUPutMouseEvent, QEMUPutMouseEntry, QEMUPutKBDEvent, QEMUPutKbdEntry) and MOUSE_EVENT_* constants. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/console.h | 18 ----- ui/input-legacy.c | 221 -----------------------------------------------= ---- ui/input.c | 66 +++++++++++++++ ui/ui-hmp-cmds.c | 7 +- ui/meson.build | 1 - 5 files changed, 70 insertions(+), 243 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 3cb78989cd2..0299ed4b566 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -30,14 +30,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(QemuFixedTextConsole, QEMU_FI= XED_TEXT_CONSOLE) #define QEMU_IS_FIXED_TEXT_CONSOLE(c) \ object_dynamic_cast(OBJECT(c), TYPE_QEMU_FIXED_TEXT_CONSOLE) =20 -/* keyboard/mouse support */ - -#define MOUSE_EVENT_LBUTTON 0x01 -#define MOUSE_EVENT_RBUTTON 0x02 -#define MOUSE_EVENT_MBUTTON 0x04 -#define MOUSE_EVENT_WHEELUP 0x08 -#define MOUSE_EVENT_WHEELDN 0x10 - /* identical to the ps/2 keyboard bits */ #define QEMU_SCROLL_LOCK_LED (1 << 0) #define QEMU_NUM_LOCK_LED (1 << 1) @@ -62,20 +54,10 @@ enum qemu_color_names { #define ATTR2CHTYPE(c, fg, bg, bold) \ ((bold) << 21 | (bg) << 11 | (fg) << 8 | (c)) =20 -typedef void QEMUPutKBDEvent(void *opaque, int keycode); typedef void QEMUPutLEDEvent(void *opaque, int ledstate); -typedef void QEMUPutMouseEvent(void *opaque, int dx, int dy, int dz, int b= uttons_state); =20 -typedef struct QEMUPutMouseEntry QEMUPutMouseEntry; -typedef struct QEMUPutKbdEntry QEMUPutKbdEntry; typedef struct QEMUPutLEDEntry QEMUPutLEDEntry; =20 -QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func, - void *opaque, int absolute, - const char *name); -void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry); -void qemu_activate_mouse_event_handler(QEMUPutMouseEntry *entry); - QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, void *o= paque); void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry); =20 diff --git a/ui/input-legacy.c b/ui/input-legacy.c deleted file mode 100644 index 71b17a3cfc7..00000000000 --- a/ui/input-legacy.c +++ /dev/null @@ -1,221 +0,0 @@ -/* - * QEMU System Emulator - * - * Copyright (c) 2003-2008 Fabrice Bellard - * - * Permission is hereby granted, free of charge, to any person obtaining a= copy - * of this software and associated documentation files (the "Software"), t= o deal - * in the Software without restriction, including without limitation the r= ights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or se= ll - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included= in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OT= HER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING= FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS = IN - * THE SOFTWARE. - */ - -#include "qemu/osdep.h" -#include "qemu/log.h" -#include "qapi/qapi-commands-ui.h" -#include "ui/console.h" -#include "keymaps.h" -#include "ui/input.h" - -struct QEMUPutMouseEntry { - QEMUPutMouseEvent *qemu_put_mouse_event; - void *qemu_put_mouse_event_opaque; - int qemu_put_mouse_event_absolute; - - /* new input core */ - QemuInputHandler h; - QemuInputHandlerState *s; - int axis[INPUT_AXIS__MAX]; - int buttons; -}; - -struct QEMUPutKbdEntry { - QEMUPutKBDEvent *put_kbd; - void *opaque; - QemuInputHandlerState *s; -}; - -struct QEMUPutLEDEntry { - QEMUPutLEDEvent *put_led; - void *opaque; - QTAILQ_ENTRY(QEMUPutLEDEntry) next; -}; - -static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =3D - QTAILQ_HEAD_INITIALIZER(led_handlers); - -void qmp_send_key(KeyValueList *keys, bool has_hold_time, int64_t hold_tim= e, - Error **errp) -{ - KeyValueList *p; - unsigned int *up =3D NULL; - int count =3D 0; - - if (!has_hold_time) { - hold_time =3D 0; /* use default */ - } - - for (p =3D keys; p !=3D NULL; p =3D p->next) { - up =3D g_realloc(up, sizeof(*up) * (count+1)); - up[count] =3D qemu_input_key_value_to_linux(p->value); - qemu_input_event_send_key_linux(NULL, up[count], true); - qemu_input_event_send_key_delay(hold_time); - count++; - } - while (count) { - count--; - qemu_input_event_send_key_linux(NULL, up[count], false); - qemu_input_event_send_key_delay(hold_time); - } - g_free(up); -} - -static void legacy_mouse_event(DeviceState *dev, QemuConsole *src, - QemuInputEvent *evt) -{ - static const int bmap[INPUT_BUTTON__MAX] =3D { - [INPUT_BUTTON_LEFT] =3D MOUSE_EVENT_LBUTTON, - [INPUT_BUTTON_MIDDLE] =3D MOUSE_EVENT_MBUTTON, - [INPUT_BUTTON_RIGHT] =3D MOUSE_EVENT_RBUTTON, - }; - QEMUPutMouseEntry *s =3D (QEMUPutMouseEntry *)dev; - - switch (evt->type) { - case INPUT_EVENT_KIND_BTN: - if (evt->btn.down) { - s->buttons |=3D bmap[evt->btn.button]; - } else { - s->buttons &=3D ~bmap[evt->btn.button]; - } - if (evt->btn.down && evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_UP)= { - s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque, - s->axis[INPUT_AXIS_X], - s->axis[INPUT_AXIS_Y], - -1, - s->buttons); - } - if (evt->btn.down && evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_DOW= N) { - s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque, - s->axis[INPUT_AXIS_X], - s->axis[INPUT_AXIS_Y], - 1, - s->buttons); - } - if (evt->btn.down && evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_RIG= HT) { - s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque, - s->axis[INPUT_AXIS_X], - s->axis[INPUT_AXIS_Y], - -2, - s->buttons); - } - if (evt->btn.down && evt->btn.button =3D=3D INPUT_BUTTON_WHEEL_LEF= T) { - s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque, - s->axis[INPUT_AXIS_X], - s->axis[INPUT_AXIS_Y], - 2, - s->buttons); - } - break; - case INPUT_EVENT_KIND_ABS: - s->axis[evt->abs.axis] =3D evt->abs.value; - break; - case INPUT_EVENT_KIND_REL: - s->axis[evt->rel.axis] +=3D evt->rel.value; - break; - default: - break; - } -} - -static void legacy_mouse_sync(DeviceState *dev) -{ - QEMUPutMouseEntry *s =3D (QEMUPutMouseEntry *)dev; - - s->qemu_put_mouse_event(s->qemu_put_mouse_event_opaque, - s->axis[INPUT_AXIS_X], - s->axis[INPUT_AXIS_Y], - 0, - s->buttons); - - if (!s->qemu_put_mouse_event_absolute) { - s->axis[INPUT_AXIS_X] =3D 0; - s->axis[INPUT_AXIS_Y] =3D 0; - } -} - -QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func, - void *opaque, int absolute, - const char *name) -{ - QEMUPutMouseEntry *s; - - s =3D g_new0(QEMUPutMouseEntry, 1); - - s->qemu_put_mouse_event =3D func; - s->qemu_put_mouse_event_opaque =3D opaque; - s->qemu_put_mouse_event_absolute =3D absolute; - - s->h.name =3D name; - s->h.mask =3D INPUT_EVENT_MASK_BTN | - (absolute ? INPUT_EVENT_MASK_ABS : INPUT_EVENT_MASK_REL); - s->h.event =3D legacy_mouse_event; - s->h.sync =3D legacy_mouse_sync; - s->s =3D qemu_input_handler_register((DeviceState *)s, - &s->h); - - return s; -} - -void qemu_activate_mouse_event_handler(QEMUPutMouseEntry *entry) -{ - qemu_input_handler_activate(entry->s); -} - -void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry) -{ - qemu_input_handler_unregister(entry->s); - - g_free(entry); -} - -QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, - void *opaque) -{ - QEMUPutLEDEntry *s; - - s =3D g_new0(QEMUPutLEDEntry, 1); - - s->put_led =3D func; - s->opaque =3D opaque; - QTAILQ_INSERT_TAIL(&led_handlers, s, next); - return s; -} - -void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry) -{ - if (entry =3D=3D NULL) - return; - QTAILQ_REMOVE(&led_handlers, entry, next); - g_free(entry); -} - -void kbd_put_ledstate(int ledstate) -{ - QEMUPutLEDEntry *cursor; - - QTAILQ_FOREACH(cursor, &led_handlers, next) { - cursor->put_led(cursor->opaque, ledstate); - } -} diff --git a/ui/input.c b/ui/input.c index c013cd9f7e0..55769c66fcc 100644 --- a/ui/input.c +++ b/ui/input.c @@ -648,3 +648,69 @@ void qemu_input_touch_event(QemuConsole *con, qemu_input_event_sync(); } } + +struct QEMUPutLEDEntry { + QEMUPutLEDEvent *put_led; + void *opaque; + QTAILQ_ENTRY(QEMUPutLEDEntry) next; +}; + +static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =3D + QTAILQ_HEAD_INITIALIZER(led_handlers); + +QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, + void *opaque) +{ + QEMUPutLEDEntry *s; + + s =3D g_new0(QEMUPutLEDEntry, 1); + + s->put_led =3D func; + s->opaque =3D opaque; + QTAILQ_INSERT_TAIL(&led_handlers, s, next); + return s; +} + +void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry) +{ + if (entry =3D=3D NULL) { + return; + } + QTAILQ_REMOVE(&led_handlers, entry, next); + g_free(entry); +} + +void kbd_put_ledstate(int ledstate) +{ + QEMUPutLEDEntry *cursor; + + QTAILQ_FOREACH(cursor, &led_handlers, next) { + cursor->put_led(cursor->opaque, ledstate); + } +} + +void qmp_send_key(KeyValueList *keys, bool has_hold_time, int64_t hold_tim= e, + Error **errp) +{ + KeyValueList *p; + unsigned int *up =3D NULL; + int count =3D 0; + + if (!has_hold_time) { + hold_time =3D 0; /* use default */ + } + + for (p =3D keys; p !=3D NULL; p =3D p->next) { + up =3D g_realloc_n(up, count + 1, sizeof(*up)); + up[count] =3D qemu_input_key_value_to_linux(p->value); + qemu_input_event_send_key_linux(NULL, up[count], true); + qemu_input_event_send_key_delay(hold_time); + count++; + } + while (count) { + count--; + qemu_input_event_send_key_linux(NULL, up[count], false); + qemu_input_event_send_key_delay(hold_time); + } + g_free(up); +} diff --git a/ui/ui-hmp-cmds.c b/ui/ui-hmp-cmds.c index 76f5181de43..ee3e731d07e 100644 --- a/ui/ui-hmp-cmds.c +++ b/ui/ui-hmp-cmds.c @@ -55,10 +55,11 @@ void hmp_mouse_move(Monitor *mon, const QDict *qdict) =20 void hmp_mouse_button(Monitor *mon, const QDict *qdict) { + /* HMP mouse_button bitmask: 1=3DL, 2=3DR, 4=3DM */ static uint32_t bmap[INPUT_BUTTON__MAX] =3D { - [INPUT_BUTTON_LEFT] =3D MOUSE_EVENT_LBUTTON, - [INPUT_BUTTON_MIDDLE] =3D MOUSE_EVENT_MBUTTON, - [INPUT_BUTTON_RIGHT] =3D MOUSE_EVENT_RBUTTON, + [INPUT_BUTTON_LEFT] =3D 0x01, + [INPUT_BUTTON_MIDDLE] =3D 0x04, + [INPUT_BUTTON_RIGHT] =3D 0x02, }; int button_state =3D qdict_get_int(qdict, "button_state"); =20 diff --git a/ui/meson.build b/ui/meson.build index bb01f0728e2..0c6a432948c 100644 --- a/ui/meson.build +++ b/ui/meson.build @@ -53,7 +53,6 @@ libui =3D static_library('qemuui', libui_sources + genh, ui =3D declare_dependency(objects: libui.extract_all_objects(recursive: fa= lse), dependencies: [pixman]) system_ss.add(png) system_ss.add(files( - 'input-legacy.c', 'input-barrier.c', 'input.c', 'ui-hmp-cmds.c', --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709879; cv=none; d=zohomail.com; s=zohoarc; b=GD0vzmcUHe22K+bQfLEGUbaUUY0YASVpFwyvdWpeh0USdYrbW5DcWIvd68vqobL3xPw0HHEHabSjfFIW3kw8lHGSdNDdA616Xead6FLEmFZxNfe8L4Obx5orGp6a8tkgqsUfN4ydGXRGCiaLROXQRslVOtuqg/jal3MaXUKbzhA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709879; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QZlgPeAIzVB8wWelEkToQIEJjMpOuV3QmyJ1I2lAteE=; b=VyC3TEuS3MDgZnV8/GEtC6P73HJ9XGsgAkC8ZV8ETtcF72SxUnXOG6JlHxDVlwTXezRe9vlNVqLJNAK3B5/RVxZxjroNmFQOjQZBuY9OsKquQNCTFzPzHe9dHRRkrXpHj8RAY76E1Tb2UwyIV4ubuZl3rpyikIkuQTTvBbQDg20= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709879213410.75744864474666; Wed, 17 Jun 2026 08:24:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7k-0005vN-P8; Wed, 17 Jun 2026 11:24:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7a-0005dF-8s for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7Y-00048P-Qj for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:06 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-634-H75bhh-rPQmqBSQPq5cMUg-1; Wed, 17 Jun 2026 11:24:00 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C50BF1955EBE for ; Wed, 17 Jun 2026 15:23:59 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9A1801800595; Wed, 17 Jun 2026 15:23:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709844; 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=QZlgPeAIzVB8wWelEkToQIEJjMpOuV3QmyJ1I2lAteE=; b=AyAhmLwpJPhmwcWFH9wG7dJFp5zGO5iYnnzD67QFu4qGXgvNHXHKx7ZZqR0+gxnJdxqev8 aYTXauS2iIADjTEWUuceV/AMHmmCJNKWfPBv0HvXPjXKgcjEyMSNb+QES6+yKoiATQnKsi ZJRH53QIAYSgxz7gTRPscgNkbWZH8GA= X-MC-Unique: H75bhh-rPQmqBSQPq5cMUg-1 X-Mimecast-MFC-AGG-ID: H75bhh-rPQmqBSQPq5cMUg_1781709839 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:03 +0400 Subject: [GIT PULL 06/27] hw/input: replace fprint with LOG_GUEST_ERROR MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-6-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=1627; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=i64B5wBDWTTS2scXV/L0tAQtJD6TZQuAuNdI7jfExcU=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvocJIEOFbtJBj9ftad25y8tqhfzEe4FP04L DmnbkYMUzaJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5SmVD/0TSBc9ICLKyGlLvxUuz+FA/qoKkYWOt5Phu4UC6gc1USxEtMC7F7KVdudcfi/H0gAzJoy kbQBWZROXpYJeWRLwZ1W8Ch10kIk+V1wuoaB9mZU4JpzTTXyo8ZxhicZH2Ej2rDBMhvTCd3WnPD qcVJnk3jSKnV8D6kCf2m0RQhf2RYupEVP4u7sxXvXOK/65lNVdwq+UbPdoxybpG6cwFp575BA6I B6cPL8SRsYYw+LQgkLKNMDmDXwzVvCBgfbDao6gB77UX27Han0SQaUjAgIHYRDuRxNeuuIn8BIH bszzwO2ZUAVGKnIhe6STDri5lbkfrhl/nqPhZQ/XQrN2q+Iy6OqaX+mZoeT1nqNlMN+Rfh5kIB9 nTQMwBTXAgO20yZLdIyaASBcL3vOz9r0rPOLegMReviuKdJM72Urqi9NeamRVYEEdteMVBq/Mq/ paz9GtLhRgjlTIZHGvRfVUux7FT2jugcd6fm/yAIQ6lCNQ+ABqpJPW1pFGnjsKnPG6lh2WuyA/J 8sA+ZUi2F3mQXyg0MXxb/GuGDxz8g71PfAcvtq1y378420ieTzturlDaW4OXD1YlQDGPFbLr/08 gM40mem+TzyYoET+0L2192mvXnK6OJr3Rcw1BlDHfZuu0N1dYZy3vcHK/rvd3G+7dXS1Oes4KUo ql5O1kYEricMipg== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709880024158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/input/virtio-input-hid.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c index 75fe45d89a2..73423ac0c73 100644 --- a/hw/input/virtio-input-hid.c +++ b/hw/input/virtio-input-hid.c @@ -6,6 +6,7 @@ =20 #include "qemu/osdep.h" #include "qemu/iov.h" +#include "qemu/log.h" #include "qemu/module.h" =20 #include "hw/virtio/virtio.h" @@ -107,9 +108,9 @@ static void virtio_input_handle_event(DeviceState *dev,= QemuConsole *src, virtio_input_send(vinput, &event); } else { if (evt->btn.down) { - fprintf(stderr, "%s: unmapped button: %d [%s]\n", __func__, - evt->btn.button, - InputButton_str(evt->btn.button)); + qemu_log_mask(LOG_GUEST_ERROR, + "%s: unmapped button: %d [%s]\n", __func__, + evt->btn.button, InputButton_str(evt->btn.button)); } } break; @@ -210,8 +211,9 @@ static void virtio_input_hid_handle_status(VirtIOInput = *vinput, kbd_put_ledstate(vhid->ledstate); break; default: - fprintf(stderr, "%s: unknown type %d\n", __func__, - le16_to_cpu(event->type)); + qemu_log_mask(LOG_GUEST_ERROR, + "%s: unknown type %d\n", __func__, + le16_to_cpu(event->type)); break; } } --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709881; cv=none; d=zohomail.com; s=zohoarc; b=StOmkTQKc8sfXhSeltBhGva2GwWfHe/vr6NRGMDgUuaz328qJdxtvGgJVeVM/Cnmg+ea0zMsXUeFoIrgolAbV2PkXltbn8XJKiC9MvwdwFgdYFzGsEZxsOsVI3VeSfxgKBQTGAF/pHouJu/0aNO8mnM8Lsb4pcrcZKi0k/6t4Jc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709881; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bWu6D5t7Opd+XQmsg/1pps1MzRkqkv9HveF3uY0C4iQ=; b=fF+PtMGNRh4vI9cp5nZOJZaOUWK7d2JNFP6X4kzElSD4p4kieDRdOd1jRl4Kv1VlGti3Xcdmaj1RItWco1IKX/psIcu/u+Xr0ugygiyiMtKvj5WB0YjMxJxk3QBws7BIwL18Fkijh9wpMTvFh0lo3dMv19+Dj6jx6CuJUAt5LE8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709881288450.63709310226125; Wed, 17 Jun 2026 08:24:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7n-000630-Gs; Wed, 17 Jun 2026 11:24:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7e-0005jM-Ne for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7d-0004BB-GC for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:10 -0400 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-121-hW4QEUObOoia9BwK-1lTyg-1; Wed, 17 Jun 2026 11:24:06 -0400 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8895A195C241 for ; Wed, 17 Jun 2026 15:24:05 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 45FC41771; Wed, 17 Jun 2026 15:24:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709848; 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=bWu6D5t7Opd+XQmsg/1pps1MzRkqkv9HveF3uY0C4iQ=; b=OrZODtzcd8ihJ5SZO2Cu5YeCc80ZtgqbuNGCrLIucmE+38hb7CRafxsFR7ruLsCYXWHEoC yvuM3WsPr3KZiyHLZ86+O69GllfkiCeRhTBQzg9fYoEwLCtthy2t1vqEYq6M/ELq1f4oQ+ BLVv2+ls1JFdH/8fAU0TDC465aHpXSI= X-MC-Unique: hW4QEUObOoia9BwK-1lTyg-1 X-Mimecast-MFC-AGG-ID: hW4QEUObOoia9BwK-1lTyg_1781709845 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:04 +0400 Subject: [GIT PULL 07/27] ui/input: remove double-notification on qemu_mouse_set() MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-7-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=564; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=v5aVxYQypNfJ40Do8t24jSMIgfUAFjVFOyXeK6PBHbs=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvoRZWC77uAjGnD4lf3wP+15PoAsvLf70WzN 7yC6vUCEc6JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5U/EEACquegfOt/d6XwlUd0usgznSDwqRnX3KxQ5muoSIl1CJjHXdB4BCG/46QQin3myQWvQ90p 7xEklCURLYgTRMK43ihzdBHF6JBNErz/856PMT57YRcoKgKAKrliOydBnI+WzoEninLnH0SjD10 3PakqiFPI5xHZWxYj/ogFebMen1Tmqp3sepjhOsRUBGNSjUWsP9KKwn4t4h8lh3rl7fTNRq6WR5 zzZyBVd4L4Il1Zu7lqBcSTACCFyFnFYrwZIjGjw/aY0Ne7Swp2e42JYPT1puH1Ct+XVWPlyQcSU t5vxYKdYo9YzsGgeL78FutsqnYMs1sJj8prMAU4EdLGuImqb0X+qBpd4QN94gZv0z5NHdFYH+/m XSKsbWBe6J1eWICheSSE9Ntu+we5ayQGekL5N4AaN0/0zXaGlspL/NJfC6i6ok0Ay0vA0yFVbNx pL9Vnm2jtckppW3IsXy3o/S4yo7l1OIgLkExoH7+j32S3t31pKPztbELTq2B2C74Fws+2RkxQcc 5MABSzbMXDge2h3f0klYXqxYJhSDoxUov+VX3RMvTvIOHVSjXWgkP0T77Oqbnnu+6QCxdgQRozE xdFplbrQaLsxuKfiAHNk7KHq1l25nKA7qMGuH7bx2ULkRGDerj9l/pVghDBoma8StC01nc+3E8g sgK9gI7pWrr/cvw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709882017158500 qemu_input_handler_activate() already notifies. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/input.c | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/input.c b/ui/input.c index 55769c66fcc..15affeabf44 100644 --- a/ui/input.c +++ b/ui/input.c @@ -580,7 +580,6 @@ bool qemu_mouse_set(int index, Error **errp) } =20 qemu_input_handler_activate(s); - notifier_list_notify(&mouse_mode_notifiers, NULL); return true; } =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709878; cv=none; d=zohomail.com; s=zohoarc; b=etph4GWGPMpCQj+wA4SSx3f8i6fmLQnqHntQkmaVDK+Qr8SQABS+InSPBMN++AlkwfaLUaMFZInlGDsY9gNwxfYT8Msi9oCrjrbI1s1LN4D6f/pDR2v5bcCe3yxYfjYIda2+8v59whJzeV2/YtD6++3fHF23V6oerc0/bw3ak/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709878; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AJcqLC9XeeBWHdsWf8jrmEai2wwzFgKipebFho3UbH4=; b=CI4L/TA3jeP6DVhbCOiJvDnEsacYTVFGFp6JfVlPz74KR1pgk9siOtl3AIVs7qhBY0b4WSHsEFmDEzaNS/c3I/EydayXhuyIEWk2ByVIs6VoPl31FsyvlR6UtpeRrEpXIA/dzNZqLDhSMPpG8OVZy1HYfvvpei0p09OSA/D8v/0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709878413641.7275230266188; Wed, 17 Jun 2026 08:24:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7p-0006I5-LF; Wed, 17 Jun 2026 11:24:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7l-00060w-BC for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7j-0004De-65 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:16 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-556-AFS5MorlOoy_bzqnZ_L6rQ-1; Wed, 17 Jun 2026 11:24:12 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2EE481806C98 for ; Wed, 17 Jun 2026 15:24:11 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0C0DE19540CB; Wed, 17 Jun 2026 15:24:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709854; 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=AJcqLC9XeeBWHdsWf8jrmEai2wwzFgKipebFho3UbH4=; b=JXCkq9GTF8+V1Z1nuWeimuaR9Kxj6/0TdLmW8cErDfZaDSu5xfQ78RtX6btfaQRgUxZZlk L3PWy2mrxCXv1FUF10QLIq4M5r5D+Rjx8CSgTFSngBfOn27ZKKXOHvYEHtzmKzomtUxZ6p vD6JBm/hlbnkpLkeWth/ACWsj4dGNA8= X-MC-Unique: AFS5MorlOoy_bzqnZ_L6rQ-1 X-Mimecast-MFC-AGG-ID: AFS5MorlOoy_bzqnZ_L6rQ_1781709851 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:05 +0400 Subject: [GIT PULL 08/27] ui/input: remove dead declaration MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-8-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=842; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=fR49RwXr8AqEM3MBiLeAIjVZu/I1P4iMul4UFUfHijg=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvovBJJDL672NUFVv9PizRGy97MLvBA2CycR zh6SRZg76aJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5a3JD/9FUs9dk0KiQDnYAFq9TbJrfqoTx5lqRcDyMgv5U5+7IVbhlj6WfH1OvfOS97fej1f6/25 W43TWliRv8jFTdGboS461eY4mhX5OC7qt2YXC0621vH74171zA6vv9jeXyfbo33jG8KjI4Nma64 /2jlUzsWghUL3FDNbx3HDn8E4+bEmRQe837BZ40Ix+q/U/PO2QYY8vCpxjWWIsdLR/+0FzGaOGT zl2kFwfcfMI64nDsaV/IZJdvbjbrzWaCXiJNg/HYuOdupkMEHyJuMeUEENiBYE1nZhjoR+R3oVz a0mPW/fptSKtyy2gQa5IITRmjlwimYQUvJSvvuVQh/CENNKqnnbdrydhz4Bv7GOnB83ZVqQ7X/T KOKyIYr5IJGac6KUAp6GyPPqym+YK6drUl01BQI2jtsBHGyYO7i+xp6R3Xri+fzyE32wmZyoR6+ eW77v7EWqsHEJhSmoepLDAB8ly+upVhg6yNY6XvLnPfjmlgy1Nj0h3hu+2qFg4uqBmQeO7tHdHw UA12lUJW3dsb83k3wsaplYr67/h/KxcxNWJWDfT2hhioBwrWqysG8oQZgu7Pru27RIHKJHLDBz7 /FyvJ4hGczNqFQYVKXChLkn8gbI795n42QJeWq5hS3xU9mFEwbnyrbXjEjqXNIb2ezL9uVBZTEl awrvlhkuRj/Jz3w== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709880043158500 Fixes: 0337e4123e6 ("input: Allow to choose console with qemu_input_is_abs= olute") Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Akihiko Odaki Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/input.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/ui/input.h b/include/ui/input.h index ea2d944a7ed..6df8ae3a8a3 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -100,7 +100,6 @@ void qemu_input_touch_event(QemuConsole *con, InputMultiTouchType type, Error **errp); =20 -void qemu_input_check_mode_change(void); void qemu_add_mouse_mode_change_notifier(Notifier *notify); void qemu_remove_mouse_mode_change_notifier(Notifier *notify); =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709874; cv=none; d=zohomail.com; s=zohoarc; b=gA3h/HDNI/z+Hl9Bn2aSmfNXD3x/RjRX59D/B8u63+zn2fNIfyTqcHvXBl1ZXikyMnFW7M4GvBIFlnJKt1R++BmTndTc/4j0mudufeU38y00nLFP10gpnsbq+VDMD3RkdHO+Yi6M5UD8eAyHjc0N/cGRDSnEyaoSnCthCjDrZV4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709874; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TJdx+GtfmUcKvBPQfDHf1MyZNQjHOQ/gxnkpV/U7Zbg=; b=lUMDdhJWC1rgCJCIKT+QJKeegrvR+c38jxC1iYyCiB8vwhQuaojWMuFOirdzgNDLP0j1zhMG+0bcMYmBuH04vIeBEwyIdBSsuLHpBrBQrEQkqDRk20ebGkrmI0zZHWWiK4sZVMojdX87MR+mIQIqipHo4lVyDuSs4v5VzgoPOh8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709874219592.9320854904199; Wed, 17 Jun 2026 08:24:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs7u-0006WF-72; Wed, 17 Jun 2026 11:24:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7q-0006Nu-Ma for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7o-0004FK-Kb for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:22 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-373-1HQ2aOudPCuv9i_P5SDl0A-1; Wed, 17 Jun 2026 11:24:17 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C9D6A1956068 for ; Wed, 17 Jun 2026 15:24:16 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id AD2A81955BC2; Wed, 17 Jun 2026 15:24:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709860; 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=TJdx+GtfmUcKvBPQfDHf1MyZNQjHOQ/gxnkpV/U7Zbg=; b=FntzOhCW+CxFijeQY9gU86wUk4nwyBPyBbv8p8bjq6Q1zGzjMOQF1lBT+KnlbFIq+2LlXx 33NJBfw4GBc8GivNR0vJ8LPj0v9MSge5nQd3W8+/tOQO/VCGUqcYOz/+AtcaYLy8UbseaD MzC1Nse80XiXXkv5PIMUiI17yCN+7zI= X-MC-Unique: 1HQ2aOudPCuv9i_P5SDl0A-1 X-Mimecast-MFC-AGG-ID: 1HQ2aOudPCuv9i_P5SDl0A_1781709856 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:06 +0400 Subject: [GIT PULL 09/27] ui/input: add LED state tracking to QemuInputHandlerState MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-9-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=5509; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=LS0IYMR3aKAli1KvYahR8dddvg0ZlI8Myzv0qOA2FHk=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvoHtwQVWISk4AffCgvU8DGSDtRF2SR/5FGf nQbKpG10rOJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5eBLEAC67s9GgF3X/lOc//vGnAsQQqXlchIW1Pc6NWq9WlZfRaI52KOS/DdzAjURkJFhzBqvQzf eqxGogv9dRIDBlD1+2rbHQz0ED4jvw4BLiXMyI40Q07PtarNz8HujehhcG8ATezLoEpumJIg1tU smRYVe9nFlCvjGpkK3+zLH3Uy74DO7IhmVqVRCoecjI8qir+elu7TQWj2tK+pNQDTRls0UUWO1t mj820upmg+tkfLBB2R4+2tFdhcsnWgwZKsZFn4j2ETj2yFhIhnQMvXk+Fpr6UYl+lVDuuQ9r61I ncX6GE6mF0qSL/hpzSjD3GANCwKEPtZiyvUvjRlSk7vxY6yzNwXyeasjuW5+kUv1DIOla/B9lVN Md2rTsu5MZy3Ur8JZn7ftzmkeZwsGMND/3evIJ6oKHwIJz4TEn+MMOS3cqVQ4lpnvpDggf0O3QC iq600gCMPcVY9XDB3pCCxYXjGyB+jMSOkYBLpWjlQxHQMDCBYtmzDVWbzOzqU/9N7wIKWBFmMZz grnegJUAoiLuLctL2tEez0txPMMUTb8rQdiPcMlrw4UOI6KU+hb7vS/Mmavz3vQCpm2X/D2hXSk CTKVNPkB7nulvUDcK+5es7CQapTOYWYW4vvKJZ9jYdeByvHaJ1BxI6JZabtQ9+XzzQDBsZpXjOX KLHQwbsPpdFCEig== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709876077158500 Add per-handler LED state and a NotifierList for UI backends to subscribe to LED changes. Devices call qemu_input_handler_set_led() to store their LED state and notify backends. Notify also on focus change, or list update. Note: I considered conflating mouse-mode & led-state changes, but those are quite different events (from different source kinds etc) and we may want to improve the internal implementation. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/input.h | 11 +++++++++++ ui/input.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/include/ui/input.h b/include/ui/input.h index 6df8ae3a8a3..11146c92bd4 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -151,4 +151,15 @@ extern const guint16 qemu_input_map_xorgxwin_to_linux[= ]; extern const guint qemu_input_map_osx_to_linux_len; extern const guint16 qemu_input_map_osx_to_linux[]; =20 +/** + * qemu_input_get_leds_mask() - get the LED mask for the given console + * @con: a QemuConsole or NULL + * + * If @con is NULL, returns the LED state mask for the default console. + */ +uint32_t qemu_input_get_leds_mask(const QemuConsole *con); +void qemu_input_handler_set_leds_mask(QemuInputHandlerState *s, uint32_t l= eds_mask); +void qemu_input_led_notifier_add(Notifier *n); +void qemu_input_led_notifier_remove(Notifier *n); + #endif /* INPUT_H */ diff --git a/ui/input.c b/ui/input.c index 15affeabf44..3e362c05787 100644 --- a/ui/input.c +++ b/ui/input.c @@ -14,6 +14,7 @@ struct QemuInputHandlerState { int id; int events; QemuConsole *con; + uint32_t leds_mask; QTAILQ_ENTRY(QemuInputHandlerState) node; }; =20 @@ -38,6 +39,8 @@ static QTAILQ_HEAD(, QemuInputHandlerState) handlers =3D QTAILQ_HEAD_INITIALIZER(handlers); static NotifierList mouse_mode_notifiers =3D NOTIFIER_LIST_INITIALIZER(mouse_mode_notifiers); +static NotifierList leds_notifiers =3D + NOTIFIER_LIST_INITIALIZER(leds_notifiers); =20 static QemuInputEventQueueHead kbd_queue =3D QTAILQ_HEAD_INITIALIZER(kbd_q= ueue); static QEMUTimer *kbd_timer; @@ -45,6 +48,14 @@ static uint32_t kbd_default_delay_ms =3D 10; static uint32_t queue_count; static uint32_t queue_limit =3D 1024; =20 +static void notify_input_changed(uint32_t mask) +{ + notifier_list_notify(&mouse_mode_notifiers, NULL); + if (mask & INPUT_EVENT_MASK_KEY) { + notifier_list_notify(&leds_notifiers, NULL); + } +} + QemuInputHandlerState *qemu_input_handler_register(DeviceState *dev, const QemuInputHandler *handle= r) { @@ -55,8 +66,8 @@ QemuInputHandlerState *qemu_input_handler_register(Device= State *dev, s->handler =3D handler; s->id =3D id++; QTAILQ_INSERT_TAIL(&handlers, s, node); + notify_input_changed(handler->mask); =20 - notifier_list_notify(&mouse_mode_notifiers, NULL); return s; } =20 @@ -64,21 +75,23 @@ void qemu_input_handler_activate(QemuInputHandlerState = *s) { QTAILQ_REMOVE(&handlers, s, node); QTAILQ_INSERT_HEAD(&handlers, s, node); - notifier_list_notify(&mouse_mode_notifiers, NULL); + notify_input_changed(s->handler->mask); } =20 void qemu_input_handler_deactivate(QemuInputHandlerState *s) { QTAILQ_REMOVE(&handlers, s, node); QTAILQ_INSERT_TAIL(&handlers, s, node); - notifier_list_notify(&mouse_mode_notifiers, NULL); + notify_input_changed(s->handler->mask); } =20 void qemu_input_handler_unregister(QemuInputHandlerState *s) { + uint32_t mask =3D s->handler->mask; + QTAILQ_REMOVE(&handlers, s, node); g_free(s); - notifier_list_notify(&mouse_mode_notifiers, NULL); + notify_input_changed(mask); } =20 void qemu_input_handler_bind(QemuInputHandlerState *s, @@ -98,7 +111,7 @@ void qemu_input_handler_bind(QemuInputHandlerState *s, } =20 static QemuInputHandlerState* -qemu_input_find_handler(uint32_t mask, QemuConsole *con) +qemu_input_find_handler(uint32_t mask, const QemuConsole *con) { QemuInputHandlerState *s; =20 @@ -122,6 +135,23 @@ qemu_input_find_handler(uint32_t mask, QemuConsole *co= n) return NULL; } =20 +void qemu_input_handler_set_leds_mask(QemuInputHandlerState *s, uint32_t l= eds_mask) +{ + assert(s->handler->mask & INPUT_EVENT_MASK_KEY); + s->leds_mask =3D leds_mask; + notifier_list_notify(&leds_notifiers, NULL); +} + +void qemu_input_led_notifier_add(Notifier *n) +{ + notifier_list_add(&leds_notifiers, n); +} + +void qemu_input_led_notifier_remove(Notifier *n) +{ + notifier_remove(n); +} + void qmp_input_send_event(const char *device, bool has_head, int64_t head, InputEventList *events, Error **errp) @@ -445,6 +475,17 @@ bool qemu_input_is_absolute(QemuConsole *con) return (s !=3D NULL) && (s->handler->mask & INPUT_EVENT_MASK_ABS); } =20 +uint32_t qemu_input_get_leds_mask(const QemuConsole *con) +{ + QemuInputHandlerState *s; + + s =3D qemu_input_find_handler(INPUT_EVENT_MASK_KEY, con); + if (s) { + return s->leds_mask; + } + return 0; +} + int qemu_input_scale_axis(int value, int min_in, int max_in, int min_out, int max_out) --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709885; cv=none; d=zohomail.com; s=zohoarc; b=N4hZKTo6HOLOtTvipyOlSpfnzy/O+6hML3UW8z9nfWDb7ez34YFnbparFfY8kTMJLRX+QkPIIPFNmxQMfDA39kLlGbUrsh8F1c6FDOMTnTofeAjK798scP5EFmwJrfs1cSyT+iq4zvnZ40GxArzwctwqhEAzfjl19I8lmCuHdhw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709885; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ThQPvh/6KMck6XC4Go6k9daunEMDeU/oyPrV5UqYbus=; b=O8W3SWws2hjbG/RbfvyWPJSlmi9qFWBuj1EXIKk+jZs0qsmoGjk9dxcX4VuU+0KCRs6tC3ypqCaEFcKJr9hMzet1dHhXAqHZOAgjrJs+Ep8AMWReRgL/zeOrHjHu3uNmigxDxGoaQorXDkQ7+psAaX3Vm8zJtM9fQo+KWmzo074= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709885070502.35763110581524; Wed, 17 Jun 2026 08:24:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs83-0006pg-Sh; Wed, 17 Jun 2026 11:24:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7v-0006a1-D5 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7s-0004Fm-T0 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:26 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-453-qyvIpArqMJKXyiy8P-Ta4w-1; Wed, 17 Jun 2026 11:24:22 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0A7581806C97 for ; Wed, 17 Jun 2026 15:24:22 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EEE671955BC2; Wed, 17 Jun 2026 15:24:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709864; 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=ThQPvh/6KMck6XC4Go6k9daunEMDeU/oyPrV5UqYbus=; b=FO6/xtWgMMyPs7oGRLf8zPijPpcARsh7QCxuK/vvpGcFQu3+TNzy41N7Dp1yVAYio0iI+x PsRj3ebzBDDtUmcaWqQ2MKk8tr4xOZcsk+LPn0O0sTHWn6iD0sdrfJ8suwkEMxgMhUEUW8 LzGCn39azKzlaj6tbBmHWUFQkjdOyH4= X-MC-Unique: qyvIpArqMJKXyiy8P-Ta4w-1 X-Mimecast-MFC-AGG-ID: qyvIpArqMJKXyiy8P-Ta4w_1781709862 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:07 +0400 Subject: [GIT PULL 10/27] hw/input/ps2: keep QemuInputHandlerState in PS2State MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-10-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2933; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=HRbJvGcvY/gPmNkSLQ78JPU6/EdaocsZHw4YvB7qXuE=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvon+v1wqXDZsujvZ6V/z14xXWcbEJ1ZsL5B PvHdi1AO9uJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5ajrD/9jfqtGSOsIAU5NZqwAk/s8vj67Bspy3pzo5wh1PQCJnERxWw1k/8wPRR5ParpBg49uTua 7nnov9nqvMHheTRwj90SPU1XG+7yAEFyp84eAoK9kYVxlASzgc5y2UKhi/2KpsCeP+gmnntKd01 OwU7BUCy87Kut49uq4rBGZcU+NDLesxDvAglEIzzLlKCKHoRKtU8Ow9FnzmxKfvXea6iynKML4E h1ysufltod549EY3sVaXBasOrPdkoi9wRAXNh+j6FTRQW7vDs7mpKngLLouzJzKjHDRrKWQRpC0 WwSD0xTkK3echhvbs3bHFXHxWXHFdpB9GgEV+Gr83aZzfEv2wGRwRc4kGAG+hzQzz+MFInABlJz w74f5tCy2qgepkCz//eDVUe//uPmlc6RSgOs0pG4Bgl0qAO+jUVVK/yv9u0lsngzppwRjPp8fLJ vHiaxtOFHsvqoQqHigvqLPD/0FoqzMttgGj94QPd61TOy5Et5so/NForzT3M5Acohxa+r9E2Mki WnwvxX7sbP1lpkbsHM8SOSofWnIrpqzomMyHfFYXKSpAKSb/dPlPIEaG6pyPXa484QRfpdhX93V ATgm01ImRIrXMByp07vPRCxQjmO4u7MDdtdTC0YbsE+FWPHUz2WDj4tRdQvjq+vm2BAHM76zYhf Ml9oGbTqtpkKSnw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709886105158500 Track the input handled state, and dispose it on unrealize. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/hw/input/ps2.h | 2 ++ hw/input/ps2.c | 24 ++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/include/hw/input/ps2.h b/include/hw/input/ps2.h index 058db3e0890..d0c532a38f2 100644 --- a/include/hw/input/ps2.h +++ b/include/hw/input/ps2.h @@ -26,6 +26,7 @@ #define HW_PS2_H =20 #include "hw/core/sysbus.h" +#include "ui/input.h" =20 #define PS2_MOUSE_BUTTON_LEFT 0x01 #define PS2_MOUSE_BUTTON_RIGHT 0x02 @@ -59,6 +60,7 @@ struct PS2State { PS2Queue queue; int32_t write_cmd; qemu_irq irq; + QemuInputHandlerState *hs; }; =20 #define TYPE_PS2_DEVICE "ps2-device" diff --git a/hw/input/ps2.c b/hw/input/ps2.c index f2523ff4bc7..97df7a9a43e 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -1233,7 +1233,16 @@ static const QemuInputHandler ps2_keyboard_handler = =3D { =20 static void ps2_kbd_realize(DeviceState *dev, Error **errp) { - qemu_input_handler_register(dev, &ps2_keyboard_handler); + PS2State *s =3D PS2_DEVICE(dev); + + s->hs =3D qemu_input_handler_register(dev, &ps2_keyboard_handler); +} + +static void ps2_kbd_unrealize(DeviceState *dev) +{ + PS2State *s =3D PS2_DEVICE(dev); + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static const QemuInputHandler ps2_mouse_handler =3D { @@ -1245,7 +1254,16 @@ static const QemuInputHandler ps2_mouse_handler =3D { =20 static void ps2_mouse_realize(DeviceState *dev, Error **errp) { - qemu_input_handler_register(dev, &ps2_mouse_handler); + PS2State *s =3D PS2_DEVICE(dev); + + s->hs =3D qemu_input_handler_register(dev, &ps2_mouse_handler); +} + +static void ps2_mouse_unrealize(DeviceState *dev) +{ + PS2State *s =3D PS2_DEVICE(dev); + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static void ps2_kbd_class_init(ObjectClass *klass, const void *data) @@ -1255,6 +1273,7 @@ static void ps2_kbd_class_init(ObjectClass *klass, co= nst void *data) PS2DeviceClass *ps2dc =3D PS2_DEVICE_CLASS(klass); =20 dc->realize =3D ps2_kbd_realize; + dc->unrealize =3D ps2_kbd_unrealize; resettable_class_set_parent_phases(rc, NULL, ps2_kbd_reset_hold, NULL, &ps2dc->parent_phases); dc->vmsd =3D &vmstate_ps2_keyboard; @@ -1274,6 +1293,7 @@ static void ps2_mouse_class_init(ObjectClass *klass, = const void *data) PS2DeviceClass *ps2dc =3D PS2_DEVICE_CLASS(klass); =20 dc->realize =3D ps2_mouse_realize; + dc->unrealize =3D ps2_mouse_unrealize; resettable_class_set_parent_phases(rc, NULL, ps2_mouse_reset_hold, NUL= L, &ps2dc->parent_phases); dc->vmsd =3D &vmstate_ps2_mouse; --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709887; cv=none; d=zohomail.com; s=zohoarc; b=fzZMC5wPUb8SnMuUJSorVLXcXJh+8RUHOsPytzBxK2XoOER7lqIVJUHEX59/Zb3TSuuQuHlO2/0KjgxMGjFDdg9w6dNMHUF+z8Sdmi12/jJD/H2qb1e2tKjnbIQt3fSUpuNo3AdZ0+IM8mn2Dq9MPBmjkgBaukFt7cchdfZla8M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709887; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OS0BvrZteOopO22QianGRQGnCdCp4nlyvY3EnxVGj8g=; b=WrGmfAriGZ5pp/HQPQ3E13qJHumpQiv3mI9KJvGXTks+noPphyCRljMe5T4vRtVA606Cx40OdD8/0sb7UWgf2X63G52qEg9aCpc1Hs4fUdeHWgeJwqlfsIxmPGtAJ+P0Yr6/Q+fn8kda0To9Uaut2TF/REbwXMRU2lJSBsZskmQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709887638827.2387207464088; Wed, 17 Jun 2026 08:24:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs86-0007Ax-75; Wed, 17 Jun 2026 11:24:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs82-0006rK-25 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs7y-0004J7-No for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:33 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-517-Cuoqjze-P6K7rK2hXhQ81Q-1; Wed, 17 Jun 2026 11:24:28 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BDB73195395D for ; Wed, 17 Jun 2026 15:24:27 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9546018005B3; Wed, 17 Jun 2026 15:24:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709869; 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=OS0BvrZteOopO22QianGRQGnCdCp4nlyvY3EnxVGj8g=; b=fF4B/MgDZFzhHX6E4EkSYNWwNdv81ygGyozR7Sf/9GWI9v8fq8gF7FmNiG8d+Ydk3x5Pki fKCBkALD2lVlGohfavjNDmbMxG7rTS1ytDrzp/3EXgre7kZN4Zl35HpZXFuKXmCk+wY04F C4AmQh+gxBq+YDja/3VIO9gXrhU0QH0= X-MC-Unique: Cuoqjze-P6K7rK2hXhQ81Q-1 X-Mimecast-MFC-AGG-ID: Cuoqjze-P6K7rK2hXhQ81Q_1781709867 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:08 +0400 Subject: [GIT PULL 11/27] hw/arm: keep QemuInputHandlerState in musicpal MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-11-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=1500; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=QJ+id6RnEmy1UMWxYzi3z2UECPHZM98p4AGKtZtfKoA=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvoBQxejkcPdnMlHGCRiag+994WQ2Joueegc EQ9msYx5/CJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76AAKCRDa6OEJdZac 5W23D/4ndabr9fxP/N9KMngXCVD4N6hAu/3II186vMmAlFsU5pFaKs+4cCTCk8lzT7rsQO2kQsX 15fS5rH9w+Cz5IdySSdh9Cuogzp1lXi4x52ECjVZBf+pfT+KrwpH04tWKiuIcWHaneUW31XROxK YYCSTr2JHBKCIZ3GY+y5XigwJrTHqqmvPxQTSaT2KYTz5n3G0cttaMcVPqSk3yrT1cdErilGCU6 T9T9oPq1ZThuRlXk4pVAHhPC54XW8EoFLvF+UHKYDHI4o6rUgV3gV7ivohtzf1lqIJsbn4g5dpN mgH3sjYIYHvGn9ROFNNPifNhpOujyFr4WYdGcSH0HJGunV7CrrOLNpuhdUB57maHeTcMifM8K7z j1sju8ET4lcPEZxbHYQSsRaxFFDUPhxY2GYFVaxPnXJ52m9pfyLbWLvnnj0niKJO3pxLgEaKhDZ phJuNjj3rlQ2D95Rjaubt9SqZ5xf6PjEboU7m8qgOsllICY/TwsJUCBanyPo9E0mmDn4NVkQ2A+ Evnd5eejB2LClPgGbHbHPv2/SEY+0EzUw0ON2rgWp6+q4zkUaxQr0Lo+rQer/sSWhgryQN6ThOw 1RoIabnsQF/hi8josgCZtXTXYgYY0clzGIDc8llnDDQvzQXM+CuVLWy1PCXMZkknwbljAEhKQ5E cfxvnEp199u/guA== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709888108158500 Track the input handled state, and dispose it on unrealize. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/arm/musicpal.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index e2630243eb7..69e83bdd973 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1062,6 +1062,7 @@ struct musicpal_key_state { SysBusDevice parent_obj; /*< public >*/ =20 + QemuInputHandlerState *hs; uint32_t pressed_keys; qemu_irq out[8]; }; @@ -1158,7 +1159,16 @@ static const QemuInputHandler musicpal_key_handler = =3D { =20 static void musicpal_key_realize(DeviceState *dev, Error **errp) { - qemu_input_handler_register(dev, &musicpal_key_handler); + musicpal_key_state *s =3D MUSICPAL_KEY(dev); + + s->hs =3D qemu_input_handler_register(dev, &musicpal_key_handler); +} + +static void musicpal_key_unrealize(DeviceState *dev) +{ + musicpal_key_state *s =3D MUSICPAL_KEY(dev); + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static const VMStateDescription musicpal_key_vmsd =3D { @@ -1177,6 +1187,7 @@ static void musicpal_key_class_init(ObjectClass *klas= s, const void *data) =20 dc->vmsd =3D &musicpal_key_vmsd; dc->realize =3D musicpal_key_realize; + dc->unrealize =3D musicpal_key_unrealize; } =20 static const TypeInfo musicpal_key_info =3D { --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709883; cv=none; d=zohomail.com; s=zohoarc; b=VcD+uxFikCP63bQU3yJTLWy/KUXHbaj2Iz2lSMeSjqM1wSQGrCpMg/wwlh3NC+wr6S2RggCZYUgumLYhCdvMxVTm2232sSuK89c0eO36ykMY5gwpZPvanIP9A+1TPTUxROVEJWVWDIBfjVklTtPPR3yTTRZeMTEVXCZQdR338TE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709883; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=veqIheazVSNeAGffIbSjjrfNv+j5lmphVNvLCzpp0bU=; b=Cg2NfF7j8unxlUoeblOk6sd0XPCB4A+PxW4sqayjhdLSkfi7T1/aTA00NX79aY/Ja4j1EWeO5PpjTIdG9exx8WUNx8l8Zc84tF/BHmJ6Dy7byY6ZfCk0YNd+YA2uYictogkRfBLVH3LcNxcoRwYVnGGk56UoA6F86StpD/+7cmU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709883917382.36832445034986; Wed, 17 Jun 2026 08:24:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs87-0007Mj-K8; Wed, 17 Jun 2026 11:24:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs85-0007B2-EX for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs83-0004M6-O5 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:37 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-308-Xbq1eLy3PT6wZucnsSsyDg-1; Wed, 17 Jun 2026 11:24:34 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1A6061800581 for ; Wed, 17 Jun 2026 15:24:33 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id E2C661955BC2; Wed, 17 Jun 2026 15:24:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709875; 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=veqIheazVSNeAGffIbSjjrfNv+j5lmphVNvLCzpp0bU=; b=bZVeoAjLvLV26PGPX6bNWks4F2ELRXO8pajd/ANHL7wYWXaRGzyHRpsrFcVsspFr5qXtCN B/jp/LR1qLvex6eJRtUFppUa9S1pccw6/vzgem+5H6v1jX7VyoEHwT+6NKB77LZvgOv8++ H0V/S8lIhNwhdZ+FsC7dQXkGza1JOrI= X-MC-Unique: Xbq1eLy3PT6wZucnsSsyDg-1 X-Mimecast-MFC-AGG-ID: Xbq1eLy3PT6wZucnsSsyDg_1781709873 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:09 +0400 Subject: [GIT PULL 12/27] hw/input: keep QemuInputHandlerState in adb-kbd MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-12-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2010; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=SZvZzOXK1/3PzlA7TyLmVM26YUEPvp9224SDkFz4kOY=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpXrTL8SCk7W2NDya1sAAQqi8f4qPFkG1t/ mveKWuArrOJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5e5AD/9dT96c66BFsQugNv7WuRNfd/TakoDlt82OOaO8duuDjjk63dDmgsKwI14fGxaqQ/xaMrS n/YOzesJ7doX6h42aEjGEb3il2fzvCV9v7iWMgLuu/DRMHoY4DY6odT9LlbsIRs/uAPde2YcuXu Auz8x58J+/FbxirI52v16DYz4vyCwPoW0Sf3dKMmG6Tp3osTxxqNbSevCtni76p+fuYqQsQZ3nJ dcukwwLM+LrOTSHUSS7RJmprgZsfG7AAtIBNI5F/tBr8LPuDrbDbu/gYR0sheWHuRaADH1UO+9w m6uz+ZlRxSHKu5Ohm+TSYXFc+rbg2y+Ke5XeLbh7dthv7Y+/MICltHlQYppHhxupLgnEyg/v9PK 8H39URVo15MTASVsjNUrMLGJ+PB4PDh7hy5NG0PyUhdrTHBFH8ycdKiLmQk4ZpWCILaq9mmCTCR G6AcQMBO0WPx/Ex52Di3hoAsWY7FJruHAHQlyt4zsZw6YeL/muPJn1JZZOj4blQoiAtEudPQaq7 fKKXyBVsUVMY8icKANSvYIsfKAiqVo6jkT6umieupUxibzU7/6yRMZ6ERvDwhRXgwc42ZV5EBiQ Z6CNwQHCpE4Sa4885PAKzkcRnX0mavM8YtERzNQYdojqrx/ae9ZnJxshq8mRHVg/wpzIw4+SjmK hnKlpSK5jCi+71Q== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709886092158500 Track the input handled state, and dispose it on unrealize. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/input/adb-kbd.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/hw/input/adb-kbd.c b/hw/input/adb-kbd.c index c4ef9ebb90c..ece51d5df72 100644 --- a/hw/input/adb-kbd.c +++ b/hw/input/adb-kbd.c @@ -40,6 +40,7 @@ struct KBDState { ADBDevice parent_obj; /*< public >*/ =20 + QemuInputHandlerState *hs; uint8_t data[128]; int rptr, wptr, count; }; @@ -51,6 +52,7 @@ struct ADBKeyboardClass { /*< public >*/ =20 DeviceRealize parent_realize; + DeviceUnrealize parent_unrealize; }; =20 /* The adb keyboard doesn't have every key imaginable */ @@ -361,9 +363,20 @@ static const QemuInputHandler adb_keyboard_handler =3D= { =20 static void adb_kbd_realizefn(DeviceState *dev, Error **errp) { + KBDState *s =3D ADB_KEYBOARD(dev); ADBKeyboardClass *akc =3D ADB_KEYBOARD_GET_CLASS(dev); + akc->parent_realize(dev, errp); - qemu_input_handler_register(dev, &adb_keyboard_handler); + s->hs =3D qemu_input_handler_register(dev, &adb_keyboard_handler); +} + +static void adb_kbd_unrealizefn(DeviceState *dev) +{ + KBDState *s =3D ADB_KEYBOARD(dev); + ADBKeyboardClass *akc =3D ADB_KEYBOARD_GET_CLASS(dev); + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); + akc->parent_unrealize(dev); } =20 static void adb_kbd_initfn(Object *obj) @@ -381,6 +394,8 @@ static void adb_kbd_class_init(ObjectClass *oc, const v= oid *data) =20 device_class_set_parent_realize(dc, adb_kbd_realizefn, &akc->parent_realize); + device_class_set_parent_unrealize(dc, adb_kbd_unrealizefn, + &akc->parent_unrealize); set_bit(DEVICE_CATEGORY_INPUT, dc->categories); =20 adc->devreq =3D adb_kbd_request; --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709921; cv=none; d=zohomail.com; s=zohoarc; b=Xo/YYHQ1ZtKcaNZjlG9tJPTF4kt/a94L4BGIkjUAWWIQAIAXI/2mv/GwVS8dOsQjad5s8eLrEfxK0oatec0Sii5b43sCj/Dt1q4rJKbMyUch+XRBDLcPrkHi3kCaxiC33zowqq5uVVHej6BnT4idqE24xtm5IAAhXuPZnsm17sE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709921; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bFuHXn1a4HZLi+ZiWQR6/9L0ttH0GIGQ74TtaECR1mI=; b=Ge6ahMnADx4dPtB31nR8odeU0DZhZE64gK0R9xdfZX+ApmwVc3BjQvbbH3WTVlgPY1BWnyPDsskNVqzwPr8i0uMSeDXA6ZBHpOTtmM9IPO0BNf552ANkMG298SmJgVwdQ30MOONOjfW40WoPq4hx/LsSpF5jqBNqqs6fyqvGltg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709921822149.23215786233175; Wed, 17 Jun 2026 08:25:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8g-0000S6-VT; Wed, 17 Jun 2026 11:25:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8B-0007vU-Fq for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs89-0004OI-Ip for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:43 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-101-mXQDvEttOL6kV8gH1Q4n7Q-1; Wed, 17 Jun 2026 11:24:39 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6CEAE19539BC for ; Wed, 17 Jun 2026 15:24:38 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 31DA218005B6; Wed, 17 Jun 2026 15:24:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709880; 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=bFuHXn1a4HZLi+ZiWQR6/9L0ttH0GIGQ74TtaECR1mI=; b=hyJvWwkhgN69m0mlRPVSmWrosgR8rZs3BD8nRUSkzg4Y8RAe2DaSosf+MBPDWYbdy6m6+B MsuYOjVCgduNFzKkTZR25DijRZ4VuR8HkyEFMXqEw48QH3sM9SweDuXfsJYTrXLp3igMBK WGUBwKu7S/+azyWdWl0cVvRswdPcB14= X-MC-Unique: mXQDvEttOL6kV8gH1Q4n7Q-1 X-Mimecast-MFC-AGG-ID: mXQDvEttOL6kV8gH1Q4n7Q_1781709878 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:10 +0400 Subject: [GIT PULL 13/27] hw/input: keep QemuInputHandlerState in stellaris MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-13-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2322; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=xge/K+Jj02hX/XLvoqYHxXtf7aahrJ54qsucnmC3qhs=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvptzG90qQC1MhGYDPiM22cndGvkOIotLNWh fSfts+CmgCJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5fNlD/9YZm+RT/cLr5vQ2gRWlniUj0x7LBoWXvO5Z3H0akcpdTuamGM820s61RjY2G7Kv57GVap Br0spJZKaC1cOsU0oQBfy7Nw/wRcLXa60fSxo6x2vGdOxdfsd8+DwUvCT0fONX2ZExfMr/K5AvA WiELUvAOY1gLws6g6OhWzKfadP4m6Zbw6kcp/4VxJ4Hp1cBy67l+xd9dXcpfTXENfuSVu0B9Nfq qmeES3DmmAzevx7P+1ANDF8uKV1OdjrBRVyyvlMzkC4x9qCeO51Kz1MD0Vyaz+bAnGyQaZrA2VY T7Ba/VlfDI+rQK5USvuYKupz8VJ5fMpexuKtdGkk4viEFs81NihdbeF17NPkPGP93kvT0wxwOJ5 g9qkBpwSMV33PijMbMkYJOrK9CEf7Ejri4kM1t2XDLh3mU3JMd1o4K7qjz1yM+1JphkjJC6vQuX /Dht95NQMjN5CxKZhuV6odGG3FksrRjCVNrkWz8WcGCo0rT8fm6Z6y+4SqPoO6bPIXoZ9SD42Xi ukUWEu6EAYunYdctJL6QY/NOMdI8MkyOs5Btc5h7KQxLoL0P+MZ6Gg/zBKkuylfu+PRWxXr2xSn +pvP9yJePnU/5034ItEoBl+JtYV7XvzSAkiL+ioAU1etLZA/Od5GKKLB6JdAqeKY2xL1FuJJWKB lWVZxY23ffMWOlg== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709922353158500 Track the input handled state, and dispose it on unrealize. Also free some allocated fields during unrealize. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/hw/input/stellaris_gamepad.h | 2 ++ hw/input/stellaris_gamepad.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/hw/input/stellaris_gamepad.h b/include/hw/input/stella= ris_gamepad.h index e011482646f..c1069735010 100644 --- a/include/hw/input/stellaris_gamepad.h +++ b/include/hw/input/stellaris_gamepad.h @@ -13,6 +13,7 @@ =20 #include "hw/core/sysbus.h" #include "qom/object.h" +#include "ui/input.h" =20 /* * QEMU interface: @@ -28,6 +29,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(StellarisGamepad, STELLARIS_GA= MEPAD) struct StellarisGamepad { SysBusDevice parent_obj; =20 + QemuInputHandlerState *hs; uint32_t num_buttons; qemu_irq *irqs; uint32_t *keycodes; diff --git a/hw/input/stellaris_gamepad.c b/hw/input/stellaris_gamepad.c index 25769fc2616..376d91abad7 100644 --- a/hw/input/stellaris_gamepad.c +++ b/hw/input/stellaris_gamepad.c @@ -59,7 +59,16 @@ static void stellaris_gamepad_realize(DeviceState *dev, = Error **errp) s->irqs =3D g_new0(qemu_irq, s->num_buttons); s->pressed =3D g_new0(uint8_t, s->num_buttons); qdev_init_gpio_out(dev, s->irqs, s->num_buttons); - qemu_input_handler_register(dev, &stellaris_gamepad_handler); + s->hs =3D qemu_input_handler_register(dev, &stellaris_gamepad_handler); +} + +static void stellaris_gamepad_unrealize(DeviceState *dev) +{ + StellarisGamepad *s =3D STELLARIS_GAMEPAD(dev); + + g_clear_pointer(&s->irqs, g_free); + g_clear_pointer(&s->pressed, g_free); + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static void stellaris_gamepad_reset_enter(Object *obj, ResetType type) @@ -81,6 +90,7 @@ static void stellaris_gamepad_class_init(ObjectClass *kla= ss, const void *data) =20 rc->phases.enter =3D stellaris_gamepad_reset_enter; dc->realize =3D stellaris_gamepad_realize; + dc->unrealize =3D stellaris_gamepad_unrealize; dc->vmsd =3D &vmstate_stellaris_gamepad; device_class_set_props(dc, stellaris_gamepad_properties); } --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709925; cv=none; d=zohomail.com; s=zohoarc; b=eK/uSZnluh7aKZSiwd98IxB69O5A1ZzuiMLC6y2ICR4DnU7PY0WhXTVI/v0Ls3hC1H4AJaS/I32KUfLyWvk51mojPw85Wdam/a+OTCqLZpyaNLpfoOs4K1EgabbzdKTi6ktBUGvOIvJJZspcNgIzy597Pg/WleDmhWFTIK31qII= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709925; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Fyg+V/YGlQ10OA7N0ZvlQJ2lOYS9yJAZDhN3+859L6s=; b=RVwvCK0AQPDhEr64GigkkL4fIkehcHoS6o7k7PYASdMSbph4AEpN86ay+JGMwXEYF6HowpnHs6a6+9WZ38LM/NnZRQqSuQ8008Eiig2i+eXnwgkKCOdsdJqGXfKcuBTsrqqCx56EB4EpIYB3QuqV3HwUd/TIbR1Ez/ey3yvB2Og= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178170992546435.17522666585717; Wed, 17 Jun 2026 08:25:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8X-0008KL-KJ; Wed, 17 Jun 2026 11:25:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8I-00080J-6k for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8G-0004PE-7Y for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:49 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-549-UhAq3ozSOHy7mRHwa__jXA-1; Wed, 17 Jun 2026 11:24:45 -0400 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9E88F1945CAC for ; Wed, 17 Jun 2026 15:24:43 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8DB6436918; Wed, 17 Jun 2026 15:24:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709887; 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=Fyg+V/YGlQ10OA7N0ZvlQJ2lOYS9yJAZDhN3+859L6s=; b=TiuqFzUvVImWK0+7Jj3hpg4YG0/yuOwLpovJ2S6JfX8BSOooe4yFgHpSfQ4Qp0675XVW6J h06qa4aj68/myW8QhGpAuS0KrD7/BvkHOwxkdX3whkEp3YfPzNaus9z3UakHLY8jdMqAT3 f9Z6f6UdB6W5EVwB9yjNr+ElprH480E= X-MC-Unique: UhAq3ozSOHy7mRHwa__jXA-1 X-Mimecast-MFC-AGG-ID: UhAq3ozSOHy7mRHwa__jXA_1781709883 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:11 +0400 Subject: [GIT PULL 14/27] hw/m68k: keep QemuInputHandlerState in next-kbd MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-14-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=1523; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=DBBYHwbqJbFwGl+d/VFOQNwyJmVR5Qb+sHR1dfLAJ5E=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpvPM7B9Vbo1UPKodmRkopX38wjVUQV3x1S efqsN3wUViJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5TrcD/9s3pylvGUZ3wmn4vQjxz9DPzhW7uFt1iOSK8Yc9LXkU8qTPf0OHG+9dL1JilzDwDl4Ty2 naQGTRHMPITvLHoMJ5yiaWXUdoTTi2JJWq5LUANS0RUfODJTO37DWdBc3AbkgqGsxZr1l3pUYik MCXjEyDB3Hxp4c5UIiEx2fD7fsYsKAgGNDK18cHTTIUGRa6s6qWbOFe8IsQJ4B9Tys8HuWniLwA 11LBD35jBzH2HLT42ebfsWwtCotrdZjr9cwoOqkqs556ARl/vwu7w5h5UEFMOzmov5MEvVPgP80 BURZpCykC6V5iAEIJ7+AVb8DoYFQDFrwJaD6YCjRmc4KCswv/ZaaVNgdTnurST5MMdKDde3dzrf Uw6IAk+zmpythOA6zZiyN6IllcTnhemrMg3Q/0PIB4qftMFB4L0aSDPH3CCuAD0pVaa/Vv5FckX RSjeSYTHSYSvz8ZDskRtJStEWb1mvXZQio2hHVlzNileTPvRZqunYSEDLOk42dijFDqTi3Ug8fb 7dRlkhXzl8meufJtSJhjyFgk48aYKsCmXZEGh24cF94pmy+Us8wT29URTRLlaCURyZbqHek6gff QaAGHFdCqFe62lYa2fthLA5ZRs+DR0Z/jVD0/7j0h3t4FEXSI5lB9AzWt4JevzcSZWdl/vEg7Id c2RKMlg27+8ZUKw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709926348158500 Track the input handled state, and dispose it on unrealize. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/m68k/next-kbd.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/m68k/next-kbd.c b/hw/m68k/next-kbd.c index 7be5ab2fb79..84a610edab2 100644 --- a/hw/m68k/next-kbd.c +++ b/hw/m68k/next-kbd.c @@ -65,6 +65,7 @@ typedef struct { struct NextKBDState { SysBusDevice sbd; MemoryRegion mr; + QemuInputHandlerState *hs; KBDQueue queue; uint16_t shift; }; @@ -304,7 +305,14 @@ static void nextkbd_realize(DeviceState *dev, Error **= errp) memory_region_init_io(&s->mr, OBJECT(dev), &kbd_ops, s, "next.kbd", 0x= 1000); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->mr); =20 - qemu_input_handler_register(dev, &nextkbd_handler); + s->hs =3D qemu_input_handler_register(dev, &nextkbd_handler); +} + +static void nextkbd_unrealize(DeviceState *dev) +{ + NextKBDState *s =3D NEXTKBD(dev); + + g_clear_pointer(&s->hs, qemu_input_handler_unregister); } =20 static const VMStateDescription nextkbd_vmstate =3D { @@ -319,6 +327,7 @@ static void nextkbd_class_init(ObjectClass *oc, const v= oid *data) set_bit(DEVICE_CATEGORY_INPUT, dc->categories); dc->vmsd =3D &nextkbd_vmstate; dc->realize =3D nextkbd_realize; + dc->unrealize =3D nextkbd_unrealize; device_class_set_legacy_reset(dc, nextkbd_reset); } =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709982; cv=none; d=zohomail.com; s=zohoarc; b=m/Zcx+2lXBiBBXtbP5agez6Ye7tFD8xZOJnwaJC4jEuxGtiYX3bXWrviF268rBXBYqyFg22gq6prNrJS+pORK5BSEBGLTLaU8x7z9EIo8Xm+j/Z2yzOAR9Vq2oJ3ilRrxFwIoHICIb/OR/PRl1WlLDBB4Nfsq8PWVYZ+vmTzoTs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709982; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NFLLmTbFzn0bWMghy5IUlnpMCQHdNh4voXAbjm8vvpE=; b=FUdnbJV8GmZYMzvg3si6ECN5tARwsBwbWNTieU1idpHp9zkqvig2eIBFdaInq27pFKG5ZD2LoCN9+/RqlihYKEHOJrR/LUkFiBCcJkcyA0FCIbaA3u2aBJvB2JXfwEW9PwZ8pJyWGodano2xhfDs0NWGNr5/ia6MiMx/CRF0DbM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709982919127.01275691423098; Wed, 17 Jun 2026 08:26:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8f-0000HG-Vb; Wed, 17 Jun 2026 11:25:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8L-0008II-AE for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:59 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8J-0004SU-T0 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:53 -0400 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-508-UsMywOEbNry6I0rgcWHJ1A-1; Wed, 17 Jun 2026 11:24:49 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E9044195E90A for ; Wed, 17 Jun 2026 15:24:48 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B9C53180049F; Wed, 17 Jun 2026 15:24:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709891; 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=NFLLmTbFzn0bWMghy5IUlnpMCQHdNh4voXAbjm8vvpE=; b=GQY3Od8TQ9eS5g42l2j1OtNOJfCx5wDddvtEe5DEbOFiSQdxF9MKAlBB4Ll+2rvEwo+LzY O0ZKECWtHSPwoyVGzzLY+Kf2KDSvH5Sn1610pgS9cPxbUEdMRIGYWlPrDYEU9AEP+wWj/l X//QLY8GIDEwXifjUBg30p4r//ZobwI= X-MC-Unique: UsMywOEbNry6I0rgcWHJ1A-1 X-Mimecast-MFC-AGG-ID: UsMywOEbNry6I0rgcWHJ1A_1781709889 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:12 +0400 Subject: [GIT PULL 15/27] ui/input: qemu_input_handler_register to warn for unused result MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-15-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=750; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=mm8Sen1rAYQT+tDCGEUKaXUqU1jKwZd0fWekh4tNr70=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpe2ta6Baq/3JBacw6MrDllAWnY63sja1bU l+fVK8+PL2JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5a3oD/97b0D2pMHJ2MZNyAWzU0mwP7KJym++47qo3ohxY5fkapPOABAEvGV8aXYvzK5U6cNz1UH oagnAZBEE08ITX3z5b+2ZPRPx1WSEuQAzdkkix9DWm0EB1OaYXhEfsHScS5ic4aV4sN/eMYQ0FI bkiZxEO8RK8HJ44tAW2G1dwt/YI2zcGSRYxysYpWEuTxLT7x+tztijphH9+hIQCwBQZ+alOynw3 t1DOgtDvH+kFa4kwQdB29B/c/KV3GA9RZsJFHma1+yOwfy5u0AUSqHpauZhTRLoSA5Vsr+hUP7W Yzcjb6THglcsR3QSfx1I4RFgBzTSXEFxZ8ufveewxLKy7yv3brzYjXA8aB+3hjET/57rZmYnFXU axZELonJDtYctw2Q+UoX9KeCFD+eorZfGSBG252oKuqoTt9eF4bFNMQw6myALbnijzGyPJW4Bsc KNkqr3z+y5+e4aTNQo7uwYzMzXGsLnnDHgAM163g1kjd+pfZSk9EuzEcn0AT0Q+N8kPPl93iwNo vnISO6EbBJON4eYXgCIt3/Tl22n3Dlm/lB4O/LUeHATcKIkL1Ic6o9il+6FvH+xb4843lmqMVIx 9RzGuIxh1snwuEO9bWzoLDjcsq+dJpRWYd7M5kikCM+jSsLQipO1K34yyfc80zwjXqo8hyCRL6+ 75TUL0KTkJNpNeg== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709984787158500 Suggested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/input.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/ui/input.h b/include/ui/input.h index 11146c92bd4..18088babe2a 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -45,6 +45,7 @@ struct QemuInputHandler { QemuInputHandlerSync sync; }; =20 +G_GNUC_WARN_UNUSED_RESULT QemuInputHandlerState *qemu_input_handler_register(DeviceState *dev, const QemuInputHandler *handle= r); void qemu_input_handler_activate(QemuInputHandlerState *s); --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709945; cv=none; d=zohomail.com; s=zohoarc; b=gCTPeN5bQPC5/MeXn/iNaVy4FK4GTRMQUt1RVeaDkI/CovvH/z4oJp5AJu+KVvAi1Ws7iwNjyeNRodDwwXLch5MRhd8Lpda0arGKwX/wEveJlfUz19Xr/peJx7INJN4ymNxeK4IbD6Otrd9nesEPD3jLW0kJYTAXTuZzYx56uAE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709945; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ioEHdTgFq9qa8zhd6HYeSxe88eNuFY6xLLuay6+h9W0=; b=TJVrsavKGpnrzWGFfGJAiivs/Jk7YVuZS/D4UixTZnObCzGMXG2EHhf88nBbju2XLsqj4Mrw++c5gScaOptt5tedJLROpxfiGPOMRKNO/MT6cV8OPwbl4qZj2Bjy0CouW7nrbOwSmlkPh5sxAMr4lC7Nd6zaaE67/Z9OeFnE52c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709945600869.8035755617213; Wed, 17 Jun 2026 08:25:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8k-0000tI-JJ; Wed, 17 Jun 2026 11:25:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8Q-0008Id-9t for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:59 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8P-0004UP-0w for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:24:58 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-641-92ENrqNhO8yxgO-DVHrs6w-1; Wed, 17 Jun 2026 11:24:55 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3AF571806C96 for ; Wed, 17 Jun 2026 15:24:54 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 39BC118005B6; Wed, 17 Jun 2026 15:24:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709896; 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=ioEHdTgFq9qa8zhd6HYeSxe88eNuFY6xLLuay6+h9W0=; b=ixrV/GX9yCQVOMeGHGGukBdbkUycgueAOAwJEqc9V1yswDBiualfRfud51+7+FFyJnW7+h lh2pL+U5Pqsf/MH2zUvGfaWNBc5MJZbfTHq1fLBS+xlA56SsmhhHxlXqNpIWxK8VnBsUaP cEUPkDSdTPdIuuxeUEuKK7Vnpdxq5ac= X-MC-Unique: 92ENrqNhO8yxgO-DVHrs6w-1 X-Mimecast-MFC-AGG-ID: 92ENrqNhO8yxgO-DVHrs6w_1781709894 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:13 +0400 Subject: [GIT PULL 16/27] hw/input/ps2: use qemu_input_handler_set_leds_mask() for LED state MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-16-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=933; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=RilX2AJQ0+L1a/bzjImCyk0/jJjE/Lii7XaRdPtsNug=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpwVUl9V7bjsw3GQbQeCv3VJL6W1LQjgmlq ZwB4qBWl7qJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5ZXyD/9uFH7pjzHU046zFvz1dh2yOqrbkmZtDPPO33D5vLb4oaPLWhukM/q22mUjOGUwcR8LTd/ 0GhXjEt4OIAhKcEfusqJtHHCUqCkeRb6Es3soXrAMYlfgMagLMYMFLVXnfG4RrXqQ5vsXu/jN4F z+Lgqoc/ykVPeyFKvLIoYBBFhOzp2hsnJNBMhCVOGy02izMrJuAxVIWjSVLYMJheJKvdqE2ktu9 MIwrrnW2zjUD9zAI+/mwR5Ualq/sy3JOg0NoPFwrFfsi+yEZb50lzRBszmriXQuwMVOzOxA9VZk FoIKIxWMwM4pkbTfxA0dXINP5Cyw8CGc4KV2LuFUU0BsT/OUDtUFaqB7U2Gcz6LQixRd0jpxeol Kvtwi9Iy/VpvX87WZmYJohji5H+Pt2F1cQDAqzfN7D8K+wMtWGfgo318lHSxp6KHrsy/b4B0EbL xJsZcfqlG9vVnQdAmVJV14CdhQ7w20Y+Z5AAoS4Jwzw3Fnd57QNSYN3VuJGY/y5NxVBYgiviGey 0auDmR6+oNDF+doSpgrmnlTC5oi3UghJrqBeYd4156fNb+xflBfNb5diCMS+caXI9xijA/H/AcS Z3A6Dv4iIntB3L5Aro9kILAx/cmAReX0p1gzuLFWfGJl3j0mRghTo+uuCJb2adZPl+rr2kLy46/ bQzEQrKpBurFfoQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709946472158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/input/ps2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/input/ps2.c b/hw/input/ps2.c index 97df7a9a43e..5516eb262d7 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -577,7 +577,7 @@ static void ps2_set_ledstate(PS2KbdState *s, int ledsta= te) { trace_ps2_set_ledstate(s, ledstate); s->ledstate =3D ledstate; - kbd_put_ledstate(ledstate); + qemu_input_handler_set_leds_mask(PS2_DEVICE(s)->hs, ledstate); } =20 static void ps2_reset_keyboard(PS2KbdState *s) @@ -1108,7 +1108,7 @@ static int ps2_kbd_ledstate_post_load(void *opaque, i= nt version_id) { PS2KbdState *s =3D opaque; =20 - kbd_put_ledstate(s->ledstate); + qemu_input_handler_set_leds_mask(PS2_DEVICE(s)->hs, s->ledstate); return 0; } =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709931; cv=none; d=zohomail.com; s=zohoarc; b=cff8+iSqrEwU2JeJtJiTJYS+y6XSsGo6Hy3bhvvS1AwitdtdJbT1OlNkpyeEJnz02Q8M0XNh4EMYJNkV5Aewb274QrZg/AP7tu/VJF6H1FQ+vgIw2gOYhLgrmSRnOTHsg8pyZhHvDyoKERuTzYQAmSvGWFBXoQ7AuWLM3RMZcGs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709931; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OPe0ZtgcgplBe9clL4K9XGe/1YuhoCFrRqqQUH4p+LM=; b=HDFDw/S7mp3+jcMWamestjsts9GjcN33Mh5C0oXopirxRvaaaajBzdIT5xdYFLDX+AftvYdgkglQvMxRHlmlHpLpaYj0dFrXA1KqyNTywD9YInw2MWJ5gvSm3jJqfrOone7pMQjga65orSncIxB6l2GsJfPmWpPXVIoQdPfCxoI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709931458476.0953428290609; Wed, 17 Jun 2026 08:25:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8i-0000c2-Ep; Wed, 17 Jun 2026 11:25:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8X-0008Tn-Q7 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8V-0004V4-7l for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:04 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-29-FBJB761lO_SScMQ8k4n2EA-1; Wed, 17 Jun 2026 11:25:00 -0400 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id AFE3F1806C8F for ; Wed, 17 Jun 2026 15:24:59 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6EB4E36918; Wed, 17 Jun 2026 15:24:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709901; 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=OPe0ZtgcgplBe9clL4K9XGe/1YuhoCFrRqqQUH4p+LM=; b=Qpxb6DNmj3r1jJSQIQRv0dB8h3kcQShkrPiztpsbWDjRB6oykrxy1IznHsXhO5443Ws1Fh AEcX+xzGudiiaRXTVeQSkBgR/OWQ8K9TveRF+XUj3ZX4aJkQvW4rAjZQ81o1uQvqarUJZT luI57xj1jRp03kctmnn3FUvW35jUpC8= X-MC-Unique: FBJB761lO_SScMQ8k4n2EA-1 X-Mimecast-MFC-AGG-ID: FBJB761lO_SScMQ8k4n2EA_1781709899 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:14 +0400 Subject: [GIT PULL 17/27] hw/input/hid: use qemu_input_handler_set_leds_mask() for LED state MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-17-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=858; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=eSz1oEtt5TSsU8DookHorgm0XH4U/qXJH5qx7l6b0+c=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpguNebkFCOGrGX/i6R9qADK9MZbaZmcYne 99Bov4Ulr6JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5VyPEACDSEM8VooJx3Or9H+KDbjr8RPBbfjW9SKJwmbHAL3l8cstXlSjfIbAh/91mO6QAMSz8pS YYEQoyTrhIThQ7L3gxKcUMcnksCFMtdfdSJ7sLAJ3f7sfD43ZoPj8NaTTEK0ZA2VQAyrS3eZZ9j z6ZnLbVMgkcrqQA5WrsPVdJEchC4weeFdy8Bp3gVsb5okLcpJWu7sAQUNdTmUiKiQ01He3FjcGV n07joz846ddzsHrjxe9agdiyWOHg6ChZpyRE1H5Hx2mqaKs3/ViMOzi9CJ0M4BTERQEu7BScTaH K3DFJspt/GkSHHp6IhZCelnTKphkR2Bs3Ph97P/BqkM22VVFlQ6A5ImokWfXn9bEB+oe2LrfZ7e 2MixNKBn2tmkuPlOOZ6RrHo//fMd87yywgBYuaTNy5j+IXq2TPpwwK94H4hqmkGRD5IQEpdSW/2 O6fvYJkenryCa984Fzj9MlM8h1chwyjiQcLD7YYNRl7AtRdKWXf3KR7Lnxiq1aSpMJ0AfH3v+SJ UE8lgvQ9JSs2iSo9+gQ2M9b+bz5zd+PwpaqChfqWVO+aACn2MlJ6nHgpCsUjMxec+p/88/X7Nze VMUuV8XvQtC/NrNULVWuKm81trNf3i0qU0Jj5I6niAMc6bQvHaJ97ZQRg7wj1+XpSlAJ0tRJ1xz ehlp/+oPLz81pPw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709932387158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/input/hid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/input/hid.c b/hw/input/hid.c index 467ba8f14f3..0f28827554e 100644 --- a/hw/input/hid.c +++ b/hw/input/hid.c @@ -25,6 +25,7 @@ =20 #include "qemu/osdep.h" #include "ui/console.h" +#include "ui/input.h" #include "qemu/timer.h" #include "hw/input/hid.h" #include "migration/vmstate.h" @@ -470,7 +471,7 @@ int hid_keyboard_write(HIDState *hs, uint8_t *buf, int = len) if (hs->kbd.leds & 0x02) { ledstate |=3D QEMU_CAPS_LOCK_LED; } - kbd_put_ledstate(ledstate); + qemu_input_handler_set_leds_mask(hs->s, ledstate); return 1; } return 0; --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709929; cv=none; d=zohomail.com; s=zohoarc; b=QmDd9R1hsWpp2Fti2ONgPhcjRGPlTldvDElDHsCc9PpIvXcW8AZz1WHD8DdlF1TKhjftWJ8SEdClAX/Ao7geoPppOHsqkVYnuUcsRR4ttIrw0tCVZTr912qjp9X0CSADljGS6Fg2M1tvlGxfc9/VXfr2kdteDhMk4bMNabwJtgQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709929; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=k2jo5NzPSf0WlbFoDkYEqqTSBWztZUWwmeVeb0hOwvg=; b=dVhMR4QpWBiTxDStHlAqeS31YdfkGt7tMdOdS4hEFKY7N1npWZGARvpWMnpRjZ4lysIvYWcNNtAuIdS0YJ+tG4NEXHmBu+oYOdVMQ5AiN+PFRJN+yKyP7k98OvEGxhbueLyT3wzpvmbiquMavRun7YUo2GMw1btTopjPn7LOrQo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709929393550.8361497959373; Wed, 17 Jun 2026 08:25:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8m-00014G-D0; Wed, 17 Jun 2026 11:25:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8d-0000Kr-EB for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:13 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8c-0004WG-2j for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:11 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-424-2mh1zV6QP3GNLzj2K1RIyA-1; Wed, 17 Jun 2026 11:25:05 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 061CF19539AB for ; Wed, 17 Jun 2026 15:25:05 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D837019540C9; Wed, 17 Jun 2026 15:25:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709909; 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=k2jo5NzPSf0WlbFoDkYEqqTSBWztZUWwmeVeb0hOwvg=; b=M19SGgjiHnqoE3YzwSuCrML8zJj0pD+Fl7rKmzm/OHi6wtV5AEGNiozcc0YjLrs5UBWRYh j8ZY/kRfBeXryP96H3onflakU84VAj+pDerUN1Yvr7QeR+8oBEd8MIcMkvkELkxsdRkM72 cLYPKLNSrkQzTeheUUaNW3DT4ivHLrU= X-MC-Unique: 2mh1zV6QP3GNLzj2K1RIyA-1 X-Mimecast-MFC-AGG-ID: 2mh1zV6QP3GNLzj2K1RIyA_1781709905 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:15 +0400 Subject: [GIT PULL 18/27] hw/input/virtio-input-hid: use qemu_input_handler_set_leds_mask() for LED state MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-18-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=947; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=U/+2C6Maw3rGE3j6JafFp5i8L1ADiWudqdjvruBnowI=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvp0GtnyQY1gwQOElWFXE2aCLDSv9eZHDAaL 4dkOU025q2JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5U9qD/9dvRSlGYDqwMjNxuGsP8ScfbSCzgVTY9sIA9TWfgBvxTkJoUqVeIOr0aI6dnbhwfE8Af+ CePR3ZEMI3mMGxb/B7RzLhuoLmFwCyE1dENRMtq/0W4Llm+uYWuYmzaGY8EPAUz9HVCEoJbbJBE 1fDwqHuCm4OgW9VSarFyWR6SFyhq6bQNkRn0rqWPSpPa6AKwqLmhfisUuGieB5lE36mRm9sHkx1 uqttAqv4erBz5fcVvbEcHX0D7/cRTpe8gsifeLtzafYy6/ENTwnELpdHXigOxDs5JJMyoiB9ZUH saThGAW36t2aJyo/+MqbQVbfDMM9BTGcEMWWUCJlm8YmTkZJvvvankZmnc3wwyIWWLEYLarUlMH g3ogvxfE7tUwSOocdGn9/pRJm6P9X8oOWdbK/6CkV6dSSXUyu2/AEtTizlrwwJJbp6DvNVZLFPR kw4GZ0Y5cFeQkadIWUgRaZZeDndqCHR5WorGOKKPvBqajbdP5d3giAYsxrjXVvtAgyOVfL+7JEG wZEOUl4RmQxgtLbhw1xJ4UFNS7DGUUjVaS8Bi/iF7MYjmkPbZ9LnILjotJosyH1ZrWbmcUzYscU v8rursXzgDLJqY+mGdCdFNUmYvYNFsxe1e7nO7E+HxDI3/Tmuortq00ewrYI5wdDVHPpGZLEKog R6qKa1osaWLdmXw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709930371158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- hw/input/virtio-input-hid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c index 73423ac0c73..1019d6b2e53 100644 --- a/hw/input/virtio-input-hid.c +++ b/hw/input/virtio-input-hid.c @@ -12,6 +12,7 @@ #include "hw/virtio/virtio.h" #include "hw/core/qdev-properties.h" #include "hw/virtio/virtio-input.h" +#include "ui/input.h" =20 #include "ui/console.h" =20 @@ -208,7 +209,7 @@ static void virtio_input_hid_handle_status(VirtIOInput = *vinput, } else { vhid->ledstate &=3D ~ledbit; } - kbd_put_ledstate(vhid->ledstate); + qemu_input_handler_set_leds_mask(vhid->hs, vhid->ledstate); break; default: qemu_log_mask(LOG_GUEST_ERROR, --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709968; cv=none; d=zohomail.com; s=zohoarc; b=eHXyl69/CR0IOXWnSbY9V47bVTlgokqEy/66x9GQ3+rVUrTE1gHompmiCtQu3z5XA5PN0MU/jePcBDOdk7EJSFcRahahNOtI/VUjoTmUhSLFNKoQlRl/5Jhp7lnuOKGGedqJCOmIRkwyBjoZufmfSboLBRq6lswHMvvxxEiJf60= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709968; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=FLohL/DwiLVV7GyrSavecJTc687UTN0ybDOhKS/1QrE=; b=VY1OHT9gxvchz4XZwmuHBlTWjznd9wzwZcGZNIRiMrBtrAz/fqvh05MXQ0cqK++sp5c2HW42uj8s6Q9UVtkGg3cUe3TM3UXUxmtdjmdjC1genvnd7vRZLmPG1KefuGHAlKYwmDJdy3HElDpkJxA4NG5uf3wvIAZSu96OoNem7x8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178170996829359.301992395924; Wed, 17 Jun 2026 08:26:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8s-0001qD-AS; Wed, 17 Jun 2026 11:25:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8q-0001el-Ef for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8o-0004pf-Hx for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:24 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-467-0pBN9-2RMxSffSNpo3HUwA-1; Wed, 17 Jun 2026 11:25:16 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 48BD31953948 for ; Wed, 17 Jun 2026 15:25:10 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 320BE3008B3D; Wed, 17 Jun 2026 15:25:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709921; 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=FLohL/DwiLVV7GyrSavecJTc687UTN0ybDOhKS/1QrE=; b=hHrT8XDeZn7c1ukQ+EguTbvXWTcHweWfFJnE5R1mngXhovGjCuRTEmc3hPJjZZP9lm0gGd EckbytD2XRQi0Y7FnhvJNHu5odzNkmssKAnW7FK4DRKqjzQrl/DGkchh92aqrcrpatJfIv nj1Axoq806dMvcw6R2cGv5s05W2teyg= X-MC-Unique: 0pBN9-2RMxSffSNpo3HUwA-1 X-Mimecast-MFC-AGG-ID: 0pBN9-2RMxSffSNpo3HUwA_1781709910 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:16 +0400 Subject: [GIT PULL 19/27] ui/vnc: switch LED handling to Notifier-based input API MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-19-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=4501; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=zUUEt9oCBNnW+aR0Wbm+JgKybJImWQolrOxUb4LHNOA=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpXhj9j3wo0zZozrsvy/gwhteQAtfxBl0Q/ UOBuU+JxAqJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5TrMD/4pdQ9MQ+l/vkIt/RYrswhp+nEXQCM3c5xZ9sPz/HRQP+IdEhkBo1ZiGwGJIAX3WuXF2pU QAY7culf/dWfOb8GDfGZe2H/ZFqQf9pCjHtM/WeYX0FbecTCTO3OqpjVi4bUlnzywhvnJLEqrmn rbVLIExisEDzw1ZPK1y8NpYbBwoYmoLqKZp/rPoBH6lhWoRk8tKDy9Ay0cngxYO2oDCQT1/NC/K icxk6GSNAz1QKlgD+zwvE/6ahM2rhXX2Uo0jUbvQWN982Qi/5sq4gYhU2OLh9mAuR/783NnroHD DBn4bffv+58EHuQUG+VNjHoPQ7e6t3ClYEpL8wNQ4uqyKeGOxn3AYrd+1M/1ma/cFvbCsZ5rXtc QhRx1Ak3hcFmtEjmGeK9Zq49INnU+JtxD1voDUlMybkwzqxXL9RDu9gyiHSYDpmVqWhyZHtXUzS jhsWhqr6hJiiyo91I0pGl4EkTQ9N49JuxVfcSdU2PpKRCecT2tujNlXmcc40pG/PxU0wdSARlYZ VlkOutvti3J/B+gx5FPocyXmEq2hpLzDw0kSXn4AxLI5YX0k7Zh5kww2y3GPy7dFm+a+w96En8e gsE2c+mYoT2/Lv5s+MU/jHHqJQQGMvWeWLIx9Yb/O9wrpN1yJ2Q3vJvRfw1UuIWqTNeIpL6QITj yolMcuy3VBLZ3Qg== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709968641158500 Replace QEMUPutLEDEntry with an embedded Notifier in VncDisplay. Use qemu_input_led_notifier_add/remove instead of the old qemu_add/remove_led_event_handler. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/vnc.h | 2 +- tools/qemu-vnc/input.c | 49 +++++++++++++++++-----------------------------= --- ui/vnc.c | 11 ++++++----- 3 files changed, 24 insertions(+), 38 deletions(-) diff --git a/ui/vnc.h b/ui/vnc.h index c8d87cd5301..88293ef4971 100644 --- a/ui/vnc.h +++ b/ui/vnc.h @@ -147,7 +147,7 @@ struct VncDisplay DisplayChangeListener dcl; kbd_layout_t *kbd_layout; int lock_key_sync; - QEMUPutLEDEntry *led; + Notifier led_notifier; int ledstate; QKbdState *kbd; QemuMutex mutex; diff --git a/tools/qemu-vnc/input.c b/tools/qemu-vnc/input.c index 6fb73b31248..dd6a55ce9e5 100644 --- a/tools/qemu-vnc/input.c +++ b/tools/qemu-vnc/input.c @@ -13,58 +13,43 @@ #include "trace.h" #include "qemu-vnc.h" =20 -struct QEMUPutLEDEntry { - QEMUPutLEDEvent *put_led; - void *opaque; - QTAILQ_ENTRY(QEMUPutLEDEntry) next; -}; - static NotifierList mouse_mode_notifiers =3D NOTIFIER_LIST_INITIALIZER(mouse_mode_notifiers); -static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =3D - QTAILQ_HEAD_INITIALIZER(led_handlers); +static NotifierList led_notifiers =3D + NOTIFIER_LIST_INITIALIZER(led_notifiers); =20 /* Track the target console for pending mouse events (used by sync) */ static QemuConsole *mouse_target; =20 -QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, - void *opaque) +/* + * The D-Bus Keyboard.Modifiers property uses the same + * bit layout as QEMU's LED constants. + */ +static guint modifiers; + +void qemu_input_led_notifier_add(Notifier *n) { - QEMUPutLEDEntry *s; + notifier_list_add(&led_notifiers, n); +} =20 - s =3D g_new0(QEMUPutLEDEntry, 1); - s->put_led =3D func; - s->opaque =3D opaque; - QTAILQ_INSERT_TAIL(&led_handlers, s, next); - return s; +void qemu_input_led_notifier_remove(Notifier *n) +{ + notifier_remove(n); } =20 -void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry) +uint32_t qemu_input_get_leds_mask(const QemuConsole *con) { - if (!entry) { - return; - } - QTAILQ_REMOVE(&led_handlers, entry, next); - g_free(entry); + return modifiers; } =20 static void on_keyboard_modifiers_changed(GObject *gobject, GParamSpec *pspec, gpointer user_data) { - guint modifiers; - QEMUPutLEDEntry *cursor; - modifiers =3D qemu_dbus_display1_keyboard_get_modifiers( QEMU_DBUS_DISPLAY1_KEYBOARD(gobject)); =20 - /* - * The D-Bus Keyboard.Modifiers property uses the same - * bit layout as QEMU's LED constants. - */ - QTAILQ_FOREACH(cursor, &led_handlers, next) { - cursor->put_led(cursor->opaque, modifiers); - } + notifier_list_notify(&led_notifiers, NULL); } =20 void qemu_add_mouse_mode_change_notifier(Notifier *notify) diff --git a/ui/vnc.c b/ui/vnc.c index 253b1a9f634..b2b69923b75 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1820,9 +1820,10 @@ static void vnc_led_state_change(VncState *vs) vnc_flush(vs); } =20 -static void kbd_leds(void *opaque, int ledstate) +static void kbd_leds(Notifier *notifier, void *data) { - VncDisplay *vd =3D opaque; + VncDisplay *vd =3D container_of(notifier, VncDisplay, led_notifier); + int ledstate =3D qemu_input_get_leds_mask(vd->dcl.con); VncState *client; =20 trace_vnc_key_guest_leds((ledstate & QEMU_CAPS_LOCK_LED), @@ -3489,8 +3490,7 @@ static void vnc_display_close(VncDisplay *vd) g_free(vd->tlsauthzid); vd->tlsauthzid =3D NULL; if (vd->lock_key_sync) { - qemu_remove_led_event_handler(vd->led); - vd->led =3D NULL; + qemu_input_led_notifier_remove(&vd->led_notifier); } #ifdef CONFIG_VNC_SASL if (vd->sasl.authz) { @@ -4221,7 +4221,8 @@ static bool vnc_display_open(VncDisplay *vd, Error **= errp) #endif vd->lock_key_sync =3D lock_key_sync; if (lock_key_sync) { - vd->led =3D qemu_add_led_event_handler(kbd_leds, vd); + vd->led_notifier.notify =3D kbd_leds; + qemu_input_led_notifier_add(&vd->led_notifier); } vd->ledstate =3D 0; =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709938; cv=none; d=zohomail.com; s=zohoarc; b=XqiOO+tvoZIU53/pg+5KU+mL7ki2mltv7ncfjNKsGUGXUlYHvuZbuj4NzfWh1elXm7HffuP9yPClJQaS6NEa8kewJHhWh6brHXWSOLxWt1KyNOyktESHNoaE3ja9vyi/qAIp8P+bViKkGqiMjbJNqfIVxi+gZcCwAtEfmBt7o4M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709938; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=X+xkFvsKcwR1tHw2+3hEmyTvIAhj/EvH/f17YcOm1aY=; b=a1cPpv/eFgiEnliMQ5GD55GyzI2R5uWpnb4DZud5Z4eMbAVEcKW34K/DyIbForR0HwYMj1saeOc/rp6eTSAw7e1Q6CRhpjuRAOp1PHpYQXaddlTJCbq7i2gAPBsEdWE+wxYLLb7U/PPhUcvWf1QM9ctXh7lBphrgfjkuOf+3yH0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709938452472.2659938466388; Wed, 17 Jun 2026 08:25:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8q-0001dN-DK; Wed, 17 Jun 2026 11:25:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8n-0001IP-Ns for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8l-0004nd-KI for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:21 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-609-EMjlzKGkN22k5Ajdu_lojg-1; Wed, 17 Jun 2026 11:25:15 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2CC0418005A3 for ; Wed, 17 Jun 2026 15:25:15 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3075719540CB; Wed, 17 Jun 2026 15:25:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709918; 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=X+xkFvsKcwR1tHw2+3hEmyTvIAhj/EvH/f17YcOm1aY=; b=M8M+5qWiy1mCZ8PpG7/yjxSU54vMimACWc97ICrJ/eccoPkDPIfY6JHGbIpKF+cMoMps1P hQuoPDJFOyQuyZDTmdNh4As/1/AeMlsTnYxtWEfgFgKgbMRa6GwTx6veUvU6rSiTcsDz07 nweKxqVVpLFkvKMSpxYb445g3YQ7lyo= X-MC-Unique: EMjlzKGkN22k5Ajdu_lojg-1 X-Mimecast-MFC-AGG-ID: EMjlzKGkN22k5Ajdu_lojg_1781709915 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:17 +0400 Subject: [GIT PULL 20/27] ui/spice: switch LED handling to Notifier-based input API MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-20-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2057; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=AKgoKK/jeW3SCcprkzEbZiHJkHFnV77luQWVh/Clp3Q=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvp8oht3U4jQSXANGpXFiMqgSZApOo03TQFb GAs56DedWqJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5VwQD/9ARDRHcgPZfE4tfnKBDwb6Q9uB5Lgw/zJdeKWYgOBF5mAACy4eWhzXbWG9aVyXx1/dek5 /+l/ZtO/iUJD2enLMV7DT///djrcr5crFMvNVE3b7AU0TCkNExwdEa5EiwoeIV7tnjH/2QnGfDF lHnkt/i1k+NpamKGCrcPPctYFi8kFNY2/bF0zZ9agz6TWc3/qK+rripxLLQ8yVkhxPBxav//5Tq aWtukqdhDmyMzRdKx5LDzWDk2GD1XjZw+t9qPGCVX1qcJAFXnwA8teU4AWJaEUH/kQ4rek9u655 cNuPFIl1WA6A0ZJAwQrRv4PEZrOGKs1HN0ns942JfvVBWz/JW7ceAICqf6p0ATLgnSjC1XQKpDe TeOOrMnn6azL2+68sJe5aHj0Zkpi5WF4Q4Et/4KK/cwh3yZULwotzE5NRQuXCIbiFlcummcC0ly /wFyvsc83vJeynoS8srfpzhD3Y6Wc42nYESFsziwah9aV6tKQF1VwJ2a1dXJro8lOw4El/j6NZN ElooY/6kRSrtRiL3WJSX6Mc0UYASMVyJJtT3vv0Hx21HLIbUiGM9OfnSU5PuE+piJjaK8FpNoNb AKlzInNMau3fnhJblId5BO0EvyuUgDZehp79/b03pdgq5Iar0qScWII7ICHoEOXG6a05IrbctpI WAhtYrIeq056mcA== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709940721158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/spice-input.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ui/spice-input.c b/ui/spice-input.c index f0bb915fd77..845abc7387f 100644 --- a/ui/spice-input.c +++ b/ui/spice-input.c @@ -33,6 +33,7 @@ typedef struct QemuSpiceKbd { int ledstate; bool emul0; size_t pauseseq; + Notifier led_notifier; } QemuSpiceKbd; =20 static void kbd_push_key(SpiceKbdInstance *sin, uint8_t frag); @@ -86,18 +87,20 @@ static uint8_t kbd_get_leds(SpiceKbdInstance *sin) return kbd->ledstate; } =20 -static void kbd_leds(void *opaque, int ledstate) +static void kbd_leds(Notifier *notifier, void *data) { - QemuSpiceKbd *kbd =3D opaque; + QemuSpiceKbd *kbd =3D container_of(notifier, QemuSpiceKbd, led_notifie= r); + /* spice has no associated console support */ + uint32_t leds_mask =3D qemu_input_get_leds_mask(NULL); =20 kbd->ledstate =3D 0; - if (ledstate & QEMU_SCROLL_LOCK_LED) { + if (leds_mask & QEMU_SCROLL_LOCK_LED) { kbd->ledstate |=3D SPICE_KEYBOARD_MODIFIER_FLAGS_SCROLL_LOCK; } - if (ledstate & QEMU_NUM_LOCK_LED) { + if (leds_mask & QEMU_NUM_LOCK_LED) { kbd->ledstate |=3D SPICE_KEYBOARD_MODIFIER_FLAGS_NUM_LOCK; } - if (ledstate & QEMU_CAPS_LOCK_LED) { + if (leds_mask & QEMU_CAPS_LOCK_LED) { kbd->ledstate |=3D SPICE_KEYBOARD_MODIFIER_FLAGS_CAPS_LOCK; } spice_server_kbd_leds(&kbd->sin, kbd->ledstate); @@ -247,7 +250,8 @@ void qemu_spice_input_init(void) kbd =3D g_malloc0(sizeof(*kbd)); kbd->sin.base.sif =3D &kbd_interface.base; qemu_spice.add_interface(&kbd->sin.base); - qemu_add_led_event_handler(kbd_leds, kbd); + kbd->led_notifier.notify =3D kbd_leds; + qemu_input_led_notifier_add(&kbd->led_notifier); =20 pointer =3D g_malloc0(sizeof(*pointer)); pointer->mouse.base.sif =3D &mouse_interface.base; --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709934; cv=none; d=zohomail.com; s=zohoarc; b=OUH/43q00iGn8jAKWfHx0bkE4ALqMZLL0sD5Gs5QeND0t1WJwwedhJZGGwdSGEa1yR/sKO+s/pbAfYa0oHDDRXG/2+xgazg3coQkWfh9xzsl1UnmQ2DUzkSC6C6T9CvAruWX/Wwt1V23yrs4P0/yNcMhAQly+4OYHKG+DvesbiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709934; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=A0TufrWfNIzpsF2XRxjhb3IdpfDE1YSIkCHruo6etDk=; b=P6eqXhF6evFifprYWl7PZz2xmbRnjudBGqcisOT9ohjok9XYNZrfP46xq5niP3lETvSa3lIXTysCTu29+VvIxwTcrDqkOwNsIl9VXhtnupe6k59zk2OufFclislGschiLrTF+Z8JL+nEAnUwD120xQoUO3XsEuoW6mBy/Gtl2yk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709934334215.7123938949876; Wed, 17 Jun 2026 08:25:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8v-0002IG-5i; Wed, 17 Jun 2026 11:25:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8s-0001sX-3T for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8q-0004r4-3g for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:25 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-139-gw3dmBxPMkuK_T-v5cqFRg-1; Wed, 17 Jun 2026 11:25:21 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4B712180130E for ; Wed, 17 Jun 2026 15:25:20 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3AE2C18005B6; Wed, 17 Jun 2026 15:25:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709923; 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=A0TufrWfNIzpsF2XRxjhb3IdpfDE1YSIkCHruo6etDk=; b=bt3ZfnHMCu8KLhlfZNDkJttd+YPs+/fIwArqwXRL87UAQDSH0tK69/TnG+t7nI1VjvZTI3 KMHDlcCIUIolK7Xo7UWkr+rY5S4WQMDLJXYEgNwwfMfCBqeklZgRVSz6Kfcs0BlbF3DNe1 9doDqyZaeWx5OYgVOwJ6QY+ZXVxluUs= X-MC-Unique: gw3dmBxPMkuK_T-v5cqFRg-1 X-Mimecast-MFC-AGG-ID: gw3dmBxPMkuK_T-v5cqFRg_1781709920 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:18 +0400 Subject: [GIT PULL 21/27] ui/dbus: switch LED handling to Notifier-based input API MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-21-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2308; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=6qtFXRNmxVwlC4tujuJ/AUY20kPa48OekN0GxXj/0F8=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpiTdLRJiqMZp/+GlZku9kI8vd4kRH7r9Cx drPgDvh9iWJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5UTgD/9rOQVaUt07uNAEDNS9x0/vwPkkzqKSnbiKjKqGUuzdJsbh12Y/OuS90bXTzNIsHLpJitp GrieYo4LlJXrl0X5u7sVn6HbIfSP/BLAKWpR5vyAWfuf3H2H7LLdVmq7ESfx2q4UgsYSBuOiJmx o4s6NMzPr4Qv6bJp9FqhJQtTY5EVq6NuS5sxVUwJXjh5fHVXNNzfC7jm6OAH5u7rCFRNJUPqlfV Y558Yio2CqijXBl9Wo+HHc53wqF0uEHncTJ3qMifrkXszUHZFq4RDzGblAA8QTkZH2v5m+0fw8W QvmYFKJs9Nx3xOgVfBK+9+vTt4CfzNug1nqqh+vGiVlA5+DYGvyx2zRtHML8cUjIfxkTNbtCOxB 7v2QprSxwwS5xCQwx5OfakjA2Fv5HOYNlepktUTHhtxeSafBnLlnObwrhfeHhT+SfaGWo2vNOvm f8S5pQtRHFfndTOuhDsrUZfujanX3WKuKsKqdz4XAXXTYcmu2X+OJg+T9kAeiQDt6+TtQfSPPzw v+VZsgJdHJ9kxXhe4QU3GH2UHyflJI3ycV5LYdnq+4G9hDGFqHyfQQ22/t0j44i35E9ayDiYwKM MIH1J1GsmAi6yfpT7p4431qWD70VLv7F88tY0ZSQ6XCxlYfT5535bgRH96bD7vWAKbb3W0Up2q5 8YEunzzirbMQwQQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709936381158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/dbus-console.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/dbus-console.c b/ui/dbus-console.c index 21eceb24362..9e154da1eca 100644 --- a/ui/dbus-console.c +++ b/ui/dbus-console.c @@ -27,6 +27,7 @@ #include "ui/input.h" #include "ui/kbd-state.h" #include "trace.h" +#include =20 #ifdef G_OS_UNIX #include @@ -46,6 +47,7 @@ struct _DBusDisplayConsole { =20 QemuDBusDisplay1Keyboard *iface_kbd; QKbdState *kbd; + Notifier led_notifier; =20 QemuDBusDisplay1Mouse *iface_mouse; QemuDBusDisplay1MultiTouch *iface_touch; @@ -150,6 +152,7 @@ dbus_display_console_dispose(GObject *object) { DBusDisplayConsole *ddc =3D DBUS_DISPLAY_CONSOLE(object); =20 + qemu_input_led_notifier_remove(&ddc->led_notifier); qemu_console_unregister_listener(&ddc->dcl); g_clear_object(&ddc->iface_touch); g_clear_object(&ddc->iface_mouse); @@ -367,11 +370,13 @@ dbus_kbd_release(DBusDisplayConsole *ddc, } =20 static void -dbus_kbd_qemu_leds_updated(void *data, int ledstate) +dbus_kbd_qemu_leds_updated(Notifier *notifier, void *data) { - DBusDisplayConsole *ddc =3D DBUS_DISPLAY_CONSOLE(data); + DBusDisplayConsole *ddc =3D container_of(notifier, DBusDisplayConsole, + led_notifier); + uint32_t leds_mask =3D qemu_input_get_leds_mask(ddc->dcl.con); =20 - qemu_dbus_display1_keyboard_set_modifiers(ddc->iface_kbd, ledstate); + qemu_dbus_display1_keyboard_set_modifiers(ddc->iface_kbd, leds_mask); } =20 static gboolean @@ -577,7 +582,8 @@ dbus_display_console_new(DBusDisplay *display, QemuCons= ole *con) =20 ddc->kbd =3D qkbd_state_init(con); ddc->iface_kbd =3D qemu_dbus_display1_keyboard_skeleton_new(); - qemu_add_led_event_handler(dbus_kbd_qemu_leds_updated, ddc); + ddc->led_notifier.notify =3D dbus_kbd_qemu_leds_updated; + qemu_input_led_notifier_add(&ddc->led_notifier); g_object_connect(ddc->iface_kbd, "swapped-signal::handle-press", dbus_kbd_press, ddc, "swapped-signal::handle-release", dbus_kbd_release, ddc, --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709968; cv=none; d=zohomail.com; s=zohoarc; b=kcOUGxuweGeyv4+18UoVEsvWFUb9aifSziPtqCGiCxGOznV6chIEgypn4w+axMZ43o/wz7V/3ZrhKuOEQT+3cOSVHF9+DQmBlPzr2GyBqgWFJ/c5gGV5V59ZCXb0K2dzEgrxvWg3GFNVEsT51jeTxA++RvNXpgQ5tPXpSehsUuQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709968; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vRgRmoSAIkzTdc0JlaaJODhVRFFDyYiny91wEeRJfd8=; b=Ry65znF9qAMd9FD/zCWNKMaqNCbmZ/8mbAvZRn2QQcmEdOT13qSg4e6Pgx91xqDaRXq7zLMQHVOHKwA1Mo+2xz+wBywtMN4sz2YbTah1ULsYaA9gB+aIijBkjsbH7WXPMS9VdJvCmLUz+rP2MCu/wZnnNzKf/HKkgs86aLyV/kM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709968721231.06163973468642; Wed, 17 Jun 2026 08:26:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs8z-0002dl-PH; Wed, 17 Jun 2026 11:25:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8x-0002T1-6v for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:31 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8u-0004ru-7k for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:30 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-211-5neDSDp7Pq2FWo6da9OKxw-1; Wed, 17 Jun 2026 11:25:26 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 824FA1801305 for ; Wed, 17 Jun 2026 15:25:25 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 86F3A3008B3D; Wed, 17 Jun 2026 15:25:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709927; 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=vRgRmoSAIkzTdc0JlaaJODhVRFFDyYiny91wEeRJfd8=; b=Y/vhaZHC/MKC8XHp35HJJT+o1GrSRpSac+9HxNi8NQKD5SBMJVQOf7NLiJy5R0dbooZ9/S QXngeM2jm5gi+BFmMT72n7xHOo/MQSRZSF/6n8SMDjvfhbmBrCKJwgbqc4c0hWUj3z94/A 1WwRF+y0clp18E6TjollNaPXcvgpE8c= X-MC-Unique: 5neDSDp7Pq2FWo6da9OKxw-1 X-Mimecast-MFC-AGG-ID: 5neDSDp7Pq2FWo6da9OKxw_1781709925 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:19 +0400 Subject: [GIT PULL 22/27] ui/input: remove old LED handler broadcast queue MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-22-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2279; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=e5HT58sFFCUEIWIY5Or/MSvHFBjwxe4l3HiTriRj3Uo=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvp291D7x/PzED/iJEtfMr3FjG9uoDdMF9nR YuFXlXl1OGJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5bWpD/kBM5mOevKpNNaOGUqwtYXp080tPy1JOCIHd01oVUe4Pz8zzuejAIN565aE985xoGS6Sgd AoUjiyI/UKTkgcUpTi5XN8f5EKHNUWKe8J1VRGNo5xoEtiRi0whrie3tz2aE80u+XpwBND/eE4c EavDgo+Qg9BcmSGWbIKLJ0Xlm0nCxZMWW8w4exHHil82HYHsgCrA2vcygnPQO4ZGzzheHEQLC6j Yr/OMK7n4Oxykgj4Nf13IVG/N6Y4g6t0WGYy3d3rOiIeWI2639rbR8HBxjhXStNn1XaNCTrfdg/ DfnzW/Bby/xKedcQKwVVizEHGWY49S3WueLXkTGu7MbN9rmoBUCHt3iwvoCjaVOorZUOlYVqMaV t1Q4A4orCLfRjI7PrCLCZxW+c+FRXO8YT2Aw4PQ/9ssPvZZIm8BDgG3SB0BAt5z+vJj/t6YReGW koPgf2V7ChhyByBuqP1x2+FeNAu9EFnu7ec88dcHzed5qbYeSGwDejVBIS05C970vE2NGRR2y6Z fMD5acW5XuYqrT9xvwG0cm3ER6RtgHt9edAJrB7QR0CW6b4zBW7X0aqtivGsp0lVEZcG58dEsTg aFZocoZPpiF2Uyf2m/hUsAarB5Y7InU3VUlOFHBY3+9eplax+/+mavl/HDxibMbyLfShNYXFQFs l+FGxMqxBxOz4VA== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709970666158500 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/ui/console.h | 9 --------- ui/input.c | 40 ---------------------------------------- 2 files changed, 49 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 0299ed4b566..b7bfecb6ee9 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -54,15 +54,6 @@ enum qemu_color_names { #define ATTR2CHTYPE(c, fg, bg, bold) \ ((bold) << 21 | (bg) << 11 | (fg) << 8 | (c)) =20 -typedef void QEMUPutLEDEvent(void *opaque, int ledstate); - -typedef struct QEMUPutLEDEntry QEMUPutLEDEntry; - -QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, void *o= paque); -void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry); - -void kbd_put_ledstate(int ledstate); - bool qemu_mouse_set(int index, Error **errp); =20 /* keysym is a unicode code except for special keys (see QEMU_KEY_xxx diff --git a/ui/input.c b/ui/input.c index 3e362c05787..40a0d507de5 100644 --- a/ui/input.c +++ b/ui/input.c @@ -689,46 +689,6 @@ void qemu_input_touch_event(QemuConsole *con, } } =20 -struct QEMUPutLEDEntry { - QEMUPutLEDEvent *put_led; - void *opaque; - QTAILQ_ENTRY(QEMUPutLEDEntry) next; -}; - -static QTAILQ_HEAD(, QEMUPutLEDEntry) led_handlers =3D - QTAILQ_HEAD_INITIALIZER(led_handlers); - -QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, - void *opaque) -{ - QEMUPutLEDEntry *s; - - s =3D g_new0(QEMUPutLEDEntry, 1); - - s->put_led =3D func; - s->opaque =3D opaque; - QTAILQ_INSERT_TAIL(&led_handlers, s, next); - return s; -} - -void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry) -{ - if (entry =3D=3D NULL) { - return; - } - QTAILQ_REMOVE(&led_handlers, entry, next); - g_free(entry); -} - -void kbd_put_ledstate(int ledstate) -{ - QEMUPutLEDEntry *cursor; - - QTAILQ_FOREACH(cursor, &led_handlers, next) { - cursor->put_led(cursor->opaque, ledstate); - } -} - void qmp_send_key(KeyValueList *keys, bool has_hold_time, int64_t hold_tim= e, Error **errp) { --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781710001; cv=none; d=zohomail.com; s=zohoarc; b=TCmVfy25bkpcWtSwc76vFn3rp06nacwJ4PeaAxLNI/f8l2v3S3eF6+qVpaoocBostaOvDj8hL5yWJKXvyC3kogoSoZnu2U452HjCfhkak7IGPwPZp3SqtMyIyz2QsUP4ptPXCzC+173KdINUqwJa36RgOTwgu9nSItpvk46oX98= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781710001; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=faZf4696yal0epOYIe7aL8QIsDmTUlbHO/VDxfj8Rcg=; b=YSIfW+BQnMsFPR8Fl0fkSQKiDTMpbxjW3G6D1whHXCZscr3PmEzUCJfSTko+vkmSg0tb5vDKxYQ7F1dew7PXrMpHFnyj/53Wb7K94+8hkgXqbHGwA11kKeg2WFXp7LDOXSiS0dgpHXTmIgomXYhVmiqfmodmXwwZ9ZWiMBlXxKI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781710001233618.9821392182939; Wed, 17 Jun 2026 08:26:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs92-0002jL-BQ; Wed, 17 Jun 2026 11:25:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs91-0002i0-7M for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs8z-0004sl-EW for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:34 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-349-f8PJgeeFNyaQlZrpiy_v2w-1; Wed, 17 Jun 2026 11:25:31 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8EB89195D005 for ; Wed, 17 Jun 2026 15:25:30 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A8A9B18005B6; Wed, 17 Jun 2026 15:25:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709932; 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=faZf4696yal0epOYIe7aL8QIsDmTUlbHO/VDxfj8Rcg=; b=R4ZOY8LVeKb8IG3X+Lo5EJYeVFK7Xa8CD+g1Z6QMOggCn68pBRqDsC6kgVbggNFsLwB31s nRZ3Hpem9B5LbMrorQZeTOpAp4X5xiDA28ovrPNDfQ/msIG/+cHYiPrcs83t93E75e3VYr uNKQzc+7GUdOHOepgBlMsvEe45ZH3qE= X-MC-Unique: f8PJgeeFNyaQlZrpiy_v2w-1 X-Mimecast-MFC-AGG-ID: f8PJgeeFNyaQlZrpiy_v2w_1781709930 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:20 +0400 Subject: [GIT PULL 23/27] tools/qemu-vnc: Have console_get_mouse/keyboard take const QemuConsole MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-23-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2003; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=+7928dyer7hqpvdZhH2zzD4wlqKd41p2LOQoGgqpc70=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpjuHnOC1vM/cOTCWUgNJU+FoX2QoJCarEl wjRzLGnYNGJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5dM4EACUtzjfvJYGfVBa9Esh3vNnpcuh/lchrCCz1Ba8Dwt9iK6knu1gcHopey3tmEudLLC5zSi jO1th7xo7rxIpP+DM7dgQD9bN/foYbsEGE+L77knNLGerjLHn2nh98lbITDKBiLubdRgx5EzvoL 1QyAUMhS/S9PfEop2YKAhvl8oIaKkMMd2HBNakKZEwJ/ow7lIBUN1gtXysUHRoKO1N/PNvyUjx0 agC+SW/mrEUJku9PYBmVfpCNLTyYtZUIoIsh6UPaIbWwv6rOJhUCLmVIzRe1+v2lIj5atEMyyw6 povfMrcKOh5RvhrLrpV2UkXgUlpPWUEfrnVAYq8v2wSHhBwRWsI2gcGMOBy1PokZBfmzpIfOWes +LJMW35LcJuTlC2VdW5JYk0YtKAn6xkRjEGWJm9fKTM96v4OKcpgdtOxuTLn2ZJEbkbM2CPfvkF yr7IN33VNc60qt+x+8xPH0pi2nXI+8IZNm+bvDyNG9onnqFVMzCJs4O/rAsNsOokZejn0BWPni4 u8C/qvNOtZEqxzWK5tOwkTEAlqzaB5bqDNsg2mpHiiQJcA8tkZKPjnMK450b1YCXko5dyOBKfjz RLWqz8FEIgiOagV91efWbXiiV+arhGT/wZf0dEvWwaqflIWhwWbLidDrocqEXtB8m8jOeLeXers Osbr2aWTsS64Tcw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781710003101158500 From: Philippe Mathieu-Daud=C3=A9 Both console_get_mouse() and console_get_keyboard() only access @con in read-only mode. Make that argument const. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260611114212.27472-2-philmd@oss.qualcomm.com> --- tools/qemu-vnc/qemu-vnc.h | 4 ++-- tools/qemu-vnc/display.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/qemu-vnc/qemu-vnc.h b/tools/qemu-vnc/qemu-vnc.h index 6e483e4b475..15e4ead80b7 100644 --- a/tools/qemu-vnc/qemu-vnc.h +++ b/tools/qemu-vnc/qemu-vnc.h @@ -26,8 +26,8 @@ void input_setup(QemuDBusDisplay1Keyboard *kbd, QemuDBusDisplay1Mouse *mouse); bool console_setup(GDBusConnection *bus, const char *bus_name, const char *console_path); -QemuDBusDisplay1Keyboard *console_get_keyboard(QemuConsole *con); -QemuDBusDisplay1Mouse *console_get_mouse(QemuConsole *con); +QemuDBusDisplay1Keyboard *console_get_keyboard(const QemuConsole *con); +QemuDBusDisplay1Mouse *console_get_mouse(const QemuConsole *con); =20 void audio_setup(GDBusObjectManager *manager); void clipboard_setup(GDBusObjectManager *manager, GDBusConnection *bus); diff --git a/tools/qemu-vnc/display.c b/tools/qemu-vnc/display.c index 8fe9b6fc898..b485cbe3100 100644 --- a/tools/qemu-vnc/display.c +++ b/tools/qemu-vnc/display.c @@ -433,7 +433,7 @@ bool console_setup(GDBusConnection *bus, const char *bu= s_name, return true; } =20 -QemuDBusDisplay1Keyboard *console_get_keyboard(QemuConsole *con) +QemuDBusDisplay1Keyboard *console_get_keyboard(const QemuConsole *con) { ConsoleData *cd; =20 @@ -444,7 +444,7 @@ QemuDBusDisplay1Keyboard *console_get_keyboard(QemuCons= ole *con) return cd ? cd->keyboard_proxy : NULL; } =20 -QemuDBusDisplay1Mouse *console_get_mouse(QemuConsole *con) +QemuDBusDisplay1Mouse *console_get_mouse(const QemuConsole *con) { ConsoleData *cd; =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709968; cv=none; d=zohomail.com; s=zohoarc; b=OLiLMjBfybrZZSgAqPw+Qgmf3zcN9Bc79cxcuzWqi22R4x+zVQpZH3zEQniGC0w0yr3U1/Hyl4m7AzQND6fPqOF+0Sq73S1wfng4lUvnuD3yuQGk5No+r3AKo3v7CVTk6G1udnH6qW+cUuGIDAtHUmUEpJm/2KtQYcmhIlNQKDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709968; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kWibPci18Po7ndhVSlv0NfPsjJ1ks2xSod3h06xAUP4=; b=He0Ay0Zn+ekco1j2NH42XDE1cyy86SghV2FEgtuoSYg0P1/brgkbm6VlgIipTb6WibJZV4psyjCQ5nx0liWs3chsyXpPEUIrOUD6XYXNszksiINxlltCkzDXvzw5DdZD4bLpvkkXGgniTUOQRWDw5APWqBaD3ofjKnyM4dehhug= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709968081450.0904562845624; Wed, 17 Jun 2026 08:26:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs98-0003EN-68; Wed, 17 Jun 2026 11:25:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs96-00033V-Ha for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs94-0004tq-RL for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:40 -0400 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-651-roLOUlhRMOSY2lTLmZdRzA-1; Wed, 17 Jun 2026 11:25:36 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B91171955EA9 for ; Wed, 17 Jun 2026 15:25:35 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A18E61955BC2; Wed, 17 Jun 2026 15:25:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709937; 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=kWibPci18Po7ndhVSlv0NfPsjJ1ks2xSod3h06xAUP4=; b=Zqiiyw9XYy8fM1EenCxw3wrY2mteX8M+6caDZzxG4U7jkcr+pxOQ3kxsrimyaMN7rAZ8Dk +Poct9xJyqPFGvM9e6VZC3XyrML4cU/f8V3W6qmdVQtfu5x8TfnzecMetpyy87qbuV9WP4 VlQI/KRDZs8RzvN5QsMDN0e/lxqu790= X-MC-Unique: roLOUlhRMOSY2lTLmZdRzA-1 X-Mimecast-MFC-AGG-ID: roLOUlhRMOSY2lTLmZdRzA_1781709935 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:21 +0400 Subject: [GIT PULL 24/27] ui/input: Have qemu_input_is_absolute() take a const QemuConsole MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-24-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=1847; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=Z2a0emkl5/QN6sOYSBTNY1lwMv64pBDDtTq841otuEE=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpnlzV+NbsThagSghfJK7YHHV8u6R3KQpOG 8/V0qpPd1iJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5SabD/9dTrq07leXW5cHO2VWm7W9yua0KbTNaXX56nOcpigSkltGwXV3hhVdJAWsJhkiURawxg0 HEgFhP1BKS/iT/UjednNGCnB981AYTE2a20EvUJ4JwuGYMWrym/9O0y9DJmYh03gH9drLAKXMmN i+E2HquWJCpR3Apx2XHQDXCASGN7tXWqrCpvH1y/3zOD6lpA2Bx4NxMuHpwtp7M8ESkAy6v2Uvr olvKY82Rd69Zc4GiUJVysHcPzftRnWxk6tg3bXnHCBf+GlqFkcCyjv0phjg88CXGmAmiI59r85z mAR3jJ66q4eRuDfERcu+ejHcSvAl1oztDJ1dvP53LzRmio3yA72ux7QmQjaLOLMKOtkc9FEDIIg 1IAEDCP9EKed8t6X7iaN4J7Gr0W+3RDbQKbcDmS3dr2bPiaWq5/2K6hPoMdUChsLKFNj16M/Lq+ bkg2Qu3VNVzYnhZTGTaV8ztVIkDF4R1llnH40V1phuf1rM1fXcFD+wAQwdAfpy/CxGxBxztG8RI T2rHCDYmNIiKn8yfyNYZBlY/+gqpCjL4/hTOwaMlOoPCeGFZzD6jgNUGEeyx3sYkUAmqlHvWmRa JgXO8AzL6AWf/SWmIr902h3GCpVf6Ui2NQKh3j5ICWPvLwoKlKblZAnYz505IALpSmje4tut1ZS PWfSv8jCAvprOBw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709968639158500 From: Philippe Mathieu-Daud=C3=A9 qemu_input_is_absolute() does not update the content of the QemuConsole structure. Make the argument const. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260611114212.27472-3-philmd@oss.qualcomm.com> --- include/ui/input.h | 2 +- tools/qemu-vnc/input.c | 2 +- ui/input.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/ui/input.h b/include/ui/input.h index 18088babe2a..a1560cac0f8 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -73,7 +73,7 @@ void qemu_input_queue_btn(QemuConsole *src, InputButton b= tn, bool down); void qemu_input_update_buttons(QemuConsole *src, uint32_t *button_map, uint32_t button_old, uint32_t button_new); =20 -bool qemu_input_is_absolute(QemuConsole *con); +bool qemu_input_is_absolute(const QemuConsole *con); int qemu_input_scale_axis(int value, int min_in, int max_in, int min_out, int max_out); diff --git a/tools/qemu-vnc/input.c b/tools/qemu-vnc/input.c index dd6a55ce9e5..a1e9ff00864 100644 --- a/tools/qemu-vnc/input.c +++ b/tools/qemu-vnc/input.c @@ -160,7 +160,7 @@ void qemu_input_event_sync(void) } } =20 -bool qemu_input_is_absolute(QemuConsole *con) +bool qemu_input_is_absolute(const QemuConsole *con) { QemuDBusDisplay1Mouse *mouse; =20 diff --git a/ui/input.c b/ui/input.c index 40a0d507de5..b82622c8645 100644 --- a/ui/input.c +++ b/ui/input.c @@ -466,7 +466,7 @@ void qemu_input_update_buttons(QemuConsole *src, uint32= _t *button_map, } } =20 -bool qemu_input_is_absolute(QemuConsole *con) +bool qemu_input_is_absolute(const QemuConsole *con) { QemuInputHandlerState *s; =20 --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709989; cv=none; d=zohomail.com; s=zohoarc; b=TqgyzbAdmXst0X1z+gZJBhigcc1eRW+HaNcSgTJFHOkS9bcWdtys/fBWzE2vdmSDoxixkMs6GDmSt9t/qEAsoJXWlCirYidzmNNrbr1zTAcR8LcXWcmZuCkVTALQGHC9n+eUQQh3UClNHhR5oW0mfIj4wx9oXqmSJ1Bp7e8l2RE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709989; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3MzOdUytBdgJJhzQhPUejN4Y5WnUZqTyZ0mNfL1b4Eg=; b=E9xmaMiGlelNBU8kmhtJWw4yuaaxYDW3Ox0uEKpUnR760lk8LlnRH+sw/LHxl/q1Zo1lBumSJmyqmSEfxWb4Hm5l+qgStDt1C3OQ82/MRnRkVtO94wmft9bHEe21Y3Wmwrbn5exy9yU2fhNchEO2c10wUvPtEtPeOsOYrrJoV9E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709989718162.2885269659305; Wed, 17 Jun 2026 08:26:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs9U-00045V-0b; Wed, 17 Jun 2026 11:26:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9C-0003pl-V7 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:49 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9B-0004uu-42 for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:46 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-184-dvjBaLQsMqCtU9vNWlCupw-1; Wed, 17 Jun 2026 11:25:42 -0400 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 326FD1955F15 for ; Wed, 17 Jun 2026 15:25:41 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 237053189; Wed, 17 Jun 2026 15:25:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709944; 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=3MzOdUytBdgJJhzQhPUejN4Y5WnUZqTyZ0mNfL1b4Eg=; b=aX75g4mHhIxWpeAaz5IINpOJ4HDP3jHJm/ZTknGDBk9c2ruxRCCQQPi8hX9gFmvQqTr8cY M3p33JQaXDNe/kVrDQascf+AprERkFUlOCscC/iRaZlnSSgZujt9ZQtv9jwZ6Cnkq0Af63 xTMm+OgnTpBqIa3vyWmBmQvl94LFky8= X-MC-Unique: dvjBaLQsMqCtU9vNWlCupw-1 X-Mimecast-MFC-AGG-ID: dvjBaLQsMqCtU9vNWlCupw_1781709941 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:22 +0400 Subject: [GIT PULL 25/27] ui/pixman: fix zero rowstride in qemu_pixman_image_new_shareable() MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-25-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=5684; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=SOq11z6oxabN4M1NCITQwuh+JlZhpfFFGuIR0ptG8V4=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpL7wKjpDyzs8JLOm+wykV9r4j7urpezWWo VYNwTR6q36JAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5ZgLD/9HUjBKk5Yrnq779QlOFeOC/i7cRk6cNzQ0zExqvv/B+mX4yjcLFtmQaXI4O7DpavLPJ8N Ps8WmiHdDWQn1Efo1nu9wUXkYdzPVZKT+owo/2fMG9iHLa57otVYGS5qSOqUsrIHirmrVTAyPMq Dg3f925ztE04jEmK5LL8kzikmlQwrkWPHXXvZyN9YI8dllORs3z/F8+x1VbRau7hnS8r5at4R8O OdSsNmP3qN+ICb25pp//AT+bcVhjjaZAnxGxLlHl5N/qsJ16sM6s8IeVDdUDhziv+9E+gX5e6EF r38qvU8E8mP+nhrCO+4RCCjR8zY37rQiDMPmqtnMNdRXdbDFwt/eVQB37I/hkJxaW5NAsW/bWY0 JDgf6sya3gi6/s6UFdlzHXEGWWGNSffMVRn8ZYzlb1PNosfzqIaBd68MTmTbCj5a9cDAvdCPotm FfolY/zB3jGgoo3DPWidr0ldJMVwbP6KF6oRCirPJ2rFAsIIc6YVGc7GwuhOYNS69v0Dd4y0qNR Q/ylIcANNPM7RQqG/nfzVHVbmP5gUO/5b9dGODBQl1BBildc1qBvApmupqYwcXos8WzFq/VzB3Y 8am022gGWXB2XEHMMoy1PJ/IRKnF0GqPQvNbITRaiQRnQVDEGLg4q5L435qbqVXV9RNkykuJWmO i+22CKXYn2XTxpA== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709990911158500 qemu_create_displaysurface_from() callers such as xlnx_dp.c pass linesize=3D0 with data=3DNULL, relying on pixman to compute the stride. Since 1ff788db978 ("ui: use a shareable type"), the data=3DNULL path goes through qemu_pixman_image_new_shareable() which computes size =3D height * rowstride_bytes, resulting in a zero-size allocation and an abort in qemu_memfd_alloc(). Introduce qemu-pixman-helpers.h with overflow-safe stride and buffer size computation (matching pixman's create_bits() formula), and use it from both qemu_pixman_image_new_shareable() and pixman-minimal's create_bits(). Reported-by: Peter Maydell Fixes: 1ff788db9781 ("ui: use a shareable type") Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260611113614.1935094-1-marcandre.lureau@redhat.com> --- include/ui/pixman-minimal.h | 25 ++++---------------- include/ui/qemu-pixman-helpers.h | 49 ++++++++++++++++++++++++++++++++++++= ++++ include/ui/qemu-pixman.h | 1 + ui/qemu-pixman.c | 8 ++++++- 4 files changed, 61 insertions(+), 22 deletions(-) diff --git a/include/ui/pixman-minimal.h b/include/ui/pixman-minimal.h index 6dd7de1c7e7..680cc809ace 100644 --- a/include/ui/pixman-minimal.h +++ b/include/ui/pixman-minimal.h @@ -113,6 +113,8 @@ typedef struct pixman_color { uint16_t alpha; } pixman_color_t; =20 +#include "qemu-pixman-helpers.h" + static inline uint32_t *create_bits(pixman_format_code_t format, int width, int height, @@ -120,28 +122,9 @@ static inline uint32_t *create_bits(pixman_format_code= _t format, { int stride =3D 0; size_t buf_size =3D 0; - int bpp =3D PIXMAN_FORMAT_BPP(format); - - /* - * Calculate the following while checking for overflow truncation: - * stride =3D ((width * bpp + 0x1f) >> 5) * sizeof(uint32_t); - */ - - if (unlikely(__builtin_mul_overflow(width, bpp, &stride))) { - return NULL; - } - - if (unlikely(__builtin_add_overflow(stride, 0x1f, &stride))) { - return NULL; - } - - stride >>=3D 5; - - stride *=3D sizeof(uint32_t); =20 - if (unlikely(__builtin_mul_overflow((size_t) height, - (size_t) stride, - &buf_size))) { + if (!qemu_pixman_image_calc_size(format, width, height, + &stride, &buf_size)) { return NULL; } =20 diff --git a/include/ui/qemu-pixman-helpers.h b/include/ui/qemu-pixman-help= ers.h new file mode 100644 index 00000000000..3e247a37946 --- /dev/null +++ b/include/ui/qemu-pixman-helpers.h @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Pixman stride and buffer size helpers. + * Expects PIXMAN_FORMAT_BPP() and pixman_format_code_t to be + * already defined (by either or "pixman-minimal.h"). + */ + +#ifndef QEMU_PIXMAN_HELPERS_H +#define QEMU_PIXMAN_HELPERS_H + +/* + * Compute the row stride for a pixman image, aligned to sizeof(uint32_t), + * as pixman does. Returns -1 on integer overflow. + */ +static inline int qemu_pixman_stride(pixman_format_code_t format, int widt= h) +{ + int stride; + + if (unlikely(__builtin_mul_overflow(width, PIXMAN_FORMAT_BPP(format), + &stride)) || + unlikely(__builtin_add_overflow(stride, 31, &stride))) { + return -1; + } + return (stride / 32) * sizeof(uint32_t); +} + +/* + * Compute stride and buffer size for a pixman image. + * If *rowstride_bytes is 0, compute it from format and width + * (aligned to sizeof(uint32_t), as pixman does). + * Returns false on integer overflow. + */ +static inline bool qemu_pixman_image_calc_size(pixman_format_code_t format, + int width, int height, + int *rowstride_bytes, + size_t *buf_size) +{ + if (!*rowstride_bytes) { + *rowstride_bytes =3D qemu_pixman_stride(format, width); + if (*rowstride_bytes < 0) { + return false; + } + } + + return likely(!__builtin_mul_overflow((size_t)height, + (size_t)*rowstride_bytes, buf_si= ze)); +} + +#endif /* QEMU_PIXMAN_HELPERS_H */ diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h index 4bc7a59698e..1d042c7f634 100644 --- a/include/ui/qemu-pixman.h +++ b/include/ui/qemu-pixman.h @@ -8,6 +8,7 @@ =20 #ifdef CONFIG_PIXMAN #include +#include "qemu-pixman-helpers.h" #else #include "pixman-minimal.h" #endif diff --git a/ui/qemu-pixman.c b/ui/qemu-pixman.c index aea09755b94..9dc606f692a 100644 --- a/ui/qemu-pixman.c +++ b/ui/qemu-pixman.c @@ -320,12 +320,18 @@ qemu_pixman_image_new_shareable(pixman_image_t **imag= e, Error **errp) { ERRP_GUARD(); - size_t size =3D height * rowstride_bytes; + size_t size; void *bits =3D NULL; =20 g_return_val_if_fail(image !=3D NULL, false); g_return_val_if_fail(handle !=3D NULL, false); =20 + if (!qemu_pixman_image_calc_size(format, width, height, + &rowstride_bytes, &size)) { + error_setg(errp, "Image dimensions overflow"); + return false; + } + bits =3D qemu_pixman_shareable_alloc(name, size, handle, errp); if (!bits) { return false; --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709979; cv=none; d=zohomail.com; s=zohoarc; b=TUA51lRnukZJOcjWe7U21VkoB5CfCEeKfUSFslLLqdaPLi4R/ifumYHXlEmK8veDhuoYbrVfaNGXuEp2+x9pmu4z3OkZNahf0cz2oqx/GFZl5iPomjTkcJK/43TsJsHVwKb8uFoc4/+XUp7PcsnH+kSndxFLF7kBuigrAdoNDzg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709979; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5ize/azyYjVC4psFbO+fkpnMb5YAHDb3xCKakjrdKRg=; b=QJOQWB6cBUMAFppHhhZKJc2VHwpArg80e5gpRhm6g1z05EuqjbI54gXfhXba4L42hHx4eK7OucyRcN6dK0wbBCig4VxpJsNlezuOhgJFi3bh36KKHHZ/sjlO0+IdyT/YArqDzfM6T4tkLs7GNJLnuBco5sBIKXlj0OO/PbPk2+0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709979178819.6641020099008; Wed, 17 Jun 2026 08:26:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs9X-0004jF-0F; Wed, 17 Jun 2026 11:26:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9K-0003zG-Le for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9H-0004vs-GW for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:54 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-606-0HPLWugvN9-qQRNkkER85A-1; Wed, 17 Jun 2026 11:25:48 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 79C741801323 for ; Wed, 17 Jun 2026 15:25:46 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 68C61180035F; Wed, 17 Jun 2026 15:25:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709951; 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=5ize/azyYjVC4psFbO+fkpnMb5YAHDb3xCKakjrdKRg=; b=ASjsGeFYKv7m6tQUuylUSKMhtiJXOur+abP4dlYU9EJh9MxJZQbSCkCdZnvu2CSdIhoBUe Bzx71Z5ChAzNEzGtQJyB638J6run9u0xXQZFICTecpBDov0LcQ0IIal/Cm7n+THNaellgp umop2bf9NCOuyiG/43l8pGSsCDoFTCM= X-MC-Unique: 0HPLWugvN9-qQRNkkER85A-1 X-Mimecast-MFC-AGG-ID: 0HPLWugvN9-qQRNkkER85A_1781709946 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:23 +0400 Subject: [GIT PULL 26/27] ui/sdl2: Explicitly specify EGL platform MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-26-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=2662; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=wXA/r+DI+eRqTS0szOikrlV8F1n/OI8Fb3jj2mHY064=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpr2+fQlnb36StzENaXB2NV115JpkRxqDrg wqxDWmc46eJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5eR1D/9VZ1mPdiWZLk+DVl7Y9Im6aT3O1Xrmiclolgj963yosUn0bNZSEi9FqPKzV7hR6fhCf1K nzxKhTzBxarRyWfCXlnTI0qlf6ReDv6dBQqq5rr2dKOzuwcYsjDqCh/Sz2aK65FQ7KYvdz53dhY yULbC3gSLVvwXyyZNheoXcu8UUBL+0J58Dyj0GKItWQbDdqwEkP4Swi/r0WE1U1u5wIZn6I/smu sL6jVQqkmb+r72hbscoto6/1SxrJfGUA07gch6Ui0tXAGPtCbydq5yzuQ9uYxnQdENIB4W4iUyO IhqTYkYuSRPQ/Gs9taEydzFomTO+/xZK8C5YeNrzwqiPp7lyosmQj+QItuuWfgLa4HZE6+Q63Mm cYbUEKOlXUSUUpmRGRlhOJ1KoqiOXbBAS6D1RKiBK/6ZTmtkOtoYCuPNTbBtsE/9uB9XSzriOU5 tuC7T3hG2PHNAhFCDtLl/cCSfvGsoMxsiOugbfFlsc4LBHrNupHoGhnhE5xdfZFzKkFq8qdoAzG o34NgfxeT7OI0ptYWESEIf7IPP4MO65D5CaEZ4n4ubIV8GwKFODeNwjpL7sJryCIHJhyq1Nrn2v KZZgzQsBUDm2eWvims8haV0SYtyCatZE7b57ZZQN+w4BniGDD051Js8+R7IVhFaaIVMV++4TNPz nTwUnfjEukAOXGQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709980815158500 From: Akihiko Odaki Mesa's eglGetDisplay() chooses the native EGL platform from EGL_PLATFORM, limited autodetection, or the build-time default. If that selects Wayland while SDL is using the X11 video backend, Mesa can treat the X11 Display pointer as a wl_display and crash during eglInitialize(). Probe EGL with the X11 platform explicitly before enabling SDL_HINT_VIDEO_X11_FORCE_EGL. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3540 Signed-off-by: Akihiko Odaki Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260611-sdl-v1-1-93d4a51684bb@rsg.ci.i.u-tokyo.ac.jp> --- include/ui/egl-helpers.h | 5 +++++ ui/egl-helpers.c | 4 ++-- ui/sdl2.c | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h index acf993fcf52..c97a0d5c248 100644 --- a/include/ui/egl-helpers.h +++ b/include/ui/egl-helpers.h @@ -61,6 +61,11 @@ void egl_dmabuf_create_fence(QemuDmaBuf *dmabuf); =20 EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType = win); =20 +#if defined(CONFIG_X11) || defined(CONFIG_GBM) || defined(WIN32) +EGLDisplay qemu_egl_get_display(EGLNativeDisplayType native, + EGLenum platform); +#endif + #if defined(CONFIG_X11) || defined(CONFIG_GBM) =20 int qemu_egl_init_dpy_x11(EGLNativeDisplayType dpy, DisplayGLMode mode); diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c index e3f2872cc14..069a5249554 100644 --- a/ui/egl-helpers.c +++ b/ui/egl-helpers.c @@ -520,8 +520,8 @@ EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, E= GLNativeWindowType win) * platform extensions (EGL_KHR_platform_gbm and friends) yet it doesn't s= eem * like mesa will be able to advertise these (even though it can do EGL 1.= 5). */ -static EGLDisplay qemu_egl_get_display(EGLNativeDisplayType native, - EGLenum platform) +EGLDisplay qemu_egl_get_display(EGLNativeDisplayType native, + EGLenum platform) { EGLDisplay dpy =3D EGL_NO_DISPLAY; =20 diff --git a/ui/sdl2.c b/ui/sdl2.c index 4fcdbd79d3c..ce14bd1f4e1 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -862,7 +862,8 @@ static void sdl2_set_hint_x11_force_egl(void) } =20 /* Prefer EGL over GLX to get dma-buf support. */ - egl_display =3D eglGetDisplay((EGLNativeDisplayType)x_disp); + egl_display =3D qemu_egl_get_display((EGLNativeDisplayType)x_disp, + EGL_PLATFORM_X11_KHR); =20 if (egl_display !=3D EGL_NO_DISPLAY) { /* --=20 2.54.0 From nobody Sun Jul 26 12:38:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1781709980; cv=none; d=zohomail.com; s=zohoarc; b=OqFvPJ/RTLSiWvBfl1R2pRwQ/8tFe7IBBut765hqBOlihq4LjICQroArINTUaKKNJyUdBGUj3Tf5dLuZEYToG9urW2M6TQHxaQnE5FIt0P4i4HTHigIKX1WG5rVEQf6+tt/5UN9o9//PMy3Xf5g6fNTNqGI6e7Eu9sJ7N7J/Jr4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781709980; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=w+K33Y09MhY96AJIA/ciC42C5TxeEKDGCI0h56mz8DM=; b=mg2C1duAx+zwVUS4J7mDm8Wg/7gHokXM3d4Nhj7y6RVfOWY1mHzscmhKahMhdugw6jjeF0YGeLPj1+X3aCsKVsfnzfs8FzOpWEhzqJgabRe7MKFb/D7gj4CqFAA4PjnYrDxendFZVRUq5E5lc+jKJA7kE2k52/J+niEXo6n6dcM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781709980376982.4316796565522; Wed, 17 Jun 2026 08:26:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZs9U-0004Jy-QY; Wed, 17 Jun 2026 11:26:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9M-00042R-Sz for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZs9L-0004wP-2U for qemu-devel@nongnu.org; Wed, 17 Jun 2026 11:25:56 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-7-qQejYA8jOTqUoUuA7pM0Lg-1; Wed, 17 Jun 2026 11:25:52 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CFB5D1800767 for ; Wed, 17 Jun 2026 15:25:51 +0000 (UTC) Received: from localhost (unknown [10.44.22.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A24211955BC2; Wed, 17 Jun 2026 15:25:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781709954; 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=w+K33Y09MhY96AJIA/ciC42C5TxeEKDGCI0h56mz8DM=; b=GFlR+qnkKPCP91xRue9wyo7Fdi4Jb2fYdJ7FgXxBL8X5aWccqvQEFj32n4AU37T3pGhjEL YMxRyRJx7k6yTPoHO0q4izEXLYOzDWBeDXUdNCiapco21vVoB12gGPUXGF/PV4pXy8a/1S Tc1Xhqts7joz4WBgNdBjsr99rdr6Cq0= X-MC-Unique: qQejYA8jOTqUoUuA7pM0Lg-1 X-Mimecast-MFC-AGG-ID: qQejYA8jOTqUoUuA7pM0Lg_1781709951 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Wed, 17 Jun 2026 19:23:24 +0400 Subject: [GIT PULL 27/27] ui/sdl2: Set GL ES profile before creating initial GL context MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260617-ui-input-v1-27-79e9aedc5899@redhat.com> References: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> In-Reply-To: <20260617-ui-input-v1-0-79e9aedc5899@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi X-Developer-Signature: v=1; a=openpgp-sha256; l=1489; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=MoazAlEnPV86Gv3PpB+0mbUDIrEjP1dqIC5KrfykpeM=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqMrvpAOygCyBQfFyM4xJ7JNHJKK1EW3+rPB5Mm AkufeAOyyiJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCajK76QAKCRDa6OEJdZac 5biVEACr9w9wUFNgaNS21FyVEeaUpgbdO+3GKR8+GIM8jlWMh0VuTiLKFoMZrsU9ic9FSv9zFLI gVHpAB8VnZaHh08SEUKtoz0mUObrIdykBe/iACDCSrOEl89HNxjnW4/zLpvyQRxMgcU17T25RT4 GrufW7u7/60MFcOa+kLW8o/WGE/2sSB8oc32nUiUHNLoY5zeh1AOuRi6Uc6pA3S1xSKBzKxvF6A fpaSU4ccABPLIAltJs4QJt6BSFd/d+o3OzsrjOvIcmdWGKf2/iqJuTNCMSsqLzApBCfCVVnouFA pGO34SpcJkK07nRXlCJ3u6BObNsQAkzzpmW3XM+DekjoDqzajKZiqoWDtHQsYaOQTEsxtxjKbP1 aXmEfUhZBZGZcOVm7meLQk7cs5IFOJaxAoeMf9OsPBBwghlZn9yzr25fqFC9VMDZChRCTeSZcvM ZmO5e78muig27hG7zfjQxiH28BBpIBKeI/iF4d1Izy6U8jAKMrFuYbzTUcvs+venVuyDCDykd+a /x6786uT+eRs5z7nClW8ErRUkEOrA8hdSuTgMag1MvaJTi1z8JW42SjPmiKnDtQgbwYTKbnu0b2 iZBnHtVDFflEQTEaT7ud4Iqtq1tRPgmB89fpzaq+cA3wwD0Oz5dgfkbyZIqUI2j2HDKURpTM0Ne wJ5gchrNckfPvng== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1781709980790158500 From: Ryan Zhang When the user selects GLES via '-display sdl,gl=3Des', we need to set SDL_GL_CONTEXT_PROFILE_MASK to SDL_GL_CONTEXT_PROFILE_ES before calling SDL_GL_CreateContext(). This ensures SDL_GL_LoadLibrary() loads the correct GLES driver instead of the desktop OpenGL driver. Fix the below issue: qemu-system-aarch64: /usr/src/debug/libepoxy /1.5.10/src/dispatch_common.c:872: epoxy_get_proc_address: Assertion `0 && "Couldn't find current GLX or EGL context.\n"' failed. sdl2_gl_create_context() already sets the profile mask correctly for ES mode, but the initial context created in sdl2_window_create() is missing the same treatment. Fixes:da3f7a3ab9ea0091955b58f8909dfcee01f4043e ("ui/sdl: try to instantiate= the matching opengl renderer") Signed-off-by: ryan.zhang@nxp.com Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: --- ui/sdl2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/sdl2.c b/ui/sdl2.c index ce14bd1f4e1..c75f750e00e 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -113,6 +113,8 @@ void sdl2_window_create(struct sdl2_console *scon) =20 if (scon->opts->gl =3D=3D DISPLAY_GL_MODE_ES) { driver =3D "opengles2"; + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, + SDL_GL_CONTEXT_PROFILE_ES); } =20 SDL_SetHint(SDL_HINT_RENDER_DRIVER, driver); --=20 2.54.0