From nobody Fri Nov 14 16:58:04 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=1760710552; cv=none; d=zohomail.com; s=zohoarc; b=KE/THarS4NhDU5WBTPyxNFZCYNyYcuBoVu4Xy2w3rZSTqqynjT0xeAVBS7X2XTTBDQqTtPM4QGTQSLJQaQRxw8intJUjJc0tgzAqfAwFarEUSSB1BNzrZ9PXiV+XiWYwVOM4fhM6YblwbqXa/crHf34YeyYL9ZJU1mZMLEdmaKQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710552; 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=GgVpBBdQfyMkG+2Z7X4k0RFuyxTbZLwYjQtv9cwLHv50H2CDn4QASHQeqq7iOpZIvw/lbGvwg2uULSVBrpIQTg729nlHjIdUImdxdbtlrCCn7EvaEZ1F3dL2TjtR3Y96M5d1+pddQKuBcuowviI1BiIM9qYh0CdaQkEm1NLlHT4= 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 1760710552851722.2318903516676; Fri, 17 Oct 2025 07:15:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCd-0004hd-QP; Fri, 17 Oct 2025 10:13:07 -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 1v9lCY-0004fr-AW for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:02 -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 1v9lCN-0005fU-7H for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:01 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-47112a73785so14863425e9.3 for ; Fri, 17 Oct 2025 07:12:48 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710366; x=1761315166; 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=HBe/Q+M+FQqmcb19I6gB6NwtH0UfyQyIUB8Anp5N0O43ChilinCZGfdevtC3np6x6S BVyj4YlFL459Lk66CQ90szBu4J6ZBWxMdGMAgD0TPZrcSZqOwY6102qdLBaoD9KSONGc puEcoDN75mcguzhZhebEu41Nz3N83lKfGg+7LwgynXxRB4Z3vTXINzFIG6h0v0phiBui glGkSC7GLLBZ+efc3zPuRk9YVVpcLlHVIIbnIHfGgHzkBr0Cvv/xB5NmvZibDhcY9ueR VDmSkMQHi+WwqSek1s2Kzny0Y4HpgY8TWJNOXiVmemBB0G0VB/EsaH8hCGWXDfrkp5R2 Gz9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710366; x=1761315166; 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=lsTWG3oanlQsbIDlc07OiyZXIJLyGwfKkNxDnkuk3/29PjBa/Y/6zwQ7a94P1gNsQW 4zh0DfE2ux10Eq9YJzviliNdrzWBf2pPosvX4r7VFOFLGCxcS2XMNqa4Ti6A80S1V6Je vAg579O/UMHmjavSpYh0ENUkdBK2wDxXZ+gMooa/QlAc+Q3H7irbmBjM3249G/1WJvMA 5C8IvNMJ1C6QG6bfWUMMxHDT9Y3hL3+5jE/iXxkq6QpQyPzT++lyfj4RitsxJij2DYkG ZXe4ILYojwtYkjqiCYWc7Q2pTtvzEiEvgiWP7lXf9AJOO7Zu6pInXVnA+unsblg7vU6x CbWw== X-Gm-Message-State: AOJu0YzJpgEFrl+XTPSqtR6Axxkq26fxAYR6cKQZ0UdSCn/zhIfSsSZW M9S7W80bG1rJaRXOUN/gDsZF8bHHna5Evp/4CWhZbtgWagraurgw9h7QN7dhpQ== X-Gm-Gg: ASbGncsKDIKYN98LUsao6AHcQ4dJo3/oueWex8BidsJJTGt7omsLQtATI9U3QXl55eo n55mB77ls+ur4IOcuMda82L+N0yPeOcAqyWEHPg6KHLH0Tb1Nr+qiPwjjzGeBxHVpnWdUQTvsq9 WlM/RCR80e/7KaE9BEVZd2YAM2JohNdnQQdKQC4OS3w41dI7JavOwxKgsNWcLsDDn7hw/VCOedV OE/liAkhvC+EwgojF/opAwU/7hHuLBEq/UOTj7MXtMOV3klEp7TTu3lu21frZ+qOFaHBQ5CFFzo WkUWoXTWL0LR2C+Bq3tWEGD5Oi+gArsona9yL/QNupORGOfW0QkZFYEKREtiGaEER2FGEnyamSV M+8gwUks1stJtmlcQj6TM7zMWpM4It2SW0WfLkR77FslEgSB4KfvWtOWGJWnW9jXwQz+IQZHLU9 Z2SjJ6fIx4ySocO0p3t6Xky5+bfaXuK1Xy X-Google-Smtp-Source: AGHT+IGHj5C2eusACsFwArx+C7dtue7Nn7sN6TxgdAb/eWFrYxY0hNIfyjFi65Oo95iq3W/yO2xXEg== X-Received: by 2002:a05:6000:1865:b0:425:8bd2:24de with SMTP id ffacd0b85a97d-42704d145c9mr2514261f8f.9.1760710365572; Fri, 17 Oct 2025 07:12:45 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 01/11] hw/timer/i8254: Add I/O trace events Date: Fri, 17 Oct 2025 16:11:07 +0200 Message-ID: <20251017141117.105944-2-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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: 1760710554959158501 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:58:04 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=1760710498; cv=none; d=zohomail.com; s=zohoarc; b=GK6e0I0SGzPDF6DS9TmHXb1RjUrnrum9Ysmg0eGYPdiGrGyS1aTNg9+dxLKTpne4S8z9YdgIFo57LkY74H4+8IZF3wACfBYeuN5DeBS/qwwys4TSoe8VFin96yel+I56onFCN3cAm9XTbOs9m/zoHLnWyATOEyxFUUT+5Tr8mgE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710498; 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=Jdy4Gkl7KMgalUbpQKNaKvAIYbSWqCg7a0KqNhZFLAfpp6wHs5gbavpAZEj2X/qEKJTMeRkgZnusrJW8n3zQFjtodMIX/DHSnUdA//sAnYrzveTwl5466l274SuIYSP4ckizRvXp1/a+xGWelxx/zJLkMk2MdUcrtgnAUKEiP4c= 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 17607104984211011.5468928363663; Fri, 17 Oct 2025 07:14:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCY-0004fq-7X; Fri, 17 Oct 2025 10:13:02 -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 1v9lCW-0004eK-JH for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:01 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9lCM-0005ft-U7 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:00 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-4270a0127e1so215928f8f.3 for ; Fri, 17 Oct 2025 07:12:48 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710367; x=1761315167; 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=amsn5G/cU4k+ME9GC7M0RX6kU05AK2j5JR5DY6h6jCNWeZcyHgqPa3RmQG+1j8WBcv ooxF9ClUyeAaZDWBGcng0YIZrNbcIpQm8+wx57SDAQVO2xtMd6VrD+pGi0J3GUHK9+ha xtY1uVkQ6uy82URRZr6GJcxRbcTlMNB/ESG/rT2jKm0I/yW9p8EfIQqwYKQu5VGE5IX1 IzrewAWDgdF+PTHEk/rUgGmxU/4nIZcMlWUgK0nBJcx8OHJh9sl6Iybk7mw67Qd/UVKR k65l/NapPLrdHrWeueoIkHbEnE8Z3TFDxeqy1zwA9ClagqVCc7dqCHNFZPFG6nUz+7zL s+9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710367; x=1761315167; 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=bf+Gc9kyyMixDt5nPIV1fPXivXDJlZ1iDRhQo4uu2gavvbKQl6VaC+HgR0eeyCrx34 vMlUSSNS0XwA/5DQi1KNq8Y0T7riWYGHcCS7Jf/+ERVTPLsJ/QAiB/1/kQyKOGdL/8ha TNoP7VacUGF5KjAIxb1Of/AsJ6FP37wB4keQtx9E0o5XOIkD/s971u0swz9I1eFl3+nv acwVTHnRxJPlejzHbK4jkcKlYtPZu7amcKkH8JTOYEdQshpj1ibVDMTVbUi7zjIdnO9U iKrVZh7mQeq/kwUR/0bcDs2N8auSduk0TnmMARJRmzxqQKhk41VJBYTRg+MO5GeDq6jw 90Fw== X-Gm-Message-State: AOJu0YxaKMc9jlg03TJ5tWnM3I2O35uIcdEGJnPiOujZDUJyOHqt+sCJ ccoSs2OEKQP+jR1Y7T23OTASHkT8ss5++sjfZmnZ4n4MvnM9PdO98DdME16Rbw== X-Gm-Gg: ASbGncuPaJ1EZ+R7mCrQIYTPSgHFEL/7C0EnajRQnbXjmyMFWDjwhYGsBMVIztgEWQx US/nZAljet1zm7prh8qyxwK3suHDrQZkd5ovjEQ6dDv0HOVmu+jgxyGxE+EtGZjKUfhzyUM+V5E 12RWkFcKvLQRoxjADi3nIJKOA2iIRAA+IF7iisOjLzGpbIABHbcZmcOPvSqp1wLCnQq7RQHd49d YvTTMZaD09EqTTB3N4Vme7YFvr2kw6PDz4kRvIhfyDYbtToQhaZCPJA6v1/3Ja2NL5vqfGX5FA4 yKmayIYESRDY5r3WKjKFm21XqYW1bFD9NjmnOtzKpReiajPBL/MVIhrslYAZfdLrVrVwl5aXTJn bl2VqPupAxvAzSemYoSOx3C7oZo4Z4Qsi8eP8TZthcSao3yGBwjNbG4qe19ZJxiCyq4TBCSdBbV DEAh6j/HraHIg9Dj8Os2UTB1tLAhfGjLfcfq2sd5ocAR0= X-Google-Smtp-Source: AGHT+IEpVNrad4ULoYv87FWp8OQYnoQLnUzWsjxgBNny7ih8x0h9VPWd6hpnLRrzvILGi/tZVWmNGw== X-Received: by 2002:a05:6000:250d:b0:3f8:8aa7:464d with SMTP id ffacd0b85a97d-42704d9b235mr3022647f8f.42.1760710366783; Fri, 17 Oct 2025 07:12:46 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 02/11] hw/audio/pcspk: Add I/O trace events Date: Fri, 17 Oct 2025 16:11:08 +0200 Message-ID: <20251017141117.105944-3-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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::435; envelope-from=shentey@gmail.com; helo=mail-wr1-x435.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: 1760710502454154100 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:58:04 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=1760710637; cv=none; d=zohomail.com; s=zohoarc; b=KwcNLT425Ov8829663eWqUx4dFiC7Tyfl8mTZUgmh7Umci2OlLMgs5ZjkbbbiUH5AhOxhHrGzBegOqNGFQuN6jZ0O9AFZK4fpY2H7y9nWnfx9WS3rg3l4QCg9wfP5jbmCXZFMjC9o8qepMaCZlZj3tVIR8EOnsZW18bGUNJWIks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710637; 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=E9bUlLU+UEcMZ/cSTzflTr2rtoscr/ze0jkkLQkedTXWG2OUZVEsHWxzPYIFg3hfru8P4P8LgkXddiF6LUYRVAZyQC4+YWoQtvxBuG11qXAFF+rbt1vsvN6vUa4QFt7DGcHo5wbnYPHBe/vAllVOKjGqqvPWz3iA8vc5mESacrE= 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 176071063778627.825468480724453; Fri, 17 Oct 2025 07:17:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCm-0004m1-KA; Fri, 17 Oct 2025 10:13: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 1v9lCf-0004jC-J3 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:09 -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 1v9lCQ-0005gT-6s for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:08 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-47114a40161so19688655e9.3 for ; Fri, 17 Oct 2025 07:12:51 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710368; x=1761315168; 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=ZUKYJdrMcPHLsaW3sELc/wPljyOuA8KNMhYRpoIn7lUZkeIhvFyM6y8yJe+lumISuS 4QRuvg0Q1FgwqwcAQ6n8EoOWLmcAziNEX75+Wg7cnBWlT14aohUJ92h9QK9hZ338FmVo V9+/PeT5i34x3R7jVeLfVrv6YLIVeDFwRV3K/lVZQ/2JLqsLghwwXG4o3ItVnnfWX0IP Vi3ViVTpRvUYJ3jDS62tdnGOvKsVUvts63jMaI1MyvEpijpw7205Ym4qnYnIgen+iRKA GTbtPoHMCV5Grsgsk9TgtG7wMhZzxj7R3a1VjCGR6juu06JLSIcD/rzHJomdO3uZ3gAN 7YOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710368; x=1761315168; 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=RduQl2Mp8TmSC1MGEFvYZ3aR5k2QBY3D01m8/wI9yDjJAPhMCt5kY5ZQ3J13yeOBkK YoDWQp3Xcbcfjb73DKOj6P/6i48rGXOsurLMgwjABKcCVsJee1Yqq9jkJc+JaX827sOw ENoLuAEqhYD5brCtvKLWt6brrTPcrYj3Opp+Bk7RKG3Q0fZ0DYndE1xkcA37+KWJJhg1 Fg8qeRGJNwnzUAdwRQ42BkSIDZ1PdzddjGPeh/6mNPHp4uLAwCLE8YHHf89nCMMqpf37 CYPBOoLwW+Rdm+4dxQPGBpMKY0K1P4HG+2aNh4WmxtLP3BXn9gK+sKi/NG640n0aQHo2 vdFA== X-Gm-Message-State: AOJu0Yz0fMqnV2pllV9vXs3Y0y4gwV3dN2lHUv/tB8vuHbgdLW0Rg0Y+ TUJV4c3Qk5RyoTY8boWo48HDPyohICRLBrKKwes7uWLseXtJRG3DtjYuP6Y9kg== X-Gm-Gg: ASbGncsPB8nSsDHBDGmANsvT8fCVQoonw7HyfnhqFUtkPGaCx5BGuti7lKk1lLlseTp 8mpafmQALXfND7MRNiMCcBn2RkpbMkeFZ3H7v7SmqzCfUSgQR9ixOc6MbxfUV+uIuqdVpmRMVsC h1IjmYJ2RrOLdRdDb7EhSr9zyMW1ldgNnbri3uVqhCW0/j4e7+GQ3nclFDfC7ceBe63NXJ9tl6v VzNt0abCgEJVRBre7k7Bnget1CxJD0qy9p5VJXbY/5wQG+bbezucFNSnVlR9BEyU7eg+y9vmH0Z EDVfvkyEYH0gQdyp171sIgw3AH/FNUqntDeUjzw/2H9kVjyf14tUneK6Kizo5vaD+JGtiGFsE58 bq4J4GN+xQSKuYx5NKyA8NJrXGm0bLXO/6Op5ggOywZxBmGBlQvfXEASTKS1TG70MsEOJYKc6L5 iNcPlz/IBNetF7wkiIpX9h1+VAL3D1WpQppAXXyGl+35k= X-Google-Smtp-Source: AGHT+IGhiyzkzAr+6r0KBtkLRDLs2tlXhqCkwBqEUxcf5/lWQeWBHbLeSI13oIDWMKk0dtvqeisVSw== X-Received: by 2002:a05:600c:3488:b0:459:e398:ed89 with SMTP id 5b1f17b1804b1-4711786c586mr30171665e9.1.1760710367930; Fri, 17 Oct 2025 07:12:47 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 03/11] hw/rtc/mc146818rtc: Convert CMOS_DPRINTF() into trace events Date: Fri, 17 Oct 2025 16:11:09 +0200 Message-ID: <20251017141117.105944-4-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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: 1760710639886158500 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:58:04 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=1760710550; cv=none; d=zohomail.com; s=zohoarc; b=XwxizIYn+Zd/TSl+2E8j5phd3of12UoM6Ug8j4d1wleGYOnvcJExWLMVKCA/OMhxkwun29RGPGcBrN5dg1auJICLdMP3IxIUG7rVEaVSpDd2AI1nqdCiTzTlTXitgepBXoQ3eagl9zM2W1ZjIUA2tS2H4q4hQWDwi2Sfjb00Bao= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710550; 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=USgsrwJbQqHXAUpbJHvSnHSKMxlqjYpkMS1NfR76yOyDNVNBktWGzX1cd9aP3650YGPTqSzZXrQMCaDaEpmgYGrFvD8mL4xTrcqkbGXHnqzmVwImHflOha0+kogeJEy9SgqFwHd7z1ukvsySmhg+kPJrkc+kKnMz2aXj/ZYZycg= 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 1760710550649988.4233580842226; Fri, 17 Oct 2025 07:15:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCn-0004nK-NB; Fri, 17 Oct 2025 10:13:17 -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 1v9lCi-0004kX-Iu for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:13 -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 1v9lCQ-0005h7-Ie for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:12 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-46fcf9f63b6so10119565e9.2 for ; Fri, 17 Oct 2025 07:12:53 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710369; x=1761315169; 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=IbUvP/ttLHzkn03Vujr6uXLoSaDKtsfJhgXLxzEB3GdgcY1yQ8m5FFrYi2YuoUK5+C GbqFIE0NSqBNomDp5ypzJc0ToGhpumJwPWGu7OTh+ECy6v9Q1CeQUyfkGyJ/j17ZkMLU IR1cYEkO0476aMV4a5EwlNLcB2z0xsfU/UCp/2gvcsPA8RqpOnPqNacxkvqQiE1hLZrw BM0+kG4nQnPdfLEXlFXgQ22GXzqBahtb9SU5eePp1+AlcJCDGUugiFmSbfvK6N2CFvTy rpE5SJy02DaNCMinKgK47VYXnW1/5WrCBBey62shigz9Qh6877U9uIlIiRslb2ctY5pR jLPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710369; x=1761315169; 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=dVRD3XglOoUS5x2XyHF2yvdhv9tgsWeOlrLkAcFMgDSMpy2N4DxqzzHDCUMenvxVq3 ZGPzcmgYQmZoceniJUEjbPodk3SKgqZtESgadGAmp0LLvHYW3r0Bf5rlzuh5iowX2aXO Fh/lgrPzgsPr3WCeDwTZMilMx0yPvuMaqBXMJGxyC7f6QwF0fmDpf7/76bnrdbpMTBre epC/E99JkdkdI1ZaiJgElPxxeTOxpZUx20iHB0GMYgH8DRvU+/bypTfXAvkPIgJGjGEq zX9IYlzN+99Q7Wa9cWKZLJRBe6ujLyHVyLKjMUjk+9APdQOvkwjzr/q2v9FMQau8rrKY opMg== X-Gm-Message-State: AOJu0YxKfUdxuDp+uWuTLPvOX2CvFK1A4lKdu/6QlEN0Fgj+RjdMKoVl gTwAHrqYqL/JOuaFR3pr83FzltSyhDhz+uwgeTKJlg2Opf1UbhYw8xJdh+X+3g== X-Gm-Gg: ASbGncu1p0bJ2I+0Qly+1JCA6bhj+BpzrQ1ARlMe28KjzRYZVI/XTr4WQDEkLcsTL10 T3I2yZRTmZg6NHRh/XcVutasZ7iEBMjKxuGR2aTqC54ss+tF4LbwW23u2OSlpz8bqlKEQ5LSpy3 4tXzlWfd6IDX7yTre2XE+/gmxmzpKVamdT1P5+yhZS/5vp0GXg70g8liIbiJw7/mEsvch/KaCmm sJrkvR8qJbdILDHZE19xlEquP7vLhscWucsjZCtcgE2zaa/JYFysTdZVRuJONoivY5/QYdxMDB5 PCU5hcnEKNUNivJgIOrgvyjljnZD41qGlEn6opqg6cYLtrcI7C8EW/SkJ+2cmCDCd8u/ehe1cVm wP6ptPAi0xgJNVg++OU2mn3Ol1SbqIaFd7A1otiKFwTfMEM1GKmx0B1k3UzgGL9i05L46UAiZCq Z31YXK2v3fikRumGH84A8OjX+N6F+QVFOr9eBvICLyk8s= X-Google-Smtp-Source: AGHT+IElsIb/+OVACplDy763YqEHBwFhKZ/w/iY2OrFjr2q46IPQug3eVaWvEqAmJxYiR/ktjpqWEQ== X-Received: by 2002:a05:600c:3e8f:b0:46f:a95d:e9e7 with SMTP id 5b1f17b1804b1-471177ab11dmr32479285e9.0.1760710369052; Fri, 17 Oct 2025 07:12:49 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 04/11] hw/rtc/mc146818rtc: Use ARRAY_SIZE macro Date: Fri, 17 Oct 2025 16:11:10 +0200 Message-ID: <20251017141117.105944-5-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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: 1760710557063158500 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:58:04 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=1760710548; cv=none; d=zohomail.com; s=zohoarc; b=LtKC9pDVfD77VA5Q6C+ydXJAnSRTqlfLLVEC3dRkQxsGUnKm9U0u2nfkNsU2owoiTsRHiojX4SCuyt6Km2MKjvtg+CN6bV3XPkFRXupkxZZOZysgKfArR/M4DjHwuwknzhBUEzwLNfr8d0jstj1R6s3MvJuZcqSxY06ABZHDOpc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710548; 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=F8LWUerM2uEoGV6eIhslRAtILAgz2lJ4D1oCkTiak6TpZ1ybTVgR0aNZ+gNU6ZPmVOmECwMyybrXzqWvL4WbLmIQoXFVf3EyQaQq0eHPmai6fuZDfVzn/pw0Q2dO1wt1h+cO4hu0zSJ02eJXR1NbXRGw2jmX8gDdN697mHZGGio= 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 1760710548624917.28058431225; Fri, 17 Oct 2025 07:15:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCr-0004rI-Rh; Fri, 17 Oct 2025 10:13:21 -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 1v9lCo-0004nq-Sf for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:19 -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 1v9lCQ-0005hl-LA for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:17 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4710022571cso16790895e9.3 for ; Fri, 17 Oct 2025 07:12:54 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710370; x=1761315170; 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=GnkqAxWl1yv5KVAZIaDW+SjmxQd+0rEjWu2xOrJIel5hpX/lMXKyjNzd6aq6ELLgza 4K2mMbfSpU4ng1Nil0rjcNVvrcYFG6Pg/p09GAilpcsXDbcSqfGDdM8C7O42Vh5G1exM XC4EHgswbFdziIzFoLN2f5vSTBeZIELMGUpdq6y2Pr5MbdGwJX3IZSb1YFNsw5e+S7LG nkF27u7Ju3Ih++XlRaKPn4EcnCEinWtVrDM48dnCgLHCpM21gY48XJdEXrR879XxAdQW GeIP4lV3+VB48Qi4N/NMuvjkJQy5H1Z6Jf5xe6E3/JvG/RuAPJ3AqJ3ji/xo+yuCNBEw 6nBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710370; x=1761315170; 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=ZqZ6RvKewCmL/Hd0qLC2GQI+tMR1n52T0yehJbrRud6vdw+PJIwJil/V4esJjwwDAQ ukkuDBbeQ9B64KEDXCRvg9UTUPgRQ2mkhokjlewYReuP2ogkI4GKlAhvK3NtsTZosIwy cPLmLCaE+twb1Q7wFrqiDoj9FnddcPaOW2sJj7QKFLvd3j1mRgtg8/t2aMfJNu5/RT48 DL0OeysQNn5ifU6lej0Ad0TOqN4uXm7JNGH830TenIjIaoAUi2P+xW5TvELPieySPsse kES3oX8PQpBufhErY+MSHqPGtMYoXb0kv8RCTpTB14fKSdSb8TweNM4XbW/RoAGh6fl3 q4Ow== X-Gm-Message-State: AOJu0YzGdVm35IVFzErnNncaA2lyNhdAkdmoB/bfDE75dE5PsF+zImcV cuLQvNYZ3W7wP9JbUqLGiOU32T5YYmbN8nl3osRrBZjvhzIQmE4Ehh2nIFtjGw== X-Gm-Gg: ASbGncth68wE1gs/b10dxrEtWBR5V1nZPeb60+dWKuDD61CtmQwcdC9/JMrcHlXPQiS goj3MJfRHFLdinBsao1NHljMj2rbrZzKWiMRSxmHbs4PVFr2RXGrswZwzPSNTS1qsOeiI6bsrh8 lPhOsz4tbzcqx/+6jcRc12TdzBaBLSC510ZESEiYFvSGtb/fzGb6HHELHYLWtS/5+/IkRML6L2f 4ekEbqPqT+NqvLazci33X0h0+q5T2S7pbkBqU34k0pfbPBaN3BSWXkmhxZJsEwfFNNXISmdbfXQ N7Zl7x1/tcb35i7+0+xt6tcquvclrYt+wQJBGfIKWdqNXT5ChP5V5u3ofgQEwoirahFCRDNGR1+ XqqyH4qElWFOItnzvweso39ExBJqzyJq/7b8YMw+Op1I1v6Ap1vn8GnxQ7nQp5F9RQxzcGP7eLZ UD2ypM36AeVc5lj2RcZgcoiElF6gn7ZxdF X-Google-Smtp-Source: AGHT+IGYs584RAcS+bQviT9zSdPD1C3R1/CztDsteU1MEMn/nBmYwej5QPyS60IjXtCNMrEecg2MBA== X-Received: by 2002:a05:600c:64cf:b0:46e:3b81:c3f9 with SMTP id 5b1f17b1804b1-471178a80f7mr25809605e9.17.1760710370235; Fri, 17 Oct 2025 07:12:50 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 05/11] hw/rtc/mc146818rtc: Assert correct usage of mc146818rtc_set_cmos_data() Date: Fri, 17 Oct 2025 16:11:11 +0200 Message-ID: <20251017141117.105944-6-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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, 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: 1760710550986154100 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:58:04 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=1760710495; cv=none; d=zohomail.com; s=zohoarc; b=i8zEOsiLpwJ0i3NcO7qbbTZ5al4YOGi1yO2fmDZm4j54yc+Tni7qM/VWSPKcshiidXn0WdUJ6BaDeLWXXvVwqaxdMRfgntivTNmaprnUJHe/ZLTmmKp62HQHESRkFqJhuYel/uvJmKRPQxL8O19wV86gwFHp6LlqwR9FK74x7gk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710495; 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=cvwgjHTiGew8WywooInMVDXNA3uf2KqNb2EIovdv1JRZVt4dl/grkWR1dhqErUb5GAxjWgyvMeRXMlyZElYf/RNeiJEVNnxC/rq5BT1OhvD/3I3Fj2dsZcVIX8BRUrnGCfIu6VAHic6SAn3RmyXJ/dlw5JwkxtAgSyuSLFZGZys= 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 1760710495301738.2212878643218; Fri, 17 Oct 2025 07:14:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCp-0004pQ-O6; Fri, 17 Oct 2025 10:13:19 -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 1v9lCk-0004kq-B7 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:15 -0400 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 1v9lCS-0005iI-0y for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:14 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-471076f819bso16192775e9.3 for ; Fri, 17 Oct 2025 07:12:53 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710372; x=1761315172; 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=R8xaQlwxjPSDpG+QCgRTnsSTb6EPzF5/uzVgemcl2m8GOWrzJO0HDemtBfj/CGHzjE Fe0YdqmevhyXOZdGTxx2yFkgZI5ACj0XCuZnM8dLxJkU4dYZ1YG52AKn88lnZNpqjIDV yN0LUJKQQfH4RnNbMWVrxOtdvMMy+EyhjNXKogz45NiuUXZuMRW1LEHarrXdpmxr/4cq 81LqkIKW4rlqcqvrBXQGoFWLMf6E1RwBKSOTmZE23A2xezPE77TSXdmWLf03WoNcH547 XdUCmkZOEO7uTQS1K+cL32VZVhjFT1EawBqowrdZcShjGGhGpGRvsufM91KpcKqBVkZg BwEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710372; x=1761315172; 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=tJ/kHuGhVwsuxdpBAdb0iiT1w3ipywKtQ+zGCnWDh7Nl4HUwAXR3ZlTN/Wuks0P9A3 1UoDD5FjbgdeHyhP9qxJELNYc6ue3rUE/h+MdC0lQlrBAswCPW5ZHcdwW/4d440TdQ8B CY0c+qONGIc/bFkmBckbvE4USklImPXZKzY55xc09B6e+dsZfybGjJHMbNDRV7qJB0L6 VWVQZv+axTL9qmeUlyBPQQC/LWIlk35Mv9FDG2VbgqDNkaGf7fMk3Hn4h8ixDjxHCLTo YNwi3O0svhat2HSlrKgPpJq+sTRBoiXHUX/1uOVp0KeCXaURMMWNbS9Eyx3qvo4pLSiQ RcxA== X-Gm-Message-State: AOJu0YwwxQa+U2RdYM/FvTLuNEEMzTEzE0kXazpPNCVqgJVrvGHhQZeG ABPqhOAchGUguAV5pgbFqapIvt4JoF40oGd1yfXJiMAAp0KYJtGbPj9/iIbIHw== X-Gm-Gg: ASbGncvdaq1Fip9IVIb0Gv6bb25hqF9st5XnTthBQI6LDez22t/T5Tfxc03tuS34F1w Q2DlFUTUlyDa6s9FlvROzczUsLhFBn7pKKf0QSCLkiVrwJlAl3gENmCTPpx5V8mJDPd0CbtoZSB jPpAbSLvzeJ0yPfFvtEeEwDx7D54mkD/F1UEz55G89P18oWu/DG+6IkQqVbIjM6tIel2VgapOSY GOdPYLbY+8V4EuC0+SIsRFwhZWUCWeGEPV2tciRyQ0jYqEw8bvqBULaGaLxePW8SAGsvC93fCns ce0UMOis77U3N5r80YzhCTZch3GrHHXBqgtAD8yAr91h+CtsB78/vfHzEO00Gxxl/EnsidJY+T+ XsNXcQQABb9Br6Xb3RfcaY8f4ou2MEMYfT+Ns+rPeWV4bY32NmYxeFls6W15l/znkLn0qWJfuvO RUm3aNFJO8QsXMrsTLrI86PutORNkf/o5bmPhRLKjxKVY= X-Google-Smtp-Source: AGHT+IG5nxpyCZb86JulC3CK6XBAxAajZvuOX8OdfguJ75zkQr/jxOZUNh4OU/knYFxHTDCsaxeKIg== X-Received: by 2002:a05:600c:34c7:b0:46f:b42e:e360 with SMTP id 5b1f17b1804b1-47117931edcmr33177805e9.40.1760710371445; Fri, 17 Oct 2025 07:12:51 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 06/11] hw/ide/ide-internal: Move dma_buf_commit() into ide "namespace" Date: Fri, 17 Oct 2025 16:11:12 +0200 Message-ID: <20251017141117.105944-7-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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: 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: 1760710498296154100 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:58:04 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=1760710683; cv=none; d=zohomail.com; s=zohoarc; b=nh24DYhEE/GjfnWOjNVFLbvVC/b8yo4fFefmWYn8HPHVdUagr8W3lfsaKo3EBgwAWZr2b+5jmslEmh9iLJql+XrhtW92rPbv22W+UHjwZ1YCR9ucyyYG39YG/C/feVkJcx8+j0atuIIdOTORmPtPWZ52s2nWvYkQjknVaRW9LNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710683; 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=Db+sG+Cpd+beGHgOxFpXdb2XuieXj9vluST9V47nkKU=; b=Kf7LBZfUSZwTQAWMyWIsbFGJzllFTR312nXA/ZR9aZdki8omJBKwlbGwfHtN8+NXAuJqPuZqSONicaZcHuzNOZJAwrUvDVbYVJs9Cq/+Gk0OATcqgfBkIp1LBu+0284LQg4RZONass+O1aGcs1D3as5M1w+fj5oSqj+O/oILsqI= 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 1760710683205630.7972531618686; Fri, 17 Oct 2025 07:18:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCs-0004rg-8U; Fri, 17 Oct 2025 10:13:22 -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 1v9lCq-0004oR-0c for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:20 -0400 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 1v9lCS-0005in-8Y for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:18 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-471131d6121so15682655e9.1 for ; Fri, 17 Oct 2025 07:12:55 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710373; x=1761315173; 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=Db+sG+Cpd+beGHgOxFpXdb2XuieXj9vluST9V47nkKU=; b=ERsZx6oW6Ubuvz1bHv2PoiE/VYTG5NxaXilH/ZZKdn3dHNE0ZYiIjruwk0EIBP1qLx pgtUE4OvLFJE9j5oq96tXcRQou+Js4Usd7KOHoyaXrXWHpizYdfW7CIDps7LYuzHqqme aIIbpf4l9JE/wjKg/WDlB4FzZPtotLk7iMGD8DSdkRTiGRGBkAZ8a/p+AVaYiqpeZUbf xc3yvjXdpm2sMZdOwF5NTnl7ASSh/NtppIDH1P9GIDjM62bQXGtQlVKy3+d3aEu17ZsX O0O36oCUTuLTpKYiodcvFKT9aUWQQ3BnK6jfoIBOsvuHEZ5WMV2aw3CARnJnP4q+xuOi ZjEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710373; x=1761315173; 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=Db+sG+Cpd+beGHgOxFpXdb2XuieXj9vluST9V47nkKU=; b=w6UsQhSZ2tkIGykSyS/0iaGXNa9OH1T6nqcx42G7bFjuPd0PXvVgY9knHULEFQjmEz IlbTG48v80VqxlzmzcNfq7tmTBoUeQ1oQAkkPKSgH/iNbqedH7hTkGKERI5zj9jJo2GM SBGRr1e54aZCEO6x5cTqGWgl5oPO5EIunQB+f7LIuP/XTij6gfGEJA4AIeLNvknrbi+D ZO83wYPiDBMTPLxnBchtoNn7acshaVTjJVf7y3Q/9cdsk9vZdykG7C8HIiGKfsUaC8kw 9gXfRG+yt1Pmb1/JSwGxnHT3FVzyoptinp/OKV8VZXTDPXkqllN0Ocd1HOplW6HGvp2R rjDw== X-Gm-Message-State: AOJu0YwEEr06DfAOR/9ICJGoBaceqVmOmcazacHqlG85rNkGBFFJM5/S A+Xxx5x0dTD+fbgfbO23IwZSulo2YTohqXZPxMsEBFiC0tjwpGKax4MERCYf8g== X-Gm-Gg: ASbGncvyMAAZNLHv+yMy5Wmv1wkMgJ+mOLmbKaaU3uB0ywoA3w4BFRqnmj0sjMnYfmp PizW0w1M/D4eJLVKRgt/BTmprB9YRl8/4dval0LIBzjYLl4OF1Y+VzcvjXUeqwKbTqxTFf/FZCW HdqSSNY46hsDwKFj5F3mvdtcffqO1I4Iixl9Nmr1scRwfIUawuDs8OUeJXh31pmL59thPQmvN1+ BuOw6clLZQJDVMpMiZTj8Baw8vMsDrollE7USJmD1u1TSMSS55LiM3JlzWSSZuf81gPugPwUiFi u0SJceHx5bcw7uJaiBu9ik9mQSlWP9yYL8hmMTcMcRrcnWIav/hl5mTcEdTmMIW1DyWvjpFTtv6 PbQnSOJLXhMnRQBAZF0ONCyUwo89yXy5C2oKLhNYupzHChdY5e+ZzBXnbDi6gb6EAG6WiNwTjNh EX72hzCdEIbBfkvR8Csv8iakSBfqJZ9IxqEaooUaan+aQ= X-Google-Smtp-Source: AGHT+IHjtsA4kZLXA10ETA53u+8R3ckahy3r8QzGEGhdzk6K1YX0aTVlQLFH1cO8nCp9xP5pxxzZXg== X-Received: by 2002:a05:600c:8b0c:b0:471:58f:601f with SMTP id 5b1f17b1804b1-47117912389mr31607855e9.30.1760710372844; Fri, 17 Oct 2025 07:12:52 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 07/11] hw/i386/apic: Prefer APICCommonState over DeviceState Date: Fri, 17 Oct 2025 16:11:13 +0200 Message-ID: <20251017141117.105944-8-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=shentey@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1760710686215154100 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 | 16 ++---- target/i386/cpu-dump.c | 2 +- target/i386/cpu.c | 2 +- target/i386/kvm/kvm.c | 2 +- target/i386/whpx/whpx-apic.c | 3 +- 15 files changed, 94 insertions(+), 139 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..acd4e1bea2 100644 --- a/target/i386/cpu-apic.c +++ b/target/i386/cpu-apic.c @@ -41,34 +41,31 @@ APICCommonClass *apic_get_class(Error **errp) =20 void x86_cpu_apic_create(X86CPU *cpu, Error **errp) { - APICCommonState *apic; APICCommonClass *apic_class =3D apic_get_class(errp); =20 if (!apic_class) { 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)); =20 /* TODO: convert to link<> */ - apic =3D APIC_COMMON(cpu->apic_state); - apic->cpu =3D cpu; - apic->apicbase =3D APIC_DEFAULT_ADDRESS | MSR_IA32_APICBASE_ENABLE; + cpu->apic_state->cpu =3D cpu; + cpu->apic_state->apicbase =3D APIC_DEFAULT_ADDRESS | MSR_IA32_APICBASE= _ENABLE; =20 /* * apic_common_set_id needs to check if the CPU has x2APIC * 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) { - APICCommonState *apic; static bool apic_mmio_map_once; =20 if (cpu->apic_state =3D=3D NULL) { @@ -77,12 +74,11 @@ void x86_cpu_apic_realize(X86CPU *cpu, Error **errp) qdev_realize(DEVICE(cpu->apic_state), NULL, errp); =20 /* Map APIC MMIO area */ - apic =3D APIC_COMMON(cpu->apic_state); if (!apic_mmio_map_once) { memory_region_add_subregion_overlap(get_system_memory(), - apic->apicbase & + cpu->apic_state->apicbase & MSR_IA32_APICBASE_BASE, - &apic->io_memory, + &cpu->apic_state->io_memory, 0x1000); apic_mmio_map_once =3D true; } diff --git a/target/i386/cpu-dump.c b/target/i386/cpu-dump.c index a72ed93bd2..67bf31e0ca 100644 --- a/target/i386/cpu-dump.c +++ b/target/i386/cpu-dump.c @@ -291,7 +291,7 @@ static void dump_apic_interrupt(const char *name, uint3= 2_t *ireg_tab, void x86_cpu_dump_local_apic_state(CPUState *cs, int flags) { X86CPU *cpu =3D X86_CPU(cs); - APICCommonState *s =3D APIC_COMMON(cpu->apic_state); + APICCommonState *s =3D cpu->apic_state; if (!s) { qemu_printf("local apic state not available\n"); return; 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:58:04 2025 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 176071068523874.19969777432084; Fri, 17 Oct 2025 07:18:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCn-0004nL-N5; Fri, 17 Oct 2025 10:13:17 -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 1v9lCk-0004kt-G6 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:15 -0400 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 1v9lCU-0005jY-8C for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:14 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-47103b6058fso14905855e9.1 for ; Fri, 17 Oct 2025 07:12:57 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710374; x=1761315174; 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=WasMZ1F8t7Kg9KHdJ7LE0HpXXcmnjPD1fjMmZVQOLK4=; b=J8Y38dHibrktIqZygG2F4W/BLvMBYRIKeKBMJAw5jANBHk+9Wdlv/BqLu/QftRQ7Er AZYxQDnjMUDZ8XyxufIt98xp44h1dCOwgAZ24qoEgfBhnmaiBWstOyZgUm9GBlDobwwP OTGtTSd23gkUUTfD+X0PKLZ697tXGV2/7YJg9qle5yrwceo4l4trLRHOfCasdrqgmxvI L131PbJDWvwLp3LCznTVYfXm1NoXVPY91bcw0DssookZ3Fevpxmsf8Gh0nhgt9ZtFNLw Wt4BZijkpOGJeJa38a1h9m/1Rj0uUYldGo3dbDmA6Z+2PzlK3gCZfaf730Js2jsPJ8Lq dX4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710374; x=1761315174; 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=WasMZ1F8t7Kg9KHdJ7LE0HpXXcmnjPD1fjMmZVQOLK4=; b=NcHoHojqwdF2O9BIjKL/jHCG/MPeGnDqveqN62vpmNxb81kyUAe4asiYzaA1bhHaHs 2mqBbgDbbdBggoCU0PcrH4ej5yKZKdZ28k870kNzCszNGzt4RwCA1B0RLlfvzpvU5nPI ubKqMkDGt70wPCaSpuhencjj3pWo+C00FrynA6L6wEmUkNotZZ+7otqjph8/p2rMP8sP 1dWRED6ky8RYaeFpapHailZW2Ppvr8C0A43kKNaGPudqPY4S/MTSlkJC6VPCqkRj3mY/ WCvHAiTrC4iYVCtEn8Ltp2X3P4AGpEXMqGbR4uaAnd0mPkIs4Cg4+Qh/TCFKiMY496x+ 35bw== X-Gm-Message-State: AOJu0YyZ/8BM+lQ01jlcPkmvRn8+8+PMKC+hs6SRoQSSA5otOe57ykuo qoAsbGM/MkebH+cAQrvvTr1YYdzfQ5Tivl45l5y+Ld9uOZUlWiFCZ1MmrM2q5Q== X-Gm-Gg: ASbGncsdlsjN0H3EmtlREw1TtCnxI7ugpBbGcIIfvlfv8Pg1ApDuY45ON1xmzGIENKF hT+jpLrMSuMx7TZvLO6PJppcPc13k/IX+0k0WsywejxM7s3XVkxRrSh006ht6oCexdCz1F2R/Zw IFzuON/vQa0EXLXjEm2DHLrf+ZhAkPWqLlMHbNkbX66TWN41xZwaEjeJOVgUom4UXfLhOLWdEAF hcNg+C9qbyP7Kw8TXrySkORuPown1k2q5OEJcyPbRACKhwO7QOYVo/ZhdoKBZqCa/mfPJauAQYE t4qorjEwMgraDq4EGIsq5G649FPviDYFK8+noL5geSfNoibWoMVpyFuYzxeIfOH2RhM9iUUQto0 TlIGc/FaheFAnhRvTAMEB+u5EfpUyOUWUDBLn7l0y9eimzEVymVBfEcbWs+YBmTyaI7XiL4cSHN 7wxV28PtjyAv+l6FfgU9A7DSPRixiaUttfNQY5Mac5ils= X-Google-Smtp-Source: AGHT+IG6amwdU3JKUNT9VxbSRtbgM8Avy/BhQKgGnYnVbRSyWIQst1AQFp5GjR8o/1k5iR1G2og/Ww== X-Received: by 2002:a05:600c:470b:b0:45d:dc10:a5ee with SMTP id 5b1f17b1804b1-47117315a43mr32494655e9.15.1760710374055; Fri, 17 Oct 2025 07:12:54 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 08/11] hw/i386/apic: Ensure own APIC use in apic_msr_{read, write} Date: Fri, 17 Oct 2025 16:11:14 +0200 Message-ID: <20251017141117.105944-9-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=shentey@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1760710686267154100 Content-Type: text/plain; charset="utf-8" Avoids the `current_cpu` global and seems more robust by not "forgetting" t= he own APIC and then re-determining it by cpu_get_current_apic() which uses the global. Signed-off-by: Bernhard Beschow --- include/hw/i386/apic.h | 4 ++-- hw/intc/apic.c | 10 ++-------- target/i386/hvf/hvf.c | 4 ++-- target/i386/tcg/system/misc_helper.c | 5 +++-- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/hw/i386/apic.h b/include/hw/i386/apic.h index 871f142888..6a0933f401 100644 --- a/include/hw/i386/apic.h +++ b/include/hw/i386/apic.h @@ -19,8 +19,8 @@ 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); +int apic_msr_read(APICCommonState *s, int index, uint64_t *val); +int apic_msr_write(APICCommonState *s, int index, uint64_t val); bool is_x2apic_mode(APICCommonState *s); =20 /* pc.c */ diff --git a/hw/intc/apic.c b/hw/intc/apic.c index cb35c80c75..ba0eda3921 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -881,11 +881,8 @@ static uint64_t apic_mem_read(void *opaque, hwaddr add= r, unsigned size) return val; } =20 -int apic_msr_read(int index, uint64_t *val) +int apic_msr_read(APICCommonState *s, int index, uint64_t *val) { - APICCommonState *s; - - s =3D cpu_get_current_apic(); if (!s) { return -1; } @@ -1079,11 +1076,8 @@ static void apic_mem_write(void *opaque, hwaddr addr= , uint64_t val, apic_register_write(index, val); } =20 -int apic_msr_write(int index, uint64_t val) +int apic_msr_write(APICCommonState *s, int index, uint64_t val) { - APICCommonState *s; - - s =3D cpu_get_current_apic(); if (!s) { return -1; } diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 8445cadece..33f723a76a 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -527,7 +527,7 @@ void hvf_simulate_rdmsr(CPUState *cs) int ret; int index =3D (uint32_t)env->regs[R_ECX] - MSR_APIC_START; =20 - ret =3D apic_msr_read(index, &val); + ret =3D apic_msr_read(cpu->apic_state, index, &val); if (ret < 0) { x86_emul_raise_exception(env, EXCP0D_GPF, 0); } @@ -638,7 +638,7 @@ void hvf_simulate_wrmsr(CPUState *cs) int ret; int index =3D (uint32_t)env->regs[R_ECX] - MSR_APIC_START; =20 - ret =3D apic_msr_write(index, data); + ret =3D apic_msr_write(cpu->apic_state, index, data); if (ret < 0) { x86_emul_raise_exception(env, EXCP0D_GPF, 0); } diff --git a/target/i386/tcg/system/misc_helper.c b/target/i386/tcg/system/= misc_helper.c index 9c3f5cc99b..360e0e71f0 100644 --- a/target/i386/tcg/system/misc_helper.c +++ b/target/i386/tcg/system/misc_helper.c @@ -132,6 +132,7 @@ void helper_write_crN(CPUX86State *env, int reg, target= _ulong t0) void helper_wrmsr(CPUX86State *env) { uint64_t val; + X86CPU *x86_cpu =3D env_archcpu(env); CPUState *cs =3D env_cpu(env); =20 cpu_svm_check_intercept_param(env, SVM_EXIT_MSR, 1, GETPC()); @@ -299,7 +300,7 @@ void helper_wrmsr(CPUX86State *env) int index =3D (uint32_t)env->regs[R_ECX] - MSR_APIC_START; =20 bql_lock(); - ret =3D apic_msr_write(index, val); + ret =3D apic_msr_write(x86_cpu->apic_state, index, val); bql_unlock(); if (ret < 0) { goto error; @@ -477,7 +478,7 @@ void helper_rdmsr(CPUX86State *env) int index =3D (uint32_t)env->regs[R_ECX] - MSR_APIC_START; =20 bql_lock(); - ret =3D apic_msr_read(index, &val); + ret =3D apic_msr_read(x86_cpu->apic_state, index, &val); bql_unlock(); if (ret < 0) { raise_exception_err_ra(env, EXCP0D_GPF, 0, GETPC()); --=20 2.51.1.dirty From nobody Fri Nov 14 16:58:04 2025 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 1760710604460759.9160092295416; Fri, 17 Oct 2025 07:16:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lD0-0004u4-Hx; Fri, 17 Oct 2025 10:13:30 -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 1v9lCu-0004sY-28 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:24 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9lCW-0005ju-Qe for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:23 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-46b303f755aso19999905e9.1 for ; Fri, 17 Oct 2025 07:12:58 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710375; x=1761315175; 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=uoQ6SLuQ7FwjPP9PEz/jS+6Ivn8fi/SY5nUjIteDwfY=; b=PtErTXWow+7QUmH2tTPRGNJdn1vO+9Sl7r0JZfO9aVygyhAP/9pd74qgDx4oGFKpi5 7Hazh6+3sV2/4nsCBUTBzhfQ+mAc/XNuJmSuGbsltXkS3yCm4IIzemNpSz74cPV+OciL j+xWE+pU7x4fNr9xAf+Go3EW97f8mFemAib4OrIDVn6vZ6Lw0nQXOQMhysmZHlXtO/Dj /iQShfIwD1+13SHnOpFDKVsPkdruylXTmkPHy40IdQ7mEUzTqcOF/99pIuDMw7zS288L AVY0XIwSc4v4TK/dn/SJvl9lrS7TNBw6SHwlfkyq/SAK7dwCaqk0OcUxRiVhwdQF1TFg 9yNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710375; x=1761315175; 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=uoQ6SLuQ7FwjPP9PEz/jS+6Ivn8fi/SY5nUjIteDwfY=; b=cVj/xJBOVptVmsodgFRs5/UzV0JwTuoMdwvSPWAEXUvfujCBBtnwDH3RVrYj+eW/26 5vgqK05k6XK/tri5X12PTomG7EenJeLptB/kRV0Bs08wmmQgcF8NzOjoEnLdCkhwbOwn T3NjjmWbdNy5/sNu3KrBZaKdMtxNT3SNjTLvo/DgaYfUfF17qpqWRN2bYWZBOCM8TJzc gAhuoFVmRsIJ4mbcTJf8g5qaoNuMPGtr9TUEeEfDw3bga8r90uPVTEUhAONrIxNLl35I 34kRduwWeRe447q7I62eFXAkgFfoDZlW2cUXez5Rud1WlEpx4xQkZReHWSLsVzLDB7K/ MA3A== X-Gm-Message-State: AOJu0Yx2rU2We3Kar8OoKph+d/seIZPd6jfuzZKxZgUx7ebjqIXX6VUE ztJqpn3ZVDYqRIfDY3RjvOAZBluabzdp7PN3qUlvjktHxIsBYeZcjS3HB1peQg== X-Gm-Gg: ASbGnctS3X2MAhRn6N+6dZv5nbw7V5jssLmt281CJTaaUqKbtYsapbXDhhtBy9aIT94 ZHOGT9Dred7RJwE6HxunGyxLje3Hmrz/wrpBZMzoopK/GON4EvlLJwsTU+G/GFImISYSRthysvo K88Bj2a3MUWim1PVl77D5Ornc13wOc+tfjpDdZ5Sys2wigsmTEcoA3o77/RCQwqiX/WMAj20z1N nn8sISTnjNBWLfgRlMfa0LCbDpdARbFAvS3jn38RmkwqzZA4zDCgY6D9t/XKERjAIYkD17yzvzm zsmD7c/iOiLgdKjvnVfFg3PfUvWqJws6Bpbc3dXwjcMCI5R92gptO8M3e1ChLk606zy+FYX0P2X cdsiu9s4y+QiXVg9mameci+yO4GXwWqXA8IF9seMQTwn9MiFJrQXthlu7Gr2vHo4DK1QCnWP4dY Z1JVc4qwhbc92pStfLgcag58ti/Dh7g/bhIbqORcBdBhs= X-Google-Smtp-Source: AGHT+IGDUpHFktS1phJv11AWEB4wPTsgryq8zLqwvPwmU/+IRwKwm/FCG4X5/AX6gCWAr8CSOUFAfQ== X-Received: by 2002:a05:600c:548d:b0:45f:27fb:8016 with SMTP id 5b1f17b1804b1-471178726a9mr27315245e9.1.1760710375304; Fri, 17 Oct 2025 07:12:55 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 09/11] hw/intc/apic: Ensure own APIC use in apic_register_{read, write} Date: Fri, 17 Oct 2025 16:11:15 +0200 Message-ID: <20251017141117.105944-10-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=shentey@gmail.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1760710605678158500 Content-Type: text/plain; charset="utf-8" As per the previous patch, the own APIC instance is already available in apic_msr_{read,write}, and can be passed along. In apic_mem_{read,write}, t= he own APIC instance is available as the opaque parameter, since it gets regis= tered when initializing the io_memory attribute. As a result, no cpu_get_current_apic() is involved any longer. Signed-off-by: Bernhard Beschow --- hw/intc/apic.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/hw/intc/apic.c b/hw/intc/apic.c index ba0eda3921..fee5201372 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -769,17 +769,11 @@ static void apic_timer(void *opaque) apic_timer_update(s, s->next_time); } =20 -static int apic_register_read(int index, uint64_t *value) +static int apic_register_read(APICCommonState *s, int index, uint64_t *val= ue) { - APICCommonState *s; uint32_t val; int ret =3D 0; =20 - s =3D cpu_get_current_apic(); - if (!s) { - return -1; - } - switch(index) { case 0x02: /* id */ if (is_x2apic_mode(s)) { @@ -876,7 +870,7 @@ static uint64_t apic_mem_read(void *opaque, hwaddr addr= , unsigned size) } =20 index =3D (addr >> 4) & 0xff; - apic_register_read(index, &val); + apic_register_read(opaque, index, &val); =20 return val; } @@ -891,7 +885,7 @@ int apic_msr_read(APICCommonState *s, int index, uint64= _t *val) return -1; } =20 - return apic_register_read(index, val); + return apic_register_read(s, index, val); } =20 static void apic_send_msi(MSIMessage *msi) @@ -919,15 +913,8 @@ static void apic_send_msi(MSIMessage *msi) apic_deliver_irq(dest, dest_mode, delivery, vector, trigger_mode); } =20 -static int apic_register_write(int index, uint64_t val) +static int apic_register_write(APICCommonState *s, int index, uint64_t val) { - APICCommonState *s; - - s =3D cpu_get_current_apic(); - if (!s) { - return -1; - } - trace_apic_register_write(index, val); =20 switch(index) { @@ -1073,7 +1060,7 @@ static void apic_mem_write(void *opaque, hwaddr addr,= uint64_t val, return; } =20 - apic_register_write(index, val); + apic_register_write(opaque, index, val); } =20 int apic_msr_write(APICCommonState *s, int index, uint64_t val) @@ -1086,7 +1073,7 @@ int apic_msr_write(APICCommonState *s, int index, uin= t64_t val) return -1; } =20 - return apic_register_write(index, val); + return apic_register_write(s, index, val); } =20 static void apic_pre_save(APICCommonState *s) --=20 2.51.1.dirty From nobody Fri Nov 14 16:58:04 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=1760710484; cv=none; d=zohomail.com; s=zohoarc; b=WccdHxI4We+92oyDttGnhYlJZhap+PLMYaSZOm0T48GOCyVSzRSDTWf2VotgT7yg0wqMXsyPotr/F7ipFq7hP+Q4EBYwSapHX/3imbtbw93LsrEYkKQYDxV7EG/GUsH3PGzPwuE7pZ7gAHrKiwP0oQAcIgPlWXErqqEZlfxh85A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710484; 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=gteGWnMF2R6W+vB6CRlq0+Co1hdivkhTuMvbx2i6MfQ=; b=fsLZk5yLIUXeu3Mz0sEn9lTZ4XVZ+4HhiEbTOxpLjmkwHcMLp6Ohq6sQAmL6EjX9k2+ebE4Zq5BrSuMOVoCKRz5rGImzw+BSBLmeQj2la4D59rXbtOzeZ9OzXpz/F+ju6qmB9/NXDUA9HfUFPCQVNDHiIxXnvtcaAXPJpzZ/cqM= 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 1760710484882688.3681072198513; Fri, 17 Oct 2025 07:14:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lCt-0004rx-23; Fri, 17 Oct 2025 10:13:23 -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 1v9lCq-0004qW-T3 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:20 -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 1v9lCW-0005kJ-2T for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:20 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-471076f819bso16193715e9.3 for ; Fri, 17 Oct 2025 07:12:59 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710377; x=1761315177; 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=gteGWnMF2R6W+vB6CRlq0+Co1hdivkhTuMvbx2i6MfQ=; b=SeyaaAYLKdGyG4AHtrYzrljWxnQUnkuixI1lKpJZgiXVUmHgUpw0oYOk/u8bOQtqMo t5xyDSuxmY6SLieSrgNrwwhdFiry68oIQv3clDjnxOpXgOsubyvigGsNVh7bjv0/G619 1g70lPDy+OltEt6jGh9TPqgP+7QSGYL9RCmteelQ9JujBQMGgYOUL0HI7zlmjIK2PC/m ideCrCNwvIJPs4lfHQN7awQS6ZABlhTXedj3pWP8tB4iaUsT+hJks20lCFmdUngWb/Uu cDQ/+8mXdt/J+qWLyI4i1frCcuGSATjxmr13srZVWW/PlzXPp97psCXuhaLnJycABQzx pgSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710377; x=1761315177; 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=gteGWnMF2R6W+vB6CRlq0+Co1hdivkhTuMvbx2i6MfQ=; b=Ae+7VdojHkhfEpsEgvPI+sYiKuSFk3ITEYgQO1UYShWpqwb1wcX8Cd8RWqwD5axeAp bDA8pbgqlpCGGcYZyWEeaWwC1obm7IhkdUDrZ2nXITBHT/u4jrE8WZxGCnA8OSIFRjPX BTXgQS0HwlaWR/Vu99Acyy//i6xqAcPpXjyNsUMopgQUCefNzP3r9K4RkPr0eqr2sKO+ uOTFr34XEvozyiRg2GEyx8mDwqTkGzqfDdYhafQJrYPq65ygNCZlHB46Ld+A1dHas+A6 4S1a+CHZ5Qygp2XtnrHXVNT7GI54a7yXywtYjE5JdJjrMenJjkgCgrUYmtqV2zHgeyp6 wEnw== X-Gm-Message-State: AOJu0YzwfUsJw5yY1fl2tKvxv4nYn6wDx8x8JreeNnYWo1ceZqrco3iU FsJlrAZh4ZPJrk+TG2kQ+moDNs5Nod0v9Jk5CviaYam7TlVkWNKXZrwkgyWGQw== X-Gm-Gg: ASbGnct0LNx2VUm7W4r0V8n8LFGU3mKmYnGC9XOUlg6z5yIirlL8xIt6NLGj+dT1lc4 xB9+p2kiLh2FhyDEOMlk7OyKVe30iHV/L7DG9rn64dF6fhjjud5/fmHiHVH85XL7UzAbTmf54dw QAF3Qqm0NeaAoUXf9vH4p/onX7qCFQp0tCpVLRQM2WY97/9XrCXC6cHyWH58O3/VKJ+C5Q5YOnm NRnyhoVBInon3T8IQwnDmslsxtq1gOF8alw5D8AFT4y+4pFy7tL+sNPY/8dVsrC3WYKgbzFBt9f 9rTtFE6ort+mvCxZwpmXQKoB9sU/rz60uQwC3LXT8MZRprBaIlY+9Ny6w6krzs7wBTA5jir326b 8e479dDZOtb62ocfpectjMyYBYjoNvI7a/ekjKJXteEel26hmqDw3f3o7yzBaeB+QnkYIf0Muzf qwHvPJ1DuNiNFbt8JU9/mnCetDyfbmCGKYsziRHsf5PJQ= X-Google-Smtp-Source: AGHT+IF0gmmFJZZWMtm31nH8oxPWJUvDxjlKcg/T2Pi9eXPhQiM4NczNuxSbXUqG5YCCifXib1OY9A== X-Received: by 2002:a05:600c:3541:b0:46d:a04:50c6 with SMTP id 5b1f17b1804b1-4711791934dmr28602455e9.30.1760710376471; Fri, 17 Oct 2025 07:12:56 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 10/11] hw/i386/x86-cpu: Remove now unused cpu_get_current_apic() Date: Fri, 17 Oct 2025 16:11:16 +0200 Message-ID: <20251017141117.105944-11-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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=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: 1760710488923158500 Content-Type: text/plain; charset="utf-8" No users are left for cpu_get_current_apic(), so remove it. As a further benefit, it removes one use of the `current_cpu` global. Signed-off-by: Bernhard Beschow --- include/hw/i386/apic.h | 3 --- hw/i386/x86-cpu.c | 10 ---------- 2 files changed, 13 deletions(-) diff --git a/include/hw/i386/apic.h b/include/hw/i386/apic.h index 6a0933f401..1b0b26e4c5 100644 --- a/include/hw/i386/apic.h +++ b/include/hw/i386/apic.h @@ -23,7 +23,4 @@ int apic_msr_read(APICCommonState *s, int index, uint64_t= *val); int apic_msr_write(APICCommonState *s, int index, uint64_t val); bool is_x2apic_mode(APICCommonState *s); =20 -/* pc.c */ -APICCommonState *cpu_get_current_apic(void); - #endif diff --git a/hw/i386/x86-cpu.c b/hw/i386/x86-cpu.c index 1a86a853d5..86a57c685b 100644 --- a/hw/i386/x86-cpu.c +++ b/hw/i386/x86-cpu.c @@ -85,13 +85,3 @@ int cpu_get_pic_interrupt(CPUX86State *env) intno =3D pic_read_irq(isa_pic); return intno; } - -APICCommonState *cpu_get_current_apic(void) -{ - if (current_cpu) { - X86CPU *cpu =3D X86_CPU(current_cpu); - return cpu->apic_state; - } else { - return NULL; - } -} --=20 2.51.1.dirty From nobody Fri Nov 14 16:58:04 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=1760710546; cv=none; d=zohomail.com; s=zohoarc; b=FFFXzbyhLe7Sq2isrSR4LfZZ06RfyyRheEKn+Nbt1yUPbNChS8fZycik04GNV18V8RD6nhf7NFguatHJDB5+1CbvGJ2HCWz1+qEN159U/zuugKAliBE963ZIvQHV4WLR/9ABsi4XZuwmeDF+7wfw6TRDRu958g5G9OJZ7zNQGtc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760710546; 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=bJ4j8pSuJSpw7fulrXWqhm7X9iQsGfK+I5scdAwLWYMeqUF2eAWPM9XA6GN65XiwTMH1GjJWS5m33GuaYggbRpxhjBmkROzjwvaJpoc1DetcOoFXnu3obPSSHtSFECiH2wJj8MGQMk+KPgzcU6D40Bls3+AV109oMmeBn7GuQWE= 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 1760710546064807.0826943054383; Fri, 17 Oct 2025 07:15:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9lDC-00053v-Ot; Fri, 17 Oct 2025 10:13:42 -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 1v9lD5-00050d-Az for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:36 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9lCY-0005kh-AW for qemu-devel@nongnu.org; Fri, 17 Oct 2025 10:13:34 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-471131d6121so15684095e9.1 for ; Fri, 17 Oct 2025 07:12:59 -0700 (PDT) Received: from archlinux (pd95edc07.dip0.t-ipconnect.de. [217.94.220.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4710cb36e7csm51359675e9.2.2025.10.17.07.12.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 07:12:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760710378; x=1761315178; 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=c5wykiyxzSpjQNSSy0pfMlC5KU3GMx4FO7WU5+prJpQOVbxKR8Y5A9pAab2pGNh89J /p0XcqyCepHtAKFzvMKAHUBPsuffd2C5GIeTmlGK+0Ygcjqg4UUto4Y50fXf8ShKaTIo x220rd/v8DSwE1b3hgjUwbsyJ+CxxJx2jcbr5ns6Mc04KAdtFCICrt/TLDTezsoPB1Fk 7fv23mcxxqtdQvv9pSCtsQATU1WAoHBuDI1iBXh2fWoj4nYc0SrOK26Vwaw1hlLPZjzL XI0DyKgD+o/SBPyuGu2GIzFJemIEYtqJQ9bmHt8Emfy6z083ijYdziP4M98kBCsdnrpj ChXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760710378; x=1761315178; 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=ISBf8u8cVIw4ydPbbW4Gry+HV2SBChGDSyznGCJIkvx/zlvmJgQRy9pU9N9RBNSopO iXPyEPFF6tLdnUraFfUbFBrhMOrDHTuonzI0XMmhUg4A05fKzOH9SadC/EBDJCLpz4VB bZGmJRdjL+zM5FDs55HAVmG0z1IpEc1WiscAiwTPJOpbshsJYOQxR+DdZ0exyTF4k92C //Rt/aXYJxF9iWvGuf6XehCSx9YLs5AG90flUeIOqbn1OPTzo2bHZwc1R2hfBk6iTnQF MwrCJ9M6sKH1JM3Loq+Re2jtUuaHBzMep+TW9E8X5le8iB5Ta78K7ujnWOKyhG+izf9v DuHw== X-Gm-Message-State: AOJu0YxzTilrxVdtDbf9TOOKUGI/+mak3a3vd9CXQFv1fSChorQlZ2B7 LuBUCA8u8uaDtz/OWGlpJubbdEW1nlcvnrRax0gdYNuC8NrXjBdUDNK9Wcr9Ww== X-Gm-Gg: ASbGncuSiGQT79XUrA1oXzzWz2FVNadfkBS+TSysIN3zjAXVcPQj81aeZLZld8JWiQt 7WjvoppddHuVF9aUEjPc2BDsstlelZi5upeBBvCqy+SKoY3AnVHgScdXhrBG2duQmAVAom9IWOT 8BWQ4WNsIFULPDAiN9IF6ZwOtP3VrTnDj0WRJKHvKE0bRc1NxgKWZ8m9mS3QnoiZFihSvtjXNvg 5uxGLxcqOK73pBhEhfGhI3h/IEAbzU2DF7k4610fq8INZRkcWC0lXGCu0uCBsMNR3yc4j/Cfily RobxaQla+6Cva7iCNqLXQKO4johpfZavMV+l8zrJ8fjSMl1R3Bpc/Skr47sMJAWGSvUeCFhzAJx QWDIRqY99ypuxCMoyp3Frs18atgja/PvNqZxoyXnrV6ZBdKg7rDGUAGV39jhRIhY9LkdXT3b7nn XMglA4akDqbO7fR0uhApEtjaDCZWbHF+Hc X-Google-Smtp-Source: AGHT+IE3VdA3wZK4Q+OXcjfSwZbSfpo04I9zXOgWlNizZyarmBkO2VPXkxj5kadJ9tYwUN2d2fgUFA== X-Received: by 2002:a05:600c:37c7:b0:471:12ef:84be with SMTP id 5b1f17b1804b1-47117900c2dmr26449135e9.22.1760710377632; Fri, 17 Oct 2025 07:12:57 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Roman Bolshakov , Laurent Vivier , Eduardo Habkost , Cameron Esfahani , "Michael S. Tsirkin" , Marcelo Tosatti , Marcel Apfelbaum , Paolo Bonzini , Sunil Muthuswamy , Zhao Liu , Richard Henderson , Fabiano Rosas , qemu-trivial@nongnu.org, Gerd Hoffmann , qemu-block@nongnu.org, Phil Dennis-Jordan , Michael Tokarev , John Snow , kvm@vger.kernel.org, Laurent Vivier , Bernhard Beschow Subject: [PATCH v2 11/11] tests/qtest/ds1338-test: Reuse from_bcd() Date: Fri, 17 Oct 2025 16:11:17 +0200 Message-ID: <20251017141117.105944-12-shentey@gmail.com> X-Mailer: git-send-email 2.51.1.dirty In-Reply-To: <20251017141117.105944-1-shentey@gmail.com> References: <20251017141117.105944-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::32c; envelope-from=shentey@gmail.com; helo=mail-wm1-x32c.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: 1760710548651154100 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 --- 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