From nobody Fri Nov 14 16:41:16 2025 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=1760701023; cv=none; d=zohomail.com; s=zohoarc; b=WUFIyffvHZdYK7RnSntwo4Q+xpRPVeEDAV/rsVEMyBBOc3trRNVjj8xq33YRjmTDWHDhajRD83kz+5BXffcjyS/yEv23MOqeak4u2va6OG24Cb+8ckkBFdvankK3Xb7eO16ixyYcUWqq6hfTmJxYZw+1wCtWeDWG301SLBdPgx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701023; 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=CFuBYoXthwAAHQXYSal9xNPgZEHCC/OlTSTKqa/XfA4=; b=LsaScE/EXPl/44CD3vJ6JjO+AnIXzCPrHOQP9ieYinnDUe+IJal1gpYJ+xBYFWmQWTJ/AgIgwaggJHjzhM2Whu0YigrmPTM5d90DjJKATsK0mJK7jbrFfE9BPZ8+oYffNmjYJb7Vtv/4/y9gp3myXCy5cF1TZQ9m3O6uBC8Gb34= 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 1760701023140386.9472868879084; Fri, 17 Oct 2025 04:37:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9iir-0000iB-Sn; Fri, 17 Oct 2025 07:34:14 -0400 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 1v9iio-0000h1-Fx for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:10 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9iih-0005zk-6x for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:09 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-471193a9d9eso8510445e9.2 for ; Fri, 17 Oct 2025 04:34:01 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.33.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:33:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700838; x=1761305638; 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=CFuBYoXthwAAHQXYSal9xNPgZEHCC/OlTSTKqa/XfA4=; b=hxF+nGP0MBfO0oAM8cyOMd8pXaFIICiHqXxikkUub6JucRGVRKifvNmx02SCfZM0V7 MQ0QAB0Q1ZqzaKKGVZK/yuYsW9b3Wwae1TqKTYEsgUA0qdseFhZ3f23V/1ki5umH10Ga tGmIcU450spOKPodQlSjzdIL9PEs+AIWn/H7al42CLU1S6tZBZFnkHVQMbfECPbAJHvm qjlyvBvoCi+Qgs4oSZ4LHZoaTb4nY4B2ElbtOI4urJIEZGUNUiP2XxHmdRN5TH/T112b 4AYaVn7uqXi+O1X+cDa5o/zIu0cRoBK582Ez9OAeAUAKK2bII5qLcQiScX/drNuhbg0E b+rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700838; x=1761305638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CFuBYoXthwAAHQXYSal9xNPgZEHCC/OlTSTKqa/XfA4=; b=LiUWuB64QrO0w5Ycy9Z4o07PgY4alMmUJJ3pHM3CeEITdS24kvcj4K+KMCNGlfYUNv OFwAF75xJkhv2edi7BdRRVUyEWoeTU6qPSTFwrbh4HmyIwBDgujMbkzIgal6hzCEI+yg aLgaiJEZl2zoTyg2QRo22ZhNF1TzDO94qTdYqVxx69A7ST/5fc0GTE4QNBCaqEqyCA2U N1rDSSPKiW38K/9sG+K6ybAUOYpsNxR8zOyz/552QhZ18oMd4x27XqRKx4vn+Nj6oRYg G98kR1qq6O3vfC4S3pRH7CeIOig3QK8dHigN/YDpAN9CyTHqZmriWtjHr1Wz/Szm4fbI yipw== X-Gm-Message-State: AOJu0YyhE6yzsTT8kRC3IKI8ss3qRxkMgZVBT7BJ8llvruA/mAwvOf5W qYPodXpcirDNwwSu4mFVJ0BhcWz27UWGOD3FphvjFrdXdhOdLJf1Cu2RNV5GzQ== X-Gm-Gg: ASbGnctD8zdyOelutAPy7jCltwPNUvsS4yQlc9/YftC+/E0GVlhx/4cMK9Q0Nbq7kSz XGEA6d27TwrfFHpTImzmp/qUpoVIFglnM/jcJ/Ey+G55W/7aKy1edbELM7BZYy3NpEyEJ6t0/uq GK3qK1kzT68H0kXYrC2C5TovkyVbkALYafomyBAqVZzFCFbsuwVVv32jx3NhyEtZb4tGOfVKPx5 bJ+uRPmOadSToeLYJFKLDZd6CEWUdKKgln2YRF/FwXH3IDgC41ly5jX+yo4zMHDZIz0IO4yKGMb Ttk0XUC3yWZTANx5gMMRfzZx6dvL8PpNdlX5NqnIHu847qPYHmGNi3xV3u2zQ/jTWZ/kEDd0ZeX 8lfkP1RqYuwabVbXFvHEPZozqjV6DzNWa7f/T0STVRlxU0pMJr9N0PSG7FafSwLV1TnFUB1vFxB xYmpWCL/FFQxNl0G+X2FraZZHjKXwS1tFH6HA+V7R6d2Q= X-Google-Smtp-Source: AGHT+IE4/5NSxn/nzjrRaz/2tSIvi+OUwAPSKioBRiI/FigXa2wroS6pbibBYzUChp/qeNC2MX0YBA== X-Received: by 2002:a05:600c:8b2f:b0:471:56:6f79 with SMTP id 5b1f17b1804b1-4711793149emr23237705e9.41.1760700837650; Fri, 17 Oct 2025 04:33:57 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 1/8] hw/timer/i8254: Add I/O trace events Date: Fri, 17 Oct 2025 13:33:31 +0200 Message-ID: <20251017113338.7953-2-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=shentey@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1760701025285154100 Content-Type: text/plain; charset="utf-8" Allows to see how the guest interacts with the device. Signed-off-by: Bernhard Beschow --- hw/timer/i8254.c | 6 ++++++ hw/timer/trace-events | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c index 4b25c487f7..7033ebf50d 100644 --- a/hw/timer/i8254.c +++ b/hw/timer/i8254.c @@ -29,6 +29,7 @@ #include "hw/timer/i8254.h" #include "hw/timer/i8254_internal.h" #include "qom/object.h" +#include "trace.h" =20 //#define DEBUG_PIT =20 @@ -130,6 +131,8 @@ static void pit_ioport_write(void *opaque, hwaddr addr, int channel, access; PITChannelState *s; =20 + trace_pit_ioport_write(addr, val); + addr &=3D 3; if (addr =3D=3D 3) { channel =3D val >> 6; @@ -248,6 +251,9 @@ static uint64_t pit_ioport_read(void *opaque, hwaddr ad= dr, break; } } + + trace_pit_ioport_read(addr, ret); + return ret; } =20 diff --git a/hw/timer/trace-events b/hw/timer/trace-events index c5b6db49f5..2bb51f95ea 100644 --- a/hw/timer/trace-events +++ b/hw/timer/trace-events @@ -49,6 +49,10 @@ cmsdk_apb_dualtimer_read(uint64_t offset, uint64_t data,= unsigned size) "CMSDK A cmsdk_apb_dualtimer_write(uint64_t offset, uint64_t data, unsigned size) "= CMSDK APB dualtimer write: offset 0x%" PRIx64 " data 0x%" PRIx64 " size %u" cmsdk_apb_dualtimer_reset(void) "CMSDK APB dualtimer: reset" =20 +# i8254.c +pit_ioport_read(uint8_t addr, uint32_t value) "[0x%" PRIx8 "] -> 0x%" PRIx= 32 +pit_ioport_write(uint8_t addr, uint32_t value) "[0x%" PRIx8 "] <- 0x%" PRI= x32 + # imx_gpt.c imx_gpt_set_freq(uint32_t clksrc, uint32_t freq) "Setting clksrc %u to %u = Hz" imx_gpt_read(const char *name, uint64_t value) "%s -> 0x%08" PRIx64 --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701061; cv=none; d=zohomail.com; s=zohoarc; b=UUCv18U8z4OMTUb6H/wNuYFkXTLWQaasbU1by7fOWJzGHIuYnsh1KfwiXSMjqfGmbYpYcIEWWA8bvP1/dOXxLk7fzG3kY848NF5BjpQi31gEiaGFq6/g56duYY9SEbQrdmh/M6vbKbHefKNzyg7OLZnPmy15eQBQkwjtv9PVy6s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701061; 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=NYtLEyH2FfideJwdnFZ4JM8eULzVedauT+XtbsfYWyM=; b=O+itJ9T0HdBnQjo4fjQHC/Tir/9IcyPD2OzkkBTacO85ykIoi0xUpdZbLSNWD0WSo6AEuWqdBOGCJoYX002nq7s4RWJdPgROgGQnC3EM00axBwi8rUOfQVmPvTWfQPl1V9qU0qKBgD5KCtivxmF3tkg9m3FBj9m9j+7naOleWbg= 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 1760701061287817.7591444900921; Fri, 17 Oct 2025 04:37:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ij4-0000nY-Pg; Fri, 17 Oct 2025 07:34:26 -0400 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 1v9ij1-0000m2-FX for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:25 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9iil-0005zw-UM for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:22 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4711b95226dso5240345e9.0 for ; Fri, 17 Oct 2025 04:34:01 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:33:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700839; x=1761305639; 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=NYtLEyH2FfideJwdnFZ4JM8eULzVedauT+XtbsfYWyM=; b=HqAMVMMVlEl9cecj8OqQDncywfDO4bTAnsEKkUgCqITbV728ISx0bhzp1LYRMPJHcz raJ5dUCrxaxG7QQMi1iVPv/cVvl/ucguK5rBHz+XlLhv9pmVbUpiWZmWr1l54+klv+fz kD8NJRoP9Dru4jXKjoWTtXt7QRTt94eForGBY+fFVwr3xnmhb3W3rJ45GRl9A4v0o4uc vNaEsLkVZZcjPWZwcfrkxoUMNazRrNKeCB+wL7rKx2g4G64ChOJhcE64IDuLBy8YtYO/ 4qz2gl7Khsdo0zHm7mP9EBGTKl3h5gSYS/yHOrlC2WFZ8/e0FbDODgcHZ82/rySRByhq GIJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700839; x=1761305639; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NYtLEyH2FfideJwdnFZ4JM8eULzVedauT+XtbsfYWyM=; b=n3dHxQHOmU6me3Qn/TzE2QlU+Ci6T6AeZJBeblWOmXHtEn2aYN8ppMfjHecF0ePBB4 PhNj0/wv2oBeWsCQllhMOUx/QD0M8e9abSSvHs3j6BTshkJqLhUANdxMDKXywccQKzqW S9tqndLmEhLUAewPNt1JLQ5/Qro2mBeO8LUasX0nzN+JU+hr3YKVmL2uUSXzBvHBp8IH 3v7o59ntiGBY7F4ncNU00mcKJ5Dgd93KV4EWm7NaQkJvL1nxtLMdz4WkfzOMCJd+eBLm rfqbkK9cHReER12sLSx8PKflUFPjzba9mPlLI0JK+Wqtn7H3sKKL6Nm1Nv+hTMXy4sMI nMMg== X-Gm-Message-State: AOJu0Yx/yFawrJ/5/gX3kmQwt00G2P2L54BqLpybpozeakSYK5HWqap/ c4MNJmV7y99zWUNE4Aur0MKv6a+TrcuKpkc8k16lwvbd1I2vnxSYSPNN03A03A== X-Gm-Gg: ASbGncs9Pu/nHyRwxUwa9uyHN5suC6ybeG0MCg2fEqC0W43hAc0KGMVRHJgV2rW3lqa Ro3FWXSeOP9lFXCPzlp4pAqJuu+LjIEFpekcpseCh/W+rz/QXLZFxEnOK3igzGJSmb0YEeDLfRo grDsKM1nfbkM11GkzpLJ/PbHFbbE9ix4Q7vjE/oZi1dOBbPLXYAYkkN906qPoV5fwtTq7hS9vJW YdNb5r9s7cLLcIFva+WHSAr62/guByw5KxeMu8+89Fe/SQd0mX+zva6DT9PRQn3TolfhlefG+vE cpWknHbyXWoKoG/iQ38thx6Dotgjzozt3cAau4LmWg4UUI8gWvkJFloFVJ8qNbijW1J8vcAgSC8 TcnPx4CFnhM8dABxiKvbWwDVPxJXylV6dK0M8vsT55x05Bix7NFIiVZPk/tMwTUjt4V3sMFMddP tH5RIo1n2ac7iUvEYLqtK1wiGPayOH89OYhjdc/iyCObqB5OQ15SRdhw== X-Google-Smtp-Source: AGHT+IEpC0YXq4lxNd0tPQVqaII3/WfItW0xvbTEycBAe8uupL4fpuonmWCOMkLkt2on9PH29+CgFA== X-Received: by 2002:a05:600c:19d4:b0:46e:4a13:e6c6 with SMTP id 5b1f17b1804b1-47117907234mr29387625e9.19.1760700838815; Fri, 17 Oct 2025 04:33:58 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 2/8] hw/audio/pcspk: Add I/O trace events Date: Fri, 17 Oct 2025 13:33:32 +0200 Message-ID: <20251017113338.7953-3-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=shentey@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1760701063641154100 Content-Type: text/plain; charset="utf-8" Allows to see how the guest interacts with the device. Signed-off-by: Bernhard Beschow --- hw/audio/pcspk.c | 10 +++++++++- hw/audio/trace-events | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c index a419161b5b..f8020593b0 100644 --- a/hw/audio/pcspk.c +++ b/hw/audio/pcspk.c @@ -34,6 +34,7 @@ #include "hw/audio/pcspk.h" #include "qapi/error.h" #include "qom/object.h" +#include "trace.h" =20 #define PCSPK_BUF_LEN 1792 #define PCSPK_SAMPLE_RATE 32000 @@ -137,13 +138,18 @@ static uint64_t pcspk_io_read(void *opaque, hwaddr ad= dr, { PCSpkState *s =3D opaque; PITChannelInfo ch; + uint8_t val; =20 pit_get_channel_info(s->pit, 2, &ch); =20 s->dummy_refresh_clock ^=3D (1 << 4); =20 - return ch.gate | (s->data_on << 1) | s->dummy_refresh_clock | + val =3D ch.gate | (s->data_on << 1) | s->dummy_refresh_clock | (ch.out << 5); + + trace_pcspk_io_read(s->iobase, val); + + return val; } =20 static void pcspk_io_write(void *opaque, hwaddr addr, uint64_t val, @@ -152,6 +158,8 @@ static void pcspk_io_write(void *opaque, hwaddr addr, u= int64_t val, PCSpkState *s =3D opaque; const int gate =3D val & 1; =20 + trace_pcspk_io_write(s->iobase, val); + s->data_on =3D (val >> 1) & 1; pit_set_gate(s->pit, 2, gate); if (s->voice) { diff --git a/hw/audio/trace-events b/hw/audio/trace-events index b8ef572767..30f5921545 100644 --- a/hw/audio/trace-events +++ b/hw/audio/trace-events @@ -23,6 +23,10 @@ hda_audio_format(const char *stream, int chan, const cha= r *fmt, int freq) "st %s hda_audio_adjust(const char *stream, int pos) "st %s, pos %d" hda_audio_overrun(const char *stream) "st %s" =20 +# pcspk.c +pcspk_io_read(uint16_t addr, uint8_t val) "[0x%"PRIx16"] -> 0x%"PRIx8 +pcspk_io_write(uint16_t addr, uint8_t val) "[0x%"PRIx16"] <- 0x%"PRIx8 + #via-ac97.c via_ac97_codec_write(uint8_t addr, uint16_t val) "0x%x <- 0x%x" via_ac97_sgd_fetch(uint32_t curr, uint32_t addr, char stop, char eol, char= flag, uint32_t len) "curr=3D0x%x addr=3D0x%x %c%c%c len=3D%d" --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701010; cv=none; d=zohomail.com; s=zohoarc; b=Vf3Z4xGoVykRVq+pwa8bJ+LdEWZfOrP8fYW5lLlDot3xGVh36kmX30ByrYTueOYm+jYxYaQtT5aXSYpobqNJo7xQkdXgoDSk74Z8SL4qp4UCRRcC4v+vxVnOA2u+23u5gnxoVarn+zLZ4X+CD1zjqXuF75Y5ke34bqkLWiq01uE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701010; 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=n8oXWw/dktgNDXuS33Gpiga0QxIzazhu/qxi0riXcZ8=; b=j7wpcX4rf7Bd0Kw75MBuio9RaPZXu9SiIfrfdlHXHDTwswLH5MzJhWqQdzD0wE7mItM02642SVpRaF9DUXTycUkpUPM6DfuWULou0BR3ulAuZ+O8SkpAeYdBLHJcPAi+K/eHAtKPpnAaWcFjf+n/vqMGg8Vbzhf/ZzdYsOTWxVY= 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 1760701009913937.5940100946062; Fri, 17 Oct 2025 04:36:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9iiu-0000jW-V5; Fri, 17 Oct 2025 07:34:16 -0400 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 1v9iit-0000j8-UV for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:15 -0400 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 1v9iii-00060D-4l for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:15 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-471193a9d9eso8511045e9.2 for ; Fri, 17 Oct 2025 04:34:01 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.33.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700840; x=1761305640; 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=n8oXWw/dktgNDXuS33Gpiga0QxIzazhu/qxi0riXcZ8=; b=QpDhaaCLe7fsPWXWhhEuLi2C1TI/AbLTIjz7SiTnS4sfWHy+OV3PofjerWT7ZgLyl7 HHiz90BQyVzY4tDJ4NQB453G6TDLntgI3z7Wzs5k6AQT7DBGc6T9ECC8Go05ds9TVqWa vvy17XT6s5NYTjBt6UcKHDEOuYHlzNxnASM6U5T/U40MyD4tn71ts8CIfGvyhqNXfZ2a bXOigbaTuzVxUwyQ1gBETeqX9PEz4PrIWXQk7nlUGokJBhR3Beg0dT7j3XkM96teP41n n3/WsagEojUTGdUEtQkpWaA2u2y+O2EwIDmLrxnLVihtboCIFykZ4fZPtTMvYo1b4bNR Oxmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700840; x=1761305640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n8oXWw/dktgNDXuS33Gpiga0QxIzazhu/qxi0riXcZ8=; b=OUWag0FdrPSq9MTeCO9otW+9Qzt4ojTpqoNBX5SATrukkuCoFnuF0OCw9zgicwBkL0 GoCuBBvKN5CO+D7TuYVZ2cpZdJXgnWdZXPs5Oi4ipv7HXTtC17exuCZSiPsTymhsI6Hw UDrNli43YZvzqlImw6u6yCbOXnhgcmfJzRqmEpKm1V6OjiYaMD7Pz4juBFV7crMImhAC O9jKX/F+O+dUYxsnUkG4Xxr3U/bHgWjV++AO3C7tnpchanp0ho0Hd04pQg1+vFm1+4ur t6MLp5vu1H5QOBBRIQRfdTAq9PvvvvdeYVGagwFCI5SdMvUjbPmGtK6d3LJ3l54VVvQE qnAw== X-Gm-Message-State: AOJu0Yzs4Nd6U6FnN7YcbyEs1QTY9Ra3oz9QX9A6D2doesqRcTdHkgEo mEJ+qjl0wGN7meyCqBCxIeLDvKrpwSoAXtw7Cv+C79V1oOvTf/mMuTNCJN+djQ== X-Gm-Gg: ASbGncup8Tb3A5lEOto82YLrTcxkLP7CY6tFtckxoy8lPY9a4+Bswem/Y2R6xCJkBHC ExRCZtGKLw0bG6ZRMfrfnHimgpuSWBJ+KjZpkwHaCXGA3+Zm6yXyw6MncXZpudkGtvnyXRrOo8+ +ZVD7yZnkBsJfQcT4J/P38DQ1at/8BIcjgpZ4Lt+Pp0/AZm3GcO3qVcQyPnYzUDfI9GQK6SRK+s iGsjDtL32HzFGDfYaprOKGDmY0NwwvL9Q8yx14s7bP4uCXBCiAurLNR5fiJiRXDejnMITCak2O/ aoY+GGtpAUmjL54voylRisesbvL4AGk8OmNSs9CujXrIiIxn7sjWNW8hasvNS0JFd/A448XuYKk iEqxVHgCTyRdHZcIKNh0V1pvbnqgkVC8NlzelEkbV3TBbS7o172iNr6nPRv5gwm36upb18Hl0M+ ViYh1osb0nk2B50iLZVJZlQ2BdQrq9Zi0QfTClroYo4yA= X-Google-Smtp-Source: AGHT+IHChLP+fEi3IjSJ8xuUf0OcbY0gfQ2DOrnMB0thW11DyqUS6nTY7XHhnqI2um9SOjKmvUz9UQ== X-Received: by 2002:a05:600c:4ec6:b0:46f:b327:ecfb with SMTP id 5b1f17b1804b1-4711787bfe8mr25755445e9.9.1760700840070; Fri, 17 Oct 2025 04:34:00 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 3/8] hw/rtc/mc146818rtc: Convert CMOS_DPRINTF() into trace events Date: Fri, 17 Oct 2025 13:33:33 +0200 Message-ID: <20251017113338.7953-4-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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, T_SPF_TEMPERROR=0.01 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: 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: 1760701011855158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Bernhard Beschow --- hw/rtc/mc146818rtc.c | 14 +++----------- hw/rtc/trace-events | 4 ++++ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index f9f5cf396f..61e9c0bf99 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -43,16 +43,10 @@ #include "qapi/error.h" #include "qapi/qapi-events-misc.h" #include "qapi/visitor.h" +#include "trace.h" =20 -//#define DEBUG_CMOS //#define DEBUG_COALESCED =20 -#ifdef DEBUG_CMOS -# define CMOS_DPRINTF(format, ...) printf(format, ## __VA_ARGS__) -#else -# define CMOS_DPRINTF(format, ...) do { } while (0) -#endif - #ifdef DEBUG_COALESCED # define DPRINTF_C(format, ...) printf(format, ## __VA_ARGS__) #else @@ -439,8 +433,7 @@ static void cmos_ioport_write(void *opaque, hwaddr addr, if ((addr & 1) =3D=3D 0) { s->cmos_index =3D data & 0x7f; } else { - CMOS_DPRINTF("cmos: write index=3D0x%02x val=3D0x%02" PRIx64 "\n", - s->cmos_index, data); + trace_mc146818_rtc_ioport_write(s->cmos_index, data); switch(s->cmos_index) { case RTC_SECONDS_ALARM: case RTC_MINUTES_ALARM: @@ -726,8 +719,7 @@ static uint64_t cmos_ioport_read(void *opaque, hwaddr a= ddr, ret =3D s->cmos_data[s->cmos_index]; break; } - CMOS_DPRINTF("cmos: read index=3D0x%02x val=3D0x%02x\n", - s->cmos_index, ret); + trace_mc146818_rtc_ioport_read(s->cmos_index, ret); return ret; } } diff --git a/hw/rtc/trace-events b/hw/rtc/trace-events index b9f2852d35..d2f36217cb 100644 --- a/hw/rtc/trace-events +++ b/hw/rtc/trace-events @@ -32,6 +32,10 @@ m48txx_nvram_io_write(uint64_t addr, uint64_t value) "io= write addr:0x%04" PRIx6 m48txx_nvram_mem_read(uint32_t addr, uint32_t value) "mem read addr:0x%04x= value:0x%02x" m48txx_nvram_mem_write(uint32_t addr, uint32_t value) "mem write addr:0x%0= 4x value:0x%02x" =20 +# mc146818rtc.c +mc146818_rtc_ioport_read(uint8_t addr, uint8_t value) "[0x%02" PRIx8 "] ->= 0x%02" PRIx8 +mc146818_rtc_ioport_write(uint8_t addr, uint8_t value) "[0x%02" PRIx8 "] <= - 0x%02" PRIx8 + # goldfish_rtc.c goldfish_rtc_read(uint64_t addr, uint64_t value) "addr 0x%02" PRIx64 " val= ue 0x%08" PRIx64 goldfish_rtc_write(uint64_t addr, uint64_t value) "addr 0x%02" PRIx64 " va= lue 0x%08" PRIx64 --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701013; cv=none; d=zohomail.com; s=zohoarc; b=XbiUZvhHot47wl2IWpaLYdnZjsPZXAb4NrBXqCWd83BalLFat/iICtSMa3KNE2JqHKbkvqyKbUSvjD/unKQQ7w0Iv6uZUxWNw6pYdCopM/iHfTPT3nKiATZL866GRbgLJjSWLzwPABhbGdtIOvR2//YEz1Q1/E2jBe8IMBVRX2Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701013; 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=HtQk0GJuCq/JgD3T73Q/ujEtbCnLstw5lfgjKUjPFqo=; b=kDD8jspEIOq5SM08cX6USO0rHRAOHRPyuZUMKWjUzOqesZH1oGBhXlWkF7FKL8F0mOiMXr5Wt9cOW4Eom2c6NhH05fJfBD0EVMkm2Fyxpy0HXziQVK1IB5bwFoOUEtix+4sAxQX7OWiL3plsHbT/OFBUq07ntNTSZN6c7FoYi+A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760701013403341.6899850985112; Fri, 17 Oct 2025 04:36:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ij9-0000qZ-ID; Fri, 17 Oct 2025 07:34:31 -0400 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 1v9ij5-0000og-TJ for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:28 -0400 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 1v9iiq-00060Z-8e for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:27 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4711b95226dso5240685e9.0 for ; Fri, 17 Oct 2025 04:34:07 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.34.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700841; x=1761305641; 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=HtQk0GJuCq/JgD3T73Q/ujEtbCnLstw5lfgjKUjPFqo=; b=L5S3gMOhGJk/y0aLQRV9tOioqwVF78P0Mq2DppWoJsiodn+hSvClkUaCNIJQlVlFkd aO25xRZLgyN0hcZGC5MYEDEPxT9qEBuJt2LWpPp9s9nwOP2y6NsV+VYVeP+JMmwsnxTQ A0cWPzMogKS9Uovc8A12oKjcMtCq/rcRzn9gG9XzbPl70WI/CQJCoO8n3s1EDQXwkUcz wgwCNdf/o0YB2RCUh/XfEG1UCGw6Ft6JFWCIYp6/n3vYvKliG6J/k0SGgunx8s8QcYEM 0LSdgc3vSgub21czHuE6lmbQ7J7wgFAHh0VK5QmP3LsWMSck6RU7GhSgHHbr+4HF4kJC uq0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700841; x=1761305641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HtQk0GJuCq/JgD3T73Q/ujEtbCnLstw5lfgjKUjPFqo=; b=ojicznkREtfqy29wyyZjUGSTQVBQ1tyLYc4hZYqyX5lYo9CibV36I9e43mqemW0EKd aB6PL4Ma7HMiGyRndLbFiVpzCk7AuGNz6Hto31tLfJzfAchqszjP4ybEFl2sDRt+Ssrb nnpTcUPgkZiz0hE5BWcnw7HuR39AcUv0jrCIYj1u/+NAv5HxbLwY7TDEZdfsaGRPmIo+ jBuwHeaXvSDXHZk2GvGzQfRVLgu/sGbrlwTMrWQwxBnKfp1tN05H1Au4ZxT0yUHOUO6J 5IJZ6RUhDAotPQzcv01MC9GtZyBCYox0QGhXZ3rCCGVbAHYCzd35BzT9+WzU51wWGJ75 e4Bg== X-Gm-Message-State: AOJu0Yw7p6Fe3jnRL4XJfzpCf1RA/Q05Cf83wZ5ZiTzYN5/J/idGzadJ E3hsHOxlI68YfWDVRNDfT/PNhrr3SFjS6FZKb+tf5CwpMwK9Am7sgEw+sAjrsQ== X-Gm-Gg: ASbGnctF62gNT9VSIXQDx8T184eGtVXCBQTrAy2rdayjz8W66qhHsmBBkYXymMnI4hT AM6WLL83AG3s0Xc3QAHPxLBZXqT4MFZnT3Zt7U3epdCulFkA/fa7cd8VYz5wQOITCVwNrZiDVbu N0Sb7RGsnd1Y5rj6kioA3WzIGN8tcXpBsNrX/JFb3dfXhg60G3NxTDPflHrNN2zagZ/UcPe6cdq cRYz9OxZQaYFElERRiksoMFLxXZzJNx+klxXJVxcHJacHgstUXBIp9B3IaMxHyBAO0chBBdGRNw H6vj106UApEXDh8BE2QkYLfGBpy6pssrGKBXVMMbkgHGcMWKx0EYQ6fcoja4i0WiIApKPztCclk yc+vTagEgnz62VF1z/sPVmxYfJLqIznCWe8deMoELonSumVx517i+0kXygDsC9r4MhX16Vwounm KpAvtbqaqW71G6yccqR2mu+SV4pdILE9yKU3F5WJAq3l0= X-Google-Smtp-Source: AGHT+IHnu+GakzzSeEi2iUO0tTroVaMAXrhyHBzxS5+N+mWFSMCsDYg1lzurYZznwJfsxWlWvCdE2A== X-Received: by 2002:a05:600c:4e11:b0:471:c72:c807 with SMTP id 5b1f17b1804b1-471179079c7mr26540505e9.22.1760700841253; Fri, 17 Oct 2025 04:34:01 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 4/8] hw/rtc/mc146818rtc: Use ARRAY_SIZE macro Date: Fri, 17 Oct 2025 13:33:34 +0200 Message-ID: <20251017113338.7953-5-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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: 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: 1760701015281154100 Content-Type: text/plain; charset="utf-8" Avoids the error-prone repetition of the array size. Signed-off-by: Bernhard Beschow --- hw/rtc/mc146818rtc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index 61e9c0bf99..5a89062b4c 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -726,13 +726,14 @@ static uint64_t cmos_ioport_read(void *opaque, hwaddr= addr, =20 void mc146818rtc_set_cmos_data(MC146818RtcState *s, int addr, int val) { - if (addr >=3D 0 && addr <=3D 127) + if (addr >=3D 0 && addr < ARRAY_SIZE(s->cmos_data)) { s->cmos_data[addr] =3D val; + } } =20 int mc146818rtc_get_cmos_data(MC146818RtcState *s, int addr) { - assert(addr >=3D 0 && addr <=3D 127); + assert(addr >=3D 0 && addr < ARRAY_SIZE(s->cmos_data)); return s->cmos_data[addr]; } =20 --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701011; cv=none; d=zohomail.com; s=zohoarc; b=iZego8naaveGMtq7d/WGUmgEnpO442Ebyx2yzL19gCDQd26pSBwJ42vAI+aVJRhwU3Zq8rrxehzxWmCoOBc0cFm83L8Itzi/Jff848nFU/tyBW0bAVBKOU2sBO2CSZsUgeDHca/MC3co0ou5cmQKmXdQWAtTrC4jPcKvqsbnKLs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701011; 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=WqDslS9NKjHnUWYR3Oq3CSi9/FfiBOz9NHEnZxcZS80=; b=VvlVvcllcMkbjRf/NewiUkYBWv7VFt2TWkYsdHlToNPTjgG5yzRHkrL6/WiVcbiO7XqHFZiihHzVZNJXFEO9WWURwTY/sNso3mcRXCsGBK78X0Q5LCnTmVu8wiXy7EYBfcj8kC9vl598oyvwomLG5R6uziu+J2zNEHJTd+PKd1U= 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 1760701011923416.6453962081084; Fri, 17 Oct 2025 04:36:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ij9-0000r8-Kb; Fri, 17 Oct 2025 07:34:31 -0400 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 1v9ij4-0000ma-4t for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:26 -0400 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 1v9iim-000615-Ri for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:25 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-47118259fd8so5544465e9.3 for ; Fri, 17 Oct 2025 04:34:04 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.34.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700842; x=1761305642; 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=WqDslS9NKjHnUWYR3Oq3CSi9/FfiBOz9NHEnZxcZS80=; b=VQjIvxksVCWyo9LY+yz9ntgiSFcEST6QShBcpc62Bs844BaxkagGc3tn+6uhDKMyq8 2/j6GXaBNAK7aZGqHK9Ufro++q4fDv7c8SV8tODKOLC/3AwS7IWq3QO3d0ijCUP+AZ2/ JgUCChxN7GHaQQcUgn0JR8J69ddGLcWv8QtgWrQ4e+gH/p0A6A453MnhSnzFAnZ/OxbE fxgZYkfNzHZpWBd/z4N/BMtHE3Ur5+6juSSGP3WQeP3Mh/Pf4rEC9Vr/74+gXSJDKla9 QQEGt63QJmYT71+jvSAuHGsWNl4EIf3KA1/mC+R58l9EY0fiziKv7CLWolFpMtYdzhE1 uFUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700842; x=1761305642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WqDslS9NKjHnUWYR3Oq3CSi9/FfiBOz9NHEnZxcZS80=; b=HgXZmJl/SofwY4GGmJnCvxzEfNRNtPURZMjx7fXVL2XDrev3nlFh67cE7XcTh9TQOQ miobVC0HD8nBtbyNnvmpxwYjN6oaKPiVDuR2RaXXNOIj6F+Ddr59peyyxWdGgzMZgLPB INPpggr8th2gsBN/SCa7PCGnG50OB4prCzM22+dduZO42Ha2Fxn9ZCOUmY3dCE0U1NXc exYeMTe6RdjMbIrTlQjC5Et+Lrcw21pSvptDgHX5y/uOshUA0fp98nZ6a6rfujEe53VM d3iB0BTbax1n12wN714v0WcEgMRPl0hm3n89kMWTN9yMvaedddf58CN0xTR2klDxUGM5 saIA== X-Gm-Message-State: AOJu0YxXoDnXadA2RjUhqcj/0IKOat7ymjKEutDWemAvTnk2vk+gM/6B 0erZl7Rb2ka1c9162XqcGGcnbfvmXdw5Qt6LgMO56xa+KMVbG6xaoH23ljRNAg== X-Gm-Gg: ASbGncuAlFQe1sSOGZchDboowEie5GUwNAHpon0MVuVjvGSM9M0x6bUAg+6kDKpJPEY C3NP0s/SKEDwL7/+G9YLliiapm8FiNnB14P/7iYzoJPQERwWENZUEYVEgKPDJ568XQ+v7MhjS/w wNqwTrRsYgAoGBJp+AV6sZ79cDM/iC9h+Ib6QH1ooXb6KqRVIWiZvg7HzPxVa7CS829hESngyYX UMYKYlMaQM6311ksAreAuL4n7wmvZmMK0DNXztdK7K894aKlFdxpqmNfzUjx4gm2xZhQ3ur6BKK N8ZCtZG+6b+qtnFnsJBIFYYeHfef9taNWqEVagb3LTX5FdWfLHxHv/Mpw4Ov4eGJcoR1q/E70w9 KteSNAqFjnQtQnvIhYzkGmsV0dh5/HycJ4lEgFVyubYSJCfZrvDZG60EN3WWCHGQd0qpscSlR5o It66feIT2cfMxcJLwjCcwwfS7AbsJs6lcilq7pbnw3BPg= X-Google-Smtp-Source: AGHT+IGrPw3UQyxZPdqjtHKNkflxp1U5RB7MM83GtBJGNyQZGFtG1sySZZLtOmG38BC7IEhw+bsWbg== X-Received: by 2002:a05:600c:820b:b0:46e:27fb:17f0 with SMTP id 5b1f17b1804b1-47117877244mr24190025e9.9.1760700842351; Fri, 17 Oct 2025 04:34:02 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 5/8] hw/rtc/mc146818rtc: Assert correct usage of mc146818rtc_set_cmos_data() Date: Fri, 17 Oct 2025 13:33:35 +0200 Message-ID: <20251017113338.7953-6-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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::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: 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: 1760701015674158500 Content-Type: text/plain; charset="utf-8" The offset is never controlled by the guest, so any misuse constitutes a programming error and shouldn't be silently ignored. Fix this by using asse= rt(). Signed-off-by: Bernhard Beschow --- hw/rtc/mc146818rtc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index 5a89062b4c..8631386b9f 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -726,9 +726,8 @@ static uint64_t cmos_ioport_read(void *opaque, hwaddr a= ddr, =20 void mc146818rtc_set_cmos_data(MC146818RtcState *s, int addr, int val) { - if (addr >=3D 0 && addr < ARRAY_SIZE(s->cmos_data)) { - s->cmos_data[addr] =3D val; - } + assert(addr >=3D 0 && addr < ARRAY_SIZE(s->cmos_data)); + s->cmos_data[addr] =3D val; } =20 int mc146818rtc_get_cmos_data(MC146818RtcState *s, int addr) --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701035; cv=none; d=zohomail.com; s=zohoarc; b=akv7M0HxoZB1g2BNtkaPj2qkII0YJ8+KxDb5ifRePuWYCC4fnquP1DX56wAGtujOctDZVMaYUz8sbemi13pzCRyTdkDU6QEhsdP2e1oqi8wT1jbED7LNEbWMm+pOuhyfz3jGaedFCXh1dSRDMNdqjv9b9am0nXOvtX9Owq6nS7s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701035; 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=S6vKc0hwwlCgha4p0dnyBbkmC+U2R4VT4bcnp+IbsaQ=; b=b/ZKCBH2y6a7nJTqNJUSu98kV3OG+aJ+6njOi4MbMUIPWhkkd8u2BkQj6EIdNil6X6ZUzyPOiXsKchu7Aqb68J+5ndqkxYMNLLxnsjg9pg3aMKtoxlWUyzscnJop2mrAF6lIaGNwx6vSZpVdBXfZhxZvQUZ2VymiW/UlTgJDsCM= 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 1760701035849315.30814893762624; Fri, 17 Oct 2025 04:37:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ijE-0000sm-PR; Fri, 17 Oct 2025 07:34:37 -0400 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 1v9ijB-0000rt-EM for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:33 -0400 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 1v9iiq-00061I-JT for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:33 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-471131d6121so14038635e9.1 for ; Fri, 17 Oct 2025 04:34:07 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:34:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700844; x=1761305644; 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=S6vKc0hwwlCgha4p0dnyBbkmC+U2R4VT4bcnp+IbsaQ=; b=WUcepVeya89yWO3f1r7wI1rzIfRQ6UnjuYEx2wKaZ+1cW67/PHXbuEsx8UwDpVQLq2 1gMsKU766E1n1bcDoaZ0V+Vw+mD4a+53r2L6W0sfMJpsOerR7Kg3+AzkR2D9gOr2ZjlP siNP8qlglR+G/lVINcqpbSDVDlO0LKVnPt6+tq3iJrxcyB5Fp2bBTjb7FYevOzNvJROh HYcK6wFm/GpZf8gUf+yoUOy5Xhh+YmwKKodicq70N/vFWqPbspNaIftsppU28uiVVTBG +zFmNGWshG3bT+JIkO7E7cDBZsD7q3nqSfu0N9kbZGV7d5Kr/4UzLsGoRFT4K27nzHN6 VkBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700844; x=1761305644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S6vKc0hwwlCgha4p0dnyBbkmC+U2R4VT4bcnp+IbsaQ=; b=JuMnbcjPfUyqximuq5Cs/UvByr7EkZS08TgC2TiYpq93fChwAlGsymhVIeiyUyYWhD r0unrIluACv7v24xmrBxwPFkYb+uVmApZCLWLeTJcElFXmMnjn0X3CghTmR/qHFnSjZa hu4gc3UARPd6zddKAObkNLjFMlSN5Oh/IoBptTQ5urtdkBVRAW1QB+Ug7ZnxRzHMRn+1 JlZuLaoQt/ZitXd5txCrO8jtZ5DlnDl9U6hOuEP7q+Ctru1WuYQSLTrAERnme/q46z7F RqG4v+b9G1SoiIvcsymZnX57MNG1CBZ1bppPz4AQGnJP2aIPNJON4unBo/l8IJmQvitV OAQA== X-Gm-Message-State: AOJu0Yy3gbmxOW5PYZ89r92q4b7RG5NwyxR9B+vEOhmrIUdDqivMjwgN 7+bMxv6lHOdnBEtf/yuVeCemT5o+/nqSixo9oyucl/UGR0XxHSTDFWyp1a4y5g== X-Gm-Gg: ASbGncvZtzsM1TyOBuccexKuVxFoHeluZmjAB1q9O+x0z/7WwBsKknAHgYv0krO1lrf Pij/qrAwdT65fbJQocPkqkIam70hWvAFF66lx6BGCl6xk0izaEAha/QHDJQRnprq8d1g2SnHIzw p/XmkhgLTY9E/YqJektPF/vd3X/mHz8kAnkXtQkgqFJcwABYAJsCSmkbMeISukWOfC+Q99ua8T+ 9YGZXmkrkgSn7efBNSbTvWCSBJiUZ9X9ifgcQLSvWYsy/HCXauh6nj0YN6JYeQhN6VH40tZWXB8 VrV5nHqKyhbGpxzxYpJD+bprsSJL9HnkFclpXEXDwyvpiHVfGHMt6GG98wXBLbndBnKcJ5c5ES9 djw5KAclHyKOjHkfNIJJJ3J/M8yRsub1FKvOLdQ/8QQWx6Gg0Ruqx66/qojP7LkUvtYPzQcKSHV UEDCDC9p0FMYaQX308SesWFWlf5YoeMLNODjAAvgkvrJ0= X-Google-Smtp-Source: AGHT+IGqAbveX4RPg/hEwQ7NGKwV+poU7tSRSzAmvVTRRBLpbtC5gXANcUNsHQ/As79zVpdgRNR6Bg== X-Received: by 2002:a05:600c:1f93:b0:46f:b42e:e367 with SMTP id 5b1f17b1804b1-4711792a527mr23002855e9.41.1760700843581; Fri, 17 Oct 2025 04:34:03 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 6/8] hw/i386/apic: Prefer APICCommonState over DeviceState Date: Fri, 17 Oct 2025 13:33:36 +0200 Message-ID: <20251017113338.7953-7-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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: 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: 1760701037858158500 Content-Type: text/plain; charset="utf-8" Makes the APIC API more type-safe by resolving quite a few APIC_COMMON downcasts. Like PICCommonState, the APICCommonState is now a public typedef while stay= ing an abstract datatype. Signed-off-by: Bernhard Beschow --- include/hw/i386/apic.h | 33 +++++------ include/hw/i386/apic_internal.h | 7 +-- target/i386/cpu.h | 4 +- target/i386/kvm/kvm_i386.h | 2 +- target/i386/whpx/whpx-internal.h | 2 +- hw/i386/kvm/apic.c | 3 +- hw/i386/vapic.c | 2 +- hw/i386/x86-cpu.c | 2 +- hw/intc/apic.c | 97 +++++++++++++------------------- hw/intc/apic_common.c | 56 +++++++----------- target/i386/cpu-apic.c | 4 +- target/i386/cpu.c | 2 +- target/i386/kvm/kvm.c | 2 +- target/i386/whpx/whpx-apic.c | 3 +- 14 files changed, 89 insertions(+), 130 deletions(-) diff --git a/include/hw/i386/apic.h b/include/hw/i386/apic.h index eb606d6076..871f142888 100644 --- a/include/hw/i386/apic.h +++ b/include/hw/i386/apic.h @@ -1,28 +1,29 @@ #ifndef APIC_H #define APIC_H =20 +typedef struct APICCommonState APICCommonState; =20 /* apic.c */ void apic_set_max_apic_id(uint32_t max_apic_id); -int apic_accept_pic_intr(DeviceState *s); -void apic_deliver_pic_intr(DeviceState *s, int level); -void apic_deliver_nmi(DeviceState *d); -int apic_get_interrupt(DeviceState *s); -int cpu_set_apic_base(DeviceState *s, uint64_t val); -uint64_t cpu_get_apic_base(DeviceState *s); -bool cpu_is_apic_enabled(DeviceState *s); -void cpu_set_apic_tpr(DeviceState *s, uint8_t val); -uint8_t cpu_get_apic_tpr(DeviceState *s); -void apic_init_reset(DeviceState *s); -void apic_sipi(DeviceState *s); -void apic_poll_irq(DeviceState *d); -void apic_designate_bsp(DeviceState *d, bool bsp); -int apic_get_highest_priority_irr(DeviceState *dev); +int apic_accept_pic_intr(APICCommonState *s); +void apic_deliver_pic_intr(APICCommonState *s, int level); +void apic_deliver_nmi(APICCommonState *s); +int apic_get_interrupt(APICCommonState *s); +int cpu_set_apic_base(APICCommonState *s, uint64_t val); +uint64_t cpu_get_apic_base(APICCommonState *s); +bool cpu_is_apic_enabled(APICCommonState *s); +void cpu_set_apic_tpr(APICCommonState *s, uint8_t val); +uint8_t cpu_get_apic_tpr(APICCommonState *s); +void apic_init_reset(APICCommonState *s); +void apic_sipi(APICCommonState *s); +void apic_poll_irq(APICCommonState *s); +void apic_designate_bsp(APICCommonState *s, bool bsp); +int apic_get_highest_priority_irr(APICCommonState *s); int apic_msr_read(int index, uint64_t *val); int apic_msr_write(int index, uint64_t val); -bool is_x2apic_mode(DeviceState *d); +bool is_x2apic_mode(APICCommonState *s); =20 /* pc.c */ -DeviceState *cpu_get_current_apic(void); +APICCommonState *cpu_get_current_apic(void); =20 #endif diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_interna= l.h index 429278da61..4a62fdceb4 100644 --- a/include/hw/i386/apic_internal.h +++ b/include/hw/i386/apic_internal.h @@ -22,6 +22,7 @@ #define QEMU_APIC_INTERNAL_H =20 #include "cpu.h" +#include "hw/i386/apic.h" #include "system/memory.h" #include "qemu/timer.h" #include "target/i386/cpu-qom.h" @@ -125,8 +126,6 @@ #define VAPIC_ENABLE_BIT 0 #define VAPIC_ENABLE_MASK (1 << VAPIC_ENABLE_BIT) =20 -typedef struct APICCommonState APICCommonState; - #define TYPE_APIC_COMMON "apic-common" typedef struct APICCommonClass APICCommonClass; DECLARE_OBJ_CHECKERS(APICCommonState, APICCommonClass, @@ -203,8 +202,8 @@ typedef struct VAPICState { extern bool apic_report_tpr_access; =20 bool apic_next_timer(APICCommonState *s, int64_t current_time); -void apic_enable_tpr_access_reporting(DeviceState *d, bool enable); -void apic_enable_vapic(DeviceState *d, hwaddr paddr); +void apic_enable_tpr_access_reporting(APICCommonState *s, bool enable); +void apic_enable_vapic(APICCommonState *s, hwaddr paddr); =20 void vapic_report_tpr_access(DeviceState *dev, CPUState *cpu, target_ulong= ip, TPRAccess access); diff --git a/target/i386/cpu.h b/target/i386/cpu.h index ce948861a7..67ff52a8b4 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2349,7 +2349,7 @@ struct ArchCPU { =20 /* in order to simplify APIC support, we leave this pointer to the user */ - struct DeviceState *apic_state; + struct APICCommonState *apic_state; struct MemoryRegion *cpu_as_root, *cpu_as_mem, *smram; Notifier machine_done; =20 @@ -2830,7 +2830,7 @@ bool cpu_svm_has_intercept(CPUX86State *env, uint32_t= type); =20 /* apic.c */ void cpu_report_tpr_access(CPUX86State *env, TPRAccess access); -void apic_handle_tpr_access_report(DeviceState *d, target_ulong ip, +void apic_handle_tpr_access_report(APICCommonState *s, target_ulong ip, TPRAccess access); =20 /* Special values for X86CPUVersion: */ diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index 5f83e8850a..5c908fdd6a 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -56,7 +56,7 @@ bool kvm_has_adjust_clock_stable(void); bool kvm_has_exception_payload(void); void kvm_synchronize_all_tsc(void); =20 -void kvm_get_apic_state(DeviceState *d, struct kvm_lapic_state *kapic); +void kvm_get_apic_state(APICCommonState *s, struct kvm_lapic_state *kapic); void kvm_put_apicbase(X86CPU *cpu, uint64_t value); =20 bool kvm_has_x2apic_api(void); diff --git a/target/i386/whpx/whpx-internal.h b/target/i386/whpx/whpx-inter= nal.h index 6633e9c4ca..066e16bd8e 100644 --- a/target/i386/whpx/whpx-internal.h +++ b/target/i386/whpx/whpx-internal.h @@ -44,7 +44,7 @@ struct whpx_state { }; =20 extern struct whpx_state whpx_global; -void whpx_apic_get(DeviceState *s); +void whpx_apic_get(struct APICCommonState *s); =20 #define WHV_E_UNKNOWN_CAPABILITY 0x80370300L =20 diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index 1be9bfe36e..82355f0463 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -60,9 +60,8 @@ static void kvm_put_apic_state(APICCommonState *s, struct= kvm_lapic_state *kapic kvm_apic_set_reg(kapic, 0x3e, s->divide_conf); } =20 -void kvm_get_apic_state(DeviceState *dev, struct kvm_lapic_state *kapic) +void kvm_get_apic_state(APICCommonState *s, struct kvm_lapic_state *kapic) { - APICCommonState *s =3D APIC_COMMON(dev); int i, v; =20 if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) { diff --git a/hw/i386/vapic.c b/hw/i386/vapic.c index 0c1c92c479..f1089f0a7c 100644 --- a/hw/i386/vapic.c +++ b/hw/i386/vapic.c @@ -490,7 +490,7 @@ void vapic_report_tpr_access(DeviceState *dev, CPUState= *cs, target_ulong ip, } =20 typedef struct VAPICEnableTPRReporting { - DeviceState *apic; + APICCommonState *apic; bool enable; } VAPICEnableTPRReporting; =20 diff --git a/hw/i386/x86-cpu.c b/hw/i386/x86-cpu.c index c876e6709e..1a86a853d5 100644 --- a/hw/i386/x86-cpu.c +++ b/hw/i386/x86-cpu.c @@ -86,7 +86,7 @@ int cpu_get_pic_interrupt(CPUX86State *env) return intno; } =20 -DeviceState *cpu_get_current_apic(void) +APICCommonState *cpu_get_current_apic(void) { if (current_cpu) { X86CPU *cpu =3D X86_CPU(current_cpu); diff --git a/hw/intc/apic.c b/hw/intc/apic.c index c768033856..cb35c80c75 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -181,10 +181,8 @@ static void apic_local_deliver(APICCommonState *s, int= vector) } } =20 -void apic_deliver_pic_intr(DeviceState *dev, int level) +void apic_deliver_pic_intr(APICCommonState *s, int level) { - APICCommonState *s =3D APIC(dev); - if (level) { apic_local_deliver(s, APIC_LVT_LINT0); } else { @@ -301,10 +299,8 @@ static void apic_deliver_irq(uint32_t dest, uint8_t de= st_mode, apic_bus_deliver(deliver_bitmask, delivery_mode, vector_num, trigger_m= ode); } =20 -bool is_x2apic_mode(DeviceState *dev) +bool is_x2apic_mode(APICCommonState *s) { - APICCommonState *s =3D APIC(dev); - return s->apicbase & MSR_IA32_APICBASE_EXTD; } =20 @@ -388,15 +384,12 @@ static void apic_set_tpr(APICCommonState *s, uint8_t = val) } } =20 -int apic_get_highest_priority_irr(DeviceState *dev) +int apic_get_highest_priority_irr(APICCommonState *s) { - APICCommonState *s; - - if (!dev) { + if (!s) { /* no interrupts */ return -1; } - s =3D APIC_COMMON(dev); return get_highest_priority_int(s->irr); } =20 @@ -458,22 +451,19 @@ static int apic_irq_pending(APICCommonState *s) static void apic_update_irq(APICCommonState *s) { CPUState *cpu; - DeviceState *dev =3D (DeviceState *)s; =20 cpu =3D CPU(s->cpu); if (!qemu_cpu_is_self(cpu)) { cpu_interrupt(cpu, CPU_INTERRUPT_POLL); } else if (apic_irq_pending(s) > 0) { cpu_interrupt(cpu, CPU_INTERRUPT_HARD); - } else if (!apic_accept_pic_intr(dev) || !pic_get_output(isa_pic)) { + } else if (!apic_accept_pic_intr(s) || !pic_get_output(isa_pic)) { cpu_reset_interrupt(cpu, CPU_INTERRUPT_HARD); } } =20 -void apic_poll_irq(DeviceState *dev) +void apic_poll_irq(APICCommonState *s) { - APICCommonState *s =3D APIC(dev); - apic_sync_vapic(s, SYNC_FROM_VAPIC); apic_update_irq(s); } @@ -516,7 +506,7 @@ static void apic_eoi(APICCommonState *s) =20 static bool apic_match_dest(APICCommonState *apic, uint32_t dest) { - if (is_x2apic_mode(&apic->parent_obj)) { + if (is_x2apic_mode(apic)) { return apic->initial_apic_id =3D=3D dest; } else { return apic->id =3D=3D (uint8_t)dest; @@ -550,7 +540,7 @@ static void apic_get_broadcast_bitmask(uint32_t *delive= r_bitmask, for (i =3D 0; i < max_apics; i++) { apic_iter =3D local_apics[i]; if (apic_iter) { - bool apic_in_x2apic =3D is_x2apic_mode(&apic_iter->parent_obj); + bool apic_in_x2apic =3D is_x2apic_mode(apic_iter); =20 if (is_x2apic_broadcast && apic_in_x2apic) { apic_set_bit(deliver_bitmask, i); @@ -642,27 +632,24 @@ static void apic_startup(APICCommonState *s, int vect= or_num) cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_SIPI); } =20 -void apic_sipi(DeviceState *dev) +void apic_sipi(APICCommonState *s) { - APICCommonState *s =3D APIC(dev); - if (!s->wait_for_sipi) return; cpu_x86_load_seg_cache_sipi(s->cpu, s->sipi_vector); s->wait_for_sipi =3D 0; } =20 -static void apic_deliver(DeviceState *dev, uint32_t dest, uint8_t dest_mod= e, +static void apic_deliver(APICCommonState *s, uint32_t dest, uint8_t dest_m= ode, uint8_t delivery_mode, uint8_t vector_num, uint8_t trigger_mode, uint8_t dest_shorthand) { - APICCommonState *s =3D APIC(dev); APICCommonState *apic_iter; uint32_t deliver_bitmask_size =3D max_apic_words * sizeof(uint32_t); g_autofree uint32_t *deliver_bitmask =3D g_new(uint32_t, max_apic_word= s); uint32_t current_apic_id; =20 - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { current_apic_id =3D s->initial_apic_id; } else { current_apic_id =3D s->id; @@ -709,18 +696,15 @@ static void apic_deliver(DeviceState *dev, uint32_t d= est, uint8_t dest_mode, =20 static bool apic_check_pic(APICCommonState *s) { - DeviceState *dev =3D (DeviceState *)s; - - if (!apic_accept_pic_intr(dev) || !pic_get_output(isa_pic)) { + if (!apic_accept_pic_intr(s) || !pic_get_output(isa_pic)) { return false; } - apic_deliver_pic_intr(dev, 1); + apic_deliver_pic_intr(s, 1); return true; } =20 -int apic_get_interrupt(DeviceState *dev) +int apic_get_interrupt(APICCommonState *s) { - APICCommonState *s =3D APIC(dev); int intno; =20 /* if the APIC is installed or enabled, we let the 8259 handle the @@ -752,9 +736,8 @@ int apic_get_interrupt(DeviceState *dev) return intno; } =20 -int apic_accept_pic_intr(DeviceState *dev) +int apic_accept_pic_intr(APICCommonState *s) { - APICCommonState *s =3D APIC(dev); uint32_t lvt0; =20 if (!s) @@ -788,20 +771,18 @@ static void apic_timer(void *opaque) =20 static int apic_register_read(int index, uint64_t *value) { - DeviceState *dev; APICCommonState *s; uint32_t val; int ret =3D 0; =20 - dev =3D cpu_get_current_apic(); - if (!dev) { + s =3D cpu_get_current_apic(); + if (!s) { return -1; } - s =3D APIC(dev); =20 switch(index) { case 0x02: /* id */ - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { val =3D s->initial_apic_id; } else { val =3D s->id << 24; @@ -828,14 +809,14 @@ static int apic_register_read(int index, uint64_t *va= lue) val =3D 0; break; case 0x0d: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { val =3D s->extended_log_dest; } else { val =3D s->log_dest << 24; } break; case 0x0e: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { val =3D 0; ret =3D -1; } else { @@ -902,14 +883,14 @@ static uint64_t apic_mem_read(void *opaque, hwaddr ad= dr, unsigned size) =20 int apic_msr_read(int index, uint64_t *val) { - DeviceState *dev; + APICCommonState *s; =20 - dev =3D cpu_get_current_apic(); - if (!dev) { + s =3D cpu_get_current_apic(); + if (!s) { return -1; } =20 - if (!is_x2apic_mode(dev)) { + if (!is_x2apic_mode(s)) { return -1; } =20 @@ -943,20 +924,18 @@ static void apic_send_msi(MSIMessage *msi) =20 static int apic_register_write(int index, uint64_t val) { - DeviceState *dev; APICCommonState *s; =20 - dev =3D cpu_get_current_apic(); - if (!dev) { + s =3D cpu_get_current_apic(); + if (!s) { return -1; } - s =3D APIC(dev); =20 trace_apic_register_write(index, val); =20 switch(index) { case 0x02: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { return -1; } =20 @@ -979,14 +958,14 @@ static int apic_register_write(int index, uint64_t va= l) apic_eoi(s); break; case 0x0d: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { return -1; } =20 s->log_dest =3D val >> 24; break; case 0x0e: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { return -1; } =20 @@ -1005,20 +984,20 @@ static int apic_register_write(int index, uint64_t v= al) uint32_t dest; =20 s->icr[0] =3D val; - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { s->icr[1] =3D val >> 32; dest =3D s->icr[1]; } else { dest =3D (s->icr[1] >> 24) & 0xff; } =20 - apic_deliver(dev, dest, (s->icr[0] >> 11) & 1, + apic_deliver(s, dest, (s->icr[0] >> 11) & 1, (s->icr[0] >> 8) & 7, (s->icr[0] & 0xff), (s->icr[0] >> 15) & 1, (s->icr[0] >> 18) & 3); break; } case 0x31: - if (is_x2apic_mode(dev)) { + if (is_x2apic_mode(s)) { return -1; } =20 @@ -1053,7 +1032,7 @@ static int apic_register_write(int index, uint64_t va= l) case 0x3f: { int vector =3D val & 0xff; =20 - if (!is_x2apic_mode(dev)) { + if (!is_x2apic_mode(s)) { return -1; } =20 @@ -1063,7 +1042,7 @@ static int apic_register_write(int index, uint64_t va= l) * - Trigger mode: 0 (Edge) * - Delivery mode: 0 (Fixed) */ - apic_deliver(dev, 0, 0, APIC_DM_FIXED, vector, 0, 1); + apic_deliver(s, 0, 0, APIC_DM_FIXED, vector, 0, 1); =20 break; } @@ -1102,14 +1081,14 @@ static void apic_mem_write(void *opaque, hwaddr add= r, uint64_t val, =20 int apic_msr_write(int index, uint64_t val) { - DeviceState *dev; + APICCommonState *s; =20 - dev =3D cpu_get_current_apic(); - if (!dev) { + s =3D cpu_get_current_apic(); + if (!s) { return -1; } =20 - if (!is_x2apic_mode(dev)) { + if (!is_x2apic_mode(s)) { return -1; } =20 diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 394fe02013..ec9e978b0b 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -35,12 +35,11 @@ =20 bool apic_report_tpr_access; =20 -int cpu_set_apic_base(DeviceState *dev, uint64_t val) +int cpu_set_apic_base(APICCommonState *s, uint64_t val) { trace_cpu_set_apic_base(val); =20 - if (dev) { - APICCommonState *s =3D APIC_COMMON(dev); + if (s) { APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); /* Reset possibly modified xAPIC ID */ s->id =3D s->initial_apic_id; @@ -50,10 +49,9 @@ int cpu_set_apic_base(DeviceState *dev, uint64_t val) return 0; } =20 -uint64_t cpu_get_apic_base(DeviceState *dev) +uint64_t cpu_get_apic_base(APICCommonState *s) { - if (dev) { - APICCommonState *s =3D APIC_COMMON(dev); + if (s) { trace_cpu_get_apic_base((uint64_t)s->apicbase); return s->apicbase; } else { @@ -62,52 +60,43 @@ uint64_t cpu_get_apic_base(DeviceState *dev) } } =20 -bool cpu_is_apic_enabled(DeviceState *dev) +bool cpu_is_apic_enabled(APICCommonState *s) { - APICCommonState *s; - - if (!dev) { + if (!s) { return false; } =20 - s =3D APIC_COMMON(dev); - return s->apicbase & MSR_IA32_APICBASE_ENABLE; } =20 -void cpu_set_apic_tpr(DeviceState *dev, uint8_t val) +void cpu_set_apic_tpr(APICCommonState *s, uint8_t val) { - APICCommonState *s; APICCommonClass *info; =20 - if (!dev) { + if (!s) { return; } =20 - s =3D APIC_COMMON(dev); info =3D APIC_COMMON_GET_CLASS(s); =20 info->set_tpr(s, val); } =20 -uint8_t cpu_get_apic_tpr(DeviceState *dev) +uint8_t cpu_get_apic_tpr(APICCommonState *s) { - APICCommonState *s; APICCommonClass *info; =20 - if (!dev) { + if (!s) { return 0; } =20 - s =3D APIC_COMMON(dev); info =3D APIC_COMMON_GET_CLASS(s); =20 return info->get_tpr(s); } =20 -void apic_enable_tpr_access_reporting(DeviceState *dev, bool enable) +void apic_enable_tpr_access_reporting(APICCommonState *s, bool enable) { - APICCommonState *s =3D APIC_COMMON(dev); APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 apic_report_tpr_access =3D enable; @@ -116,26 +105,22 @@ void apic_enable_tpr_access_reporting(DeviceState *de= v, bool enable) } } =20 -void apic_enable_vapic(DeviceState *dev, hwaddr paddr) +void apic_enable_vapic(APICCommonState *s, hwaddr paddr) { - APICCommonState *s =3D APIC_COMMON(dev); APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 s->vapic_paddr =3D paddr; info->vapic_base_update(s); } =20 -void apic_handle_tpr_access_report(DeviceState *dev, target_ulong ip, +void apic_handle_tpr_access_report(APICCommonState *s, target_ulong ip, TPRAccess access) { - APICCommonState *s =3D APIC_COMMON(dev); - vapic_report_tpr_access(s->vapic, CPU(s->cpu), ip, access); } =20 -void apic_deliver_nmi(DeviceState *dev) +void apic_deliver_nmi(APICCommonState *s) { - APICCommonState *s =3D APIC_COMMON(dev); APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 info->external_nmi(s); @@ -193,16 +178,14 @@ uint32_t apic_get_current_count(APICCommonState *s) return val; } =20 -void apic_init_reset(DeviceState *dev) +void apic_init_reset(APICCommonState *s) { - APICCommonState *s; APICCommonClass *info; int i; =20 - if (!dev) { + if (!s) { return; } - s =3D APIC_COMMON(dev); s->tpr =3D 0; s->spurious_vec =3D 0xff; s->log_dest =3D 0; @@ -233,13 +216,12 @@ void apic_init_reset(DeviceState *dev) } } =20 -void apic_designate_bsp(DeviceState *dev, bool bsp) +void apic_designate_bsp(APICCommonState *s, bool bsp) { - if (dev =3D=3D NULL) { + if (s =3D=3D NULL) { return; } =20 - APICCommonState *s =3D APIC_COMMON(dev); if (bsp) { s->apicbase |=3D MSR_IA32_APICBASE_BSP; } else { @@ -262,7 +244,7 @@ static void apic_reset_common(DeviceState *dev) s->vapic_paddr =3D 0; info->vapic_base_update(s); =20 - apic_init_reset(dev); + apic_init_reset(s); } =20 static const VMStateDescription vmstate_apic_common; diff --git a/target/i386/cpu-apic.c b/target/i386/cpu-apic.c index 242a05fdbe..9b6c479865 100644 --- a/target/i386/cpu-apic.c +++ b/target/i386/cpu-apic.c @@ -48,7 +48,7 @@ void x86_cpu_apic_create(X86CPU *cpu, Error **errp) return; } =20 - cpu->apic_state =3D DEVICE(object_new_with_class(OBJECT_CLASS(apic_cla= ss))); + cpu->apic_state =3D APIC_COMMON(object_new_with_class(OBJECT_CLASS(api= c_class))); object_property_add_child(OBJECT(cpu), "lapic", OBJECT(cpu->apic_state)); object_unref(OBJECT(cpu->apic_state)); @@ -63,7 +63,7 @@ void x86_cpu_apic_create(X86CPU *cpu, Error **errp) * feature in case APIC ID >=3D 255, so we need to set apic->cpu * before setting APIC ID */ - qdev_prop_set_uint32(cpu->apic_state, "id", cpu->apic_id); + qdev_prop_set_uint32(DEVICE(cpu->apic_state), "id", cpu->apic_id); } =20 void x86_cpu_apic_realize(X86CPU *cpu, Error **errp) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 455caff6b2..0a66e1fec9 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -8789,7 +8789,7 @@ void x86_cpu_after_reset(X86CPU *cpu) } =20 if (cpu->apic_state) { - device_cold_reset(cpu->apic_state); + device_cold_reset(DEVICE(cpu->apic_state)); } #endif } diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 309f043373..f7a6ef650a 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -5029,7 +5029,7 @@ static int kvm_get_mp_state(X86CPU *cpu) =20 static int kvm_get_apic(X86CPU *cpu) { - DeviceState *apic =3D cpu->apic_state; + APICCommonState *apic =3D cpu->apic_state; struct kvm_lapic_state kapic; int ret; =20 diff --git a/target/i386/whpx/whpx-apic.c b/target/i386/whpx/whpx-apic.c index e1ef6d4e6d..afcb25843b 100644 --- a/target/i386/whpx/whpx-apic.c +++ b/target/i386/whpx/whpx-apic.c @@ -151,9 +151,8 @@ static void whpx_apic_put(CPUState *cs, run_on_cpu_data= data) } } =20 -void whpx_apic_get(DeviceState *dev) +void whpx_apic_get(APICCommonState *s) { - APICCommonState *s =3D APIC_COMMON(dev); CPUState *cpu =3D CPU(s->cpu); struct whpx_lapic_state kapic; =20 --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701018; cv=none; d=zohomail.com; s=zohoarc; b=FP3vID0QJevKYOyo5VUCYYwUO682zNNYrEWQD1QxAv7TWLQYfmhT8CWnFzKEGwX5Se9wv8sVJYyjUNCLv1EVfSNHQ461QWY64Ujy4NYsoTjlMWVtD/s5F8V6l9GYf3HGqI6+fa51ds/r9iA3z9TsiyD51/wHdn1QahAadVLwyAM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701018; 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=BM6QgAOG34zDGb9jZI8DkkbGa1KuVCoA2kRHxsUOX8Q=; b=mg09zGKJPUXj7o62SgNAPv8RUgdPWEE119LxKCA52t6j1qX7MwhPXJ6Y5SZz6v1bYro7AJlsqwlkSxtdow8QVj6+lkbd+3PNVdm8DjOKejrWSuKodzNML+HTtTCbHxrXgprPHPAv1TYzXgsM4CiSAiOrpJCIjQu4/1qdM6aZPxk= 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 1760701018738423.5369776652258; Fri, 17 Oct 2025 04:36:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ijD-0000si-WC; Fri, 17 Oct 2025 07:34:36 -0400 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 1v9ij9-0000qx-EX for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:31 -0400 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 1v9iin-00061f-7n for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:30 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-470ffbf2150so16769215e9.1 for ; Fri, 17 Oct 2025 04:34:06 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.34.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:34:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700845; x=1761305645; 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=BM6QgAOG34zDGb9jZI8DkkbGa1KuVCoA2kRHxsUOX8Q=; b=J0/Q8a99uHbddqr8eEuhbYg43kERV6BnoyqXqKY/153/gVWnO9phgn2vNhbypyHYIv /w6tNgbDDol8jIq3OGGGZudff1HmpszhTavgO1rhdZh2K8u0JSiqK3I2QbyHd+LweUx9 UhajrPDExSoBIFnWiyYTVHy3iPQwqbu9aciUdoUoU9CsC7G/Kjmf5OwCHIhWQA1Oeyk1 nyj0e8qJJQ+58zqVQQZnXmR3w7J6qBxLm87ZP1cS43GmLrJ0UW1WTS3MOtEHfTA+xt/6 3r5cNCaEgMtgQR5v6xwHRR5EDEBOVX610aWvyzuLqvMEtQKUY5v6PnvHgjovVaZHJnuf xGsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700845; x=1761305645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BM6QgAOG34zDGb9jZI8DkkbGa1KuVCoA2kRHxsUOX8Q=; b=bVWTUYojhkTzzsOf1Z2DB6GpeMCGINRoEquzp7lXtCBThoUHLNo2GVJu1tBLHiNu+n YC5DKzGL8lKX8c0Qb93wknXt7flf9fXYPrSjq4b0dy+s6Pu6idNgZWJMZG1GsjXUN9ZO 0Zw3zgPW7coBjh423TyoZ2EVpu6Zk5QSkFKHYQOhIvhbR0tqXz36XhHLDhnubZ/4J0Ub 7S4avfWQC9DKsLhOc5UZV4FWAimzC8jeOrh+cLTZq/rw363NPiv5fEqpJk8vazDqFuPa WsxVziCGRMzKG+AVpQkjQn5DpNhzXJCBJi7v6PE5Xur8Fvgwf+KSlGVXV5B7yQKVgASe N1DQ== X-Gm-Message-State: AOJu0YzCI6iUssxr9AnZDqzr/eanSuDbH44xIcS9j3b8mlsOX+vqLSSy uvko2/Sa6+69WaPAeenkm08M0om4vMlQQVfTrXEEa8oA/Nb8nJFFVYdz+0eaTg== X-Gm-Gg: ASbGncsusWophoTKjNOwQscAjZIopSLIb7+j0oxkuR4/q7Yv4Mfo96N5RAfFcUxWcIK 4OojW7ffJNretw5RX6bbYB75CimWugP98Cxj3KyDTVQHm+NiSDAYiBiXXXsGnH1i3obJp4JqRh0 6d3syplFDVloWFyhGeS/286MnYWgmBWE1iEIAA+tT7zyKS4eLfRBqVZDPgQY0g8aMewsrSWc8gO pdvjH0NSn80QAX2eTGOwNxdSn2+/IvFtQxc1xm8zKzXh6KhfRmB2qie9dG2HbRXgpxX9jXz62EA /xSFJoaYICOMoO1srwajwzPWvU87AB5QzXpyp9IuqLHNepZuXCiHjpJWCmdLia6B4HQnTI7WH+D l+ISouh0Z+9IDP0p27BrEuSJRM9v39CBtpg7zN4aRgG5DOu4CQwvwAsYK/9qQvi3ahlNoyxRrHr R+yJjlFHKWKGzXlXu5TgBUD3QYzoetCxbq X-Google-Smtp-Source: AGHT+IGLsMwNa24SVKElCrTuDly2JhrkRR3DVkahMshWsaOruLCSdJ+4rhKxrSHRXVTtx+GQp2kERQ== X-Received: by 2002:a05:600c:364d:b0:471:6a1:26e7 with SMTP id 5b1f17b1804b1-47109b4f8bemr37360005e9.12.1760700844745; Fri, 17 Oct 2025 04:34:04 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 7/8] hw/ide/ide-internal: Move dma_buf_commit() into ide "namespace" Date: Fri, 17 Oct 2025 13:33:37 +0200 Message-ID: <20251017113338.7953-8-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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: 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: 1760701021435154100 Content-Type: text/plain; charset="utf-8" The identifier suggests that it is a generic DMA function while it is tied to IDE. Fix this by adding an "ide_" prefix. Signed-off-by: Bernhard Beschow --- hw/ide/ide-internal.h | 2 +- hw/ide/ahci.c | 8 ++++---- hw/ide/core.c | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/ide/ide-internal.h b/hw/ide/ide-internal.h index 0d64805da2..281d07c9d5 100644 --- a/hw/ide/ide-internal.h +++ b/hw/ide/ide-internal.h @@ -398,7 +398,7 @@ int64_t ide_get_sector(IDEState *s); void ide_set_sector(IDEState *s, int64_t sector_num); =20 void ide_start_dma(IDEState *s, BlockCompletionFunc *cb); -void dma_buf_commit(IDEState *s, uint32_t tx_bytes); +void ide_dma_buf_commit(IDEState *s, uint32_t tx_bytes); void ide_dma_error(IDEState *s); void ide_abort_command(IDEState *s); =20 diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index 1303c21cb7..14bc66fb7f 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -1417,7 +1417,7 @@ static void ahci_pio_transfer(const IDEDMA *dma) } =20 /* Update number of transferred bytes, destroy sglist */ - dma_buf_commit(s, size); + ide_dma_buf_commit(s, size); =20 out: /* declare that we processed everything */ @@ -1482,8 +1482,8 @@ static int32_t ahci_dma_prepare_buf(const IDEDMA *dma= , int32_t limit) =20 /** * Updates the command header with a bytes-read value. - * Called via dma_buf_commit, for both DMA and PIO paths. - * sglist destruction is handled within dma_buf_commit. + * Called via ide_dma_buf_commit, for both DMA and PIO paths. + * sglist destruction is handled within ide_dma_buf_commit. */ static void ahci_commit_buf(const IDEDMA *dma, uint32_t tx_bytes) { @@ -1511,7 +1511,7 @@ static int ahci_dma_rw_buf(const IDEDMA *dma, bool is= _write) } =20 /* free sglist, update byte count */ - dma_buf_commit(s, l); + ide_dma_buf_commit(s, l); s->io_buffer_index +=3D l; =20 trace_ahci_dma_rw_buf(ad->hba, ad->port_no, l); diff --git a/hw/ide/core.c b/hw/ide/core.c index b14983ec54..8c380abf7c 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -827,7 +827,7 @@ static void ide_sector_read(IDEState *s) ide_sector_read_cb, s); } =20 -void dma_buf_commit(IDEState *s, uint32_t tx_bytes) +void ide_dma_buf_commit(IDEState *s, uint32_t tx_bytes) { if (s->bus->dma->ops->commit_buf) { s->bus->dma->ops->commit_buf(s->bus->dma, tx_bytes); @@ -848,7 +848,7 @@ void ide_set_inactive(IDEState *s, bool more) =20 void ide_dma_error(IDEState *s) { - dma_buf_commit(s, 0); + ide_dma_buf_commit(s, 0); ide_abort_command(s); ide_set_inactive(s, false); ide_bus_set_irq(s->bus); @@ -893,7 +893,7 @@ static void ide_dma_cb(void *opaque, int ret) if (ret < 0) { if (ide_handle_rw_error(s, -ret, ide_dma_cmd_to_retry(s->dma_cmd))= ) { s->bus->dma->aiocb =3D NULL; - dma_buf_commit(s, 0); + ide_dma_buf_commit(s, 0); return; } } @@ -912,7 +912,7 @@ static void ide_dma_cb(void *opaque, int ret) sector_num =3D ide_get_sector(s); if (n > 0) { assert(n * 512 =3D=3D s->sg.size); - dma_buf_commit(s, s->sg.size); + ide_dma_buf_commit(s, s->sg.size); sector_num +=3D n; ide_set_sector(s, sector_num); s->nsector -=3D n; @@ -944,7 +944,7 @@ static void ide_dma_cb(void *opaque, int ret) * Reset the Active bit and don't raise the interrupt. */ s->status =3D READY_STAT | SEEK_STAT; - dma_buf_commit(s, 0); + ide_dma_buf_commit(s, 0); goto eot; } =20 --=20 2.51.1.dirty From nobody Fri Nov 14 16:41:16 2025 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=1760701050; cv=none; d=zohomail.com; s=zohoarc; b=M2mH0U4NQcnKQOsDWqZhK5q+cUq9nfZY40Ci9D+kAeXPwQHKOfI6MdAiEgS7sjaWRHmkqUSLFFcuI5iNNmH/Ifc05TdazbxrzbSw9CfLm3kSbo7iwZqQVWJVoUXMB6l3rf06E8lv0Jg3ugW+xR9Uhr/3Va7l7NDf1Ur+OjHaguA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760701050; 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=oQnslZlvL/ycghWXR/jv6T9Aq0fKGJTc5vHN36t+VJw=; b=cxO7yW+s/6T19kg6nEC3Zmo1HgMvk5G8LwL8o7MA6SAo/0yfvflu3FVhV1RSoxBAeGpGLWhgRMYgecZBF8OiaWldZlMhM5MRODyTo17brA6YtYFKPUA6ktCIgEeko1Lu5WxjTGf5RNcmsABzgMWLmjijA5TNLcGuqzQLwz7w1gI= 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 1760701050879674.1730944254776; Fri, 17 Oct 2025 04:37:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9ijD-0000sX-Pl; Fri, 17 Oct 2025 07:34:35 -0400 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 1v9ij8-0000r5-RH for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:30 -0400 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 1v9iiq-00061w-SX for qemu-devel@nongnu.org; Fri, 17 Oct 2025 07:34:29 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4711f156326so4640845e9.1 for ; Fri, 17 Oct 2025 04:34:07 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444c8adsm80395435e9.13.2025.10.17.04.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 04:34:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760700846; x=1761305646; 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=oQnslZlvL/ycghWXR/jv6T9Aq0fKGJTc5vHN36t+VJw=; b=F45eIRMlYdwRVbgsxKk22mh1tooZIUWGafXTjemdGjqvVvrO3cJIP6Z+dCzXphNNLs 5oBjnhSupX/5A+B+m232xyi0Qv2WZpPodb/hvMmAjI6qnglCywBedsXumAc3YMQDa3MS 9iOAZzKHlJKbUgfgPg5nr7yje2gUYAu78YZNdPP17/1AuremIckUatrI7Jy4im8jZFeC FLIVUhnrX2nI1AS1RGc5opW8LseKx22jaFLR8EiGghtZAS6RqTM9Lcs5LIIF3cpf3yxP S3SoWMPlUMLxwsbRHlGowz4Wo3LGn1jXZvvaKRc+B83A1MLBNdkH2QQABnTr01YBz/kO 4BrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760700846; x=1761305646; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oQnslZlvL/ycghWXR/jv6T9Aq0fKGJTc5vHN36t+VJw=; b=npIOXSwTBpIWIjyeA8oSyWFjE28ke196tqfA/9oblyLYHVSk8DPUGHSXHFj8+vNmzJ EgiI4/EUtd6MeI2iE/fc/in5pmpjiD6Sw2q8Jh/4s5NwBZE409kLtmNkR1bXtyJB9JBc lrYpnG5oaP0EujiXmdMmQYKeL77FSuWH8pEl1a7u6MF/oJHdUnKj2AsogRIOuc7sWR4H e8RsBBmIOsTPxtR8xF1e5zZqcuwEF6zXObzIcwzuwaoF9JAKZvlEiZM96xHhhkal9kOg Kjf57sqrnKskG0lJvRsE/IX62lwxIFwIlJmxOIJb4ELdRGh09VkGgfJt7mkpl/i3ztjO DTeQ== X-Gm-Message-State: AOJu0Yx2vmBCa67sI1ImK771sxx92tbfpw/IXw/m4/vX8YVubxKVakbY wcipH3npkfxPqYUBCvMaXMqq1I6FeDurh57cvuwow+72gRG4GY+99m6HbNaMsg== X-Gm-Gg: ASbGncvPsyeTlrsc7DnKFKe0znVCod+KUcE3XcDTcIpLPEA1fGqzVhiJT7zJm3xcW4O uW3sp6N6cHIZH3FjQpaDKowtmeWPxDdT63yAu92+4bZAxhjA0frcsOJH/h94qEmgT0UTTq9tlCZ AtPSHotUH8Rde+5Il4JfdGwVOEqi3Rh8H6s9LGCtWORXgzNSiWFkaZMwBSR9i1++6QpSrCBeFCq 3McyOrzAMM4f5aJyCmypaQQY8zcSApBmkCllKdXluI3SM5Gzkl87ZQenGLs/BqirLCWVVgA1Wtr nDPpdDn7pX0+kHvPq6UXsbPgDzqxRWiB0tjVeXCitw2E6bBRAnKz9Dp56PXFDp8DZ3yYWLL27SS fUQLsjiSPtIT+lR24U/6h4HjCEMoLgU1S0ydYIOjoDEiuB6siAbhvtyfNposIf4sq+qYsRgfWSJ 4P924N8NDnVE0at1lRtyo6UKpnCrmE9aWe X-Google-Smtp-Source: AGHT+IGDXcu2rXaYf088S0s5/SDu9Cf2kgWGnkugds6Z0E40Y/sQzyHqYGd7lbYq4iS2oi2fq9qvDg== X-Received: by 2002:a05:600c:3e86:b0:46e:36f8:1eb7 with SMTP id 5b1f17b1804b1-471178a3a94mr25753985e9.10.1760700845944; Fri, 17 Oct 2025 04:34:05 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Laurent Vivier , Eduardo Habkost , John Snow , Fabiano Rosas , Laurent Vivier , kvm@vger.kernel.org, Zhao Liu , qemu-trivial@nongnu.org, Marcel Apfelbaum , "Michael S. Tsirkin" , Sunil Muthuswamy , Marcelo Tosatti , Michael Tokarev , Richard Henderson , qemu-block@nongnu.org, Paolo Bonzini , Gerd Hoffmann , Bernhard Beschow Subject: [PATCH 8/8] tests/qtest/ds1338-test: Reuse from_bcd() Date: Fri, 17 Oct 2025 13:33:38 +0200 Message-ID: <20251017113338.7953-9-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017113338.7953-1-shentey@gmail.com> References: <20251017113338.7953-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=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: 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: 1760701056053158500 Content-Type: text/plain; charset="utf-8" from_bcd() is a public API function which can be unit-tested. Reuse it to a= void code duplication. Signed-off-by: Bernhard Beschow Reviewed-by: Fabiano Rosas --- tests/qtest/ds1338-test.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/tests/qtest/ds1338-test.c b/tests/qtest/ds1338-test.c index d12424d27f..b8d0e65ec4 100644 --- a/tests/qtest/ds1338-test.c +++ b/tests/qtest/ds1338-test.c @@ -18,16 +18,12 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bcd.h" #include "libqtest.h" #include "libqos/i2c.h" =20 #define DS1338_ADDR 0x68 =20 -static inline uint8_t bcd2bin(uint8_t x) -{ - return ((x) & 0x0f) + ((x) >> 4) * 10; -} - static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { QI2CDevice *i2cdev =3D (QI2CDevice *)obj; @@ -39,9 +35,9 @@ static void send_and_receive(void *obj, void *data, QGues= tAllocator *alloc) i2c_read_block(i2cdev, 0, resp, sizeof(resp)); =20 /* check retrieved time against local time */ - g_assert_cmpuint(bcd2bin(resp[4]), =3D=3D , tm_ptr->tm_mday); - g_assert_cmpuint(bcd2bin(resp[5]), =3D=3D , 1 + tm_ptr->tm_mon); - g_assert_cmpuint(2000 + bcd2bin(resp[6]), =3D=3D , 1900 + tm_ptr->tm_y= ear); + g_assert_cmpuint(from_bcd(resp[4]), =3D=3D , tm_ptr->tm_mday); + g_assert_cmpuint(from_bcd(resp[5]), =3D=3D , 1 + tm_ptr->tm_mon); + g_assert_cmpuint(2000 + from_bcd(resp[6]), =3D=3D , 1900 + tm_ptr->tm_= year); } =20 static void ds1338_register_nodes(void) --=20 2.51.1.dirty