From nobody Sat Apr 11 21:31:22 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=1772748691; cv=none; d=zohomail.com; s=zohoarc; b=gaUTeQ9ohBk1YhzTyyif/4NDak38CRl1xkZ2ZBXRWEUIBx9V6NXeJ63aAuuOv/3EykvtvWCLmccfVjFRgdastAzHgMAYyiOMHyAqeAm3Xj8Zfp+cqgVgq3597WznAnh5a5ZR7hg0BicL2wQehweaSaJeMNF6FT/9y2GfBYJbYYI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748691; 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=L87xvdbS4v6z5exhHukrQBw+L+0smTArrAHg/aBvGXz7Q7HtXLXyn/CFO/CzQwxjNAriw8NO0Wt2wdpVBP4S1I6rgMHSQX8UedHxVCXVguk4fpr6QlVM8qluNMjKJSKFrRj7JC3HAny1QEmCpHXErdVFj31h5YOmuSF8gSjC1FY= 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 1772748691085277.3344594951403; Thu, 5 Mar 2026 14:11:31 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGsv-000124-9b; Thu, 05 Mar 2026 17:09:34 -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 1vyGsn-0000zK-DR for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:25 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsk-0002D5-KX for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:24 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso71410635e9.1 for ; Thu, 05 Mar 2026 14:09:22 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748560; x=1773353360; 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=fdim6hrI3t17YZ2DdIjHL5Hml9aWGFOBGmgjkRXdiGOBc+ANX73CqjMjQudUPoX2Ue fh3RWgEP5HNOGLxlhAM7xR2HVc5K1SfhKB/kLOqWUm0agDRUqlMB0aJ2lTfr/yzpS+7r CY7J3W7cdlZMR6oD8oxVjhY/GhItYgu2UIifom1vb6oxm7lOk/jt+xUJ6eElvNv1TH1M bM+4DRGWZ2Gh8yxT/K4edZPtxSPwXJ6k+5N3ELvmBvrqdMulkiAuiwQgtjzEREko1mt5 Qkr+4BoVS3h8cZR0oe8WHZuTdICXdz2ZfNOQFa78Qe2tdt8Htjfi2B+RmwbTdRCUY8df U+3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748560; x=1773353360; 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=LUNyXIPoG7BKEc7912KUeLEXEqV8SwVjK508xClnAOCyG4h7FN5dHWWMAmIpozaKOl ys0PMQ8bAe9X8I5vk0N4V0++T9a/2zsTlSI1hTBGUdt/xEX8cjXmiFZB/OYIPUbQGeAn Xzka0X+cqZeqitTAIExPLgCWsxbJUVKBrbvYF5p49qCNy2/V57zKUEjYhrlNjdtPVK6Q OgqAHev9SDOhpYj2pPTINpaBcXIKiqEA/6n+MZU8UJaF06dWsX4VZxRz0nzZKnpYrrnw Ppi8dWDOvVWJZXFw1+ij4PXBX4dHNWV32wb+zhhkBGh2Mbr+1nFA5HnEPk+C6JXWDUMy 9jkQ== X-Gm-Message-State: AOJu0Yz4rn0V2svEew1B5UsB0L9N5szL7eJL0EY/q9L3hy/cCihRPcRp N67hmODdIjZutJQ5eAywcg2Wy2cVI49PSZHbdaH+gs+3KBCtv0JTKLl1/x7QGA== X-Gm-Gg: ATEYQzxH7HRxaHNCrb4Vki4/7+2IY5+GCgaF8G6hORKJlFDc2MyvpkXFELhwyJ7OFbE FHScsvE/n6m531eDHAFBWFzdBSotcLh+B8QXH0S+C6B39SvGx3hYu9uYY3rQuzc+Ls0N2mggo72 A+diRUSxNtm8iCwJ6zlse0Wvj++CAzQM+VcwfcanyTE9auMYz7WTabCtMkTPQA++hnyBw+lCrrZ 876PKL5ZmQO2dTTcZhX7P5mmLq9jK7wcBFoPWL/erktAEr17p7S+3siqqhmHkk0K8W6gB529GGg rdcFY3Xw7+Jr+v0R3ib3P+2sNI++InHUNmY9yD23/KY4R/1oit8CyWr98GFAzHhaROZ7bSS8uQC /3WJWzN9maDqqb1/qMKACds2I6lzOhw8QpsWHJqJbr6j20krz4iWNXSfiRTZZch2eCGwTF1G+nh CWGbtjULArhtKUHDzkT4TGFZUNQ/AEIBiP666Gh6QAo9Qn/JevVK8a5AmRzIqbfo4/FMbi3I5ca 00tXsVHv1ISbSB0Y6vVjriX/iBFp6rg+qC75r4dWAChYdE= X-Received: by 2002:a05:600c:34c8:b0:47d:8479:78d5 with SMTP id 5b1f17b1804b1-48523592d6amr17649355e9.7.1772748560440; Thu, 05 Mar 2026 14:09:20 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 01/14] hw/arm/Kconfig: Fix serial selection for NPCM8XX Date: Thu, 5 Mar 2026 23:08:58 +0100 Message-ID: <20260305220911.131508-2-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::32b; envelope-from=shentey@gmail.com; helo=mail-wm1-x32b.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: 1772748692727154100 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 21:31:22 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772748697136448.1692837042036; Thu, 5 Mar 2026 14:11:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGsv-00011y-9U; Thu, 05 Mar 2026 17:09:34 -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 1vyGsp-0000zl-I6 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:27 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsm-0002DX-12 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:25 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-439c9eb5d36so2163630f8f.2 for ; Thu, 05 Mar 2026 14:09:23 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748562; x=1773353362; 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=6VeLOTnhmpK3hGfuKtvu330mCQPPVQNuv7C0J7IEVho=; b=V0vBBOLbnAaqAJOWAPI9ZEddCBvzmWIVyN6qhvgVxZybqk0brWBKxVT7oEjgOEbmks TLwsIn+/xmGbsiriaszq2j2uhai6CzNEoSZCNnhyW+P4Fwj3fzKn+Rsddh86ZrsvVsbJ DJFE3fB54V6TEv4jLifFc9XEeHCkI2MpYwZ7v5plOVfxRW7e1vRcs587oszk1s+83ZSG DliGpzpv1y1vPCsvcAt5svm+ruyUAjJgBkhtw8+3vc8DlD8i6XBWV43MZDzK1Ti1gs0g IIqOEPYnXAjg3Yni8hoTKYAOuThCqvsG7ditdZPov0p5NGUNaPv8msVr7dBfBWomZlkJ La5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748562; x=1773353362; 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=6VeLOTnhmpK3hGfuKtvu330mCQPPVQNuv7C0J7IEVho=; b=dXQPC3PoPs8bzJWGXZm/9HHWeaz0YydPWTdOchtcdcg37MnqVqfGRR5B2q32blCosw eV/DUZJ3Jj6lbbf+s8cwWldzBOYxNVFtalwLy/NLVIAiEd/LQ4dMwL/f/tqCXhONysis mmVSYZH+KYZASAEzXwzxIW/sEfj3ti9S3zu/IiwitooImZM3mSMBNT4mNAvUfNDer8VS oHV1IPSFlWb9gEnosaS31ALW2Ls10hcHSMH3XopKwUr/aiIDmexBjaNAq8ViF7ued6Rr E+v/UrPVETevDlRQpxgs6DMTCahazCJ3yXBxwmdfBJqz0nruQPE3FyVfZDR0qJdulI5z bt9w== X-Gm-Message-State: AOJu0YwTwhXuVWiE0Nh0077IYmmI81GxrYYGfK7nEM1sAomFvIYemh7Y 9wcd14VOh6eFt78mcrjrrSGNDaf34NrLL4VFl2xxxoCP8DptPaUiCgIv0irPJw== X-Gm-Gg: ATEYQzxJA8OufUA2JflBxBLRIIo3kx2kENCYbpcKmxLSf0dZdysAbLLzQyP/RVAlN8V q2Oa9cf3Ywaya0pqWnuZauVqkNGX/uqTNPBIHb/3wkr1MNsNGFkmCZdg9jWZqAlwO+fRd000PJE MxYYC0Ar3Y1V7pUKsKN4oDw/1BJeWJI0+M0TF5JCh1YI2hgJtecwE0yCa1dyu5hZVPE1AccKd7M HpzyMkEywR6mRJTABMPMuWlSxgddULgaQ+L8S70dYXC2eALrh/xNT/jyxSJo9QIoSrcqw7MKjh3 KiBQLcpPhmC0cgx8Y6f//MdPK2x0q2k6HQkXBnBqdGz1qdg1F6Uep/GyITcvUztH/TmopIDnygg gceMRlczUEfQ3SBhIjWb9PG4SAPdheXDIOrYkpQZRbZnQx3NSaPicpAWTSYQUpGOf7x5ACPEzuB k0jR5oPIK7XYtdlOGIMDOBoqlvjTFb6rVeypXFFgwn8oslnskItOrViJsce7pCi+/+awbSbCWEb IZvx7+d5meGiY2JA7se2BPY6JIxf2TsGoGyP02L4zpDFZc= X-Received: by 2002:a05:600c:4688:b0:47e:e7e5:ff32 with SMTP id 5b1f17b1804b1-485198a3bc4mr116276825e9.34.1772748561651; Thu, 05 Mar 2026 14:09:21 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 02/14] hw/char/{diva-gsp, serial-pci-multi}: Fix deinitialization order Date: Thu, 5 Mar 2026 23:08:59 +0100 Message-ID: <20260305220911.131508-3-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::436; envelope-from=shentey@gmail.com; helo=mail-wr1-x436.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1772748698816154100 Content-Type: text/plain; charset="utf-8" The memory region is owned by the device being unrealized, so must be removed from the mapping before unrealizing. Fixes: d66bbea4e0d3 ("serial: add 2x + 4x pci variant") Fixes: 274074708455 ("hw/char: Add emulation of Diva GSP PCI management boa= rds") Reported-by: Peter Maydell Signed-off-by: Bernhard Beschow --- hw/char/diva-gsp.c | 2 +- hw/char/serial-pci-multi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/char/diva-gsp.c b/hw/char/diva-gsp.c index 280d0413c6..f9aa6e326d 100644 --- a/hw/char/diva-gsp.c +++ b/hw/char/diva-gsp.c @@ -62,8 +62,8 @@ static void diva_pci_exit(PCIDevice *dev) =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); + qdev_unrealize(DEVICE(s)); g_free(pci->name[i]); } qemu_free_irqs(pci->irqs, pci->ports); diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c index 17796b93dd..7782452018 100644 --- a/hw/char/serial-pci-multi.c +++ b/hw/char/serial-pci-multi.c @@ -56,8 +56,8 @@ static void multi_serial_pci_exit(PCIDevice *dev) =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); + qdev_unrealize(DEVICE(s)); g_free(pci->name[i]); } } --=20 2.53.0 From nobody Sat Apr 11 21:31:22 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=1772748638; cv=none; d=zohomail.com; s=zohoarc; b=h4ZtztnJS06f1/D0sZ2rFRx8Zl4EHSI8DBEThmq3EJZDgBZTvEsWDLCzc6q3lFvGEz1czzxG5oaURsXh2pdrEY3ntll9Llj5ImhuYm3AvTBThASzp9/3IVNaS7cVyr8QyjUHbTyuapX1SEjO++x1iBGL2YmXI0JDvgpE4kjF40U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748638; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1zwrmPpb2MBMovII3IbF2clfBEwlzxPfQXORImB3zwE=; b=ZjD+qaSiQkPavUX4ATNbB23SE1C3UgxaehSHoF/2801sJG1TPdn3SWM5yjf1A3JDw1pScAFf32SiPSW09onzWeK+eVCal6WeJGyKAY9bKIG3FENX9ECddDUK8UhB9oBgl/7hq1HrgXdbZNRBmMQrX3Xq4Tn2c4fdGT2EM2lbKCo= 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 1772748638061409.33629916076916; Thu, 5 Mar 2026 14:10:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGsx-000156-7B; Thu, 05 Mar 2026 17:09:35 -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 1vyGsp-0000zk-IO for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:27 -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 1vyGsn-0002Dy-5Q for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:26 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-48374014a77so103425115e9.3 for ; Thu, 05 Mar 2026 14:09:24 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748563; x=1773353363; 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=1zwrmPpb2MBMovII3IbF2clfBEwlzxPfQXORImB3zwE=; b=TNHES+mNy+TYV+BjU7et/XBvk7AduNXsJWLlau5XBo+uzkOgMQpkAsbKImUTiG+5Mw hS3KMfGf/HlfsuS+Ipx0A4S0QkKwNUYUmOyeNSw7lHN23Nfu1QXdf2JBsfJzVtfQE9ch 91s0lhXqMF1+lP6/GTcZSViHDn9FqQdmCNjH6cqJ8ow5GY/xsK8SmF1xAU0lmgpKra5I zduS8IJ0bvW7hYIr78JR+SjL113rGPkY0EQ/UCBqqUn6tJNJ+qzVcMziLYzoX16IlqQU qDovT5NkpIS6wkVA5hkGJpDLIrW8rh/scUMvl2a5MDftTtMJqZoXyMzQMi4Cts/gTVQm JPIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748563; x=1773353363; 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=1zwrmPpb2MBMovII3IbF2clfBEwlzxPfQXORImB3zwE=; b=e7y6jlMyny7CWq1JgLJZBAhTGmw6ULDTM4yJDELwh5a+XzPDRuNh1p6P4o+3nTeGPm atwnjrBK8n+xBaCS5i0+0ixGSeNwxwFQ+gS6+keVWITldSifXMd/qg5pX57cnGUFTpiF wOc6KTf5eWM21I6l/JJkPSGNM0Vc9aCAy4KGxYKngMWsjGOrjcY8PQQgktXiR+NY9ybn L+UXqzFs2VEJGdwTPLn+vy2tqJhOminVnFlhdLVMkqCl0dfvgHleHbFopDRbPhDxtj29 h9FBe9vvK1oH5C2GSgCa/NRLwAwMbVwqQL+TFOP0uU3RXKeRH6gIDvCGIIzVP2dpUUyt yTqw== X-Gm-Message-State: AOJu0Yykht02RcFyNdyowBYxFD9i+w3rR5HEtBHfySbH9LqQctsSnYuA A3Wu2B2k8Uwre3tERZ2qp7E0uTiLbE1zE9ofzvygt4tZ4RHy4/31mWNhvRQiNA== X-Gm-Gg: ATEYQzwiQrq1ebH+t8zAJ7uUD5/KIpgSxCkOyZlM+sdX2MEbjc1saxj5W3YlpGj4KrU YNTcgz41nfTYVosbrDi+MZ0jWty8yHcXmRar9diSZeB6KCumx6KBDMzovC9dyyhm0PEtYHXjz+f UQO2aufBp2XEGUip+MIGwEqDgrKekC37rIds9hLyE+91tIdtIwVoZlfBZXYkF8tZvWl8y2FALbo nSI8LxQKARtlUgbUIfryrDvZ9v9657MSYN8HWa+rK99oqaVLIBLF1I3ryWf57cGHeY+ul2q8hU2 yr/2ygVZvVxckdtj78hrP9PhYp5SUW0H9z8U22GuYCaZyrIqZvwCQOIiBLLWIXKCAKpq1U05YlT A+QBURqx7Rf9nhh61dn08E0fsrUZMtyhCJt0c8z0z6cGGkksDNYN+i7Hr5m5sboz7vUYKx8L2HB BcAHixXlyFD0AX4p19VwfBVtPD+A6Mf/h4EDwes9mqGZ1lDH5dOLRoQBxIyCHxnwnD7zpL2HQdQ ALY5FpZNBDncgYgswbCZWkptz9GKA344vOMPkNDzBjWkuL1iDcgXtLo/w== X-Received: by 2002:a05:600c:a51:b0:47e:e20e:bbbe with SMTP id 5b1f17b1804b1-48519889928mr122885855e9.25.1772748562947; Thu, 05 Mar 2026 14:09:22 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 03/14] hw/arm/aspeed_ast27x0-{ssp, tsp}: Do not access SerialMM internals directly Date: Thu, 5 Mar 2026 23:09:00 +0100 Message-ID: <20260305220911.131508-4-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-1-shentey@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=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=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: 1772748639505158500 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. Reviewed-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Bernhard Beschow --- 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 21:31:22 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=1772748596; cv=none; d=zohomail.com; s=zohoarc; b=YxveE7FT99oN1g74oYW+c+wBpe5iFoIFpZS+AgMxXH2Fh2n93aJYAqEhYehcJE8C+l8HKHsCFcWHCe54I/UZBkPdwmsnvJ+Ole32PF1cSREVN18ZRk7aAzLHXfzbdRQeHOGCARWynJyUGWXcwyDEjaJc6JBSm7rVWR1VGUA3gi0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748596; 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=IvYsLg/1eE1MGIR2jI+J9JQ4h3srn//i6/LXLBtQ4S5ZKfx/DVXG3AMh0Rd3wnGA2joA2cthyZSGdRP40J0+9y10xwBmtpm8tCNMKUgW2gOtIQ9nA46+8d4efbw3AbqUvxt2Qdg+joJElQJx7xlPSMcs/GITjBE5/PPRG2rear0= 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 1772748596107262.1190847421502; Thu, 5 Mar 2026 14:09:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt2-0001BM-JX; Thu, 05 Mar 2026 17:09:40 -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 1vyGsr-00011M-Qc for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:30 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsp-0002Eg-1e for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:29 -0500 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-439c944bb62so1885506f8f.3 for ; Thu, 05 Mar 2026 14:09:25 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748564; x=1773353364; 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=RzWWzYSEQsXVw8WNGlmj6y/P3UK2Yrikma5ztfrudZ+2t2VQoQkvBEo0bJXjN8yL5e 7mDAjh3eqAAgCw5B1MueTSJxeN6lCk9a4+vl4C7FPZXsE7YLHB8xvOB82/pRKvq7iwWP 7P7TEMNm4E+B7Iq0VoUS9JUN9PU4mEZPXetcfydCPV1QXerSDcCEDFAtNGkFhK1JT9OA Dy7497elVmJERMmX72huhhljZ49TEH8JXUxB3NAgViUBLvg2JuclL9Lj67YE9EDsgLa/ X+/NIxPtssd9HXRS1Y9RmZM87E3ymtYqn/BskDsdzsy7FBq/v5lPJ5qZXaX9J8kp1UG+ qpkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748564; x=1773353364; 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=GAyf46Ih6D5nahTilShJ695rTjYGqAuSknb38JNi17bZ66iLxWPG0nyU+Uujt2Qb0D qcDqf8d336mCDpVGIYPC1nEJ6cwWQRs252f0ddf1g8zTsEgay1hINstmv5N73oDxNmOW VCBgSNi7FAspXWfEWX1bKOYf21bbRy6C5phc5qBv7Y+n1WRYTQQbPRxYhd+0IWeLN401 KvX2octHs+CCT0XvEg37BVxVCixAnbC3+ZXarTCkOPX1jZFRv0w6jKgjhsmak1UZVZQA hv3/hcSRBE8TPNiNmtd0CP9vSpplAMiXXg8FufCqqN1ojKTWlcBpwSRDzVrsZiQfh/fs 9rWQ== X-Gm-Message-State: AOJu0YyJr6i9MvQAQHK8g+sDXZd3zDjIpJOZfULi8YFGtM+0rHP5IB4e sBF6agiHlKluZv74mLGkN5OtkkvVeOoBdKjLfZrhyrIswLKajFEEsPIuVx4g8A== X-Gm-Gg: ATEYQzw6ffMk6Gt4G9qN9n5X10hvd1x1HgC4SXbzHXB1cNinSmmEWs9IlFcIOJK7kN1 Kkm6JPYEDUqEGMKwxrZqon+fH3bhUgkGN023YjuPX/zA9IX3sQBVI7nA8SntlrV/i+NkQrbDweK hbHogSmC962iYvhjam2c3nU2qZZ+S1YeKJmwE+ii1FTq4utkIGamMKL1Tkx8yWdhPts9+c7AlsL +BpyZbOfaZQVCyeYGhh7PfnCW1y0cJqcwZwTQfxfm3cUx4JOS6j6gUWD17UeerXpH4z2X8w+Lvd 2cuMjkGiWpt0ewMTc9fobHvNWHIy/aDOK2+nA42ro2PuQEVepar1SDgKM8PF4S94vcuFFDZ3Fv8 BM6DuVsGEsmaMl6D5bOlNVruBIf15IirkLq4XZkZ6Df+CP6rgYsSmaiGCL21BdJfGyCD4FyO68Q YSHom2EXe6JWVdLUWd9YJ04ezwD9trTin262Yv/hByXShh3n0+KOYE5S57uq6aTdCzFD58dAICS Dv1iNF7l2VphpXqO+IGmi4FpSlsTJUGackwByPcKjNnKCU= X-Received: by 2002:a05:6000:400a:b0:439:cbf7:2545 with SMTP id ffacd0b85a97d-439d725bb81mr2301794f8f.43.1772748564169; Thu, 05 Mar 2026 14:09:24 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 04/14] util/fifo8: Make all read-only methods const-correct Date: Thu, 5 Mar 2026 23:09:01 +0100 Message-ID: <20260305220911.131508-5-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::42f; envelope-from=shentey@gmail.com; helo=mail-wr1-x42f.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: 1772748597743158500 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 21:31:22 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=1772748631; cv=none; d=zohomail.com; s=zohoarc; b=Fa8++frz23uhOceZN9CorWf1XEFwJfOjozoTz1cldpEQ0ooAhw96eBj4RSHX5lMlRbkpqBPEhW55+j0C523s51W6uDymHHDTrDGdFVX7pPypcXiT00TJ7NpTKpl61Hwt1iT7znzecaZu1CqKftKBPrTM/uqs/8bjqzOBvmo2X48= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748631; 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=DhV3Az07JF9CW2+y7Oz/UyQhDjff9BiTWxFcKXMgizVZRqZ7n/db9F205izpjrH4j3h9hTGRhuzsgdf0x/0Pt3GpheCana7vZiJQHrhfMv7efL2TYOSmdcqk0U449s1/ClQ8BsW30mO0NBZ+BN0ZZH+s4KUT83Us6Y6kQLwLZ0A= 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 1772748631561405.1979249253393; Thu, 5 Mar 2026 14:10:31 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt4-0001D9-P7; Thu, 05 Mar 2026 17:09:42 -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 1vyGsr-00011N-Ts for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:30 -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 1vyGsp-0002F4-GJ for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:29 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48378136adcso51909395e9.1 for ; Thu, 05 Mar 2026 14:09:27 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748566; x=1773353366; 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=ItokNzedvc7ofVgkURsvuc2LN9/GGusoWA0AeW7ldzUnaDwl+BWTWdT6W5eV0rAWz3 t3A3/E+HBlA061VSMWlj2oAA+3UCEJOfYNrWE7fqMeGNAd2LN+RD/dNzZJRrED5JJnSZ g3/shh8cd8ODUeWdDXc0w/syQZjldX6Da453ne2g7ueA8D98dvWp+4yTb0mMU/mPXiys loii/tYXvNmJ7iJRIuKvlPA/BcUAqNG/7CtL+KY6ICjOGXRHLTDeV4YjN2GDB90lhPDM Kh+bptIt5B87Dz4EoLhfVYDnuwRmofB9YWEEETCopf6mdsUHSuImQMVtt7acmOtfSwJ9 /6IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748566; x=1773353366; 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=jhxfA+Of+DuHXRRaLO1bBdm8RwC1d8/o5PWMZ/65C7FvHv/K6s8xZNpZ16bRjAei13 kqaPPwnR1JCfC+yZIPj8Vn6opTxFi8WtltxMaJELl119ZDRCYPePCHbobj2YD0jKMZKM A7HK4j5RcJWf5coMFF6D5FUCah/HDWc8FVQXJMw+9b7kYeuuXLt3rIsZtFL7TXs+azHi N4El97McdC7hsWmscY+IUNy3j6RPdCAbJn2ruQ9PIkbgPpEjXUJ5PFf4guTui8aMEV3F fh4I8nP2h6R3Gqh5a/TwkwnqxH1wYrGXUTJNGHOmyYQJqfMDjOXRCQW4wApkQ4DTXpWj LP6Q== X-Gm-Message-State: AOJu0YyezvZ6gZYdYMa95W6D/D2C4BwIBQedERerhpWb4ZV2GX3EBvtG 42qz+aXJT7UE6DQ5i5JQG0slu2WUPJinPfsCh4C9bqwOxqolxGwrXQbhFoy1XA== X-Gm-Gg: ATEYQzwAkWXndiRUpsJM13b2mghBybQzx7ZQPk9EVHtIajEN+MNQI2goMyWJ+4aEK9y rxO8AhHXbIXZvDlWawPjZIyL1k3J7E1mkWK8FOg6/bbEibrpv0Db/R3WIHvW4QDG9cqAIuwguD4 TIzzU4vZPt0I4MwjLnL+HiCSRalG4znwLRC0yRX9Bd6U9ZezpJfI8XrDsdQLS+ZiH2HQx6Q0l7f 83nGCgObeIjmxQCkBbk7P3Jf+Q4sGFJslYusQB1GjncPJs1HL6A2EUnqZqbXQnESEQsOwNWmpvu 2DdGYRpQzfaYIj6aFw7GT/wIPBGZFqVKiPeiKfPPWkO0Ga0mfjHszcT7f+umGavYsPsaEolQxfs WFmUwmW/JHNCPMRgv6O79ExBcodPYjE5mqkjdOuDS8ih+ZHG8HFXFEs/RJfE8Y58T84T2+9PWEk PqRCTK2K1HbEyXltG0RxY5lRZC4J0jB4H/MUbXQeE+qqs1g8Hx/UW9QPiALzRSWAVX/jOuC9Kpe feM7OZPWzQ7ynpH7Ia8Yb0wFqdcQdozk174mFm1V49ucB4= X-Received: by 2002:a05:600c:138c:b0:47e:e952:86c9 with SMTP id 5b1f17b1804b1-485197e7678mr141539665e9.0.1772748565495; Thu, 05 Mar 2026 14:09:25 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 05/14] hw/char/serial: Remove explicit cast from void pointer Date: Thu, 5 Mar 2026 23:09:02 +0100 Message-ID: <20260305220911.131508-6-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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: 1772748633973154100 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 21:31:22 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=1772748684; cv=none; d=zohomail.com; s=zohoarc; b=nsNi19BVWp9X6/3Wk/q/CioSFKmRkszvyH74LPtaBsGXMmz2PxfVu6ODysvmYtVFR4Gu82MbPUjbzvS6zTE5x1jJjUCqDtgwM30KRtWfIR9RjOn/NsGm1JXd6tlViJuLnWM6+t0pgxQHgcxbcF7R/SPpZIQp7bjsfcjdy6/41YE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748684; 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=D2AoMD7qRZs+Uey09RXjCNNaNjxgrwz5kLW/xf8fk88AXADetBlcJCNOOZDdt7Ck5FnPlOMfNy3qmCI350yVj6gyl2ADAXOssHaj6shPdmJ367HIqSiybMILg2ERFKgdWWZgFEhXemNgARU64iWlGflZO4HjJI69chFViXK9hmY= 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 1772748684490601.8314084116204; Thu, 5 Mar 2026 14:11:24 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt2-00019e-CN; Thu, 05 Mar 2026 17:09:40 -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 1vyGss-00011Q-GD for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:30 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsq-0002FZ-TQ for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:30 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-48375f10628so57086145e9.1 for ; Thu, 05 Mar 2026 14:09:28 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748567; x=1773353367; 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=D2zMpfj+NJwRli0CBo8oYz5wjWOQZv9h4VLd/K+6Vs1Poc6e2WAqsniLwe3P67ZY7a +sHC0rKCwWrA8RGfTKOr0Vmq0hgxiRSEgwsjs/I6SygtJ/JfAWH3/IeZdiRVSQbm1+uS M4CFOlI3TSPjlx5f3koGvV777UeKT4VaFoOgePyoSetNtyeLI6f1vv4q3GxN7imO9kjt os120g8c3+7rtun/MSDTqvoNXjws/SVl9c0jJ8as1UU+t9p1/plYrW/yBB/LarLeGE6s 02VuL/XzUSERyW+dKcgygAPSxxucqKYmQB7rK5lsLlffduaOPRjoylCL1Jxs9MdRBIPj Wd9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748567; x=1773353367; 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=g65mYML2b6Fln49y5SclCWCRyoDoC4KKeLUvL6tjGZutJ0c+WTi1Uw3vY1oiDXCnEH VXhGJeK0ZGdFQZa4Rpbxi68e5GC9YQZ5nxgWVWscT+/ZbJ03Eu7BZNREFNWP31nsPJpy dsRnoTOFT7WicS5ighXyRT97kiW5SKbj0TMhOGHj/92BmENsOQpLbEWv4fvUnrtFhcP/ yI9g7+ztHBcr6YviBeicpMo5CP5621FsLn9SNg1tshGQHSnGcOB4h8+YBIHCIc4dKNcT neaRDInN498+KUEbjG2zQmx/aD5G6FTpB+PdrZdW0gMvXm3bE3KEP5oloT1871b29/zG WnRA== X-Gm-Message-State: AOJu0Yx75JkbnJOfOFUvwkuqw5dblJaagJbG0Cv+wT17t7P2WCiiqgbM 23TWuxaU6RAEUPGSlOn5qPGVjLuSAvJFBaq6N9vwhuITfbvPDH86JtHRHmoLPQ== X-Gm-Gg: ATEYQzxBFt2moZhFWcERWeNxQClQ1w1Y3lwDL/TcaKlt2k8yq7GmK3gl7EczEeJsrlV TFJHL20Xcw0VoXYZwLAHpH8Y4vCCiN4+7k05pAyVLl/Va/Q/isz/y0Or4wqBQchn4bmv/cy/Hpf OtEXEj23mVycvw46sPU3ScT/KdNK5Bu86TycCu3Ju7Dq34BGzp/p+wfUjnCepWNZ9+Du6RNN9Ge FyavHhnWdsnWvvHQKog/XiCUl//ctVmRk+OsQVXe4wrEuu1XczbwLwfTuuZtcZ1Hb8nudB0iglT LGc/vG/djGktDko2FEJHqtyG66KCsUAYXY9lHXXr81qLXw4/K0D/9rGSvYS6Br/V6f4aweVeMFP +qcIGlIl3l6ixmrbaRb5w7mPLcxl8pGgjcHTfWr8q1P6+0BsJo3eJnA30KFDxCvoUnye3oaMiku 6uiISdXL3IDZK4QobVx7GqL03jGVhTQYOiQKy24ZB/LnDzr+jL2L+U9Z4o8C6gq6s5oy9E8ANah /6pY4wXMCEPv6BkxIP3YDtbHwmc4uo2EBpJWWILNiptW5E= X-Received: by 2002:a05:600c:528e:b0:483:a895:9d85 with SMTP id 5b1f17b1804b1-48519828c69mr136498285e9.2.1772748566767; Thu, 05 Mar 2026 14:09:26 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 06/14] hw/char/serial: Prefer fifo8 methods over open-coding Date: Thu, 5 Mar 2026 23:09:03 +0100 Message-ID: <20260305220911.131508-7-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::32e; envelope-from=shentey@gmail.com; helo=mail-wm1-x32e.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: 1772748686774154100 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 21:31:22 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=1772748619; cv=none; d=zohomail.com; s=zohoarc; b=kdfi60eP38T7HKTqVXFHpKDQeZ3hNx06LvZr3u7BUcnoKhUIlGjFD7MgmkI81w/bMB32iUvX3cBqG9r7euatafRK2semi/Ll7zGCh4T7/wU//lo5mkpQJdSXwCIdEGNMbNE3CaSXuujIVVN8UiRMvJDQOsG1NiRzq+KUj9hF4EQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748619; 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=V8uh5/BCFmuuG7fGoIOLCE+9+6A7u8b/7/r9/tmxuosgvwBmPD1uEzoqXlcdymInVUc+ZYn0MeYT6lLGWdNzz9LKoXu2NPz0vIvPlMW446r557eZS7nBdeYYBDhB4thzEQAvB6acGU5E8dYTp3OyovXoHQOegcJEsKEwpAQP564= 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 1772748619381499.29481578389164; Thu, 5 Mar 2026 14:10:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt1-00019C-23; Thu, 05 Mar 2026 17:09:39 -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 1vyGst-000120-Lo for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:33 -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 1vyGss-0002Fz-6I for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:31 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4807068eacbso71740365e9.2 for ; Thu, 05 Mar 2026 14:09:29 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748568; x=1773353368; 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=e0ldzxZnCme52frgyph/bGunUu4MMnvc9J0N5+R3QuuWNeZ+tojt/OEGhM2P/4jl7f v1FGV6oO7pFtZuiK53MuRLXG+qdwymsDCunJIpxhGRQ+D6Pm9ALMV3842w2Z5l0KEpr8 OIClau/PWNsRH5CjVyF85efGxFylvU/P+/Lb/Y0r33HEGcQmuy8k6J9WPxJFUzMKTuxL TREOgxwQJu7O1Pp1Usyi3tcO7M056gR4z+dGq+1YJkXL1RhGkwd4dTVNM/Q70VYsjiub CjADtCAdyfOU3orcjVd+QVQXLx1FccjQokVnNoMuRTPdRdQqyhE1f0/48H55nzfFlDjS IYHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748568; x=1773353368; 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=RUj/PDbuRDFLyXfJCMiikiiEj2iWrH4C3jKy4kUxMk7HWSWsaG0KbzAr8AtsPWHA+j MvJh0YFljZwGFbdysrbQ8XG0pwqydrOuMXEQbF3vfJXyz2Ll/63nP9+DHV3fN86Ba1ow /odifb7WuAYUP5aWLDmksAMitThw2qxPSt/HBk314ba41FVsAUY4S2rBrqkEiD9sc/V3 q9lRbApTDazmI9tQTZppjPBmVt0RWMx1s0Y9oTipdAmp/CLkcgsDtlfU5YYrK8UFC+TN Udryk21Am44G/y9A2s0E4dahNBErYowxPBRa6WC5c1IzNNvS5H3jwXisCvLDdMhpDrN7 wkjg== X-Gm-Message-State: AOJu0Yz7tIJlnygaJoPJrt9/SoGPqSJQ8jnFo33I5PvJB+cmf+nGFR0n qnCdv1l5pt+CLXryj/m7hbcvDe1X3tbQ5EtLd6HaX1GCakhaTbGW9ucz4vFbWw== X-Gm-Gg: ATEYQzwmfpNVq5DlLML86HCa99qKgXjaKY/LWLz2GhI6efOk4uLgVAzKHq9xPucV747 jG/82d77qASsvcv+BbNz3vuUEpQnR+Xg16Kc8YffZnO1rjD8dxPUaNyb+ZFJQjUK7LPN5EtLpO1 s5j3cxb1VbbwarmYNrhZOs8g6+T6eTdwGZ4tod5kp5nt1/Ta+DcZ5z+jL++X/G4jlppImA7b5oS /d/gdoKyeAGauqGP9omPeav3mm7bBBtDNA8JmhcgVfbXmnwzFADzxiQFqNcQrAwWgdRz1u1L0xL CfFaGifiWOhatT9YJkEZ/YzNvTGIJWCND8CbzzEjY+ys14Z5XHYo0O+OIBA0wmwzY+rKpWaUhow 0dSuRQ4bx/zX9wlqiESNiTeO/vpy25BXN+Q+igp+aposTkI4Ft9hy3ODx9rjr7gWZVsf1X7Xws2 ush1ojO6NWh666fY0y5Ijej0DgtFre2HdwMcZRYB/DL6rqCCSrbOIGT8ba6muDsL6iy+vGIMKi4 uoBSghLwLxpS8FpNMS0+U0vuZdV+IDLzt0G5SbW2css/Zw= X-Received: by 2002:a05:600c:6388:b0:47a:7fd0:9eea with SMTP id 5b1f17b1804b1-4852359313emr16847145e9.3.1772748567966; Thu, 05 Mar 2026 14:09:27 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 07/14] hw/char/serial: Reuse fifo8_num_used() Date: Thu, 5 Mar 2026 23:09:04 +0100 Message-ID: <20260305220911.131508-8-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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=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: 1772748621700154100 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 21:31:22 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=1772748692; cv=none; d=zohomail.com; s=zohoarc; b=ZlKLRmzGcVwM86tbCoYsa7pNUm6+lzxLHl7cCxdCE3g5JnWbG0nUiGdz7fW6Rntmzm2wXQ2xlnddxDTA5sIZMr+9I8WEc5IPmX3bXuoJkuCKACILCDAGxAM30ImhQTD89EfFDcpMOOWjFVtU/oRaXnv/W5wLSz/b0grZimntTsU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748692; 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=T/8vBrNspQwC+4wrO/zavy+wMEo5y5nyjJoJrIaKZns=; b=lAvteWxJxuSVCyyQga3zVdBXZG8szZa+6DU6+vy0XY9IXqS4/dNuT6J239h6Ej4N2h62CFsUrwJgKxnU02d2ZHpMBLYw1w3LoterGXBbDxY7jTkAoU1aHNe+Na55XuCFWnGG5dQD7QgSWIHV2vd1bGCjpZwNNZdCd1xyDIl8tn8= 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 1772748692192153.7926701486724; Thu, 5 Mar 2026 14:11:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt5-0001EH-Ra; Thu, 05 Mar 2026 17:09:44 -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 1vyGsu-00012F-Pr for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:33 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGst-0002Gh-Dz for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:32 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-48375f1defeso64610575e9.0 for ; Thu, 05 Mar 2026 14:09:31 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748569; x=1773353369; 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=T/8vBrNspQwC+4wrO/zavy+wMEo5y5nyjJoJrIaKZns=; b=FMxzRkv1Cw7z3y72SyUoiK5N7TKDkFp7m9YV05ocumUtloutuV0ud8jvPSHDZ+RoeS 4sPbW9tWYq8HEPWr/rbcYTMIYADUKXTsN2JRt1M14/5tbdVrv3FQ4xt3FhxTZOUmdpkH pkZp91XSCyOcpoEaP9SptY//L+fgRPf4MuuvDWFxEE0dmkr8CzeLt9S05WBV6P0qSfOX KNWhuVLskN3a28bVb3BimyHYhioRmSi9qg7m+u3+mHxyat8JnnXiNLMcnpCpzMvZIYDV b91wjUcROrwpQiOqpN6baGsNxVXMTVIg7a4HwhdzCBtzo8HGfnLN82hmXFpYaTFctKdX 90vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748569; x=1773353369; 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=T/8vBrNspQwC+4wrO/zavy+wMEo5y5nyjJoJrIaKZns=; b=UZcOeMO4PMIOM4Yf726QHcS/NrrO2HERbeQNvD3LdwwLVC+Q5kQ/0RaWrxNIUkHFdz R3VbjTlffm0ZmOXTpA9KAaygVuYUxoPMN/dTyypAymkPhyimrOPiiWw36b0DqmrENU39 kU77e4PdV1IE1+jtE/umCsP7EcNgaecnGgXS8mUMANEzGV9QLktLCs7LxDWbpCR+Buwg t3QtVrlA6IphuF9uLYIbxMFwj+i5PJYkwg9KYHIwMX/1ZSeDbLBXHQXMrTwfUj36KJi1 WVHRpKvbM6ZYY0Prn6SMZQNuf/JnwB0doMeRhAlRGHSIIWk906zJQUQfxIj0jbPTKIka 3MIQ== X-Gm-Message-State: AOJu0Yx+tl3SFniAb97QzTIi6ULYMde5fFXFPTKJwxjr0wTZvVxfHair aHhp5nxUgHQRbqg/janjGmrlQcZQMMn3B/4jc710MzF5FvCfDD3PY1iazat76g== X-Gm-Gg: ATEYQzx4C6F+dwpW1T1MOSlDNEKNGfmMKi1PcjiYp05f3XxYjJkSHYcyr7jcZOCz35q 98oL/Xt2mA8kV6bYbgjdNR04ZiOMQS2Qy47XC/oLloPo0X6leFhXsPI7Tvev4jvM0mxu5oYYtgD nuJb9GmInjtxFRisWiIY0Jt0U7HNQ5qs8hzGVuLLsWPLQZvXokTYGrwbbXTEtV1yq5ayiR3wo11 lvbIibp5I1L38pv55Z72iOvQfaq73Rq2IaNWAk/4fVN1h/XK0Yoj3Co89GqMKF1tdROYl7FFPxw 9krVAXo6dw8JO4JGegT3Wulf3oum0EORVMSr9cDmJPmDk8v2QH3ytndL5kU+lbQpDJv/0dumNeX g/onoVDSayoEsjjkYwIzLb+yYmmJl+Md3cFf1vofQQYJnmSJ0pjMZ3JXYg2Yfc4UgiIOtgsxiRB 6rxuzv7HBPq1QcnIaX09rPRjpId+qIDI3o4WjjekIvKbnzjNBI2b0sNorI+A+4CGUVCxUefXWnK OkOOKckNdyp4egAtwgR087v4BVodKLYTnFb/2UAJGH+5UI= X-Received: by 2002:a05:600c:198a:b0:480:f27c:6335 with SMTP id 5b1f17b1804b1-485235fddd0mr17724115e9.25.1772748569104; Thu, 05 Mar 2026 14:09:29 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 08/14] hw/char/serial: Remove unhelpful comment Date: Thu, 5 Mar 2026 23:09:05 +0100 Message-ID: <20260305220911.131508-9-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::336; envelope-from=shentey@gmail.com; helo=mail-wm1-x336.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: 1772748694829154100 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 unhelpful 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 21:31:22 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=1772748617; cv=none; d=zohomail.com; s=zohoarc; b=oEvqZkrj2kB4QIcH9EfLenVaEcZBQi5v3q/hmKlIVwRFXEOMitGdMuC3BXPlK0UrCkPwyomrA+a38lc3wkZ8U19GA+ltQY1pPxgLvepO8EL4ksq0aafwCzOaZRtA06l60LhwIX58ZbKPPCBzBK4r3wDdWpimxpB2scnLXLOkj2Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748617; 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=mCKlrNUq+q+4VfscglOBp7j/c2/z1I6hMvDk5LfuwscbFFR5d1NL5yJGMw6kVpb8NfWgIweiH9UF4cGpjFqcjsTjrRpmAGbcgLqWlkY5cqNfFyWiOdwy5ENSuii6bS/zOhw1zuMr2i0KbbtxQH0TFDV/Z9+H7wGqYKZFOliP1PY= 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 1772748617280646.9519736955248; Thu, 5 Mar 2026 14:10:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGt4-0001DX-TB; Thu, 05 Mar 2026 17:09:42 -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 1vyGsx-000166-EL for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:35 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsv-0002Ho-Un for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:35 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4837907f535so77743115e9.3 for ; Thu, 05 Mar 2026 14:09:33 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748572; x=1773353372; 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=PcXAjtoHDLhw0GL7WT39Gsk2o04AvINa0cAOPj+1NknxCrxxi9YLLR7ehCZUBzEYlI B5wS07Z5TUKi1h/3ijv88IFHqRVG5xxj6glyIWoOI0GGohaqgknRVCHG3LDELtFoLTqe ByOFzfryFwSoBrho5a6Q4tNKcs1aP/nWb7wNTaIAwVkg43g33XtZ/f5uCG9H77xVdmjX mIAOV2Jd6co404Xb7IdFSj6dWGgUbOeUoHeRcYirzVl6B0DTr419iMZ0+rtp2JlrWWZu F8wvsUxXYBCEDrRm9Rw58j/BWRJHqIml2GKx42LVJKsnrBYawejED9va/xxAt3+Q0nf/ cs3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748572; x=1773353372; 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=QqWOCgjZsRLNMfTn5SgH1+Dag1r3G9WOJJ2xCgj31nKMAfTl6oaS2fIaqlHQBdfcKW /c77KViGPOjL47ash0ikugL2RnuIYIMpamdZDIkJBExSKTGcoBVskGTBD0p/N/FxJgV8 4fP+jVpV97+3JrAiCkw5AjbfjfAWnKRR8ymcTM0ooHHbqXXGAmPuWWCxWBWorLYw7U+N H9CrbMyB3sxrqnSoitfwrZR6eHFeiyjnNUXDgBmI61KZNLgrPfqhQAiPwJdWWVrYk5nh lvxfOMaSuoiPg0QubsZgB0ViaKRdBsINEVCKJeYvazV3YfiP4mKy7tnDBwlg11dCjoif A9LA== X-Gm-Message-State: AOJu0Yz0vDU86ycWaxJk8/LMH7Hyw5O1Y40iCRv4wvgk3BNYvpTpi7+e AoBx8jgQJxTdzukibYdkKcv/vdJXkiY98DK/b6SGlFNkWGFkVz6uUOigANlW+w== X-Gm-Gg: ATEYQzz6UAIee984QrrgSHH+nF+3Xd/8fwhKYOmKROIeFwcjkV5S0wqK2hq3ivGF2EU WHqKczfLcr30VdHb0wsBrqmRTwXxDesZ1HMt443g+tqDSUopq2bzraV1/5OdqtxTu+AlCIac/lA eSkOZSu7T5IRpQNUAvgO8w5DwdB9pOy5lB/RyycNKaKfym2jSzIBW34w18Iyr+0gGLy9MM9btiS ZHh2zXcScItzYlm0Tui+W4rLLBCuTBxzZDj4nuqRiiKue/zL5fEbeWUV/AsYqbeiPJj+IhrjA6c 6cN797O0OoQTHL/IVhUsiCnVyM0Jjbr2NGNlztVQQfTt+NMUBnZG0ge4IpWalVh4/KlDlmttc0Z 7P4UZWhSjroWLLGFZ15PLR7rjv3AS93dVC+Xf6vBVmZMU+js2NEZeVe/MoR5Ph/CyHZFFWMDt6d mRbcmz2BjC/9r6mF2puhJHUFEkdMW+txnkO16APNrZ1jotNSMvAw1oelmj/MWRnX2he7ZmXU8Ze ZYbnJKX9IhteAl/yeCDBcAfchBvkAEySN/hIww8pdJHCW3AwRJk6BN4Ew== X-Received: by 2002:a05:600c:46d1:b0:480:6bef:63a0 with SMTP id 5b1f17b1804b1-48519879438mr136817645e9.21.1772748571741; Thu, 05 Mar 2026 14:09:31 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 09/14] hw/char/serial: Add constants for Line Control Register Date: Thu, 5 Mar 2026 23:09:06 +0100 Message-ID: <20260305220911.131508-10-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::32b; envelope-from=shentey@gmail.com; helo=mail-wm1-x32b.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: 1772748620133154100 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 21:31:22 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=1772748635; cv=none; d=zohomail.com; s=zohoarc; b=lqUmcL6JS0uJvN91oppgoA8N2dJYnicbe3vxW19v695ELvr3+70qdC485d+0cty8/3xuqYWPVV9fMe/QapvJz1pOGz9Tgl6rwrtlRofo2wT6Jm6NbEvT33GuzLJdQo0btoJvF2U4QsA7gH80TYC8Pu2L3CB4FVzr0YR7ZXk9+JA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748635; 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=enRcK5ijOmUmAS7y4RNVztl9XJbDyzlUGbIqQMYh/EzoddqKGl/qqdejO5pAegX7hdkitrK+06gba7QfX/qFWsM7DZe/MQae/xELULsmw8U0wav+ASbBTlGrfsnII+HlDxYHfeK6n5b/x6MuvqfOgDBKJd5QN09kxBng6BrRV9c= 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 1772748635337766.2423600968289; Thu, 5 Mar 2026 14:10:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGtF-0001PX-SP; Thu, 05 Mar 2026 17:09:53 -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 1vyGsy-00016g-RJ for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:36 -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 1vyGsx-0002I8-Fp for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:36 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso71411555e9.1 for ; Thu, 05 Mar 2026 14:09:35 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748573; x=1773353373; 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=fKNPIodWeubcYPx8lqIzfuG8axzq0qS+3ItOqrjbsBrWtzMSFmLOg9pR73HAoaMA/Y iw2FtwcPMjLqpXyZCGrqJSFrQNL3t+Gdu6uCY9ZWD1d93vZnzZllfEUkUP/ZSrfAvQQs iYJhhjZROuA+xTK0TZDX8HA2SBCpD3O/yXIc8wwzN7YqCHLgF3IVO9oGGrKgWmXjDgtP BRH3nk8zeJjzaMOdl+kS2RTV9awxuwHSa67XtCDmLwdxmirZbBjWdjwd8o0GA6v+/Ztw UJAOlrdT4CCLPIUac1ATOtfF6dV39lYnYYu3m3TBT1B3PR+83ksUZyRZ6pWo55yYRpsD 2ypw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748573; x=1773353373; 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=XiTnOeD7yC7YUXaET4sMiEr2Qs+ppHoPkpKxxWFKt/UdIRo38AjZMhrLjLIHWwPaf5 OCEohhjOjF44P27CdC0qTJCi2py5l0/U3QMOulk58nR0Xi6HUCHIsKGMymxw//L30g3g gmGkTVI1BSUDL9QP6Q/rQvE8p35z+3fdtey2JxbtJ+fqFar7C/QrBzmzl8RTBhbLpK1f BP3fC/P12UCAfreEDiLu5qOGZ6Tyvbpwbokxubuvyh7Z5bc+xg0VkWvR35vJbUPGT406 Rmlo79kg7EOUExB35teWwEVTyG53cbwLCK5GkAigp2ZwFhSerlQiRJ/Pt6YANgOJ/YjL CJnA== X-Gm-Message-State: AOJu0YzwYHtVqMaqiTo0sXEcF3tDsNntBO+XH20X8vGgjR4Xg7eV0B36 d+vfcrSmKSZ6k/fO8ojRAZkasEa3T6BLYWV0k/ToPKX97V7Jn8BJ2Lop9IjeEw== X-Gm-Gg: ATEYQzwL0nMf/pVOqHp0JJ+S9RBs9/VK1blIbdrAzVQ4uMtpunSyyg7vSoqvA4Za9wK arWa+w9CIxxW8TGAiLp9iuKHWcQLQ+hU+zML9cZDwOkC5YtLlKsFf5abMINqE/a7UIifCXUICgn AW9i1sGBl7xmkv4Q7En3NpgTuW5Su9+78cCj+2B/XVdLhyhkSa2Dx43Alg7YBLExJtq8S3gvfxE Fs974ERwlmQOuoFz0xtGtMCO0dS7/t6HIwt6iAz99/Wx/3oXiVaDJ7kOIekh6i0lc7+fvhN5KJH sly1xSRI+zWkHhiR/tBWoiLI8H1lIoNAaw8scZMQMXQ7a6jmg+mXLfh2x5SeUkfxwNEveFyGXVW gsvzlkeiu1FoUawpBFF3f0cYdABHBgayhENEj2hL/UQmc+2E9Jin1oBRU7lhkPKJLMVsjcDwFMW UufxrAcBLsWhkQp+VHJocAsHOVxrEPhcvF7UJJR5gyRhRdPuv5P1CVDXTt22ilXk12q77UpeO2a O9HP+j1GJa+ss/OW9R1/n0B07/GqarBaikx5PyRbmG3e3I= X-Received: by 2002:a05:600c:5394:b0:480:6ab1:ed0d with SMTP id 5b1f17b1804b1-485235a7b78mr16462275e9.9.1772748573093; Thu, 05 Mar 2026 14:09:33 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 10/14] hw/char/serial: Remove redundant reset Date: Thu, 5 Mar 2026 23:09:07 +0100 Message-ID: <20260305220911.131508-11-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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: 1772748636582154100 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 21:31:22 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=1772748644; cv=none; d=zohomail.com; s=zohoarc; b=GFiiiNUttt6qcb/IN44m9SVUPcKkU9+mW0zaliy0NfGKtFalDx0Uaz4+9M6u8yR1K+2YkiT2C/wQs9mTtEC0w13tjriFsTj2F2Tvenpsj7tJP9D1dZZGDppa+ykR1htpFr9qyCUBrZNwtetBQFJ5lAt9SuxKWTk2lcAudpHW9yM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748644; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mfHZMVt3w+CNCstm9dcEqkFY9F06DbEsvAYeYDdgYzI=; b=DDhtGnlhckutRiEbXOSs57GeRcG6uDoyM29LU5apMLaFak3kKZZANmRQW+E5uvNHAGu1D0PzsB9MFdVIZ3qxb0bUbLJwVzRFYq3POirhKxDV4105jc6dac0l8VIHZ38DAssNCzZ0WBfUV82dcbTPX5FnPKoF7qo6vBvgLdV4rJA= 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 1772748644599317.60361875561273; Thu, 5 Mar 2026 14:10:44 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGtF-0001Ox-PG; Thu, 05 Mar 2026 17:09:53 -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 1vyGsz-00017P-HB for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:37 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGsy-0002IW-4Z for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:37 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-48371119eacso101042325e9.2 for ; Thu, 05 Mar 2026 14:09:35 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748574; x=1773353374; 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=mfHZMVt3w+CNCstm9dcEqkFY9F06DbEsvAYeYDdgYzI=; b=k4WXf/5HA09mBG6VleDQlftXYW2gCjpAyGy6eVuqAG/Lpv5iv+0m4JUqN2n2whVR4u MDkQ3ssiIJgasSTNB1OeKVl6oXi5seE8jUnc5NCs7qbZ5b1gxjm6d3J7lNVfJjac9bB8 wOoJoP2FA5lOCwp89TcF2xlnOAEURHGZymZlGM9HlHHFpRBC/yzMUzWRN5ctZtIsPcK8 kkSBYEC+S+p95uMzVnfC7mbGk8/EeuyUJSof9GJBY/FY2Pf5XrlJSgAQgkowzgxeQMiE ObwpVPTDcEDEoHAHkYxP8wbRasqAbDolR1ZiunSyoJsI1PB35PPp1XRWHBNl63a8sD32 fJvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748574; x=1773353374; 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=mfHZMVt3w+CNCstm9dcEqkFY9F06DbEsvAYeYDdgYzI=; b=ZZ06to+Z4wfZTceoXJsCC6/AS4eeSmQdZ3TsFl4WByah3vhpHkNkeBieXp9+L1TGVz 1qoZT/D482bq8VS/an6JBSi+8ffu4i95Ti8VucnZM1uodhKAuJXlxYoOZXOkQVDjOA9z UnvNYWkwvEYD9ZshO5bUXxvwKAbJwEaCmbOXSusuzCaAOf3cDBEbBjLinBoQPpiiU4KD iHBnqMuBITTNLY1YWBhIbH9jJTcVostyVHtEQBgCZh5toi6lTkpTmfOD9grvi+qx4B8+ X8lN6jo6COVSBDKeFP05s+XLSjNLz6lndfsHGu+Ek9g+ZmQIimB3leSNlgSqkZV0WaKA WygA== X-Gm-Message-State: AOJu0Yy0udQlff7iirxYwMUsQOoSs+AfNE7HiAbi8mt3f+a/V9A325+y c6w70sKhgrMl54UDrC74UzlbBoIo0ijMtOVCU5qeBPZs3IkojSu1nh9gE0WLdg== X-Gm-Gg: ATEYQzxFTJxBHhRCdh2nIT2Qq7cx/g0OcQhClbrUICjAOwPvjj4pvy3anoFGQD8pouu 56PxMLAklOo5o/HKCue11DI5H7ssGethr2i1a7Si8F+RdEjXwa2Ce8V1g+gBu7KK7gJIGRzTkVv iCFl4KMiVagZT65+D8QxqkA3hJnU00IHtph6kQ5he1ihBOvIoHh8lLs+BvGDHJ0sa4VQ0kEUVUI IfdIu/hZtcBBSQ/4kkDopKA3indXo4SJIaIg+N1Me73bC7mSh15tbc8O0bRKRSlrv9EtabJyZLt HX1WqAK0QcuYaS97a52gV8+q+GyHwvhIgj/KtgRWIow2dyDZWgKE1EqK1ufDaTPIItSwgL+lCof d4u0Zk4xZqvcAvkszZeAEMPei2U+G5OR5+e9KtdOceTnCx9n/QUVfXi0yzppTmUTbssvRuBdEeD d07iJCMCnPISB+6YWfm44hGsbhfCtME+tm1dWG7LD+fUUYk2+RMVilLMd/r44jTMZKSQJxisPJP yLCB8ovCs81HClPDHPOdj/U5FtyVxbDfP8SUO3dhr0tnIE= X-Received: by 2002:a05:600c:1f88:b0:480:4a90:1afe with SMTP id 5b1f17b1804b1-4852360e3d2mr18066675e9.34.1772748574239; Thu, 05 Mar 2026 14:09:34 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 11/14] hw/char/serial: Avoid implicit conversion when tracing Date: Thu, 5 Mar 2026 23:09:08 +0100 Message-ID: <20260305220911.131508-12-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-1-shentey@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=shentey@gmail.com; helo=mail-wm1-x334.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: 1772748646127154100 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. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Bernhard Beschow --- 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 21:31:22 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=1772748625; cv=none; d=zohomail.com; s=zohoarc; b=UwF8gnvur9KjP3wNwYNuKoShrj0gc5Cua8ZfNiyfFvSAWR+UychZD5ykbvWFb43o6qlCVAIjToSN1XIDROpBRVGkBVcWYqgTHeuUbSSmok/bBRGE+IZ1dje8ou4CSNWwzl+/FPHPw14Yjn1u/RHU843iaTBkRx/2tkjtkVbRe9U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748625; 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=g4emJx4FiV0EhvFVKeDHZ20VOpIVCaWRaG9odtgi/bo=; b=QUonNgR7VyvFJnTA8uTM2W4K6IoXTiDP1KxZ/J7fa9DV1lC1uD6TttL3ITTRShu92zAHHuaUTAIwltgnG6/bgkSBxqkDK+PvlEGfRKZe4Q18gIzon4tKqoyg+b8T95XvhQ4ChoE5AF1ryA0kLSyGpfDZpWRsMBlscvcYzdhAcWI= 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 1772748625259245.9818003077172; Thu, 5 Mar 2026 14:10:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGtK-0001Sg-1i; Thu, 05 Mar 2026 17:09:58 -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 1vyGt2-0001AK-8D for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:40 -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 1vyGsz-0002Is-Mr for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:39 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48371bb515eso126721955e9.1 for ; Thu, 05 Mar 2026 14:09:37 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748576; x=1773353376; 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=g4emJx4FiV0EhvFVKeDHZ20VOpIVCaWRaG9odtgi/bo=; b=EHaKe7y/A50lPeExuc0n5fRmw1QHFIzupsvQA6sR86QlMiwlUBAa6pygl7NmBGUftC KbcSWa7fec3Kz8ylbUGg0ezeZwKwoeCSF/sULtOYFqCcN3NrRwZdL5E0Ef1n0hBANH6p w8T8TRObjhB1RCP1YN2/drh0bPcoU92Cg2O9fITXexQTRFZS3zClYIpAq6w6n7qOz+MP mQaS4oAxAT6nTTrmBHBzcBvzC6NFLaXSU5wWBO53cn4i4fg5fM/vWOQIrQzMlD7zrN42 l2BPMm8qmKZiGGUYxSR0PfqVkbeOjgk5BTvX56qfLpQ7k0TwgB+6AP//c5CvIlqigmjp MirQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748576; x=1773353376; 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=g4emJx4FiV0EhvFVKeDHZ20VOpIVCaWRaG9odtgi/bo=; b=uxFuTjT5kE5WWG5iWuyt0+46LE41do7FrEeEjakpx4leiYxz/inDYmwcbGCTM3XNz1 3sURS8dABes24gBaJlE7/erLxxfIaQ575j+Ek/FNNrH7GaJG9KnYogSbnoY6EZ3TBNwC AZoNglSDaULZfWjkzDNhq8Oy3N+iawutd0d6DyqH6JuKhMpWHYpSWFDpv83splTb5HK/ Vxe8jDHITOet5lnBeSyJjFCP8pM3AEJlt241U5U4nST8d1lEKoE7dK8uudEmG4Uu4OjA sAhiG8mEKY0oY3P89+Gi138zcDhCbPwGJaTrIrDk69p+le28Nrl4qZnVCuT5UrcxON+T rhmQ== X-Gm-Message-State: AOJu0YwqA+X+InVF5L+86lK6gJUys1b7W8he/CkOxBT5ZFYvpiqLcJdo Gd698A4MArXATueFDLuCQcA0aYxNaKao3VrK0kMZT+L9Jb6XDphp8/0SvRTNSA== X-Gm-Gg: ATEYQzyL0HbLgl3onNtm5Q59mCy3UVbB7vCr4Dv2NKFzZ/AVsSk9giqGf7RaHj7hg6A 1PY/YBrANHWsg46eONAfVEK+RJo/MZvZQ6e/BYMB+B7HIHIHXpfH/KICSkvG4cs+fj5F64dVLj1 mtvz6f4PFfTCDBpx+tmEzN6QZgRFIYNRTdueA3nj7UhQMv6qtmSzW3ejE49XYlSXFWTP4P175NO fGop2I4Cu5/bLcRcOWU209kQV2alL6qDpCFSo3CPE92YzXNtIJc95HcbkRd5dQMSdfK3cXtigwA DOD+zUgPOdnGtsh0+iB+WeWz+Y5ujJZ7WLvMLsYVK17dlSfKds0x7F8MgUtmfKeQKFVw87rGDwi 4fbZ7SM/q7tPz6zCGRPBJZG9OqZW4oGasF8/s6t/mDAjadm59jkEyxFR0jqRsRZKFoaUuuz/2jC L5ZHcepmP6hE0iL3xXjsDZGsaiUyrp83d8ao5pFOco/Q7CnZFiOPdxJTlm25JeA4T8PVU2mOYVo JCRYBdCQmhmB65ySQGBU3It4giC9OIAdfMyQ8gC5PccYc4= X-Received: by 2002:a05:600c:3f10:b0:483:b01c:9508 with SMTP id 5b1f17b1804b1-485235a78d8mr19008985e9.2.1772748575559; Thu, 05 Mar 2026 14:09:35 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 12/14] hw/char/serial: Keep MemoryRegionOps private Date: Thu, 5 Mar 2026 23:09:09 +0100 Message-ID: <20260305220911.131508-13-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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: 1772748627806158500 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. Note that for TYPE_SERIAL_MM, if the regshift property has the default value zero, serial_io_ops rather than serial_mm_ops is now used. This seems to be fine since in both cases, registers are one byte wide and there are no gaps between registers. Therefore, neither the endianness nor the access size should make a difference. Running `make check` and `make check-functional` seems to confirm this. 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 f9aa6e326d..b0a2437c85 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; memory_region_del_subregion(&pci->membar, &s->io); qdev_unrealize(DEVICE(s)); - 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 7782452018..eda0d43bcf 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; memory_region_del_subregion(&pci->iobar, &s->io); qdev_unrealize(DEVICE(s)); - 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 21:31:23 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=1772748713; cv=none; d=zohomail.com; s=zohoarc; b=n/CwcOpTbQgAq3dR8uM1avyZxe2/gpfxZtCYRY9IXBf7VAuYXBkmyXIJEXjLiHPIxtzI1na2Q1qrs1HP3E+xw9IEqn7nV4bYZNkrkwNrSPc292/zjLLqTpVFnu4BDB+6TZSbM3nr8G3ATuRbsRraxs/7BRVh5uTeTmGCpLJ69c4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748713; 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=O5hVaSTXWRxltgVf7vgCJNKkl1B/gcHXmbqtoOkqFq4=; b=NOR1pF4SFHxQ/mWRNevoRFjn3eGWaSdtu+t68grQb6/Lecx7nSb8vA03sx9jEC3Rkkfc+KTpReneWz70JIvz2AJ/DAFmGtjhaSb5Ls7NW8AOZOrwFsMS8wcQhD4ZBTqZ4UCLywaBnSkJp8MfzJ6OLjBQDj3A0Pi56WFDfdbCp0s= 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 1772748713370567.4143475042323; Thu, 5 Mar 2026 14:11:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGtM-0001dj-9s; Thu, 05 Mar 2026 17:10:00 -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 1vyGt5-0001EB-6q for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:43 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGt0-0002JP-M3 for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:41 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4836f363d0dso75686595e9.3 for ; Thu, 05 Mar 2026 14:09:38 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748577; x=1773353377; 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=O5hVaSTXWRxltgVf7vgCJNKkl1B/gcHXmbqtoOkqFq4=; b=DG/hlFeHYxibT6k6N+yqETOS9aw4UyQ1msYs4oDBHdGYIDr69U8BITwIVjwKT6G6On jr59/+78mlNk73gwPYJ/zKluveWfe4yLbMSoVayTCGHCrqVY7GQIUGuaaYHuL6HSbw07 XN9dAFwUlyW4KqkeqaJwaBHbz4mfnfl8tZY3WM8vzxFzXxlt0oLSMTsbdIHj4vFxjfDI n7A7dGeAoEGSO9uKdPIyKr+rT9urLYBtnpiQt5iIOHXrmlXX1VPlY6Ow6HYP2bRwv1wV 0Gnldt3gRpcP7syNbuA4vdzwvR8v6+22mQxGBXBp4e6L8uPUlMsGVX6Ct31gC5Odr5qd Ig9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748577; x=1773353377; 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=O5hVaSTXWRxltgVf7vgCJNKkl1B/gcHXmbqtoOkqFq4=; b=btHgCi8pg86pWNJAgqTdS/qecA4xvIUoEHzTiDx1arNDlKHGiHjCpYo0JAF1Ns0Yq6 73aUGotBBunM3OBn0jSn4u4wFgVc40I8h8Rtm4WwSp7klAK9ZvN2MGdemxptONH+zesl gX3qWDKUtKNwNOdXlc3rF92vxfZDCwx73Q961q57UhxYOe/7qc7zS94t/8/MjrWp2tuY BFcC+W9QnwIl0KBDo0rKSJoGijVsmvm8t8ZsX//yM0D1Kv2S5j5qX7WL5FmLfS2VUREm qm6IoJRVSKczdUpqEqXe/QhbQSsJe2k228B52AyNWArQ8PztqzPx21T/PtVaR43F3Fxt kSaQ== X-Gm-Message-State: AOJu0Yzxiy1mfSzIUQmMSVk1YaXiNICtz/nBNMjtLUDdp5vI93UG06Fx 7LbK+iDgGABff/0GK2MGoMF70fbFvyiYctoUxWNF5u430lcyq3a42IflJ0aDvw== X-Gm-Gg: ATEYQzw1vAWHrwEeGh0G4NIz2KmPZA8DUSjee7I2azSyYEuPQl9Sn0ulJckf91xyx4W YdKD17jcafouvlqYj9HkW/S8PetWrLAWxKI0ly1KossYN6eIBkXoOXh3pgGBgWnKm9fXVqbeabN PvcWcME/AqBj7rnCfYtgSBjuTowpOQqV7CV9bBr8urFYPjsShpa+0HPsJJLO6UIG5JD13j1h+nf 9OIxKTdfLNpVpbxupaCLRyh0laQo/rxlbK7ea16cMWJZ55qGzQzownktqH0dQmnFH1kPWHW+MWW ToT8ZLSDbRsOVkJKW3d9C6BPejHpsKaELMG+ipqa26SNocoiC662iZnR34Bde3LG9lm3QTfXebn e/zGEGdLGbQ9/ydkfS29KK6Gstg/YZiOOU8ereDr5ohxQWtplatL2Yg+9C2GD7WawLuPk/XMNNo MoiB/E3s5sMOl/DdwAffFFkINMTd6FVs7Z+P6YJI+k8jandxThztj4DlFQ7QXOVpvHzrur1CdC6 aAc8hshzJbJ1v84PxNFIY4gQKBzxnud9bQB/UszQGxf9jc= X-Received: by 2002:a05:600c:3ba2:b0:47a:814c:ee95 with SMTP id 5b1f17b1804b1-4851984bc7dmr129482695e9.12.1772748576831; Thu, 05 Mar 2026 14:09:36 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 13/14] hw/char/serial: Inherit from SysBusDevice Date: Thu, 5 Mar 2026 23:09:10 +0100 Message-ID: <20260305220911.131508-14-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::32e; envelope-from=shentey@gmail.com; helo=mail-wm1-x32e.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: 1772748715053154100 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. Reviewed-by: Peter Maydell Signed-off-by: Bernhard Beschow --- 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 b0a2437c85..8e467f047d 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; - memory_region_del_subregion(&pci->membar, &s->io); - qdev_unrealize(DEVICE(s)); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + memory_region_del_subregion(&pci->membar, + sysbus_mmio_get_region(sbd, 0)); + qdev_unrealize(DEVICE(sbd)); } 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 eda0d43bcf..f5ea7f4188 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; - memory_region_del_subregion(&pci->iobar, &s->io); - qdev_unrealize(DEVICE(s)); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(pci->state + i); + memory_region_del_subregion(&pci->iobar, + sysbus_mmio_get_region(sbd, 0)); + qdev_unrealize(DEVICE(sbd)); } } =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 21:31:23 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=1772748618; cv=none; d=zohomail.com; s=zohoarc; b=CN2hZbj09nQSU7tcW1pKD3uBWPNc0wxjg0Vr2s+jd2ki2h4adV6tDes7C38A07rtVjoZvDv3XkvGzYKhVxNcg9L8QeylLnxZJGbuxaIVx72r72gJkEAssoBRI2jEP5enVVPJNW1Hj+RDMiWyBKh/300x4mM/F8SqRYGT66Hg4DA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772748618; 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=f0fWQlcqEdu3xeEmPvKTBsrxxf87NhxamikRBUy0vjs=; b=AHnbrulpK1tRHDU72vrMKCMM+Cu2TVgCnr0zyM7W/G8b5OD66MprvMGtUN3mKH0M0u0n9XyJ7aHqayUoLe9rKPMXPDIZGgtf5QZqP0dEsXZ2q41B+FtsNzdENAG7LxTWa+s2Xb/lLa4c9NKubVqMJepdPJpHsYegX1U4SFjOf+4= 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 1772748618262886.4494802301174; Thu, 5 Mar 2026 14:10:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyGtR-00029Q-KG; Thu, 05 Mar 2026 17:10:05 -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 1vyGtK-0001dW-8h for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:59 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyGt4-0002K7-Vn for qemu-devel@nongnu.org; Thu, 05 Mar 2026 17:09:44 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-439ac15f35fso5296960f8f.0 for ; Thu, 05 Mar 2026 14:09:41 -0800 (PST) Received: from Provence.localdomain (dynamic-2a02-3100-2989-c400-0219-99ff-feb2-2458.310.pool.telefonica.de. [2a02:3100:2989:c400:219:99ff:feb2:2458]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4851fa87e56sm67419615e9.0.2026.03.05.14.09.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 14:09:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772748579; x=1773353379; 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=f0fWQlcqEdu3xeEmPvKTBsrxxf87NhxamikRBUy0vjs=; b=hXj8j/BTfDgVMp1cLJFi9Z6Q5krhKZ9t1RNoD2PTXAkyVn2A5NWo/zFtsdUX2v7X/M DELLFlGjzlMGOo911AoFnRIr8SdKt0j46+yHEJVdy63OBYLn3kN1qgNdnaiLLQFL5XO8 kbHRz8uf3dDFzCrgFRmWAdz7SbEij7oD8ABSfIP/dZwoEpxRtmCKxfPXkcnHTK2u9ype br24z8SDFgWJX+0/yf9pZj3HFrfh0YRtuqJgMviORGAxn349nynH+AU21aSZQLTL8RF/ RAK6STG05mhreKVe8u/m15L4bE8pHuxWeHw5KxKWpTR7VyDMibXMKLEK6lyCpbjSg18t RM7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772748579; x=1773353379; 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=f0fWQlcqEdu3xeEmPvKTBsrxxf87NhxamikRBUy0vjs=; b=ixvvPvtLBClukkqCgcK6AmE/cLeffDrRRspHMzfzCOaY4e14i8DoFAI1rgnnmpI0Ef BAI6u63NnOi+w8+//KY7ue+/oV1qzCh3qv/OEHrcApELa+vYe8cXSrgDf+VVIr//dSot QrPq+O5wuxbmCaw3ybacTra/2pVoNsaS3Xa7D56oDZvupzuttw4ebU8G/UoB4dH4v3pB RhhHOwIB8Sp02pWCUWBI6uZZ+7A6S+pkBtHfyO6ZyzpsUjzP2wEju0I87iTXP1sQJrab wFkfKcQAREuHlRknhpBc3xcGCAoA/ahy8o8gDCWiBfGxVoB2iCCH1Qs8UTPhjTKWy57d qq1g== X-Gm-Message-State: AOJu0Yw6j67pe0XjWpMge84UMu44XfZ30a0vhEzkuDphW406srxBWwFD h48S2AZGXrszMRDsCvche8g5X1tcBlOM6R/SFqRRG9IYSwSRtlI4WB3c559/Gw== X-Gm-Gg: ATEYQzwbAEgjcIk2eMBYdyhIXlmd9fD89uTYIv7DIgWA/En0DunJpV40Le6AMHh5zqX 09a+sAzBqr9o6/xcdB2ZiKPPiGhyQAeJ+cvhqtKr8vDhp6GaehEc3ph7NoY6AkyZeFP0ewc9F8L W/jzvGeUaDPGjjhH1/tmVZJzZ33R8DtMegIZkbbtdmgyUR5Dj2hM6bV4WZIj1gwE/E6EwFTfb5u EKS4vBeLnRocCtBx7beiF/oj63mDNgaJM4gRJZ14Krd6TCk5WatpdaG+deMh2IK4tiOXhpOYPFv TtjCsB+D/nwEQx2qDoKYEwIgT0nbZPW1e/RQiw+tptyCGl6zjt0RjIYVoaIaMMgJou2CQrBS22F dTHucHoWBDlusPm907VOdAIZkhSzMeVHMjjFKVZoFx8apncoI5O03PtL4Ak1hvo1ksxDkO7cMVh yTtybchgWQii7pvjSA0isrkryMaDoTXSJYAHeMIrlzExd0TVmM153/humhviK9tqL2Ry1t3Kaoy 5mJIJduLWV0hEIKsiOAZcNvHKBUAAiEIv5pr7PkxKP4ozA= X-Received: by 2002:a05:600c:4e05:b0:483:612d:7a9a with SMTP id 5b1f17b1804b1-485197d632emr132061455e9.0.1772748579431; Thu, 05 Mar 2026 14:09:39 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Richard Henderson , "Michael S. Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Troy Lee , Joel Stanley , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Paolo Bonzini , Peter Maydell , Andrew Jeffery , Steven Lee , Jamin Lin , qemu-arm@nongnu.org, Helge Deller , Bernhard Beschow Subject: [PATCH v3 14/14] hw/char/serial: Plug into reset framework Date: Thu, 5 Mar 2026 23:09:11 +0100 Message-ID: <20260305220911.131508-15-shentey@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260305220911.131508-1-shentey@gmail.com> References: <20260305220911.131508-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::42e; envelope-from=shentey@gmail.com; helo=mail-wr1-x42e.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: 1772748620161154100 Content-Type: text/plain; charset="utf-8" Now that SerialState inherits from SysBusDevice we can take advantage of having the reset method be called by the bus hierarchy rather than having to plug and unplug it manually. Reviewed-by: Peter Maydell Signed-off-by: Bernhard Beschow --- 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