From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576666; cv=none; d=zohomail.com; s=zohoarc; b=UIBeIKGNJfRhUyOVsFkdqmX2inEZr4aXnaS7Axgwbzs2brMiW19YrhmXGzEzOkG+QcHgr7r4YV1KF9iY6kS0Ppr259TsofjkW25wYXMxj9rLtCqq36qqNhjrQQEWSuLcFk2iEim6DYBeqImHSVBUszISLWOdIzeG7JXCTLmzX/4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576666; h=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=UyEy/g1PEDGl9OT2R7W8yjv5uTeT+1EIBQ0lv6lijmM=; b=mZLLkQWjlfD/Tzc+hWAbtP6P1S3ioQvKkwMuNMRfV5SouyMZNpVNhy5wcYZbmxrLk8hgsKObZSoJu+xlkKEk5n9LGBAdfFK65RRTTphxi9iha0zPahFWHGzmewgiD37b6Xe43upx3irhANJuU/TgVZzTbAcWKtArV4UhRLUDZaY= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576666413241.81996573383913; Tue, 3 Mar 2026 14:24:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY7z-0004f8-Q8; Tue, 03 Mar 2026 17:22:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY7y-0004e2-FK for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:06 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY7w-0002OZ-RB for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:06 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-483a233819aso60593295e9.3 for ; Tue, 03 Mar 2026 14:22:04 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576523; x=1773181323; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UyEy/g1PEDGl9OT2R7W8yjv5uTeT+1EIBQ0lv6lijmM=; b=Ce1tyRBtBpTBlK1hgT8eC3gMyjG9sNafd+cZf2i2gI9dRCde4yCU3J1c8LXTAMDNeg jElp5F/+ax45IAbFmO4BOEYOy2cyroGxp+JVMsVY2yrmOgCwL8b4cCi1Br/cbkKdXCq4 pAFb/7aaB3+dZXmDAiNi2z91k0cFQ1/CuhhNN314dUGOjlXxLfH3RcR7N/eMMsWZSEnB XV+7zOfNsNOwwHDdFSk1nBVEpGXGxPJUb9sBtmLroaBLDrHzjta8ONvOch8rzXaeYv7K WbveopJ55b8JtNGUJjMZmjl9U+On4hoGVGg5VjtAt3YsXAt2FAeN5RZ0J+au9YT+ubl0 cYWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576523; x=1773181323; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UyEy/g1PEDGl9OT2R7W8yjv5uTeT+1EIBQ0lv6lijmM=; b=AZbCDhaUIlcUYjEAZNJmxhlD9gCQ50zD2Y+cZd++DKKhAhwWzFmOwfFT3KHzr6RC0/ cOrokz7dvRsm4ngroCk7/HKlp7PQYSTPt6E2lsFGUoiERRUZ8sm5+si6OwIr22zczePT J04cQlbBPF4x1G+6YmMg8Ms7/ojZkqEC8hki91Yum02T3+4Vn3N+Yw3Bb8wPGon2OW3j RRasOb5rA+co0shNW4ivKOcbHkUpqQ3MnAs2JVrjIj9RcfqKoBDJI6hwwdq2/rFh3igV 0j7gmRGkA1FPxikC3FBgRNKJxTBQfu8vShq8aifvIfnEk6p8etu+q3ZZCDh5EIhF4K0L 2c3Q== X-Gm-Message-State: AOJu0YxCjMcOV0R3r/D154zp3P8eEViZY+A8xti5TM2fze0X/jKfGwBz yB9/fq3eesoORPk571iCj6CTpaezL/TYcWSMH63PHAIepuJyW7JUuyFlZ9Q+Iw== X-Gm-Gg: ATEYQzzH9vX7XQyBrX2e9EUe+SpplAgpw4yBe0WrBhpsWzKJRPMiHUySekj7Rr74aSt rHdiLUwNLjDydJuEEbx6aj43KN1GEkCF7QbH+dGvOVhDBZryE0/gE1yZHoJfC9lY8HjXflYhmQJ z80Y9OGhObXzHWnbd+4MfPoHCPGH9EyvCXVrltDPM+UD9jlcxZD/Y8SVPhsEPWKx+sXZhSM8aaX GLZqyCp0Inp6NsSkUW1YQLY+a8zydRTgIKNT3falAVYE3/lDxpJynBzXEqgwcDJFN6UidOAjfIt XBrBQSlL+Nc/oMk0l6vzPJpr3CGexNqsMlR1UKd8GCVqVIopfUM4in/bqyvJwABBG8OuqoGzs3d Xistt4nbQc7we0d17NHMK34nB0y0oD5vbMS6pURzX6nJ2yfG0mfR+eyB/AEZgSQnexg4EtGibol nwqv/SkIOXMf1CcGd70+AEwie8HCeF5+XJ6036RNI2mapq9csTRjUCaYsn0jL9zJSAviNg93NyG OR3JJWHgjfIY5WHW9/InStpgN337lz1mjFK4SXLeA== X-Received: by 2002:a05:600c:3103:b0:477:5c58:3d42 with SMTP id 5b1f17b1804b1-483c9bc19a4mr306193725e9.10.1772576522717; Tue, 03 Mar 2026 14:22:02 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 01/13] hw/arm/Kconfig: Fix serial selection for NPCM8XX Date: Tue, 3 Mar 2026 23:21:31 +0100 Message-ID: <20260303222143.142741-2-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=shentey@gmail.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.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 @gmail.com) X-ZM-MESSAGEID: 1772576668379139100 Content-Type: text/plain; charset="utf-8" CONFIG_SERIAL selects the internal TYPE_SERIAL device which is akin to an "IP block" that needs to be integrated with glue logic. In case of NPCM8XX this glue logic is TYPE_SERIAL_MM which the code uses already. Fix Kconfig to select CONFIG_SERIAL_MM which matches TYPE_SERIAL_MM. Fixes: ae0c4d1a1290 ("hw/arm: Add NPCM8XX SoC") Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/arm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index c66c452737..20e99e52b1 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -493,7 +493,7 @@ config NPCM8XX select SMBUS select PL310 # cache controller select NPCM7XX - select SERIAL + select SERIAL_MM select SSI select UNIMP =20 --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576657; cv=none; d=zohomail.com; s=zohoarc; b=ecskKHpOkcepBT2Nncuy1Oi/qWOOwqpntC69tgLi93msq4Rg5dSjkVz+NQw9JgqGzr9s2xWNWCzM9MCzF1Jm+Qtz/N6jeLupTBxrfudgdm1ipNrkfrBg0Rkr75AS+AGbHn+JG2GbnkLyT1nEJLZwB60MP7qt67zuf3FCcbyM27o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576657; h=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=Xtq/5HasaYF/u2JgkoCvWSDDmD9TojuUdZIFbfZPAYc=; b=A4K89PYZzbk5Euvuhu73ewFU4LmDALF6RDP+jg/kKu3gwilMuUxgsd8bFIjw5KfqZE4TA5jVUzJBT/5lxZo+O7TS+P9FZU8UYVqHoy4mASVi46m706mzxcPiKCx77uRyFGAy2zMGQn8dTAqFdUlMVbTF+whbFFQRJtqd+9CmgMk= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576657521633.8934623005133; Tue, 3 Mar 2026 14:24:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY81-0004gH-5p; Tue, 03 Mar 2026 17:22:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY7z-0004ey-IW for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:07 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY7x-0002P0-UO for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:07 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4837907f535so54790715e9.3 for ; Tue, 03 Mar 2026 14:22:05 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576524; x=1773181324; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Xtq/5HasaYF/u2JgkoCvWSDDmD9TojuUdZIFbfZPAYc=; b=OrMGEhWEtzTyATo2uQ1YjTj+KQ6ZfZukroa3s+KkuJ5Sg4d0jXVp31C9uXn39UhgfN /YU7HM64mDAQbOJKcYS5DV2SnryqLF0feP4wPTlzuA9TuObY2g4ZHOO0v9XpesxRcVz6 HDXMkwx2tVKmb64YvG6Se32xGGUsftIyU16a/d69RMfn0nF+DUQey+3tL7kEZ4v/qosJ 5EuGpnHOfTPSwy6IdIgwe/Z/vxnRFCBJfWjDJ1Hr0pa74z7Ufl3mufmHheCzgdqhrq9Q 4DgGTkhkWt1cFwnYEVjSK9pYo8f3B5+lplhcSR7wr2gKr5s6BbMDBANu5u2x2K4r/hR9 V4ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576524; x=1773181324; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Xtq/5HasaYF/u2JgkoCvWSDDmD9TojuUdZIFbfZPAYc=; b=jxVlV0KrK4YD+bUtQwST67rdDYyi3LUQPOW7CHKTwx2kAWsP4AjARxAcyaeMGwPY9U U+IFJ/rQ58cd+rpJmSHeYemJo9x6OW7XYNhhWxPTKiEpWRA9Yj8mmPGJyMhpSX5Xo4Bs cKpys/cE7/ryNiUVCxrW6SVHiMG0VVLZCQ9uldw35+HFJsBdycxjv8MssP6mrt7VJ06Z Hp1qAGivbc160dmiruZxLCpAxds8u87Gwp36ek5DOVD6+wKJg+nHTFUmmypi3FFfdD17 NL8Pn2U+GUvBR1B33wlBs+HmJifdMB63wD20efw+dAfk3svLWlKCEk2mwwCskD/A2pjP tsGw== X-Gm-Message-State: AOJu0YwcJUqyaPZ+Nlhaga4DBZt51KpPI+2jHkM4SmCddgH3Gvv8qxxG D5rZXOcRO8fVSZYLYfj0l3amYwf9v/wzNORR2dSC23EbyPxvD0w06fKOq5L0qw== X-Gm-Gg: ATEYQzyMxcBSrGMwncRcVjJfSNyLtekCPzg0J+oqzz2Z6vBiRiA2nBHhqbwF4DxncgR z2ICP1DPI3vUhWX/122o4cNrefK4g6y3gJVKiAkOWY1CrvIE4pHYMByRfVmh/wy9OHs510ne89Z aPIwxOxf2qU+Vbgi83YAy3XXbuMHG+u6aBmgyXpLIJkHBegtVDfY3AAmHzpiqEr/1hsy2uPfoFa HRJ33QpQn/HltJT0RmPiNsw77MvKEiPR03++2g+R8G98zZXU/Ph40CKWmUHwNbFME3lnOJMqTVY 68sCjoJJKqsN1ZyYmltIOuxOrdVWgBN419bOCs6fKYsb6IctAtmOln51ONCTVtaPVl/GSacfmpv RAG5+ypIMWBl6oNA8b0asnjGsVssJr/E6LQMs3VoaUvuP4zwFRP/DPtxCdKLrhD65NzXkInwKV0 rp0sn0oV5AQgZEv+OmuKurj+/0rUpTBhKi4kz07mjSzziljP2IHSc3WTEuTck9gGfSBF8XY+juT nWkt0HVr2e3bUD3TkKsimLeLNFALxk= X-Received: by 2002:a05:600c:a0a:b0:483:7813:90d8 with SMTP id 5b1f17b1804b1-483c9b94296mr279196615e9.1.1772576523993; Tue, 03 Mar 2026 14:22:03 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 02/13] hw/arm/aspeed_ast27x0-{ssp, tsp}: Do not access SerialMM internals directly Date: Tue, 3 Mar 2026 23:21:32 +0100 Message-ID: <20260303222143.142741-3-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=shentey@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576659466158500 Content-Type: text/plain; charset="utf-8" SerialMM inherits from SysBusDevice and exposes the memory region by means of sysbus_mmio_get_region(). Use that in order to avoid accessing implementation details of SerialMM. Signed-off-by: Bernhard Beschow Reviewed-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/aspeed_ast27x0-ssp.c | 7 ++++--- hw/arm/aspeed_ast27x0-tsp.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c index 9b12ba6743..8b84300e0f 100644 --- a/hw/arm/aspeed_ast27x0-ssp.c +++ b/hw/arm/aspeed_ast27x0-ssp.c @@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *= dev_soc, Error **errp) AspeedCoprocessorState *s =3D ASPEED_COPROCESSOR(dev_soc); AspeedCoprocessorClass *sc =3D ASPEED_COPROCESSOR_GET_CLASS(s); DeviceState *armv7m; + MemoryRegion *mr; g_autofree char *sdram_name =3D NULL; int i; =20 @@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *= dev_soc, Error **errp) } =20 /* UART */ - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", - &s->uart->serial.io, 0, - memory_region_size(&s->uart->serial.io)); + mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0); + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, = 0, + memory_region_size(mr)); memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev], &s->uart_alias); /* diff --git a/hw/arm/aspeed_ast27x0-tsp.c b/hw/arm/aspeed_ast27x0-tsp.c index e39d1dc171..e7c7b74491 100644 --- a/hw/arm/aspeed_ast27x0-tsp.c +++ b/hw/arm/aspeed_ast27x0-tsp.c @@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *= dev_soc, Error **errp) AspeedCoprocessorState *s =3D ASPEED_COPROCESSOR(dev_soc); AspeedCoprocessorClass *sc =3D ASPEED_COPROCESSOR_GET_CLASS(s); DeviceState *armv7m; + MemoryRegion *mr; g_autofree char *sdram_name =3D NULL; int i; =20 @@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *= dev_soc, Error **errp) } =20 /* UART */ - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", - &s->uart->serial.io, 0, - memory_region_size(&s->uart->serial.io)); + mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0); + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, = 0, + memory_region_size(mr)); memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev], &s->uart_alias); /* --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576594; cv=none; d=zohomail.com; s=zohoarc; b=ctJ772KAmDZ8dBqzu+M9EzYDN6gA/RSnhDfTZAQZx4ZzZAcK9DlYIcDcPuIvnJKItgmTwUPRvYforJ8KVyaeoVVVPYhFtIo3LeJiNZwz/8lVsW+84JxzIO/qe4CoN3AoRqn0gRG/T+myrYEiDsR5SRqnU5hJUHd8krHZpwDZEIc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576594; h=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=2tDkacrofsQyynIL5aV6S8J0KmjfmKGV0MBvFQ9/O94=; b=HE7nUmrzOgMjsEDee1lvyAABA6eIGaco2YqsUjZHyTCFrkqtwr7lHl8uW9yhO/5VHYQeYcnJQSqGlxUcXir7K4gEF9AX1rjrgV/+twgRkUeTTjy1qB/NidpqCZMeSRqOCGLQE9CZK58Q3g/X3cJb98iQtl8ihyXxRT7U8hmaxFg= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576593848839.6941752700168; Tue, 3 Mar 2026 14:23:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY82-0004hB-UR; Tue, 03 Mar 2026 17:22:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY80-0004fv-NP for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:08 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY7z-0002Pc-5F for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:08 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4806cc07ce7so69991315e9.1 for ; Tue, 03 Mar 2026 14:22:06 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576525; x=1773181325; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2tDkacrofsQyynIL5aV6S8J0KmjfmKGV0MBvFQ9/O94=; b=FkRdlkWSmWAKpWZD33PmjCG/DMHTpgGWSp6Dtk4hMPuJ1LpHLIiW85/YVKy8cdUsIO lwfDnDFM3/f1JZfOc9vwfXOjyswgDrAxOnBQ+/cgfZLSAaD2/NRkO8AYcGdrn97tMWFN VDdTpOyRStjeQ+RC+0rPu9eAXIzg7gbdkxT0oddNUCtKlxW2CRWipCmLzc6AUy+Zz1yv cEsgEnJ9dOXPi/tPhv+VlRhurjeY8R+0KrcimZoHB4gOyB06vorJU5Y8arSMQ3czec93 g6GQrNT0ZX9RBrzAWPwdTvthmWD5qke7Qj2IcfjLtWy63dH6YlEDdgtxZvTSbsHeGyBW 0gLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576525; x=1773181325; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2tDkacrofsQyynIL5aV6S8J0KmjfmKGV0MBvFQ9/O94=; b=n5pOT625uNBaaPNF5+AM0SgOejfV8YoHMoPXMq4viYsTEiDquhNPcs7sUkfg0ohoka Woud13OYLrKeGcu6XBA+Cy6A2BXkBgVMMr3E9Txs5A8d1wEzBYGiQZ+X2vkXPbLAGpRz M/f4NYDj8d6a52jFSwhuU8wTLMYdjDUX1oSexamKuy9BiZR2JfVzIc03WeQJZVSDTz4a Hofo1lgkHGoCBPwWGfXHg+yPONj8yVachaKD6hBj74yurXpVO2NJqOh3FzVDDsnFr2Yu wTxRS8u7vhHGpJ24WvbnB/eAu23I1qWinKszLj55KSxdIcOLr4ncyg8aaJv6UmpeTTtj kVow== X-Gm-Message-State: AOJu0Yyx6siO/MHq4FipEmfgySDHMzIPAiFyIvOaFhq/geYYZs1dKxgx RE1VqjfB5TgO2FF5uwWYDY+cSKlkvATQCzOz+FokwhDGkSR75nt1E7YWKARyzw== X-Gm-Gg: ATEYQzyISsmz7R50o+qbEiC+zhtZrkh9drH2Sn57hGF1ulpVPJDOu9UWccFHetwA3EV 45z/lVokpBDfKGqMofwm+8C+t2dJ/HRwdc3fE3zf6i+pmJQhHyu2dbGPGc3DwbdHPyQ05ms2U0u 6jEQiFjIoihDaY0efs6Roabff1YsL4YgybFx4OToldVE3/f6GVxW9xu/2NXnBX7xdKxdQVFBxCt AHj5X/CswHPM5jxeonNX9GUzHEPotSIsOojzeKk6x/Tj6Zktx8rFpDqf/lRQeIROejRRFE5SHHa ddAvrvpeIltRocqRtwzjDvWQIh0jhB7TxaJaNQ7QD1OfziLZGU1g3jfTD3nDfCwMRKsdy3Yyw80 Cm4juW+t6+vWPUhU/CvfKnzrqCYVyG9jfs0pbMPxMcSsD2Xqbd4JlUuO36OMApoOc0Ng23xWPrP KNeI4us4W+69kDbQi3odFvDyumYx/5Zh9Q+Er036q5YWa5i6omYAOu9oj1A1GNteXjMKm/AzuYA Ir/MxYQldpQKgqoacluEqEikkVEP48= X-Received: by 2002:a05:600c:6095:b0:483:54cc:cd89 with SMTP id 5b1f17b1804b1-483c9bb1dfemr296528495e9.9.1772576525328; Tue, 03 Mar 2026 14:22:05 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 03/13] util/fifo8: Make all read-only methods const-correct Date: Tue, 3 Mar 2026 23:21:33 +0100 Message-ID: <20260303222143.142741-4-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=shentey@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576595925158500 Content-Type: text/plain; charset="utf-8" Allows these methods to be used in const contexts, i.e. where the parent of the fifo itself is const. This is in particular useful for Rust code. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- include/qemu/fifo8.h | 10 +++++----- util/fifo8.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/qemu/fifo8.h b/include/qemu/fifo8.h index 4f768d4ee3..6b476b404e 100644 --- a/include/qemu/fifo8.h +++ b/include/qemu/fifo8.h @@ -71,7 +71,7 @@ uint8_t fifo8_pop(Fifo8 *fifo); * * Returns: The peeked data byte. */ -uint8_t fifo8_peek(Fifo8 *fifo); +uint8_t fifo8_peek(const Fifo8 *fifo); =20 /** * fifo8_pop_buf: @@ -181,7 +181,7 @@ void fifo8_reset(Fifo8 *fifo); * * Returns: True if the fifo is empty, false otherwise. */ -bool fifo8_is_empty(Fifo8 *fifo); +bool fifo8_is_empty(const Fifo8 *fifo); =20 /** * fifo8_is_full: @@ -191,7 +191,7 @@ bool fifo8_is_empty(Fifo8 *fifo); * * Returns: True if the fifo is full, false otherwise. */ -bool fifo8_is_full(Fifo8 *fifo); +bool fifo8_is_full(const Fifo8 *fifo); =20 /** * fifo8_num_free: @@ -201,7 +201,7 @@ bool fifo8_is_full(Fifo8 *fifo); * * Returns: Number of free bytes. */ -uint32_t fifo8_num_free(Fifo8 *fifo); +uint32_t fifo8_num_free(const Fifo8 *fifo); =20 /** * fifo8_num_used: @@ -211,7 +211,7 @@ uint32_t fifo8_num_free(Fifo8 *fifo); * * Returns: Number of used bytes. */ -uint32_t fifo8_num_used(Fifo8 *fifo); +uint32_t fifo8_num_used(const Fifo8 *fifo); =20 extern const VMStateDescription vmstate_fifo8; =20 diff --git a/util/fifo8.c b/util/fifo8.c index a26da66ad2..cc4f590b7a 100644 --- a/util/fifo8.c +++ b/util/fifo8.c @@ -71,7 +71,7 @@ uint8_t fifo8_pop(Fifo8 *fifo) return ret; } =20 -uint8_t fifo8_peek(Fifo8 *fifo) +uint8_t fifo8_peek(const Fifo8 *fifo) { assert(fifo->num > 0); return fifo->data[fifo->head]; @@ -157,22 +157,22 @@ void fifo8_drop(Fifo8 *fifo, uint32_t len) assert(len =3D=3D 0); } =20 -bool fifo8_is_empty(Fifo8 *fifo) +bool fifo8_is_empty(const Fifo8 *fifo) { return (fifo->num =3D=3D 0); } =20 -bool fifo8_is_full(Fifo8 *fifo) +bool fifo8_is_full(const Fifo8 *fifo) { return (fifo->num =3D=3D fifo->capacity); } =20 -uint32_t fifo8_num_free(Fifo8 *fifo) +uint32_t fifo8_num_free(const Fifo8 *fifo) { return fifo->capacity - fifo->num; } =20 -uint32_t fifo8_num_used(Fifo8 *fifo) +uint32_t fifo8_num_used(const Fifo8 *fifo) { return fifo->num; } --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576681; cv=none; d=zohomail.com; s=zohoarc; b=UQsRvBEhupwDWu6KBq7CL/sTmWBIcrYmA/pT7hU1++YzL45a/2LR5y7A/46I9Y0B4y5k74Pi59o/iw3cfzPekOyEMZZXCZuSAuHaXBIo6yyvhBywVZcZON2e41D1Vhwc3k+36NGGUf430ISbtYKtQn1glmC5d2HjZf4rzdn9RJc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576681; h=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=CJx9Hj31eX7Y3Z+9nYTXa1xFEWa58APXwA1Xzcuwa6k=; b=U7LjnHm+fo7GehtDCHDNn1VjTHxl5KGWMg0STpfupJEz8M+lfNXr5Ga6k4qehFZMVFh3tA/0HaPQiS0luYXM/CbhRUo1++LHse4jNKywntp3BIeEHZg1Ja0QbF9L/ERV3XZ+K0abD1FKdJBgGh+fBcptTf6krc9i1sFiXirWnEE= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576681507173.9590714397317; Tue, 3 Mar 2026 14:24:41 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY83-0004ho-Fm; Tue, 03 Mar 2026 17:22:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY81-0004gZ-Te for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:09 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY80-0002QC-Dv for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:09 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4806bf39419so52539695e9.1 for ; Tue, 03 Mar 2026 14:22:08 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576527; x=1773181327; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CJx9Hj31eX7Y3Z+9nYTXa1xFEWa58APXwA1Xzcuwa6k=; b=RqflqJbzeXicS5hH7gdBzOH8KJVlFMtKHt1WY2kXulGOncBCwz8GP5bozCLcuPN14t LnfvcR1ldNdA+R+YUjrHoJUP70LQPavRhmA5wwqDpQKid3ftbtFKG/eTt4xN7KP3FEvx cmYT36lMrKDEf0NmjeeMJO414oVoO++P7YdV+0y6RBsBTkz4paRd6/dJX31D1oOx7gg2 yeOckhLTMUQxGacuQd+2xw67dfosvgay2YtZhAjnUub9covp4MJiCrdpZThm9wnRn1UX Gpn8ZgTS4Sp6krLTIn8Y2b8a8Bt57qee9KD/sMRyBnH+dVxVwkg2Cztufu36n2xvOl/a 564g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576527; x=1773181327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CJx9Hj31eX7Y3Z+9nYTXa1xFEWa58APXwA1Xzcuwa6k=; b=PReS43SpT8WHbN1hYiQr88MPCXWD1sEd+W/XKz7CfkdOWAlQqQ8WtK0MQIpLm5XdHv De9qDHO1e4TRwxbt0LuUTv86ps1R7Xw2HEa/6+hjC7ydiasXzcMtNVj+djbeFnRF2iYp lHEWWEPGkpqPy4fdMJONhXy8hjbs2a1wW1Nr08/Q/ler9QoK7xS51Yh5vUMtVWXMc+XB tforDtxONIvFM2X4ORL2mmnz1NoEDqsUxDJs5cO6jZUlM5bb9JU2oZHQqsnTAFvoTT5Y l14Jfqpl6xhQz6NYw/IkrdNeDrNF40tAFXk7e0Ok6uZjWn7TFDBqlF3mcdbBnbVSfcvV fhpA== X-Gm-Message-State: AOJu0YwVw2OkXL3qESrGdMxU0oGRvVPozZxnJl8RdOXktPEsbXf76Ag7 AwjLQjIocqF4ModGPBDWJGcl1EHbeqmH2NfrOgTkgDNpLCVIf65CJS2l9/LcbA== X-Gm-Gg: ATEYQzwjv9moJQ+552ernSWtWD8i+gpewir/qysZVk9Vqfx2EenXTdHuv7nMOZ82eIC RV14hLrIXx2/CGRXNjqdgIt22kt5Rjjt7+ZLEM4OrdzJHoAel8cjtXjLU2BfolwSsvLBaHycZyw TGGFtgr0fkl9w/lNsgG/YvbWXMQl9VqdgKVdnEmctfPip/dTbQGCGRI087c8E4MoBIm0YFRLcVc wiZtoXfrJBuLSz+GEb1TtXYtJ3nYqLHJ5k9qMlVHy43xpqRZtIMkdLbT3CkGiUtBSSlxy7KlnHp /0m0Zv+2/QkI+fKgjERP8vE1P0Vbd4JC3oswm6LovbSnriRnQvZ/mHS83UIrQYQUFHfIlOMnWbR UzM80lcMsOjzyatzMOjIohYvrWcqc0wcq+E0a6CGI7w1veu8rB7kTF7X314ON8TxAiS9NwSAA3v splGMH3vwk3eRSoSA7E4LzKJyXvznJbEjZeeElq5sxmFgDoYPQslMTjF+82ZugEa7Ia79ahqk0t 88Qrxrbvo3CFVooVAth9v/4O11Fnig= X-Received: by 2002:a05:600c:8b44:b0:479:13e9:3d64 with SMTP id 5b1f17b1804b1-48513c76ea4mr57049865e9.15.1772576526557; Tue, 03 Mar 2026 14:22:06 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 04/13] hw/char/serial: Remove explicit cast from void pointer Date: Tue, 3 Mar 2026 23:21:34 +0100 Message-ID: <20260303222143.142741-5-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=shentey@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576682633139100 Content-Type: text/plain; charset="utf-8" A void pointer asks for being casted, so C allows for omitting the explicit cast. Take advantage of that. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index adbd1d1d4a..0f2e79dfba 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -715,7 +715,7 @@ static const VMStateDescription vmstate_serial_thr_ipen= ding =3D { =20 static bool serial_tsr_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return s->tsr_retry !=3D 0; } =20 @@ -734,7 +734,7 @@ static const VMStateDescription vmstate_serial_tsr =3D { =20 static bool serial_recv_fifo_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return !fifo8_is_empty(&s->recv_fifo); =20 } @@ -752,7 +752,7 @@ static const VMStateDescription vmstate_serial_recv_fif= o =3D { =20 static bool serial_xmit_fifo_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return !fifo8_is_empty(&s->xmit_fifo); } =20 @@ -769,7 +769,7 @@ static const VMStateDescription vmstate_serial_xmit_fif= o =3D { =20 static bool serial_fifo_timeout_timer_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return timer_pending(s->fifo_timeout_timer); } =20 @@ -786,7 +786,7 @@ static const VMStateDescription vmstate_serial_fifo_tim= eout_timer =3D { =20 static bool serial_timeout_ipending_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return s->timeout_ipending !=3D 0; } =20 @@ -803,7 +803,7 @@ static const VMStateDescription vmstate_serial_timeout_= ipending =3D { =20 static bool serial_poll_needed(void *opaque) { - SerialState *s =3D (SerialState *)opaque; + SerialState *s =3D opaque; return s->poll_msl >=3D 0; } =20 --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576650; cv=none; d=zohomail.com; s=zohoarc; b=UcB8a+uYOUywQu9y9mjTHnknau2eeDmvHrEIM24Tc4YaydBeDcYoMA8PBF/zuLpjmGpl6cTF0V9aWa8l/C9fKe3giYFkNE+SndBNsTx9sK6Vkc3M5cxNQElCQO8ZuvlNzrw/lk90cd03CBnBic7D+v7N+nfSa7h3qJ9VYcr0sDU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576650; h=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=JOiFzMYt3nqjzzSrXRu86P7xq+XKX8Q8xCa2W8q3YHY=; b=iea5o6dit4ex6DqNpHNVRzwxuvKL5CuuZp+s3XwBFZ2zfDsVJZHnOMLaZFocPphD6fu3otrJl+xrLJvJA0c6BkyW9RjkwbbqnY+djUKg17+80GF4ncJr0BY/EjmJUThYgQPaAg3mSP0PnxQNPZdaSUKM9QkzIxbrd1/nfXWrQHA= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576650984711.2061911463535; Tue, 3 Mar 2026 14:24:10 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY85-0004iz-MG; Tue, 03 Mar 2026 17:22:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY83-0004hh-A2 for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:11 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY81-0002Qn-Rd for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:11 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48336a6e932so38152515e9.3 for ; Tue, 03 Mar 2026 14:22:09 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576528; x=1773181328; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JOiFzMYt3nqjzzSrXRu86P7xq+XKX8Q8xCa2W8q3YHY=; b=kXPMI8l8ALa++p4ATRP1My4VsDS9Sh+oBWmuvmcvd8boyC+Fz2OdEq26dzHHSYn0N8 P1ZBuyf0IjcuyQKTRN9dPHz1ZWiDaDoaxoIzdhBjZWwyujzlBsF/Exzf0HQe8kF0j4WK pOFFBv4XrlCopCX78z/rKJjknuwsvum17Q/uTZ31Hg0zu7f1dlq2Zn0d0bfY63lr44wK jMtU82SLfhSVYnLpl4MhJVK2ZGmrvGCvgOht0ekKcVZAiFSbYXXzHc7PHsLlnpgmTwG+ YdvycMyU8olR7pRxOhGr8blHqeMBGJSGiQGFT+AlaqzPkij26iKatFB9Dq25NiMFm6kK vsqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576528; x=1773181328; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=JOiFzMYt3nqjzzSrXRu86P7xq+XKX8Q8xCa2W8q3YHY=; b=tObmBrhoycC1n7L4/wEFqh+zHJlL7mw6IMbw0X2c0O1EuhSw0etbWOWIPMJd/q7h98 BmBh3qt50g5RgXCee91wX6qkqdFzyI3boWZ3MX28Xt3ATqBQgFQmXysDxkQCtw0vyIK6 GXM9B9h+YSlWCYYgKeISIXsepknsIPTQfyA6tS5SEVL6tGh44VPCBb23wBUeb75On7TZ 1DQJUGmFmO4ur5BQB96lp7SVnVQHG+F9WHFJYRz7m+FTabqbm+TVBDNVZTpolnUYq2cG acLcsu2LCWYzB8Y/d2YunDFfQZ4ccWTSglFeZ5jvooCuxbtyPBQnZICeBhGV1A33NHVD fEBw== X-Gm-Message-State: AOJu0YzK7UMCRsBLyN99xR2i3iKDdo3yE9NsfaOcfoD5xF+HzR5cAQiw KFMkl/Z8D6dKP1WHEpVSN5ylBCDXwSlOcPiFm9a1aTkmh7AcAx/LPZsVtlP6IQ== X-Gm-Gg: ATEYQzzjpNwZE/Kz5Ec/x+BiyCCZAIcuPjMn2oRjuvXvX9vLHsxSAcu2OVhxlKkR8uV oiIkRP95Wj74GdrRpQDlFbsU9VrqQdV7KK16LlECv88XNBi6/dppPIlAqjW/8l0XmrLWgw8YFON hJe2Mpv0l8o8xRRcmOVyff+GHlvCzy/JWgAlGfE59f88jofBajhgmfaF1gRo3gzWoC8SIr6ypRO n1WW5cfVmU76lHeFbkvbfRWADiGZTJVH1pUbNQvINnfXNr4iejB0OqHsQ+Rxcg2vDACRY7N7/wK oDeBGT5eg1MBGO7rymaBoQPdtNhjKHPXXHps6Ma/sns1BrXaxZi7YUVzMo5MRtqsAHtH4DQsU8r Uz/CU+TAYz03/wBlW70J4bqeOmnaUh3l++/2JhaHhOxxuQmuhPbqzfOGjs5FyxqYnoBEwcBiYQp NgyGGDi++OWz8DU9Daa2umXOdVtwgTbM6VtfrpKnRUC5L2//5SYlpAjfhreCyumm3a3dzsAYf1z AuXeAJYXMTN6qxjBwXT/rZvZEz0ilA= X-Received: by 2002:a05:600c:530c:b0:483:afbb:a077 with SMTP id 5b1f17b1804b1-483c9b971a3mr296550795e9.1.1772576527895; Tue, 03 Mar 2026 14:22:07 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 05/13] hw/char/serial: Prefer fifo8 methods over open-coding Date: Tue, 3 Mar 2026 23:21:35 +0100 Message-ID: <20260303222143.142741-6-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=shentey@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576651461158500 Content-Type: text/plain; charset="utf-8" Use fifo8_is_empty() and fifo8_is_full() to improve readability of the code. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index 0f2e79dfba..20f68fd2f8 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -239,7 +239,7 @@ static void serial_xmit(SerialState *s) if (s->fcr & UART_FCR_FE) { assert(!fifo8_is_empty(&s->xmit_fifo)); s->tsr =3D fifo8_pop(&s->xmit_fifo); - if (!s->xmit_fifo.num) { + if (fifo8_is_empty(&s->xmit_fifo)) { s->lsr |=3D UART_LSR_THRE; } } else { @@ -481,7 +481,7 @@ static uint64_t serial_ioport_read(void *opaque, hwaddr= addr, unsigned size) if(s->fcr & UART_FCR_FE) { ret =3D fifo8_is_empty(&s->recv_fifo) ? 0 : fifo8_pop(&s->recv_fifo); - if (s->recv_fifo.num =3D=3D 0) { + if (fifo8_is_empty(&s->recv_fifo)) { s->lsr &=3D ~(UART_LSR_DR | UART_LSR_BI); } else { timer_mod(s->fifo_timeout_timer, qemu_clock_get_ns(QEM= U_CLOCK_VIRTUAL) + s->char_transmit_time * 4); @@ -555,7 +555,7 @@ static uint64_t serial_ioport_read(void *opaque, hwaddr= addr, unsigned size) static int serial_can_receive(SerialState *s) { if(s->fcr & UART_FCR_FE) { - if (s->recv_fifo.num < UART_FIFO_LENGTH) { + if (!fifo8_is_full(&s->recv_fifo)) { /* * Advertise (fifo.itl - fifo.count) bytes when count < ITL, a= nd 1 * if above. If UART_FIFO_LENGTH - fifo.count is advertised the @@ -585,7 +585,7 @@ static void serial_receive_break(SerialState *s) /* There's data in recv_fifo and s->rbr has not been read for 4 char trans= mit times */ static void fifo_timeout_int (void *opaque) { SerialState *s =3D opaque; - if (s->recv_fifo.num) { + if (!fifo8_is_empty(&s->recv_fifo)) { s->timeout_ipending =3D 1; serial_update_irq(s); } --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576627; cv=none; d=zohomail.com; s=zohoarc; b=oBF6e2TIDvCFbMxST7jiEKBSJ28sxTEJ09A9XUlz8E+l2D4tYL5Qa3n/amk2FPi3+mJw/44AkZmGwdeiEoMpyVdwiYf8oqWmElUUnKM/yKVupcv0qJfqdGwiII/UgZw6GMN4Kiu52SATrhvlf3DlBMMQkEN6HYjXTB2Y4j2dkQU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576627; h=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=TykOcg42N3v23e/MxBmcDCzlMjizZHJY8EyEUhsuAq4=; b=lJd8d19Mf9kiRe+pwfK8Yys1sh1EYaprIUQ5Ajqkiufi6a/5D6Yh7gESNYCFgpVwgDdnRFNF96azjNPvTs8KElt8BVt2g1G+gIbIfnssUSM2BOgT8t2DEckVSjjxquaknPCU+EFa8mkxm28yLIG8ePwVkZBr7CeQx4xd4ExGIYs= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576627532151.43644860887912; Tue, 3 Mar 2026 14:23:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY85-0004ja-W5; Tue, 03 Mar 2026 17:22:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY84-0004iM-C5 for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:12 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY83-0002RK-0e for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:12 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4806cc07ce7so69991725e9.1 for ; Tue, 03 Mar 2026 14:22:10 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576529; x=1773181329; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TykOcg42N3v23e/MxBmcDCzlMjizZHJY8EyEUhsuAq4=; b=TABUdYsTokHoi+WQVS/6yiWPOL5JjNQj+HhbY1iKJKseqMTj2jee05Yxb94XXoNWIa yL0HfZ5/3U9HLFZyqfTKAkN+I4aXzYqphd13+ffhTFE2+Jv1yHUct71T9Uci2MrEbXhH bdW1IkO8/te4vmF1MKSHV1P7TDnp76rMjxIOserT8FuxHznpe6aqdFaRZgBIj/1fLW09 jMqWqwu5bppdwHXgGsIXdUXtkFhHaHR56iyx2DqV0gwcaxfgDMPj9AgarGIjyz4J1F1f esp9qmrM9kB0zPODRlJBN84A5IpKvBEuJ+YWc20Y+Eo4ntPRVWRPfAnVE+q7DT8P66MC D4HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576529; x=1773181329; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TykOcg42N3v23e/MxBmcDCzlMjizZHJY8EyEUhsuAq4=; b=C5K+BtIlC/aB6fgC69hupzN5p6Fg294zea8+xIUsXci1XvYCymMGhpKpm1Tcgd37da RzBEw4gH5Rbt/llzGDvfZhIPKukYU6mAV80+ppT1FBzoH2zkBjqIpYfFP/FTAkUTKKCC Z+d+6Hwrau8NrTNxB7hlFBuu1ZvcKLmbBSo0/9qb/wlCk3MH3sdtIiB16+/dcNmjdDlB egzMFvtyPZR1WySHtEyC03Ps331SCRa77aQnbPOm1E5wsu0Dm3+yi7qiPnSrdMGRiYAf FEn7ADMnFVTuUiKj71OdTnYhssXt8pxSDWX6oHP7FCS4eG37Jd89F6jFDhCVaP6hw11v +ozQ== X-Gm-Message-State: AOJu0YyO2h1tYiqfq91ZdDIJ45hoOw3BLzHBw+hI8sqgRDbPIBdtTbY/ /Q6doszoi49kCYqFHvFb7D66YiqeLDpYLOIfrfeQPungvrdAyjWGhKeb26KvTQ== X-Gm-Gg: ATEYQzx445pWwfNPf07LtFMesEGmxa4y8c552lxJEshGJXZAjAGPiQghhZtq1VsQmWu fjQFMp2UsOPBvy5z5RZLO5Vch1pQXvoY8qL/iS7FSFoAH75BeHgOgmzN+XirrVwDzFwB2wYrfrp i2HFA1rXSVq3m1UXpVwwU/dd2MTASVmOkdkO78RWVY4KnvtrPDkhGVzwzFRCbLGPqiJ1y0BsXWf UMGms0qQ9Jj4e8C3hdEK7cGg1RG/Z8U/mSNSMzx7a3eqMj33fqOfdo2WyLBazmgQajhHDhBjlTA yrAoUwUL4vs21i+lUa0TgXbrzJWaLnk3KnmS8gisUmrUe5LY76GH2aSeg//YZ9OWA3C84dVaV2X UN4PcnW6SRlqtAkovGdHpGZKXvpFFGQ4zCEfYqZ+vjuU7RinsQQJxJ9SsGNHfd0llZNwPW7Ot6H G1evpdUDKd0bCUr+ahTES4nUC6jNyX6G2gndGRVyvm0JTLzf58v5F4/nqWQfRclG+25Fj0YHvV4 zbdIIte6HDlrmLCYuMYFpIDaQMU/W4= X-Received: by 2002:a05:600c:1f91:b0:477:8985:4036 with SMTP id 5b1f17b1804b1-483c9ba7dffmr299940525e9.1.1772576529052; Tue, 03 Mar 2026 14:22:09 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 06/13] hw/char/serial: Reuse fifo8_num_used() Date: Tue, 3 Mar 2026 23:21:36 +0100 Message-ID: <20260303222143.142741-7-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=shentey@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576629991139100 Content-Type: text/plain; charset="utf-8" Avoids accessing private fields of struct Fifo8. Now, TYPE_SERIAL only accesses struct Fifo8 through its methods. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index 20f68fd2f8..2c558cb9fc 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -128,7 +128,7 @@ static void serial_update_irq(SerialState *s) tmp_iir =3D UART_IIR_CTI; } else if ((s->ier & UART_IER_RDI) && (s->lsr & UART_LSR_DR) && (!(s->fcr & UART_FCR_FE) || - s->recv_fifo.num >=3D s->recv_fifo_itl)) { + fifo8_num_used(&s->recv_fifo) >=3D s->recv_fifo_itl)) { tmp_iir =3D UART_IIR_RDI; } else if ((s->ier & UART_IER_THRI) && s->thr_ipending) { tmp_iir =3D UART_IIR_THRI; @@ -563,8 +563,8 @@ static int serial_can_receive(SerialState *s) * the guest has a chance to respond, effectively overriding t= he ITL * that the guest has set. */ - return (s->recv_fifo.num <=3D s->recv_fifo_itl) ? - s->recv_fifo_itl - s->recv_fifo.num : 1; + return (fifo8_num_used(&s->recv_fifo) <=3D s->recv_fifo_itl) ? + s->recv_fifo_itl - fifo8_num_used(&s->recv_fifo) := 1; } else { return 0; } --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576626; cv=none; d=zohomail.com; s=zohoarc; b=Me79avrAiQWXDpzaRZ81ufX07rwq99L/OcFkvw9/n+qB6Ti2KhWCw+Oi8SdPp4OMTAe0Q/8/sMPCGGkkRgBmUYW2KxfeyV9zjBZagSAnJeYOoFqAdeeoGdg0B8KPcO1+PVtZmzHXDEVUlRaF4ev8tO5Y7eQUAdDKYcwHV+yRdbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576626; h=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=RXoZ/fOhayTS8r0vRAm++6Mi1cXikEvcCxkP8GuhY3Q=; b=bCfLQ0sxjVFzaGmAbgx706lLSnrTH+tLl+JgoawsOe64Xb8DKylfNhpKPlbuTIZEVFxLDfum2CHB1ZlAEu+JS9ivzMhW2cFazAPOg88szXKgmAuMPwpnASsBf86UYCJSjW64NZN9txDMPTE4UkIV5dx9xqmGxat1SBRFhehEZCY= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576626763940.4601561976197; Tue, 3 Mar 2026 14:23:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY87-0004k5-Bn; Tue, 03 Mar 2026 17:22:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY85-0004iy-L6 for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:13 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY84-0002Rr-7c for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:13 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4837f27cf2dso55886975e9.2 for ; Tue, 03 Mar 2026 14:22:11 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576530; x=1773181330; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RXoZ/fOhayTS8r0vRAm++6Mi1cXikEvcCxkP8GuhY3Q=; b=kg0FfzW9jYgQcquMqQeVZKov/EwkSt3HGsZ+iPvUaharvQXzRugTHOw9WT9OOVv4ah CEkUlnV+wTaegJMsOdwgjK77+qlQviiEyGitYCKMifI/WJWpv+bXHxmQ75WJE9YP/kt8 JKiKLk1rIsnN9YU/ixFaynaLhVam7P0nTsa3QdjDDNlBMlqB8Zg+YhEHBT3ZgjogI05W bkMZrsQpC3mUiPmOBjQQ2S6r7jbWBwjd0FvTMzmHl9aD+BRte8BF9Jfes0ZTzG3hkplI frm9CaSTuYOvGQe6pNn86XpHhNaHprG0Lc4CBRS40sbFi+Q07k8eLk6sDRGag9sHi8Nf JKsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576530; x=1773181330; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RXoZ/fOhayTS8r0vRAm++6Mi1cXikEvcCxkP8GuhY3Q=; b=sDWFcxeJhwHKyOANWkyho1dlwHbp8VrWBH/VII4EVgJjKp6J0TdFxKC5ZwT8Fd6ql+ /fKLdyuunOPwR+BFRmgGJFT7sTgLlI4QZGlwnvkrmx2NiLEPC1x2J96g7h13LO9lqsMB b11TR/ixzlnCFIHOKy+sxfnEwBAeDLcYOwaMmm1bu0E+A0yY/PS/wt+Q9nEIJ3Md0OAt 7Haf36IMM3k+mxcm0EXQ6fvIIjdtK5AH+56w1ZZCyOslVwxV9U+BfTKiCRCPFGZrWO1k e7mDYolZkS9zxJG6/oHpfxFnVKwO8r+yBDT1mWQeeSiAZPhFOP9gSKHO9oC5h/zCq85T h14Q== X-Gm-Message-State: AOJu0Yzp1S8EvUlMSGxg46n2lXsJHXvYuHmfg6i4mfMBL7x5X9067ij8 19LK2Vtveb086XhSGC83P4UzLMVrNXD+Jzd7tiqpmjv3E+DGNcR2kAvFifEQbA== X-Gm-Gg: ATEYQzx0ib4KhlvIKpswt+JN8BsYrgQnIql4IM6YvNADEy4cnrXZiBDUi/HsKZcb8JE q9P7D7EQYYXWoDlTfJGlkhFHaqfcxF1/sVd1k9Pnv59qBZC32S2XXzbswuXP0k89kEhrTd5qiIf xEBateyb91zxdrbatjHNRWFP9yzeTLXTrTAJFSMbLZ6QJlF5flLXlXPldAYhMG5fBstCrnME1Nv anTk4JRSYmD0INwc57UDjK6SIRKxweNHylN5emfTXS2CTucILiqjL7vkQgq6KK1bbF22RGfo+FP NPgAydBtsdbFpTLtlqSsJEeG8V61ym3qlDfkL0VTLbLCF3OOMkjHuJJXQC3JXXSWP6RjhXv3dZj K/KK1Q01B7awDk6XwSu29h56oS2RDM1BdYAs38qGyguySTrGsUXGtCe5jYQjw7Y9+t/r0UBdoXP 2/436y1OgIvke4YvUUKwWLupm5AXaw6Hk8MLKq1EVOEO3+SUow0fh4JSSrmRL9e1ndyPtfBJIa7 K/6TE+mO1Kwo3RjTC09LE3MUOA52hs= X-Received: by 2002:a05:600c:4592:b0:480:52fd:d2e4 with SMTP id 5b1f17b1804b1-483c9b78c20mr335635305e9.0.1772576530219; Tue, 03 Mar 2026 14:22:10 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 07/13] hw/char/serial: Remove stale comment Date: Tue, 3 Mar 2026 23:21:37 +0100 Message-ID: <20260303222143.142741-8-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=shentey@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576629276158500 Content-Type: text/plain; charset="utf-8" There is no "is_load" flag and one can tell from the method name what the method does. Remove this stale comment. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index 2c558cb9fc..f73de1ae4f 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -281,9 +281,6 @@ static void serial_xmit(SerialState *s) s->lsr |=3D UART_LSR_TEMT; } =20 -/* Setter for FCR. - is_load flag means, that value is set while loading VM state - and interrupt should not be invoked */ static void serial_write_fcr(SerialState *s, uint8_t val) { /* Set fcr - val only has the bits that are supposed to "stick" */ --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576593; cv=none; d=zohomail.com; s=zohoarc; b=Cfvt55JnsP9dsWEaVT0oNNTCaVHZY3/TqJ1eFcM/coLo4hN1W5l/PEFAUIqoLER7dHYjJm9NHda2raIM23v9HVxtypxBoN1+z3vHvm29A94xG4TxP5PJngtmNhls6gbc+2v7kBSdNeGgF9Wt6+nmaDfWixEDNw5c2micJVLxlS8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576593; h=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=xkqwSLJa0xJ6zHaGrPgGg+nUA0PuvLRB97+M4LUsZGQ=; b=ap73sCEUQhTAVT9Hdi66dhvk2TagT0qOb0uUM3Q4/1VOU1MATb9nIEnS1xKanUfeuUaRi7O+jHbX6oCUEhCXDGjEVHU4CQBPzqk8jG3SBI3sil6+0eHKL/5fhRRsdQadzTEwW+u1nVI+l6wyECbl2iDRrBHbysJBmTNS+/C3TUg= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576593798412.4548179438691; Tue, 3 Mar 2026 14:23:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY89-0004ks-IE; Tue, 03 Mar 2026 17:22:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY87-0004k9-Tu for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:16 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY85-0002Sb-CP for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:15 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4836f363ad2so72946375e9.1 for ; Tue, 03 Mar 2026 14:22:13 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576532; x=1773181332; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xkqwSLJa0xJ6zHaGrPgGg+nUA0PuvLRB97+M4LUsZGQ=; b=D1iTiR2sMRz6OQzV5+2eYDLMaTYzciSCoAAADfZBq2Pi1ns+dDb1VWacNTQ/Y9UiDE 7XKH5PioyIe+fpVqy5T7JindBqNhWe4oCcTcDV8sEsgt4JP0OWC4W1tAIOaRR2yl5D8K dH5QwQclpGUQYCtii0XTuUskgf8EEmnTVHu5hLys0xzgBWrpAlu60KwivSGE7/evpVuN 8YNJxF+wBq85pmmVPnwC3DPpooPpYzeZ5WBK/C4kdmSWJkShLRjAQHNejigxrE5D5bEU 0ikmQKy+RKCZh5LNrShgtAGfgLCPHqb/ra1xOjEPIdjE0ZKqavPtxYEwiarhbZRQp3Zv jeCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576532; x=1773181332; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xkqwSLJa0xJ6zHaGrPgGg+nUA0PuvLRB97+M4LUsZGQ=; b=ORUZ4f0aK+YLXxkpRpZGkoIWkDim7//ieC1m4RME2Ffu5l82cgaaAXxXOL/yrBmLro 0YvmaYI7RV3v5O9qNalx2QhCmjYbV87QK53sqw5QOFBEvIaE1rD6AUkMZNKRloqQ/kGH owfMI4CYJsnK8zzA1sP5aldt8uW+4K1os6ghCfyIWaG7EzNWi5a+X3G6NjY462N8NU3E o7wDRqkblVRLCEY1tMqpchQLLd5b/q6ih+C8XAP6KFqFXDU1gElM0vXPUET0lOrFvAW8 hwyB9D0boxCbBQueJn/jPTSyQQI8+I93Jb0XBaSMaWwANJT1ESzz+ehnHHkM1FRbAueC jwfw== X-Gm-Message-State: AOJu0YxIbV+t/8Aw79ubQXtL7Yi9LpQ7ehBBdbAmGYLgUXrBvKgdIYAU 3L1k19P6lvE42W16ckBl61J0klNmLWEhKTm2xxRYlTBNXrxWUTXhzTM510E/vw== X-Gm-Gg: ATEYQzyOlsYjt5zlaCCqCQg78MMEuGO74FopbE758SehpPgV+G4nI17YzGNnymtxb6H vvh95RtZ2RGmCOoxRP3O7lqdwbrl+hseDy5roD07PaLCY8wCXxzDiWYwT9IjuHgpE3tx87bpWPZ rEd8cWs9GyjmalzisjMZ0MrL39TWliph/Rwl8dETxZWL7CcLzVuPa0brkXff8fFi15vGNXTt524 LnTWuNSf5WcdIykoSmk7fqO9tpY81XD2ttBFIWdM2B+0Ttht1oajnGIAmh+mtk5OSWEbJsusYe0 PRbTMpJAB5NNk/35s3t5/nyM3yFlkkdSunaJoEOkmlkPoieN50JPcotgmQgMvN0TWGaCYdaxUSw 1HE7rBlprLEWIy+Dmi5Uvir74DeMLpwKsMMozH3khpYKTfdEnFtiROBws4cyATT6fqi6PkEoKKV eMB/ruQ/5hwjFRJYr5hjk6i0Qps0Aj3dhiq1LZP7ZITPRenHwZHuccaEffjt7s85UkfHd3k28SW q0A+B2DJFm7CP+pZe4wR0TvbJwXW8U= X-Received: by 2002:a05:600c:3f14:b0:477:a54a:acba with SMTP id 5b1f17b1804b1-483c9c02f13mr333689115e9.17.1772576531415; Tue, 03 Mar 2026 14:22:11 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 08/13] hw/char/serial: Add constants for Line Control Register Date: Tue, 3 Mar 2026 23:21:38 +0100 Message-ID: <20260303222143.142741-9-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=shentey@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576595694139100 Content-Type: text/plain; charset="utf-8" Substitute some magic numbers by named constants for slightly improved readability. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index f73de1ae4f..485b98f03f 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -39,6 +39,11 @@ #include "hw/core/qdev-properties-system.h" =20 #define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ +#define UART_LCR_SB 0x40 /* Set break */ +#define UART_LCR_EPS 0x10 /* Even parity select */ +#define UART_LCR_PEN 0x08 /* Parity enable */ +#define UART_LCR_NSTB 0x04 /* Number of stop bits */ +#define UART_LCR_WLS 0x03 /* Word length select */ =20 #define UART_IER_MSI 0x08 /* Enable Modem status interrupt */ #define UART_IER_RLSI 0x04 /* Enable receiver line status interrupt */ @@ -153,23 +158,23 @@ static void serial_update_parameters(SerialState *s) =20 /* Start bit. */ frame_size =3D 1; - if (s->lcr & 0x08) { + if (s->lcr & UART_LCR_PEN) { /* Parity bit. */ frame_size++; - if (s->lcr & 0x10) + if (s->lcr & UART_LCR_EPS) parity =3D 'E'; else parity =3D 'O'; } else { parity =3D 'N'; } - if (s->lcr & 0x04) { + if (s->lcr & UART_LCR_NSTB) { stop_bits =3D 2; } else { stop_bits =3D 1; } =20 - data_bits =3D (s->lcr & 0x03) + 5; + data_bits =3D (s->lcr & UART_LCR_WLS) + 5; frame_size +=3D data_bits + stop_bits; /* Zero divisor should give about 3500 baud */ speed =3D (s->divider =3D=3D 0) ? 3500 : (float) s->baudbase / s->divi= der; @@ -430,7 +435,7 @@ static void serial_ioport_write(void *opaque, hwaddr ad= dr, uint64_t val, int break_enable; s->lcr =3D val; serial_update_parameters(s); - break_enable =3D (val >> 6) & 1; + break_enable =3D !!(val & UART_LCR_SB); if (break_enable !=3D s->last_break_enable) { s->last_break_enable =3D break_enable; qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_BREAK, @@ -676,7 +681,7 @@ static int serial_post_load(void *opaque, int version_i= d) } } =20 - s->last_break_enable =3D (s->lcr >> 6) & 1; + s->last_break_enable =3D !!(s->lcr & UART_LCR_SB); /* Initialize fcr via setter to perform essential side-effects */ serial_write_fcr(s, s->fcr_vmstate); serial_update_parameters(s); --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576604; cv=none; d=zohomail.com; s=zohoarc; b=hAFlPL9z+dgicm2ge20kScL3an4jVRdiAZprN/aoa+XjYSkcnQyUqrz+uTA7Wqq05CohIEBk9UbMQal69HRcCsrZ/ZY84HipNC4TBVavyIh9Ged32mbuWaRWc+W+6dquMVGGSo2CAD9XR2DdypBhgJIne/trCi6tw7lewvzAeFs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576604; h=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=oh5fF1cD60o2GgdhvxUuihszrtUOa2nx4hPj7KeeMlk=; b=InhlkkyEeU/HV7MSroq2CJQ2KzIHbBKzICyO6+Kor9wfiVLo7bIt+ajZoN8rCz5wMU0UPOvYOBqxrSxlY/gMEbp5L57bMfPneYcPVE86LnNhG5pG3Wcfa8RoM+G3bmZB4aQRuCasRHNgWnfnMXNo/t3K3FzOOSIENAMhVcO+poA= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576604329171.06919367743797; Tue, 3 Mar 2026 14:23:24 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY8B-0004m7-LI; Tue, 03 Mar 2026 17:22:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY89-0004l0-P2 for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:17 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY86-0002T7-Db for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:17 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-483703e4b08so58240125e9.1 for ; Tue, 03 Mar 2026 14:22:14 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576533; x=1773181333; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oh5fF1cD60o2GgdhvxUuihszrtUOa2nx4hPj7KeeMlk=; b=Z4MJj1jItB2b6+MVJ2itEdJ622WN7SoECrzsgwypAqG9kWGo6002Pl+/NY1uYH0Mbj maZLVRbDkDC7tnDnPAlKMmIN1WI17QQFaHuTucYx4/8K5aKV3g15+UGadm666MQCVAG9 vcKbq21mnX3PnawkPVFcbasscjZNPWtON1T+SaY+tWn/vfwz1L9pUzzFVb/1xD+dbsld 7SkjXAc2R7/naAB3b0wc0h46PZVvPvRxxD+plGqxs9Jk/ntLhipx/XZ5dIV3dHAlFWHg gZbFBls/2K5D/iGenfl9uB0Wjd24I34pXii+O9n5Ua1d7kGW32pbpAsAmh897EmIe6r6 bbgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576533; x=1773181333; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oh5fF1cD60o2GgdhvxUuihszrtUOa2nx4hPj7KeeMlk=; b=vsWZFCiByjS+yN+EpyN4dwD0Vx+ZhodNVXLcOYk/OAtJ6hpyOl3nJMo06tQuBuw9/t afDfJ7DDE7PSZRy/nvS9uHvqF8Pe1I/KMrpnDSkzmriZDnRuayEQocdPgNxd96TkLGRU 4AWJcSGLaUz26R297kC1PxZrBlwrJmeQxdFsUPyPf5Tl+4JTZPfAECZRv2GUN95I9Xhy 5y9Qf+b8UBThHNSagq0H29KU193wOn98yP7PBuHHBzn/C62M8iRa4QSbj1k/9Hxn6niM 4ep1N8k8ykaWlNcqBt5Jq5LnEul6AXhf9kWuA9F7EXZwNnIm01X/gr/3v+b/8kUo8rBg yZEg== X-Gm-Message-State: AOJu0YzgOdna5St/20jrSaDvLTdN/ty0hddqjl8TYF+LFrS0N6mMw280 7QACX66kRkEl4JEqLoTxcImK4QskM+glgBybp3fSKc1BUYtRplLLf5z2R5c54g== X-Gm-Gg: ATEYQzyFHhNf8b5npcgfJkYziQ/dUBwLLc3IaSUdhmXbzofkWvXhl10YTo0qss7cU7Z kID3QS/DOTWFxTOEE2+SuH6K8zPjrKuUGeqAxLpDtnLg51dxHx77u02yvL6W+EzkwcM6c0d0DH3 i0NnKJNSjw+ZK7AWMkV92ZOoJMbCX0XXjSS8qt+hlXbfO29GLEBBjjBeIGAFJcYj3JQTTgZeO6T P9uGsBLStOH/2iWYkoywJXrDG9kMvuSPatp6JnKYPoL+HIEww2dfzzX/BDqaOTHXTnctuSTeUVL 3yEqW5YF4hM0/ujsHokolPkDfylMlhQWAnxTnAYqFHZrAwssUQNAPrFyV6YQBWnCEeIZH/QB0nI 2UdNGG3MC1EfNd6/bKVZPDqn250M2/1lQSO9VTL8uxtEc/kbMM0C7m7PWRO9K68kFgINl2T6HIl MVImXn3MYwWGjF0dfvd1H89+0w2a9gZ3WOlFM/6ktMmJJJcL6Voa/93BxEm8zioJqZc2TrAaPA8 jxQJPVe/HploDQaqFutu6OL2RjktrA= X-Received: by 2002:a05:600c:6992:b0:47e:e981:78b4 with SMTP id 5b1f17b1804b1-48513c71087mr62255885e9.12.1772576532552; Tue, 03 Mar 2026 14:22:12 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 09/13] hw/char/serial: Remove redundant reset Date: Tue, 3 Mar 2026 23:21:39 +0100 Message-ID: <20260303222143.142741-10-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=shentey@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576605706158500 Content-Type: text/plain; charset="utf-8" There is no need to invoke the reset method in realize since the reset framework will do so anyway before the machine starts. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index 485b98f03f..0f3469a1e8 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -934,7 +934,6 @@ static void serial_realize(DeviceState *dev, Error **er= rp) serial_event, serial_be_change, s, NULL, true= ); fifo8_create(&s->recv_fifo, UART_FIFO_LENGTH); fifo8_create(&s->xmit_fifo, UART_FIFO_LENGTH); - serial_reset(s); } =20 static void serial_unrealize(DeviceState *dev) --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576593; cv=none; d=zohomail.com; s=zohoarc; b=W63Th1K3oS7vceMhU2Fa7SUL+KIHqLQQNGcpYyZxlaqTKsAFGuFMJGRUK4voLYMh6qmwSVBx8c6a2Y+viKcnQhLckKwHRdl7TsIzNYtp7cRvsBZXZtQW0NhccN9vEmg5Ij61hDXTmxMZlqDyAgJ8s9hw6jI4SjQ23iCcm6Dazpo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576593; h=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=kQcKbngO5gEYvP1cyAmsSZ3twrSC/3ssI8QyeEW5Z+s=; b=TLkNfLJpAP05ztyhlTg49wWB9DGIqSdck0a4cklVW/STS05KgZ4ArXuejomC+8SugJzVBeFanhZ0o3VjuSBpSXoApv+Hn8C27+mxg10DWp6FgZz5naSGGPQ82I0u0A/QbS6gbhQWGmWmDu3VMoNZEQwGuNDybUg3QnpExyRodgI= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576593836863.2050789961072; Tue, 3 Mar 2026 14:23:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY8B-0004lw-AR; Tue, 03 Mar 2026 17:22:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY8A-0004l9-5Z for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:18 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY87-0002TQ-Ez for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:17 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48375f1defeso46546765e9.0 for ; Tue, 03 Mar 2026 14:22:15 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576534; x=1773181334; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kQcKbngO5gEYvP1cyAmsSZ3twrSC/3ssI8QyeEW5Z+s=; b=S9Ln4QA8uSGDVFlR8QxMcuS1IKxS0uhVBEA+LbwDjJ16cfOMW1vxPISkdXBQr2oNAM rY9hDQcP9e4QK5inIC2GAGS9OSL1Is1c6BIs6lsQqYsa5qloL9+LcWcyvA2gXwo2ol/2 ci8S2Viy30MCAthkVdMLyFtLjbUbKKybiNTyW2eAVcluQ9Le7uBgzbTU/0fN6+9URCiv 95DliXLyAa9740P5BqESTBDl60C0UAFVRlkYYmmlSkesvLHnFTTvEnm1Vf9WuzKO5nIJ i32GIBI1i6R8ZVEcXr8PzUk1y6f4m1yCy5whFlwuHDk0sg8xr+19+rShF3cvQaOpfAHB /P3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576534; x=1773181334; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kQcKbngO5gEYvP1cyAmsSZ3twrSC/3ssI8QyeEW5Z+s=; b=idpDm4ppjxKB0unH7sfn6ryHFyPw6wbRx4hcQnDXxVJmre02Xaan9rWbrCyzfbcVzb PF5LBjHdcxwk9Y86+aF6yDB7+xX9IwpVT6BaJO5q+PJk+ozwxo7KXvyQwMb1U+IgSCt0 Sz528fYn31d/i6CHo+5VcBypbRUWjzqa9WBwciAVc+8jQ19vgczM82dx1ln5Le0r91rQ izKlfWyWoLadhX86cJFjns7/EZWwnWMgZ7UfIjWTAt5oUdwfqvQhnYnjSJ+ldzL4V7lN NuP4Dh71qZ8b10Ne8fRp7kWey6vRnfI+5zS2zQVjt+G/u45stm9nTO1JmOudU7xiqmWG D2Wg== X-Gm-Message-State: AOJu0YwIsnajutA0RMolCjcgqf3cpYiqQZWw3dGV0xYhb+iZABTQYfEh wfBzSb/Co7pvumeX3P4D+bM29/k6l5IJMJjxO2ck5+mC3nDEQcII2+MtokzzHg== X-Gm-Gg: ATEYQzzNpzdkdpmxTwVMnl2g9/J2/vjApIXMrEfIEPnzz6a9USCcK7GYGWxQxZxkrFa S6kTaaxLV2LkRSh1Z8Po5Nrnoz5dupbSeTuLa4dfWqOjmvT718EIXgqQMpAeZfH+QZUxjp7oS2z eVyfa3lYjLh9osZdhjIhnjGFBFunFdnH7D0ikv2/yZq5QdZefv7zSQfesc+Dq60aEpwdvkdQOm3 lrRic9NltjdZQvhfijvsxwzzOuN9ZhIqSbs05mttfWPmqZTKY6PN1/7+9XNPtAkBUmBs7TX5L5s LmTBsuFKy3HIGAPNEx/d6fYNnNRjZGDH0VvRa8AVREkrf9VS2t+eqkXMJc94z5/AhJEO+SvTM97 f42OEIc8QrzWOedixkOD5rfqZZW9u6oLuYBoxoBb62/YS8vAVzgmQhKsICNMJXhfvuY9JUBme4K oB3iXfD7LjzM0pJugiJ7TRBGYn8Ygq140CUMw+vI+XOOHWTlnXKwQuPPmqO4zNmEACft5zVgwW+ 23Pm9bUpQvGRhw+8yUsPd1JH6OPxGhbik6AGzsRtg== X-Received: by 2002:a05:600c:444d:b0:480:4a90:1afe with SMTP id 5b1f17b1804b1-483c9c2be1dmr286021745e9.34.1772576533734; Tue, 03 Mar 2026 14:22:13 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 10/13] hw/char/serial: Avoid implicit conversion when tracing Date: Tue, 3 Mar 2026 23:21:40 +0100 Message-ID: <20260303222143.142741-11-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=shentey@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.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 @gmail.com) X-ZM-MESSAGEID: 1772576597119158501 Content-Type: text/plain; charset="utf-8" On 64 bit targets, the MemoryRegion API passes an address and a value as uint64_t, so use that for tracing. Keep the uint8_t for reading since this is what the device model produces. On targets with less than 64 bits, uint64_t is wide enough to avoid narrowing. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/char/trace-events | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/char/trace-events b/hw/char/trace-events index 9e74be2c14..a3fcc77287 100644 --- a/hw/char/trace-events +++ b/hw/char/trace-events @@ -5,8 +5,8 @@ parallel_ioport_read(const char *desc, uint16_t addr, uint8= _t value) "read [%s] parallel_ioport_write(const char *desc, uint16_t addr, uint8_t value) "wri= te [%s] addr 0x%02x val 0x%02x" =20 # serial.c -serial_read(uint16_t addr, uint8_t value) "read addr 0x%02x val 0x%02x" -serial_write(uint16_t addr, uint8_t value) "write addr 0x%02x val 0x%02x" +serial_read(uint64_t addr, uint8_t value) "[0x%02" PRIx64 "] -> 0x%02" PRI= x8 +serial_write(uint64_t addr, uint64_t value) "[0x%02" PRIx64 "] <- 0x%02" P= RIx64 serial_update_parameters(uint64_t baudrate, char parity, int data_bits, in= t stop_bits) "baudrate=3D%"PRIu64" parity=3D'%c' data=3D%d stop=3D%d" =20 # virtio-serial-bus.c --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576593; cv=none; d=zohomail.com; s=zohoarc; b=WVLRLIzKUOcs77cl0higaoM6BzLzOgSDOWNK/NV8X/03NXAZgw6GDMlQWJyY/SxzxAeEBwc4/7WdvBS0ULGb2aq6nSb+CAnOZFIhuFtTyO+dNMOE6h1/20m4PrU4iTtT8PKvg0zT5ucu4xl/+5VNbXk28Ef6wawlXCRSN//jpmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576593; h=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=KnHZYYhHEeDQDQM3nfgGAtsOROeLzMQGtMf/C+E4f2I=; b=elp29KC3mPmam7K/qFb6xm/AGKoPQymNGFgfFY5pqXk0csiwLM+NxlMaTwHDNBB5Deiu10WQYozoa5bhZQdQNaisQpTzvwENVZRPiUnDamLI6Wf96xbYPRZQKkNdx0zAC+Jur9HORaGy2wBKFx0NH3Dx5IKQwfXNlKb8Gc149P8= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576593532735.2856121653947; Tue, 3 Mar 2026 14:23:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY8C-0004mj-BS; Tue, 03 Mar 2026 17:22:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY8B-0004m9-Lz for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:19 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY89-0002U0-Gc for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:19 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-483bd7354efso82469855e9.2 for ; Tue, 03 Mar 2026 14:22:16 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576535; x=1773181335; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KnHZYYhHEeDQDQM3nfgGAtsOROeLzMQGtMf/C+E4f2I=; b=YoAsbPmmZXigsDKaT0ZyhQ1eG14ELHSGgQIO6mNY6fPUWzywtlneXgkuFynDtkXfaO 4APguHAyx3DtmXNPDgIDpoutFAAN0Ib7gUu7pqwgDMbKR6HK43rqPDlX0hUyHuajCHMu l81/hIOZIX8WpYRIyV4bdZ8VS94KRNKxi454eSTnTVNhEnYONnbbmUOKOSc25MsSNEO5 WSK7Tpn9Wl4kx5Yu/vPti2jOZbdheRTqAjiyTrIzmud9IPfW1Bx0I7IUsrfJdbqtvOVa V7TDHQI3Z+qQPyJmh1eZkB5pmvBvliEFQedtDriN4DUw9VNRtxMq13AHApZgp2fLyLha 6Nzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576535; x=1773181335; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KnHZYYhHEeDQDQM3nfgGAtsOROeLzMQGtMf/C+E4f2I=; b=gAWwOWUqsUduuP19IqmePaIUobwe2yjwj4RjGrOmrf1Y91O2FVfwZrzwWa6J9JOm8x rIKTifMNHoYB9r9VfBXIRHyHpg3OUS3L1/Kjnl1iOHqahVPWgO5qoSWg1LXo2NCg+26Z FudCZUNMytjlBer3Omg2Nff3HW7yFA06PaUJtcw7mLZNuVcnagA1AlBOZ87Od99tkfWA 9ekZ5YIoXwGZMJ0QyRdMQB0zxeK4rDw7Clu63/Lx5SEhoGXtUFRdY+2AmP0en77IL95i 3gHmytSPh7awIQ3OvMsjmwhT2iYSP8f9i+O+zxyg1LDYbStFesXakSwRO+zKKC1u5Sp2 odSw== X-Gm-Message-State: AOJu0YwDH06IOR3u2KvYELe3Ca3LmF1LqVEfqwwJqf+jrCHj0zKU8LJK zC9bYS+xeNYdzZcsQMT/LV9QWb0QRex9N2cMkyI/icRB2dekKpq93nPR1l5sIQ== X-Gm-Gg: ATEYQzy0DdyHLay3r5H92mq1ZnVwYx7dESsE/atAe5yJMlTw0hdMqFNGSN37PGr6TR0 GOdSoSyq2wFWlhatKPDTe7fDjMg1oa4pmPIFOKvwo3NUgrj6/Zl//adiJbiPhhVFZXtRC8sGDmn BxrTqcmt1qRs6YaaaRUSJovHcS0I8aZlgjJ7zLL1d5BgOmXig04XiK4SXZTGO5hwrnzRGfRHlwq aHEdc84WmVHidCPkMIFCnWmT3u/9/c3e5igaq3HpyboMBXQGW82/QHlvv2xjl4JXckBtVr7jcOr 6nxibiOjU4rlXP6KLFvLDCAZZOn1KNUssPVmzA/cOPXwhv5803n/3R/PZ6gCISKdBte6kf/T6mT 3Aye07GeqwXPyym7sYB9tr6F/pcOW8EZbVeHI34w01sOrvMAJnyT5uDbvVIP9i1iYqjIJ+FUOpv AtKRcxBAbkPgai2ux6MvvE2lQFsadJenIcl7BGMH3dYOFytEGXBbJ/xBFaiL9cm8ROkFYXri5cP 4ouutDpOKwXAEROlzboFKuVinu2yK4= X-Received: by 2002:a05:600c:5395:b0:483:bcff:7948 with SMTP id 5b1f17b1804b1-483c9b9eaf4mr306543795e9.10.1772576534934; Tue, 03 Mar 2026 14:22:14 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 11/13] hw/char/serial: Keep MemoryRegionOps private Date: Tue, 3 Mar 2026 23:21:41 +0100 Message-ID: <20260303222143.142741-12-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=shentey@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576595885158500 Content-Type: text/plain; charset="utf-8" Rather than requiring users of TYPE_SERIAL to initialize the MMIO region themselves, make it generic enough to be configured via properties. This makes TYPE_SERIAL more self-contained and prepares it for being turned into a SysBusDevice. Signed-off-by: Bernhard Beschow --- include/hw/char/serial-mm.h | 3 -- include/hw/char/serial.h | 4 +- hw/char/diva-gsp.c | 5 --- hw/char/serial-isa.c | 1 - hw/char/serial-mm.c | 51 ------------------------- hw/char/serial-pci-multi.c | 5 --- hw/char/serial-pci.c | 1 - hw/char/serial.c | 76 ++++++++++++++++++++++++++++++------- 8 files changed, 66 insertions(+), 80 deletions(-) diff --git a/include/hw/char/serial-mm.h b/include/hw/char/serial-mm.h index 0076bdc061..4c18e2a609 100644 --- a/include/hw/char/serial-mm.h +++ b/include/hw/char/serial-mm.h @@ -39,9 +39,6 @@ struct SerialMM { SysBusDevice parent; =20 SerialState serial; - - uint8_t regshift; - uint8_t endianness; }; =20 SerialMM *serial_mm_init(MemoryRegion *address_space, diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h index ea82ffac47..0cf641a860 100644 --- a/include/hw/char/serial.h +++ b/include/hw/char/serial.h @@ -62,6 +62,9 @@ struct SerialState { guint watch_tag; bool wakeup; =20 + uint8_t regshift; + uint8_t endianness; + /* Time when the last byte was successfully sent out of the tsr */ uint64_t last_xmit_ts; Fifo8 recv_fifo; @@ -80,7 +83,6 @@ struct SerialState { }; =20 extern const VMStateDescription vmstate_serial; -extern const MemoryRegionOps serial_io_ops; =20 #define TYPE_SERIAL "serial" OBJECT_DECLARE_SIMPLE_TYPE(SerialState, SERIAL) diff --git a/hw/char/diva-gsp.c b/hw/char/diva-gsp.c index 280d0413c6..2ea60103ea 100644 --- a/hw/char/diva-gsp.c +++ b/hw/char/diva-gsp.c @@ -47,7 +47,6 @@ typedef struct PCIDivaSerialState { MemoryRegion mailboxbar; /* for hardware mailbox */ uint32_t subvendor; uint32_t ports; - char *name[PCI_SERIAL_MAX_PORTS]; SerialState state[PCI_SERIAL_MAX_PORTS]; uint32_t level[PCI_SERIAL_MAX_PORTS]; qemu_irq *irqs; @@ -64,7 +63,6 @@ static void diva_pci_exit(PCIDevice *dev) s =3D pci->state + i; qdev_unrealize(DEVICE(s)); memory_region_del_subregion(&pci->membar, &s->io); - g_free(pci->name[i]); } qemu_free_irqs(pci->irqs, pci->ports); } @@ -136,9 +134,6 @@ static void diva_pci_realize(PCIDevice *dev, Error **er= rp) return; } s->irq =3D pci->irqs[i]; - pci->name[i] =3D g_strdup_printf("uart #%zu", i + 1); - memory_region_init_io(&s->io, OBJECT(pci), &serial_io_ops, s, - pci->name[i], 8); =20 /* calculate offset of given port based on bitmask */ while ((portmask & BIT(0)) =3D=3D 0) { diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c index a4be0492c5..3a48b2495e 100644 --- a/hw/char/serial-isa.c +++ b/hw/char/serial-isa.c @@ -80,7 +80,6 @@ static void serial_isa_realizefn(DeviceState *dev, Error = **errp) qdev_realize(DEVICE(s), NULL, errp); qdev_set_legacy_instance_id(dev, isa->iobase, 3); =20 - memory_region_init_io(&s->io, OBJECT(isa), &serial_io_ops, s, "serial"= , 8); isa_register_ioport(isadev, &s->io, isa->iobase); } =20 diff --git a/hw/char/serial-mm.c b/hw/char/serial-mm.c index 0e0be26fa9..1dba4fc694 100644 --- a/hw/char/serial-mm.c +++ b/hw/char/serial-mm.c @@ -30,44 +30,6 @@ #include "qapi/error.h" #include "hw/core/qdev-properties.h" =20 -static uint64_t serial_mm_read(void *opaque, hwaddr addr, unsigned size) -{ - SerialMM *s =3D SERIAL_MM(opaque); - return serial_io_ops.read(&s->serial, addr >> s->regshift, 1); -} - -static void serial_mm_write(void *opaque, hwaddr addr, - uint64_t value, unsigned size) -{ - SerialMM *s =3D SERIAL_MM(opaque); - value &=3D 255; - serial_io_ops.write(&s->serial, addr >> s->regshift, value, 1); -} - -static const MemoryRegionOps serial_mm_ops[] =3D { - [DEVICE_NATIVE_ENDIAN] =3D { - .read =3D serial_mm_read, - .write =3D serial_mm_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, - .valid.max_access_size =3D 8, - .impl.max_access_size =3D 8, - }, - [DEVICE_LITTLE_ENDIAN] =3D { - .read =3D serial_mm_read, - .write =3D serial_mm_write, - .endianness =3D DEVICE_LITTLE_ENDIAN, - .valid.max_access_size =3D 8, - .impl.max_access_size =3D 8, - }, - [DEVICE_BIG_ENDIAN] =3D { - .read =3D serial_mm_read, - .write =3D serial_mm_write, - .endianness =3D DEVICE_BIG_ENDIAN, - .valid.max_access_size =3D 8, - .impl.max_access_size =3D 8, - }, -}; - static void serial_mm_realize(DeviceState *dev, Error **errp) { SerialMM *smm =3D SERIAL_MM(dev); @@ -77,9 +39,6 @@ static void serial_mm_realize(DeviceState *dev, Error **e= rrp) return; } =20 - memory_region_init_io(&s->io, OBJECT(dev), - &serial_mm_ops[smm->endianness], smm, "serial", - 8 << smm->regshift); sysbus_init_mmio(SYS_BUS_DEVICE(smm), &s->io); sysbus_init_irq(SYS_BUS_DEVICE(smm), &smm->serial.irq); } @@ -125,20 +84,10 @@ static void serial_mm_instance_init(Object *o) qdev_alias_all_properties(DEVICE(&smm->serial), o); } =20 -static const Property serial_mm_properties[] =3D { - /* - * Set the spacing between adjacent memory-mapped UART registers. - * Each register will be at (1 << regshift) bytes after the previous o= ne. - */ - DEFINE_PROP_UINT8("regshift", SerialMM, regshift, 0), - DEFINE_PROP_UINT8("endianness", SerialMM, endianness, DEVICE_NATIVE_EN= DIAN), -}; - static void serial_mm_class_init(ObjectClass *oc, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(oc); =20 - device_class_set_props(dc, serial_mm_properties); dc->realize =3D serial_mm_realize; dc->vmsd =3D &vmstate_serial_mm; } diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c index 17796b93dd..38e5a78e6f 100644 --- a/hw/char/serial-pci-multi.c +++ b/hw/char/serial-pci-multi.c @@ -42,7 +42,6 @@ typedef struct PCIMultiSerialState { PCIDevice dev; MemoryRegion iobar; uint32_t ports; - char *name[PCI_SERIAL_MAX_PORTS]; SerialState state[PCI_SERIAL_MAX_PORTS]; uint32_t level[PCI_SERIAL_MAX_PORTS]; IRQState irqs[PCI_SERIAL_MAX_PORTS]; @@ -58,7 +57,6 @@ static void multi_serial_pci_exit(PCIDevice *dev) s =3D pci->state + i; qdev_unrealize(DEVICE(s)); memory_region_del_subregion(&pci->iobar, &s->io); - g_free(pci->name[i]); } } =20 @@ -108,9 +106,6 @@ static void multi_serial_pci_realize(PCIDevice *dev, Er= ror **errp) return; } s->irq =3D &pci->irqs[i]; - pci->name[i] =3D g_strdup_printf("uart #%zu", i + 1); - memory_region_init_io(&s->io, OBJECT(pci), &serial_io_ops, s, - pci->name[i], 8); memory_region_add_subregion(&pci->iobar, 8 * i, &s->io); pci->ports++; } diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index d8cacc9085..9a0bf2d890 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -56,7 +56,6 @@ static void serial_pci_realize(PCIDevice *dev, Error **er= rp) pci->dev.config[PCI_INTERRUPT_PIN] =3D 1; s->irq =3D pci_allocate_irq(&pci->dev); =20 - memory_region_init_io(&s->io, OBJECT(pci), &serial_io_ops, s, "serial"= , 8); pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->io); } =20 diff --git a/hw/char/serial.c b/hw/char/serial.c index 0f3469a1e8..49227830e1 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -921,10 +921,67 @@ static int serial_be_change(void *opaque) return 0; } =20 +static const MemoryRegionOps serial_io_ops =3D { + .read =3D serial_ioport_read, + .write =3D serial_ioport_write, + .valid =3D { + .unaligned =3D 1, + }, + .impl =3D { + .min_access_size =3D 1, + .max_access_size =3D 1, + }, + .endianness =3D DEVICE_LITTLE_ENDIAN, +}; + +static uint64_t serial_mm_read(void *opaque, hwaddr addr, unsigned size) +{ + SerialState *s =3D opaque; + + return serial_ioport_read(s, addr >> s->regshift, 1); +} + +static void serial_mm_write(void *opaque, hwaddr addr, + uint64_t value, unsigned size) +{ + SerialState *s =3D opaque; + + serial_ioport_write(s, addr >> s->regshift, value & 0xff, 1); +} + +static const MemoryRegionOps serial_mm_ops[] =3D { + [DEVICE_NATIVE_ENDIAN] =3D { + .read =3D serial_mm_read, + .write =3D serial_mm_write, + .endianness =3D DEVICE_NATIVE_ENDIAN, + .valid.max_access_size =3D 8, + .impl.max_access_size =3D 8, + }, + [DEVICE_LITTLE_ENDIAN] =3D { + .read =3D serial_mm_read, + .write =3D serial_mm_write, + .endianness =3D DEVICE_LITTLE_ENDIAN, + .valid.max_access_size =3D 8, + .impl.max_access_size =3D 8, + }, + [DEVICE_BIG_ENDIAN] =3D { + .read =3D serial_mm_read, + .write =3D serial_mm_write, + .endianness =3D DEVICE_BIG_ENDIAN, + .valid.max_access_size =3D 8, + .impl.max_access_size =3D 8, + }, +}; + static void serial_realize(DeviceState *dev, Error **errp) { SerialState *s =3D SERIAL(dev); =20 + memory_region_init_io(&s->io, OBJECT(s), + s->regshift ? &serial_mm_ops[s->endianness] + : &serial_io_ops, + s, "serial", 8 << s->regshift); + s->modem_status_poll =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, (QEMUTimerCB= *) serial_update_msl, s); =20 s->fifo_timeout_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, (QEMUTimerC= B *) fifo_timeout_int, s); @@ -952,23 +1009,16 @@ static void serial_unrealize(DeviceState *dev) qemu_unregister_reset(serial_reset, s); } =20 -const MemoryRegionOps serial_io_ops =3D { - .read =3D serial_ioport_read, - .write =3D serial_ioport_write, - .valid =3D { - .unaligned =3D 1, - }, - .impl =3D { - .min_access_size =3D 1, - .max_access_size =3D 1, - }, - .endianness =3D DEVICE_LITTLE_ENDIAN, -}; - static const Property serial_properties[] =3D { DEFINE_PROP_CHR("chardev", SerialState, chr), DEFINE_PROP_UINT32("baudbase", SerialState, baudbase, 115200), DEFINE_PROP_BOOL("wakeup", SerialState, wakeup, false), + /* + * Set the spacing between adjacent memory-mapped UART registers. + * Each register will be at (1 << regshift) bytes after the previous o= ne. + */ + DEFINE_PROP_UINT8("regshift", SerialState, regshift, 0), + DEFINE_PROP_UINT8("endianness", SerialState, endianness, DEVICE_NATIVE= _ENDIAN), }; =20 static void serial_class_init(ObjectClass *klass, const void *data) --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576639; cv=none; d=zohomail.com; s=zohoarc; b=noYIfgVYL0BCXoI+o8Uh6hgYbNBnrf4nyWWHoainQGm8W7ks5dUpDMaBjjpn6EMf3FJBz9Nqp/ZnSKV7FlEsPZvPCyNY82LZn1vf8cIttUAtmscRzLVerbXQmxuixqUGjZ64YAF9Gd2R6rNvRt3bJbxrhu7zu827S1JFFWKZxmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576639; h=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=Y0CdQKlvhBfL9BTPPAW1P7b6xu/FeX4/EVyEvGHtufg=; b=Oe9b01Z1zORzhCuIvNe+Wn/jjmSZUHV1DfS5Tc4/c05LPBfHXg1bcE3YZlloV4xPzeW2vLYWXI52rXriSg7pzojsMvMVCR4Mc2c7R7z5q2tcRT5IbRKTLNyCZM1m5eTdaZW0EG1eTAxV9vNzDRdnY4t2exAKGy8ij4iuuN2gV/A= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576639637405.1684248085721; Tue, 3 Mar 2026 14:23:59 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY8E-0004oK-40; Tue, 03 Mar 2026 17:22:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY8C-0004mr-Ks for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:20 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY8A-0002UK-IQ for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:20 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4806cc07ce7so69992855e9.1 for ; Tue, 03 Mar 2026 14:22:18 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576536; x=1773181336; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Y0CdQKlvhBfL9BTPPAW1P7b6xu/FeX4/EVyEvGHtufg=; b=MBOoXscnfj3G23RNciPAxH/z5BK4hLxvFKCbWXvt6b1gq0OLOY+TsHiAzJu1AJxNq+ feIlJ6qy1Ef4AQr9B4NqCR30bF6DuY8GZBgzqVAk2N6Hmurgg/3CblNtoM9De+vz1t53 p//GzL0T8arkXffR4QFgLIFnu/ou0exmKX9uGjf3NaYDB+eO2aLEIlsR5XBDRr2NUQrU OwfBgunQqmNA3GXgXvGjXpY09qsoXEdDjIOY99LmPKYL3I+CZPbXVz9Tq5sWfTcTdFi5 zFNiXOgwQXu2NOdA15PyEAOzlfp83aI8LzC30mpYmxzAIlCbVNO05zqyLyZILFwuV5jV yB6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576536; x=1773181336; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Y0CdQKlvhBfL9BTPPAW1P7b6xu/FeX4/EVyEvGHtufg=; b=k4U6pSJTU00kQHZG/w3+GV0FoAP+4vXe9kImpiDpqJ3MJj4vPW5xyE8KqsdqzY7onj iuTHEr3FkZFcsSk/xC1+/8WJnCeoBzSwn9ctxgZqhf4+8Z+zeByWyzA82oJ0LDRYH4FC Tm+mzXFDSgFQOnCu5EhZEjPMoLSA6b14kfJKUXB31OM1Crt40pkC2oMs+lRcwvkMSA4c LjmOYqa+AAQVjeV16P/5rLomDpfIrvTVTopv3zmzJGO5ek9V7jkkHfEW21mQ09LNcrkH PwL0rXmor1ZYPgMnfrBXR2V6APMzh8lGgdqTiedwyAzLlHzkDwij6PtsGqKRFfllSYa5 ZYPw== X-Gm-Message-State: AOJu0YyVnKx8hDb8Q0ADE5ssNRLTp5TMTNSsbcsU3EV/uU1e0UWHrdah DHPfbk3jsDYQzRPQzySYO9gEFgswe5xl7BO4Inaqb/W4bS3HbxWm9gItV2T3aQ== X-Gm-Gg: ATEYQzxEo+FqPMqc8sqvHgDNGw6+ciQCGba+jQNkqagMpEAJHml0cYDuUaKEAWrR0wC 5dR+oFk+u124xLSFGIAcz2dq/+28XGLoFTGPKwKDj46QiYKPvWoMMpAy2xPhhuc8C1701R+o8P5 IwVBEiC+r3ar43TVdzwnZ1ZkJdCnDzZoegCkxhoqo3fQEFOZnfegdpBGawoP/jNE7qo4lbfCK7c +raoBVlA0+3HU/ChI6YYi5bi8yDEClQrpAnAiNVqyytt2iz9uRSXh3rOWyukqprJDnWCCL3rK97 7xZQd6BpRN2K07VOzal9NqCItSqIKAGwzuU8QuaFxV5ATbRMIYBLm71yv6poL//oNMBu+NGZ/6U bOI2/EZxDATRZCF4yET0L00O+L5sQCWyW+H4mJ8z5b0YBZhkXGXXQ0JtngK8FjzT6ARirc3x8t+ Fp8gjuocGEEju7gxg50IPuXSa+hZ2tWWSWo7c4ZOYmv5+piAZ0apQBMaoIWJaFnEaLyySvbTVzb Nz2uOZgf+2ydd9gOXNTyFIhbJnbimE= X-Received: by 2002:a05:600c:8b8a:b0:47a:935f:61a0 with SMTP id 5b1f17b1804b1-483c9b6cfccmr338341985e9.0.1772576536353; Tue, 03 Mar 2026 14:22:16 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 12/13] hw/char/serial: Inherit from SysBusDevice Date: Tue, 3 Mar 2026 23:21:42 +0100 Message-ID: <20260303222143.142741-13-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=shentey@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576643179139100 Content-Type: text/plain; charset="utf-8" SerialState currently inherits just from DeviceState and serial devices use SerialState as an "IP block". Since DeviceState doesn't have an API to provide MMIO regions or IRQs, all serial devices access attributes internal to SerialState directly. Fix this by having SerialState inherit from SysBusDevice. In addition, DeviceState doesn't participate in the reset framework while SysBusDevice does. This allows for implementing reset functionality more idiomatically. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- include/hw/char/serial.h | 4 ++-- hw/char/diva-gsp.c | 18 +++++++++--------- hw/char/serial-isa.c | 16 ++++++++++------ hw/char/serial-mm.c | 8 ++++---- hw/char/serial-pci-multi.c | 18 +++++++++--------- hw/char/serial-pci.c | 10 +++++----- hw/char/serial.c | 5 ++++- 7 files changed, 43 insertions(+), 36 deletions(-) diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h index 0cf641a860..2ee9e5984c 100644 --- a/include/hw/char/serial.h +++ b/include/hw/char/serial.h @@ -26,7 +26,7 @@ #ifndef HW_SERIAL_H #define HW_SERIAL_H =20 -#include "hw/core/qdev.h" +#include "hw/core/sysbus.h" #include "chardev/char-fe.h" #include "system/memory.h" #include "qemu/fifo8.h" @@ -35,7 +35,7 @@ #define UART_FIFO_LENGTH 16 /* 16550A Fifo Length */ =20 struct SerialState { - DeviceState parent; + SysBusDevice parent; =20 uint16_t divider; uint8_t rbr; /* receive register */ diff --git a/hw/char/diva-gsp.c b/hw/char/diva-gsp.c index 2ea60103ea..55c42effe9 100644 --- a/hw/char/diva-gsp.c +++ b/hw/char/diva-gsp.c @@ -56,13 +56,13 @@ typedef struct PCIDivaSerialState { static void diva_pci_exit(PCIDevice *dev) { PCIDivaSerialState *pci =3D DO_UPCAST(PCIDivaSerialState, dev, dev); - SerialState *s; int i; =20 for (i =3D 0; i < pci->ports; i++) { - s =3D pci->state + i; - qdev_unrealize(DEVICE(s)); - memory_region_del_subregion(&pci->membar, &s->io); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + qdev_unrealize(DEVICE(sbd)); + memory_region_del_subregion(&pci->membar, + sysbus_mmio_get_region(sbd, 0)); } qemu_free_irqs(pci->irqs, pci->ports); } @@ -116,7 +116,6 @@ static void diva_pci_realize(PCIDevice *dev, Error **er= rp) { PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); PCIDivaSerialState *pci =3D DO_UPCAST(PCIDivaSerialState, dev, dev); - SerialState *s; struct diva_info di =3D diva_get_diva_info(pc); size_t i, offset =3D 0; size_t portmask =3D di.omask; @@ -128,19 +127,20 @@ static void diva_pci_realize(PCIDevice *dev, Error **= errp) pci->irqs =3D qemu_allocate_irqs(multi_serial_irq_mux, pci, di.nports); =20 for (i =3D 0; i < di.nports; i++) { - s =3D pci->state + i; - if (!qdev_realize(DEVICE(s), NULL, errp)) { + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + if (!sysbus_realize(sbd, errp)) { diva_pci_exit(dev); return; } - s->irq =3D pci->irqs[i]; + sysbus_connect_irq(sbd, 0, pci->irqs[i]); =20 /* calculate offset of given port based on bitmask */ while ((portmask & BIT(0)) =3D=3D 0) { offset +=3D 8; portmask >>=3D 1; } - memory_region_add_subregion(&pci->membar, offset, &s->io); + memory_region_add_subregion(&pci->membar, offset, + sysbus_mmio_get_region(sbd, 0)); offset +=3D 8; portmask >>=3D 1; pci->ports++; diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c index 3a48b2495e..5eb2dc6350 100644 --- a/hw/char/serial-isa.c +++ b/hw/char/serial-isa.c @@ -58,7 +58,7 @@ static void serial_isa_realizefn(DeviceState *dev, Error = **errp) static int index; ISADevice *isadev =3D ISA_DEVICE(dev); ISASerialState *isa =3D ISA_SERIAL(dev); - SerialState *s =3D &isa->state; + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&isa->state); =20 if (isa->index =3D=3D -1) { isa->index =3D index; @@ -76,11 +76,11 @@ static void serial_isa_realizefn(DeviceState *dev, Erro= r **errp) } index++; =20 - s->irq =3D isa_get_irq(isadev, isa->isairq); - qdev_realize(DEVICE(s), NULL, errp); + sysbus_realize(sbd, errp); + sysbus_connect_irq(sbd, 0, isa_get_irq(isadev, isa->isairq)); qdev_set_legacy_instance_id(dev, isa->iobase, 3); =20 - isa_register_ioport(isadev, &s->io, isa->iobase); + isa_register_ioport(isadev, sysbus_mmio_get_region(sbd, 0), isa->iobas= e); } =20 static void serial_isa_build_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -187,13 +187,17 @@ void serial_hds_isa_init(ISABus *bus, int from, int t= o) void isa_serial_set_iobase(ISADevice *serial, hwaddr iobase) { ISASerialState *s =3D ISA_SERIAL(serial); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->state); =20 serial->ioport_id =3D iobase; s->iobase =3D iobase; - memory_region_set_address(&s->state.io, s->iobase); + memory_region_set_address(sysbus_mmio_get_region(sbd, 0), s->iobase); } =20 void isa_serial_set_enabled(ISADevice *serial, bool enabled) { - memory_region_set_enabled(&ISA_SERIAL(serial)->state.io, enabled); + ISASerialState *s =3D ISA_SERIAL(serial); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->state); + + memory_region_set_enabled(sysbus_mmio_get_region(sbd, 0), enabled); } diff --git a/hw/char/serial-mm.c b/hw/char/serial-mm.c index 1dba4fc694..ba4061aa69 100644 --- a/hw/char/serial-mm.c +++ b/hw/char/serial-mm.c @@ -33,14 +33,14 @@ static void serial_mm_realize(DeviceState *dev, Error **errp) { SerialMM *smm =3D SERIAL_MM(dev); - SerialState *s =3D &smm->serial; + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&smm->serial); =20 - if (!qdev_realize(DEVICE(s), NULL, errp)) { + if (!sysbus_realize(sbd, errp)) { return; } =20 - sysbus_init_mmio(SYS_BUS_DEVICE(smm), &s->io); - sysbus_init_irq(SYS_BUS_DEVICE(smm), &smm->serial.irq); + sysbus_init_mmio(SYS_BUS_DEVICE(smm), sysbus_mmio_get_region(sbd, 0)); + sysbus_pass_irq(SYS_BUS_DEVICE(smm), SYS_BUS_DEVICE(sbd)); } =20 static const VMStateDescription vmstate_serial_mm =3D { diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c index 38e5a78e6f..4e51d14111 100644 --- a/hw/char/serial-pci-multi.c +++ b/hw/char/serial-pci-multi.c @@ -50,13 +50,13 @@ typedef struct PCIMultiSerialState { static void multi_serial_pci_exit(PCIDevice *dev) { PCIMultiSerialState *pci =3D DO_UPCAST(PCIMultiSerialState, dev, dev); - SerialState *s; int i; =20 for (i =3D 0; i < pci->ports; i++) { - s =3D pci->state + i; - qdev_unrealize(DEVICE(s)); - memory_region_del_subregion(&pci->iobar, &s->io); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + qdev_unrealize(DEVICE(sbd)); + memory_region_del_subregion(&pci->iobar, + sysbus_mmio_get_region(sbd, 0)); } } =20 @@ -91,7 +91,6 @@ static void multi_serial_pci_realize(PCIDevice *dev, Erro= r **errp) { PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); PCIMultiSerialState *pci =3D DO_UPCAST(PCIMultiSerialState, dev, dev); - SerialState *s; size_t i, nports =3D multi_serial_get_port_count(pc); =20 pci->dev.config[PCI_CLASS_PROG] =3D 2; /* 16550 compatible */ @@ -100,13 +99,14 @@ static void multi_serial_pci_realize(PCIDevice *dev, E= rror **errp) pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->iobar); =20 for (i =3D 0; i < nports; i++) { - s =3D pci->state + i; - if (!qdev_realize(DEVICE(s), NULL, errp)) { + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + if (!sysbus_realize(sbd, errp)) { multi_serial_pci_exit(dev); return; } - s->irq =3D &pci->irqs[i]; - memory_region_add_subregion(&pci->iobar, 8 * i, &s->io); + sysbus_connect_irq(sbd, 0, &pci->irqs[i]); + memory_region_add_subregion(&pci->iobar, 8 * i, + sysbus_mmio_get_region(sbd, 0)); pci->ports++; } } diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index 9a0bf2d890..b702de8219 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -46,17 +46,18 @@ OBJECT_DECLARE_SIMPLE_TYPE(PCISerialState, PCI_SERIAL) static void serial_pci_realize(PCIDevice *dev, Error **errp) { PCISerialState *pci =3D DO_UPCAST(PCISerialState, dev, dev); - SerialState *s =3D &pci->state; + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&pci->state); =20 - if (!qdev_realize(DEVICE(s), NULL, errp)) { + if (!sysbus_realize(sbd, errp)) { return; } =20 pci->dev.config[PCI_CLASS_PROG] =3D 2; /* 16550 compatible */ pci->dev.config[PCI_INTERRUPT_PIN] =3D 1; - s->irq =3D pci_allocate_irq(&pci->dev); + sysbus_connect_irq(sbd, 0, pci_allocate_irq(&pci->dev)); =20 - pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->io); + pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, + sysbus_mmio_get_region(sbd, 0)); } =20 static void serial_pci_exit(PCIDevice *dev) @@ -65,7 +66,6 @@ static void serial_pci_exit(PCIDevice *dev) SerialState *s =3D &pci->state; =20 qdev_unrealize(DEVICE(s)); - qemu_free_irq(s->irq); } =20 static const VMStateDescription vmstate_pci_serial =3D { diff --git a/hw/char/serial.c b/hw/char/serial.c index 49227830e1..fc92897376 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -991,6 +991,9 @@ static void serial_realize(DeviceState *dev, Error **er= rp) serial_event, serial_be_change, s, NULL, true= ); fifo8_create(&s->recv_fifo, UART_FIFO_LENGTH); fifo8_create(&s->xmit_fifo, UART_FIFO_LENGTH); + + sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io); + sysbus_init_irq(SYS_BUS_DEVICE(s), &s->irq); } =20 static void serial_unrealize(DeviceState *dev) @@ -1034,7 +1037,7 @@ static void serial_class_init(ObjectClass *klass, con= st void *data) =20 static const TypeInfo serial_info =3D { .name =3D TYPE_SERIAL, - .parent =3D TYPE_DEVICE, + .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(SerialState), .class_init =3D serial_class_init, }; --=20 2.53.0 From nobody Sat Apr 11 23:08:42 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1772576628; cv=none; d=zohomail.com; s=zohoarc; b=c9nkl7J/eyD4OwsbO/zSTc7EynN6uV2rDWhM2BMxyCuzSpsy/J3qu6OGQkecFez4U2Im8NvaGkgxkl6jEdvHUSxaMsSsq2yIihEmIgpYgglQjLNnbBRStD988nn2X8rfkPcr/wsBRF0nnjpjgQdV/U7zswTB7JizhPd/xWl65NM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772576628; h=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=Ov4Nf1FlvKPPTI6Fk3jlGNb+uvop9rtwW4FuxRgecD4=; b=Q5lWZqEBst7yBTqdAbD0nkEBzm76iXD9xQPfxyMvFsNWjLup2+Tuk/SZYJcgB2+st57ZxEpAP8wLlUT0lFTvPF7ANCaFlSvl0QexUisjunKppblFU3Bn1u92krTqOdbp7l44uP/5dAyt9iLYmuVnJqIQSqLTQoMWVFH8sKPjFaU= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772576628182370.6839223728142; Tue, 3 Mar 2026 14:23:48 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxY8E-0004ou-T1; Tue, 03 Mar 2026 17:22:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxY8D-0004nM-2T for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:21 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxY8B-0002V6-JI for qemu-devel@nongnu.org; Tue, 03 Mar 2026 17:22:20 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-48373a4bca3so37992885e9.0 for ; Tue, 03 Mar 2026 14:22:19 -0800 (PST) Received: from Provence (dynamic-2a02-3100-1c79-b600-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:1c79:b600:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485187c81adsm7577715e9.6.2026.03.03.14.22.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 14:22:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772576538; x=1773181338; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ov4Nf1FlvKPPTI6Fk3jlGNb+uvop9rtwW4FuxRgecD4=; b=IxXpAeLwCU4Hz6r+z3kFEs32Ofu34lAPVJUYCT3Lq2DBVYmk3MB6eyoTQ54Nq3nuUr cGeswy0PQFaZTLD0ZdC3qY0k5e2qTTWHwxqFqt4T9bTOrX7nBYHzlNMdMnAnQtJrDXTB cDVSRmuvNpv89Knv9kTiPR5dP7C/S1Uax19/QyZ15mvlQ4+iAt57wb/4L4MfF+0ScLeQ SZgGVU59DyOJ5llJFfPCHqcYjgoaoC4mlyjMx0l9D5Zs2dL/8xBdpH+KIwjMQn/3Vs9m V7ZXGUFuEaOifPOtwDQtvKIJ7wv5Zf1rmg8c/4GL7ikDRIxVO5VCQ0cvbA11rltbLwWg FQaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772576538; x=1773181338; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Ov4Nf1FlvKPPTI6Fk3jlGNb+uvop9rtwW4FuxRgecD4=; b=dKaBFaI9/LXmuxGo8ImNj4H0MkpBprRIjK1A4RpBeVzw80uZ7x9OFaptS0yG4MRzXe VQ65slB1Qv/9p7gCMlUaA0KYpNkBTGGUCwB3zUrizcBTXV5ix/8WI/d+kH0yOMfWuXYT NkmCf98TUb3rAeikOlHXQUo0eFqH/sZANItH85Ku8NKqtWbs4hJUavIliZQwgmhyaQIE b7iZo08e0q/Ir4PFPw44lBwrrbnjb1WC632ZsIvvKkJplrQO/yIiaaMcZSkw3hzCdCtl wOpWHvd3v8vpIGMdzzKY2ck0Vfd4osW7KBf2bF2RFi9TYM1qFzwbpX9nZ+3mtybUwne7 K8Xg== X-Gm-Message-State: AOJu0YzvMJtD2IDGkMT94Efz6AsmHAtkusYeMN+7BhgVqBF+awhyXdoG ej3rlafLEysqLRzW7qcYJIEnpYj4NkdX86Suv5CTk3FlO/04Dg0GkguA3w0H3A== X-Gm-Gg: ATEYQzwhjTXIUcpfNu3YtksYohitke4B2fM/y9x6vqgWkC922IT1mAxjI/lEc3665vl 26lXE26ZBkGtl9LYShk5iHSEWM5nJakLwlCvIBFcxqdjLICHa2Tv2OxbNoPNU9FpnC2RkMKQXtn +f3XojBYooN13is/WudfuvSC8dRrJfYxHnfAi1CK4CJF5RM2SzZZooZ2psll8NJNx5XY98u7C3o OqjE/XW/LpxhgqC+kWXtEEM4nXPR6Cvq8ravk67zu/KlYVdLatIkL/qOi3RLo+KZWVXFTTrnK+d 6W5mb++yjQx6LpNLz89WTJzqUJALUvs6ZnhhTKG1tUehm+GThA1GstNglyuzNkanmhACLK44wwK CYA4GlXDlwlKy7ejDL0iHgiV4IB6ROtLwpL0D4UbNcxznoDzhJ35tuSqPTI1DSWG4TFMd5oHuxR y1foD9zKSRcL+12havGPk8ZEgj+KiJzQR6SgovUPoseX04+VGtg8If9ir1wNXZrPaXnIDOxoaVe 7641gOjD0btXBNnvIW97j2Z5C/zxTw= X-Received: by 2002:a05:600c:4e0f:b0:483:103c:b1ee with SMTP id 5b1f17b1804b1-483c9b9d925mr281291425e9.8.1772576537542; Tue, 03 Mar 2026 14:22:17 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Helge Deller , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Steven Lee , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Troy Lee , Richard Henderson , Mark Cave-Ayland , qemu-arm@nongnu.org, Jamin Lin , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Michael S. Tsirkin" , Andrew Jeffery , Peter Maydell , Joel Stanley , Bernhard Beschow Subject: [PATCH v2 13/13] hw/char/serial: Plug into reset framework Date: Tue, 3 Mar 2026 23:21:43 +0100 Message-ID: <20260303222143.142741-14-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303222143.142741-1-shentey@gmail.com> References: <20260303222143.142741-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=shentey@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1772576629921139100 Content-Type: text/plain; charset="utf-8" Now that SerialState inherits from SysBusDevice we can take advantage of having the reset method called by the bus hierarchy rather than having to plug and unplug it manually. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell --- hw/char/serial.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index fc92897376..31ce3c7b40 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -31,7 +31,6 @@ #include "chardev/char-serial.h" #include "qapi/error.h" #include "qemu/timer.h" -#include "system/reset.h" #include "system/runstate.h" #include "qemu/error-report.h" #include "trace.h" @@ -853,9 +852,9 @@ const VMStateDescription vmstate_serial =3D { } }; =20 -static void serial_reset(void *opaque) +static void serial_reset(DeviceState *dev) { - SerialState *s =3D opaque; + SerialState *s =3D SERIAL(dev); =20 if (s->watch_tag > 0) { g_source_remove(s->watch_tag); @@ -985,7 +984,6 @@ static void serial_realize(DeviceState *dev, Error **er= rp) s->modem_status_poll =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, (QEMUTimerCB= *) serial_update_msl, s); =20 s->fifo_timeout_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, (QEMUTimerC= B *) fifo_timeout_int, s); - qemu_register_reset(serial_reset, s); =20 qemu_chr_fe_set_handlers(&s->chr, serial_can_receive1, serial_receive1, serial_event, serial_be_change, s, NULL, true= ); @@ -1008,8 +1006,6 @@ static void serial_unrealize(DeviceState *dev) =20 fifo8_destroy(&s->recv_fifo); fifo8_destroy(&s->xmit_fifo); - - qemu_unregister_reset(serial_reset, s); } =20 static const Property serial_properties[] =3D { @@ -1032,6 +1028,7 @@ static void serial_class_init(ObjectClass *klass, con= st void *data) dc->user_creatable =3D false; dc->realize =3D serial_realize; dc->unrealize =3D serial_unrealize; + device_class_set_legacy_reset(dc, serial_reset); device_class_set_props(dc, serial_properties); } =20 --=20 2.53.0