From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1754320657; cv=none; d=zohomail.com; s=zohoarc; b=NF3zIUnwctFUcF0OuvgVznVq5jO+C4RNxmFdnD/Edz+PVHq8uIDn7MX4rZCHE9Wk7+xkitmDU5BomjxIwf1rfTaY+kkDoR32Aa+uAgjKOjA/ItXkgptr4IlhiMq8+qnKPRHdIcmwIqkwtaER9tGwF76/DzIt8WzNXFUjpyyCIGs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754320657; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hEvV4qFqWB9cTuaBcclspfI/a8mVi5g2F2fZs6PHmRM=; b=bwpBQD9EHdIAeUl0P86M7DN7TY58hXN8nG5zxFarhkJVhH4YyA8dl/ZMoP2+vn4XJcUoGfvDd4Ex7jGNH3c+6CpBBTAd8jJLeD5b+D30uu4Br2ShgK0o+cNMnVeos3rS274XdQ42wXJkPtC2L6aCxrUhTzPNpEoKO+gIBLauSMQ= 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 1754320657070109.98727274889882; Mon, 4 Aug 2025 08:17:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiww2-0003vB-IX; Mon, 04 Aug 2025 11:17:10 -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 1uivXO-0005fE-MS for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:39 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uivXM-0002YW-BN for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:38 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-61571192c3aso4213420a12.2 for ; Mon, 04 Aug 2025 06:47:35 -0700 (PDT) Received: from [127.0.1.1] (athedsl-4441708.home.otenet.gr. [79.129.182.92]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-615a8f15d9fsm6850590a12.17.2025.08.04.06.47.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:47:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754315254; x=1754920054; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hEvV4qFqWB9cTuaBcclspfI/a8mVi5g2F2fZs6PHmRM=; b=hrlDy2b3moG2wV+Bo/09h9QcfwprdxaBwxW8qcICA09S8X4xO9X+AalFFATV+cBtOB 8JfzhwJAUMtTfNHexDkj5jwB88RXcU5XfRuI8OQ7AyNdSIJL9UUDGMtYZpZFGBCLFHpf e6CaWvyjiXe+AB+4alZxzdINwfSVNXqLIQK/Eax+DWEed3KAezYWIYy4LrZ7mta8xskF QboPB+esvmPZElLce6hnDQv6uXW55DQhLS3cJuCJOzrErtfKsNGM6UYX5iXMIJGIWBOS SXg58aWy4K6a32l5/FrA6WnM6yl4ndW4XU/VXLPcoefCutIEGO51nJQ1ZMmb1v3nu+9n uqSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754315254; x=1754920054; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hEvV4qFqWB9cTuaBcclspfI/a8mVi5g2F2fZs6PHmRM=; b=Z9onuYwsEbwEEs9YmNhAnKJ5ew3c28Kw0MonatuxOee6el/Kmo93te9FXOPL2curg8 ULbagNfCOoi1/WVwMgdG1D227PEpq64GY99fAES0waC9iS8Wyh9Jv3n+4+VmsS530pXG IWekqkcCVJ6ywSLfEAnk051/eNyENZ1CNEimxr4eRUz2WE00mlDk40TCCny26NxZC076 BIO84uHFBGPdcybfGnK22H196KjTPPkLy0ACRwUL/JVG1u8QmK7dZ3WilDMj66Y4Zi+1 RbIDBOumQrtzP9tqg1QImjAbt1arQYsxVQkpLMyIgC/R9RMfItpfZGO4tmEQmuznl84Z Jl+A== X-Gm-Message-State: AOJu0Yyg44bk/8tlqWwFGax4sibukEUd+x2X3BLsCEIaWC18BSm9U7gs 32cXxcL0EyRePqgFh2GxRlX3hPRpq4Mj5UrAI9ohfeJwsyGF85hgtCx/w7M3Ae4kFuc= X-Gm-Gg: ASbGncvZjaDMeYRbFbgq1/ODtLHQhvGI1pdg+fk382womWBlc4q/3C/jH31euUmEOjX n9Ql5bVPGUCkFzkmITk4z4siy8H5JexLhTf/GSoC1qBw6j7aB1UNg+HlgSToL9KYy7T1DkZEB63 EHySX9+EfkwOYjY6CSJmDsdglzMy7s5GRrdzlFiOiTb2SX5q0uUafdcgUQgYlZAzz8y/ICMFZ4s H+LS5n1DNdVnwRyPi0IIx40i772P1UYh5yqr2jD+3U9SpIKDreSMv8y4bgTa05FnEtCZ0vZlBai L/VkMuCcJb+ELLn9NVSqhp67iAsV5OiTmzk2cBv/CPhyw86n1CO5i4FBPWomiwxr1A7ibXkCpDB K/eaAQpg7k5HngMeQcp6oyxnYTcbcQUl95mHI6mzvk6BYVNns3KGrryN9Tzf5KVwOvpM= X-Google-Smtp-Source: AGHT+IFAlqNGj+0nkPhQ+9IT3H+LbzRMYlhKz0ws80qY5loS3glrxXNT+jp2M/5wAQAouxqQmz9vaQ== X-Received: by 2002:a05:6402:354f:b0:607:28c9:c3c9 with SMTP id 4fb4d7f45d1cf-615e6ebc8bemr9194835a12.6.1754315254472; Mon, 04 Aug 2025 06:47:34 -0700 (PDT) From: Manos Pitsidianakis Date: Mon, 04 Aug 2025 16:47:14 +0300 Subject: [PATCH RFC 1/5] rust/bindings: add trace headers MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250804-rust_trace-v1-1-b20cc16b0c51@linaro.org> References: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> In-Reply-To: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , alex.bennee@linaro.org, Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1100; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=oF/2Jbbj/kJRLShPsty+hf1YAhHddpc/rIM+iPuPKJc=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9rTG56dU1TRFV6Y3RSOHpLK2RqcVF5YnhGRFpXCjZ5MkZ4eHRpNXhBd1JlWTNk Wm1KQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUpDNTh3QUt DUkIzS2Nkd2YzNEowSkswRC80OFJCNUhRQ1Y0WEp5MFVmSEJZV3NjTFRqeWZZS0xtZFJ0WGxOSg p2OGdRay91c3VWendFVzBGNnVWUGRzY3MrOHdDYnRKRi9nMWt5SW9vbWlaRG9LWDdqNkFVMmZxK 25yRGJiUGt5Cm41S045RlVoVnN4V05Sd09BZTY2cEJiRTFRMzRWQUFNNWtpQUMva09kaFFyNFBu UVpyMEtFbWNuUVVybENxUEMKTnRhbU1zQTEzUFJmR2QwYURVNHFEaC9nQWlKL0M4NTV0TmU0WXU 5SittWWZmNS9TdVdDRWNGNi81SW9CV0g4WQpIN1ZsY3hVR3FPbzB2RXc2VmZ0bWxDVkx6RzFwZn hyWFQxMGRSQ3hsS2lxeCtqYlpqWFhiWFEvTkZvVWVXZFNtClNVVHZtOWErMGZPYzhVN2k1c1JWM mlnUUp3MHp3eDNRZVNLczdZWkhTVFJ6OWo3V1dGUEVvK20rQmVBODhYN0QKbnVvc0xSRkkrNjZI SENGQWUyeWJyVGFhKzNLakhSYWFQNU9FcE1pcFBrakhLUXJZK0YxUTFIN2phVHF2VGtDRQp2bU5 RU1ZDcVV4WUxtTEQ1cDBxR3VZTkFyOEFVRkZJMU9VMlJhemMxdndUck9wZVVZN3hKWHllRUF5Mj N0V2M1CkdTNjA3ejk5OE5YWWE5UWR1blVjRzF1QjYvOTE4RzdNTlloWnV4dm5BaVBjeUl2cjRYU 28wRlVldlhnOGt5OEkKMWdWeVlhbVZ1aFBKa29lazZoYVZWMlorcUVKTkRtUjI2Ui81VTNkWjhq dUxieHIyL1BZSmwwNytrNkpleHZqeAo5N05ydTM3ZDBjd1E5M3hUY3VWaDFTV0Y0NlZFQkZZaXB lMnBLekpkQTkrV0JGV1VEdkZXWFRodkhEMHZCR1BaCjlENWx5UT09Cj14dmViCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 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::532; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-ed1-x532.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, 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 @linaro.org) X-ZM-MESSAGEID: 1754320659489116600 Signed-off-by: Manos Pitsidianakis --- rust/qemu-api/src/bindings.rs | 3 +++ rust/qemu-api/wrapper.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/rust/qemu-api/src/bindings.rs b/rust/qemu-api/src/bindings.rs index b8104dea8bea4348987978d5041cfc58e4d15a8f..d863b8bd7ecd449b5fe5c6f1be3= bd7b4251b2883 100644 --- a/rust/qemu-api/src/bindings.rs +++ b/rust/qemu-api/src/bindings.rs @@ -56,3 +56,6 @@ unsafe impl Sync for VMStateField {} =20 unsafe impl Send for VMStateInfo {} unsafe impl Sync for VMStateInfo {} + +unsafe impl Send for TraceEvent {} +unsafe impl Sync for TraceEvent {} diff --git a/rust/qemu-api/wrapper.h b/rust/qemu-api/wrapper.h index 15a1b19847f2f2ab1a1a856621abb64f757070ea..540ef5eeac840deadd2e9a6f0dc= d154f8dc1487a 100644 --- a/rust/qemu-api/wrapper.h +++ b/rust/qemu-api/wrapper.h @@ -69,3 +69,5 @@ typedef enum memory_order { #include "qemu/timer.h" #include "system/address-spaces.h" #include "hw/char/pl011.h" +#include "trace/event-internal.h" +#include "trace/control-internal.h" --=20 2.47.2 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1754320977; cv=none; d=zohomail.com; s=zohoarc; b=haA1yYcLyAt53gfuFpYPX3dzW/j8Z2g2PcqsRQuMTH8Qk7VBJvHocVUZRr6i1lyJcalM0Jd0cbqRMVu/MjKYXJ0Csev+bi7hkEyYY2AoyPcNitL8RRKyZdVx5UTPHLx6Rd2dSsGuYCaYnuklYgNMzgv/oQV0L1A3tyIEsR2/GfA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754320977; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LMgCrR6KlknYh+ENybJoq0RqAETuG6eMroYq7thwFcY=; b=X6kWXDktbtqXSXnVH6YWTGauw37gQBNA/mSZJn8EmRVRVFuoEHqb86BMpmF3qY3d2z6AZPLSTTY5c7z8NRR3x+4b07dEx2nQ4phhF/COxbKkiBykFhE0pPElUU4LoGu/b2tA3oUBHKYwEpvTLS95e27bDSKCpiz3OEC+kQuaxNY= 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 1754320977084675.1557333632268; Mon, 4 Aug 2025 08:22:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uix1I-0002op-9u; Mon, 04 Aug 2025 11:22:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uivXQ-0005hq-8W for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:40 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uivXN-0002Yv-9i for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:39 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-6157ed5dc51so7780531a12.1 for ; Mon, 04 Aug 2025 06:47:36 -0700 (PDT) Received: from [127.0.1.1] (athedsl-4441708.home.otenet.gr. [79.129.182.92]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-615a8f15d9fsm6850590a12.17.2025.08.04.06.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754315256; x=1754920056; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=LMgCrR6KlknYh+ENybJoq0RqAETuG6eMroYq7thwFcY=; b=sxOgOFjIyMhowtgPS6PXLRh8njZsIb7EhCo0m821r6F7KPlCHxsT4f4DqHjzkGlaGz V0Uagi6CoG/fQbqFQfaG796hSJg36uN/ZODv2q74wUN5JkFTo1qzOznShhOZgRzu9Xkg ns1PbY27rQheQj9tFhROvZYqSyHk/GvT6VGeA9QTrIVbK2Jc8uxPDG/TACR/FogOzdTG J7vMlqB4TpDo547+o1cC0YqOrUeWkSPLdbfZwxm2gYLf7jHebp7CoJebOtwM84tDyj4a JzYp7pqmo8BJzLWiAVN5ubaK+mkf5sBTe2iv5Z3cRyIJMLdC4gQn4cnD/4eBd1iQyAKf 58Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754315256; x=1754920056; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LMgCrR6KlknYh+ENybJoq0RqAETuG6eMroYq7thwFcY=; b=LhtRGTyyx2vciLmdt+qaeQttLFPKCdlUttTJWrI5d7S5fuAodAiPZzSp4mIuDtLOiN YZ5Tvw2ZeWV8GJDTow4kIxEjiYNWLKkYcDpAA8NTjsHwDUscIx1HfMLoUJibirOzJIKt S5h0aOyas0QUgd9nbr+xBIrcXgZi9CTMRTH8SdiGSYHjPXJAxgyZjJxafRoPtna8l7in SaDaPf05ZTMm3hBl0KdFCsorD32Xit0rH3PbDSUE3kI/MJuWcDVDcDyKPtP4oSZSDw4K amCP8Q7vCsFg54chPVodP6iVysi77wh+NvDBeVkhKFG1ybIPcpj4FfIUbmkrMndoMTvS JjsQ== X-Gm-Message-State: AOJu0YznUzF0QqNObV45jyKex9kV1BPqUn4vEwCftPjNZe4bGMBxoHBo MPpNj+lSoc1A98TehhE4gTYUN6cyI1a1QzbIuTFG7Om1SXwYNk/rdVzh5ccRMGnaDQI= X-Gm-Gg: ASbGncu6b+bKGL0Pb8aoo2yKomCQdCHw+sOnakw71j+qnqGdBbMBBIbr6PS0bla8eDG +PtMbnYv/G5Ef8AVft7/gzV0V8U76Xrle8di0BoMEhszjfn6ReUhWrkodQcvjbSwNxUla/o8pJX GFputGcgpHv0w1e9fEH3ZgJw9+VIIYznujhWtJYIGB6sOtLQ3P+SbdDZ49ti8ms/TfjdNAOQuIV v1aZAs7hUVJiBg0OJJs/VSj5h50ZqNLoUciGseYnGHysPnxi/noJ1gnGfw9SosZaWbQsnyNkHPy bc5t94Eo9CTfyKgT2TNkylk9D4CoH2H0udqRot3J6hW6cUYo+VfsXnavaI9MQeFOWPB/2de2CzV HEvxIHg2pFQ4S2h4iDhN7dt8S+7F0GcqYRc9K6EVp+2s7XquYzjVdsudcO6CIu+MZmr4= X-Google-Smtp-Source: AGHT+IFqOd9wQ9qUvXAzSSypDy8vF0aKHLWLlZv7VxJ/ZQ1eozu+WxLgzwynxPNhVI4/RJK6/T0AYw== X-Received: by 2002:a05:6402:34c9:b0:615:a5d5:972c with SMTP id 4fb4d7f45d1cf-615e6eb5b7emr8745017a12.6.1754315255602; Mon, 04 Aug 2025 06:47:35 -0700 (PDT) From: Manos Pitsidianakis Date: Mon, 04 Aug 2025 16:47:15 +0300 Subject: [PATCH RFC 2/5] rust/qemu-api/log: add Log::Trace variant MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250804-rust_trace-v1-2-b20cc16b0c51@linaro.org> References: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> In-Reply-To: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , alex.bennee@linaro.org, Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=786; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=pk38yZHd4Z7OGorg/EcCACOf8ud5WhK9Uhm8ny8k1HI=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9rTG56S3drWlExMnV5ejBVenhXL0ZTN3ZjQlBqCmlhd1AvaUtwMEdDejBFQjF5 cWFKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUpDNTh3QUt DUkIzS2Nkd2YzNEowRklWRC85c0J0aGdCN0YrVllYaUhSK3liT2JNM3hEOENZay9GYndWOUpBeA pKY3VZUTlnU1ZrQWluM21UTDh1NGRaRmJHYlMrQmdhSUR5Ym5jMEg1TjlxaDRicno1VjBNYXZoY TVOVGZLOFc5CmZGWG5waktqTVVDYmJMZGZaZnhnUjZnaFlFRnlxQXZzakdiTW9MU2ExQjFFZ2FS Szh2eWhuSk45SGFHTFpSSGcKOWlDN25mZXZlbHVRUjh6Q1FoVGc0bkhuSHRLS0lvVjQyek5ZMGt 1ek41eVZsWjY0aDJZTE4yY3BxVUZ6K0lERwp4Y29OcDlDNTZmQlZrVEMxYXRkcnVmRjd6Rm1Pek tFV0NZNmtabklBN3Zzdk5WOVNTekxveEpDYTFHcTVoQzRUCmZ1Qlh4RjBleDhoQmZsZGtpOVpHR lFoL3dWUEpjV3l5NGVZUTlOMFFheGordEM3dkZBMVpnWWhYZTFsOFN0SlEKSEZRS1d6SjNCRSsw OXVncWY1V0M5MjJiUWkrUllJa2ttNW9FaU8vR3Z2SUJkenU2b3AwQ0F5Y0w1UnRzVmdNdAp3aDY xUU5ORDVqVDZVdE9nWEZYL0JkVUl2aHcwZFRTN2VRTXNkQ0VTN0hQVE1EU3laSDVIQ0lLTjdWUn ZTUkVECnUwd3FRbzAxd29KZEdrYjVPejMrYkljeEQ1UkJrVDFKTDFrZmxQekV6Mkhtc3d5VTRDe GhHcW5TQXVqZndDQzMKNHhlRHVUb3Z5ckhka2liQlpDMDlCVnkxQ0xweGpCdHpxRkMrNnlIWndH RUFLUU1CLytDOEkvKzVtN29Va2RGMgpDa29xWnArRkxWNnF6WHd2eWZVY2c1cXA0TFprN3Y0NCt oaU5QZ0pQQ2NCSmQzMHFSYnU5aDdBNEdldmkxQUJDCmYvNWZNZz09Cj1obHdlCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 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::52e; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-ed1-x52e.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, 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 @linaro.org) X-ZM-MESSAGEID: 1754320979828124100 Signed-off-by: Manos Pitsidianakis --- rust/qemu-api/src/log.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rust/qemu-api/src/log.rs b/rust/qemu-api/src/log.rs index a441b8c1f2e61b6aba95a3679ca9c426ab890c19..750ff4b4d878fabeac0bc2b28d2= 91db4b824c760 100644 --- a/rust/qemu-api/src/log.rs +++ b/rust/qemu-api/src/log.rs @@ -23,6 +23,10 @@ pub enum Log { /// Log guest access of unimplemented functionality. /// Corresponds to `LOG_UNIMP` in the C implementation. Unimp =3D bindings::LOG_UNIMP, + + /// Log trace item. + /// Corresponds to `LOG_TRACE` in the C implementation. + Trace =3D bindings::LOG_TRACE, } =20 /// A RAII guard for QEMU's logging infrastructure. Creating the guard --=20 2.47.2 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1754320655; cv=none; d=zohomail.com; s=zohoarc; b=AJ1y/r7Ik3y13ySFvX9m4vV+aRGg4PBUJAMiFkGr6mvvflQfTk3YJLcz8ud86LZM0Ghz8CxQYBnaUeUcPTIofshFX1Si7vR+o8/+3EBJzzDC1Ybc5mW7g7ssx2opTgpv4HQRopjF7owMxq89pyo9UOjhTBbfZ/93RDsb8k7nFio= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754320655; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NnAVSdr5SadLRV4G+KyJ3baz4qmfkMEOYJh7lQrhK5M=; b=mteXwHwEMWbdNhGKnGsoLpJYZJllqLIw5QNxSgkkpVBphiEeoMtu0IFLgtgoHt2ql6bB+Fme1fBJaxNplY6AacrDPYgClHpOu2wLi+L2iUvrneB6HuQaht3QuFrg0y+pdatk3MsMMucanldacYMegSrzZ9GTWnMeL+9IlEtkc3g= 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 1754320655223290.9125038145331; Mon, 4 Aug 2025 08:17:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiww6-0004Re-Vp; Mon, 04 Aug 2025 11:17:15 -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 1uivXR-0005nb-He for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:41 -0400 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uivXO-0002ZO-IF for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:41 -0400 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-615756b1e99so4976347a12.0 for ; Mon, 04 Aug 2025 06:47:38 -0700 (PDT) Received: from [127.0.1.1] (athedsl-4441708.home.otenet.gr. [79.129.182.92]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-615a8f15d9fsm6850590a12.17.2025.08.04.06.47.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754315257; x=1754920057; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NnAVSdr5SadLRV4G+KyJ3baz4qmfkMEOYJh7lQrhK5M=; b=noWRV0CiNNYuSlX4O31qhxM/4U6hPcK6Z0QoBqFpkBgsxh8VdoQmUjFq9VZXwPYdwP DhF1Ir3bwsVY50lMbhuNuFh1rRzoNW9axLfyBL4NhpSys5AzyPaWwF0O2Wf7tLr5zPQk QlxGyTspBPM6QnbiIvDEgrQsVm/mROh/o663Npwl4wRjA8DyVxTOiQPZOj7yAPzqr6/t PW7j2mj9Bk4wIh7qdqxOXqlQU/4Aw1ZVFFSuIy4trdlxGZzTCAgiXuwbrwXq6J5hjmqK mNRJ+VPGKMd9WSAkkYK5JrRvcW/Jb2gFvbYAs+uiqoTsLH5uB9Asqcp5jBjbB93a5xlO MViw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754315257; x=1754920057; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NnAVSdr5SadLRV4G+KyJ3baz4qmfkMEOYJh7lQrhK5M=; b=D9I6+5ZBgClE7c+2uQsy3Goap4FM3ZZgsVe1U5rT1hpsxrOkTNdJ0MUd/z4Z+Lkpbh iLCg+Eqv1ptril0RrJJfOonwvsA+yZj2QdGuArAU5RBdWDqlWqOnJw10BVAEiD1lPe3C K5+J2z2VLTZ39Ecx8rGaZAoQA85hfPYOBFm+N+XDxM9386COqXBIrXCpFrNK3xSldtwk 6MCEhw1sd2cvhB76o6YxrCqg8I7RCtfzKdtxGGy+ooOOYlWOy2HxOL8EB922O7P5HSzC u+TyzSoAL+kZ7yqbsf6qnmpf837OhuPYjsVtcm2IPc/2qPt2tH2kSu2aDGY1hEBDjCwy MzwA== X-Gm-Message-State: AOJu0Yz39eHMvisq0F4QEPNokrkm4Ocqydqub3pVB4QiypZNJ6HcgY56 mKQ6Wq+n+9Tu3ydh4axJHW/s6Sr9cHsp/AOKnZn6Y42owslfvA+09DxH/bTjpYBSnM4= X-Gm-Gg: ASbGncvN5JvnZ5UNfSCB35kXdOG5hLx3l4sqO40Wj550+wm4f6XHws8Ri0+KUHMohWZ 0iUCLhRCzpOybaoEjGZKjlYbhcNVk+DzvuxTLeoedQi5RbwciWZy682LjsCV2T+N/c3O2lpMKoR 2leehjUNO/dXmOZZu8VrU9z0KBWJFmpfyh6oy4tStHrLcd9qv9Jyu0dNkD2ZjxNwoidnBHA5p1O /0ubYA6JThN03Red1glw0/OBNvDB1T7YFg51SOyTLG/Cc2BESsxVBOVmW2/YPGg9HYsLwUnUJUj LjHXU/QGqTvKoCPt1a62dAMBYixeWVlMQ1d+cGGXOb7uQFXJJinqiS/YgsdaB+kuYF80aiWSn+W XzLCjHaEXER/mIPPjS4P++ko+JNiPpnTVgL8WdN1TIrCWx4y5m+UU8Ruy7QEWmwuUZX8= X-Google-Smtp-Source: AGHT+IGKo06pwhWODnr5gkKxMD1RT/ZXgok8or+fPM5MM8mauBOygXPm6upve6vIUfWe9JiSyfWWPA== X-Received: by 2002:a05:6402:2747:b0:612:b24f:4b2f with SMTP id 4fb4d7f45d1cf-615e738820fmr8636539a12.27.1754315256733; Mon, 04 Aug 2025 06:47:36 -0700 (PDT) From: Manos Pitsidianakis Date: Mon, 04 Aug 2025 16:47:16 +0300 Subject: [PATCH RFC 3/5] rust/qemu-api-macros: Add #[trace_events] macro MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250804-rust_trace-v1-3-b20cc16b0c51@linaro.org> References: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> In-Reply-To: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , alex.bennee@linaro.org, Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6514; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=k9Sqif8zYxdtUR9QlMnRMv0bMeNFqRXvKJG0mBE63lg=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9rTG56SnJwOEdCaTljWjZQeWtnbGR3b3FWaVUzCmJkaExKREtjNU5jKzY2M2Ju L3FKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUpDNTh3QUt DUkIzS2Nkd2YzNEowQjVhRC9vQzJwUG5LVnhKcEZsT1dMWGkwRUE1R3J2eFdYbDJrcUc3V1MxbQ pITVZPRmk4TWw5S2hpWndsWDA4YndWNlplM3FKd204b1IxRnZERm1TajJHdDhFMGFkNE5xNEIyU FRUbVZKL1FpCnJ0ZjRET2tUSUdsZ0FyYVp3bXNmZ0UzSCt1L2VSb3Q4Y01YUGhveFhLc2E1ejM2 ZlFqVU1wK3ZESklNK1RibnUKY1dnc01LZ24vL1ZUdlVxcnRsZFF2YlcyVjBkTEwzMkQ1cW5VM3h IREhsZGticDRWL1p2VHJ5RENteTVaTU9RQwpvbHQ4eTE0S25RdGNTK0luY0ZOVlo2azNUNEk4Ri tibFREdEZhb2JrTVV0NVJkQk1CUWZSM29qTVAxOHdSdDlDCmZJSzVjWjNNWStkbGJmV0pTYUo4U FhSVGVZOW44dUtNakE2bFRDZHFadFRLeWtKY3JxeGtycG9qK2xpbkJ3elEKNEhGeVBSUGJqcUhI ZTdsMUNFOEFPdmN6YjJCazN1UU0rWXFKbDV4MWhLV2xmQyttYlJYQkdDbmg3MDRxNXlxWQpONjJ sQUFYZmVTT1hOMmJRUk5VbkRDMmdnbURzc0cxYlJXbFdLNXVFYjFicjRzNnBSU09EKzBZNVFOMH dldEl2CisxcWtmeFB6R0kzSFRudlBDWTFlQktnSVJ3U2dHWWJGUVdVSmlLR0hxSzQ0TmpBVVJ5Z TI4cHdsdEZlcEJHVDkKNm9WL1pGZGlneUs5YW1XaW5ac2RTVkFGTnZ0OFNjcVNzaytmYUxEWHNs djBPdkd5d1BCcXl6V1hIdll3NkdiYQpFVUNCQldaN0p6cVZpRWovTXBLZlJqU3NtODlvYWs5UkZ hd0QySXVzaHg2QVg3MlVlQnorNzZJNzluWDd6TFNZCllEQ1kzQT09Cj1KQlNLCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 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::529; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-ed1-x529.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, 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 @linaro.org) X-ZM-MESSAGEID: 1754320657487116600 WIP Add attribute macro that converts a module definition into trace events. Currently it allocates a string to pass to ::qemu_api::log::LogGuard::log_fmt. If you pass format_args! directly the arguments are not properly written, might be a bug in the qemu_api::log implementation. Signed-off-by: Manos Pitsidianakis --- rust/qemu-api-macros/src/lib.rs | 140 ++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 137 insertions(+), 3 deletions(-) diff --git a/rust/qemu-api-macros/src/lib.rs b/rust/qemu-api-macros/src/lib= .rs index b525d89c09e496a1f7f5582dc6d994e318f62bca..7d13b1c195085f1d153514cc01e= c5c389160916a 100644 --- a/rust/qemu-api-macros/src/lib.rs +++ b/rust/qemu-api-macros/src/lib.rs @@ -3,10 +3,15 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 use proc_macro::TokenStream; -use quote::quote; +use quote::{format_ident, quote}; use syn::{ - parse_macro_input, parse_quote, punctuated::Punctuated, spanned::Spann= ed, token::Comma, Data, - DeriveInput, Error, Field, Fields, FieldsUnnamed, Ident, Meta, Path, T= oken, Variant, + parse::{Parse, ParseStream}, + parse_macro_input, parse_quote, + punctuated::Punctuated, + spanned::Spanned, + token::Comma, + Data, DeriveInput, Error, Field, Fields, FieldsUnnamed, FnArg, Ident, = LitCStr, LitStr, Meta, + Path, Token, Variant, }; mod bits; use bits::BitsConstInternal; @@ -263,3 +268,132 @@ pub fn bits_const_internal(ts: TokenStream) -> TokenS= tream { .unwrap_or_else(syn::Error::into_compile_error) .into() } + +#[derive(Debug)] +struct TraceModule { + module_name: syn::Ident, + trace_events: Vec<(proc_macro2::TokenStream, syn::Ident)>, +} + +impl Parse for TraceModule { + fn parse(input: ParseStream) -> syn::Result { + if input.peek(Token![pub]) { + input.parse::()?; + } + input.parse::()?; + let module_name: Ident =3D input.parse()?; + let braced; + _ =3D syn::braced!(braced in input); + let mut trace_events =3D vec![]; + while !braced.is_empty() { + braced.parse::()?; + let name =3D braced.parse::()?; + let name_cstr =3D LitCStr::new( + &std::ffi::CString::new(name.to_string()).unwrap(), + name.span(), + ); + let name_cstr_ident =3D format_ident!("trace_{name}_name"); + let arguments_inner; + _ =3D syn::parenthesized!(arguments_inner in braced); + let fn_arguments: Punctuated =3D + Punctuated::parse_terminated(&arguments_inner)?; + let body; + _ =3D syn::braced!(body in braced); + let trace_event_format_str: LitStr =3D body.parse()?; + assert!(body.is_empty(), "{body:?}"); + + let trace_macro_ident =3D format_ident!("trace_{name}"); + let name_ident =3D format_ident!("trace_{name}_EVENT"); + let dstate =3D format_ident!("TRACE_{name}_DSTATE"); + let enabled =3D format_ident!("TRACE_{name}_ENABLED"); + trace_events.push( + ( + quote! { + static mut #dstate: u16 =3D 0; + const #enabled: bool =3D true; + const #name_cstr_ident: &::std::ffi::CStr =3D #nam= e_cstr; + + static mut #name_ident: ::qemu_api::bindings::Trac= eEvent =3D ::qemu_api::bindings::TraceEvent { + id: 0, + name: #name_cstr_ident.as_ptr(), + sstate: #enabled, + dstate: &raw mut #dstate, + }; + + macro_rules! #trace_macro_ident { + ($($args:tt)*) =3D> {{ + crate::#module_name::#name($($args)*); + }}; + } + pub(crate) use #trace_macro_ident; + + pub fn #name(#fn_arguments) { + if #enabled + && unsafe { ::qemu_api::bindings::trace_ev= ents_enabled_count > 0 } + && unsafe { #dstate > 0 } + && unsafe { + (::qemu_api::bindings::qemu_loglevel & (::= qemu_api::log::Log::Trace as std::os::raw::c_int)) !=3D 0 + } { + _ =3D ::qemu_api::log::LogGuard::log_fmt( + format_args!("{}", format!("{} {}\n", = stringify!(#name), format_args!(#trace_event_format_str))) + ); + } + } + }, + name_ident, + ) + ); + } + + Ok(Self { + module_name, + trace_events, + }) + } +} + +#[proc_macro_attribute] +pub fn trace_events(_attr: TokenStream, item: TokenStream) -> TokenStream { + let input =3D parse_macro_input!(item as TraceModule); + let TraceModule { + module_name, + trace_events, + } =3D input; + let mut event_names =3D quote! {}; + let mut trace_event_impl =3D quote! {}; + let tracevents_len =3D trace_events.len() + 1; + for (body, event_name) in trace_events { + event_names =3D quote! { + #event_names + &raw mut #event_name, + }; + trace_event_impl =3D quote! { + #trace_event_impl + #body + }; + } + + quote! { + #[macro_use] + mod #module_name { + #![allow(static_mut_refs)] + #![allow(non_upper_case_globals)] + + #trace_event_impl + + #[used] + static mut TRACE_EVENTS: [*mut ::qemu_api::bindings::TraceEven= t; #tracevents_len] =3D unsafe { + [ + #event_names + ::core::ptr::null_mut(), + ] + }; + + ::qemu_api::module_init!( + MODULE_INIT_TRACE =3D> unsafe { + ::qemu_api::bindings::trace_event_register_group(TRACE= _EVENTS.as_mut_ptr()) + } + ); + } + }.into() +} --=20 2.47.2 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1754320739; cv=none; d=zohomail.com; s=zohoarc; b=jRzHm+cKxP0ESLQm7txk1nUG0OSmGEC2e7i5takhMQ0d2UHDULOyQ7gS5ZMWR+QJ/jFNgvy1PG1GKhOZDS65jY0Q/8U+1LF/taJsf1lMjQIWxvayOLMB3bzoDJkhTIOOPWF4ITHvqHIlKGECTFC82MZDgdfO1FuQTblWNKu1duU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754320739; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Wbu96umnDhrqnXsA31ZGGYO94kVucZ/SNX5BmpI69LY=; b=OTWRohKe3aQUUBujqgL4XEj+4wPa9xvD6QZJiI4F4Tg8lgIfTu9vBP4nWwE+Jb6IHuBQdzycJiRGIskrCCmLX4cSGJnn1R1ODFPI+qeJqIn2hP7HxvAOoi/aQq7+4DxoaKNvNfq2BTYpg6K05vKb9pYKB9fdyC7DfM8b6ktSSJk= 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 1754320739482185.2331559515801; Mon, 4 Aug 2025 08:18:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiww8-0004cB-DM; Mon, 04 Aug 2025 11:17: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 1uivXR-0005nd-JK for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:41 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uivXP-0002Zi-QF for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:41 -0400 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-af93c3bac8fso421820866b.2 for ; Mon, 04 Aug 2025 06:47:39 -0700 (PDT) Received: from [127.0.1.1] (athedsl-4441708.home.otenet.gr. [79.129.182.92]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-615a8f15d9fsm6850590a12.17.2025.08.04.06.47.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:47:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754315258; x=1754920058; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Wbu96umnDhrqnXsA31ZGGYO94kVucZ/SNX5BmpI69LY=; b=Kq383Ha8qfbAnYYymHd2rrcFALceZU+VIzIcKBWC+9oy0gh8/pN3azIUyM3NTwsVOK DRYE/M6yUzLqzuwBscTSz7f4WLQBcTiJnfvpXILHYmFbirE/EKLcV8EfefPld+emm8IX nVl0V6M10bCQlumi1jRP01ix6p02bcGv6kf16nt0VJnZEWG1GsPwaArHb9DGw6pqmGPO DRdIm/wSJknq2a0tYQWSzvxaDY9JOCjpAjQ8Jfd5G11gKanmzYyXqhfiDtFI0loBZeMf hnRDhK9AakxpqPm9O0Hmz1GImnm/oVVxNLR/kCZdSN1eufy3pSxBecG/bNO8FBXGGo0P znQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754315258; x=1754920058; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Wbu96umnDhrqnXsA31ZGGYO94kVucZ/SNX5BmpI69LY=; b=AdwLDGtqC7Z2U6mW90YOn1Ch5bi5mIb9NXyKLUMD21I3QWqW5nliaSCVJYZPR0QD6A 9nIu92d/YtMy41l5Pw1p8hyx1IZSSv5jeKbE8Z6auNTcsa3uMV7NtDBmKGVq6c2Jvwsc 2qu3BG70wlHE4u3esUU3HSX7RdmsRUDWHaK7hfYtOnyAktak0IamOVEzj8/SNOgZ/Fiv PQTQvXM7C2BkL6ktUWHvF/Qfuv9DM0L6o1OMEo3lNReEKYOZ9fGeExc5CmPtyppnoRi5 IXEwWkSVgUQplT+iD+FI6oR2DVCfcuI2rgFR/O9r1wqP2lOGdJTCRpqnJAV5MsYeMcaj baVA== X-Gm-Message-State: AOJu0YxOF55quJg6HElgOTF5FAvGDvnJ/m1+CPZFs/o+gsw9wHcAXh22 M1Fv9lGOUWPFzrrNwA1dTN/4a9+aicVmjKN0btMNjHdgOu/ECAdIjaM7wHMTup1dq40= X-Gm-Gg: ASbGncubpd9zTzHfBdpv+13Kmo2xbrMMsHs1f/5+qyQJMqTspzzxemiNWCr99jBR+tP UTfRVvNTmntZrj4FZo9PEK8t6a9+RxAU/89TlvAabA3x9hSwehAV1rsh7wCo5OwOyaB4pldFDf/ NBDh2mYG4xigZsluKfzNwfwb7ZfHUhQAjFYULGsUcawjdJBK/meYN4WL1y4VpOImtB7nNw7r3TP gpuTEyxeRk1MWXyZPJ7r+qsh4GAHVRXN9R6BGs4oiObbft5yM2UVde6GB7zQHE0P19Xkwc9IxxO titjaBYpklBFaTPiWDyUvbXM43isPm99yzVGR/Di1aAhsEaGqzxZNNSfgQUodcN5iZWwuPU76bU dnw1L1WgpIWsxYaomSnFFgGs61+UiJ0K5gccyWjabhvzXhl5To4/HwV4a8xOKNltYGDQ4DKAEeu heQA== X-Google-Smtp-Source: AGHT+IGeok3AT9EM5+EyEyOC1yWlkSGisfJyqDb8TV7it5uIabJl3zpJ1FNVKBjSCLqIyEWa8p6aug== X-Received: by 2002:a17:907:d86:b0:aec:f8bb:abeb with SMTP id a640c23a62f3a-af9401c3223mr940541166b.42.1754315257893; Mon, 04 Aug 2025 06:47:37 -0700 (PDT) From: Manos Pitsidianakis Date: Mon, 04 Aug 2025 16:47:17 +0300 Subject: [PATCH RFC 4/5] rust/pl011: impl Copy, Clone for RegisterOffset MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250804-rust_trace-v1-4-b20cc16b0c51@linaro.org> References: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> In-Reply-To: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , alex.bennee@linaro.org, Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=744; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=Om9Apvwjl3yaG2PEd/tsN7AFucqCNXgbE+oPqw1/2PM=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9rTG4wdmI5R2VIb1FQZmpUdWRiWHBlSkxnd2lqCktlQUVUNnR5aHRXOEVXdXFC MTJKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUpDNTlBQUt DUkIzS2Nkd2YzNEowR2tURC85c08yY2hEN3AwS2dCaGgzTUtWY09mU3lXRjAwWXMyL1ZHazZVTA o0aWdWblVCNTAzQ05FL0oyaTNCbDBMNmdJbjVnbEtva05LczBWem9waEhBKzRrRkRsSkpNc0ZRZ 2pEVDIyRVFjClpFU3Rsd2IrYUxsV0hXczdzMW1vcStHOFNOUnBNRHc2SzRzcW9GTXZ6bXVyc3Nv Q25EVkNiRlRwZkJoNUh1aVMKMFcwR0Jwb09hdjV2SnlaaEVBdFpmZ0V2R3FrenhiNHF2bENqUDd tcUYvMURkSzNGZExUbkRkc0R6a3I5eG9sZwpLOG1oWWJ3T004SkRKZ1JtVEZTZGNPbzBsL01CVW Jla0dVUWQ5cFBZQ3UxUWhINFlHbFlTUVpIcmYwTzBnTVpUCmo3SlVsMkRlUlVQZUtpd084aklwQ VdsODlJbHEwaVNrc0VsVmQvY3BhZE5CcGJ4eEllbmFvNmw4UFZvdEhHTjQKbkNwa2V1eXlVM0w5 RHdhTUNkVUcxMElwQkJ6Vzh1LzJhU3J1WnJ5VXZNUWpnT0o5RFR0dzByOE92ZWltaUlNcApZdWd kZFNxSXFiRW9aN2tXOGdJWDZQVHpjSENMSzZsM3hkaUJLWXZVRGY5LzNPSzVad3NrT1ZzeDVVcU V5dUJmCjZiVksydHQxdU5Ea041amFWVm92bU1vUExyTm10MExHREM1ajI3aUlLYS9sN21VcEtKZ WFoeTJaRUtpL0pycFkKYm9Jdm1rNFZEczBJMWJINTBtV0VHNGE3TXpOMnlMOVN0OGUzaEJrWmZj bDhZOEkxSkJNVlRiblYrYXZKWkk2dwo5elZTYzM5cFJjY0ZJTC9CS2V0UWZ1YVVBUkVPQjEvQ0p JUVQvTFBBMTRPVnhIOEpLbE1UMEZzZXpxWk01MnJLCnZNUFNDdz09Cj1OQWlKCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 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::62c; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-ej1-x62c.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, 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 @linaro.org) X-ZM-MESSAGEID: 1754320742263124100 Signed-off-by: Manos Pitsidianakis --- rust/hw/char/pl011/src/registers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/hw/char/pl011/src/registers.rs b/rust/hw/char/pl011/src/r= egisters.rs index 7ececd39f8616e0b1dee999bbe31dc5dc70e209e..3201932daf8f4a71d95374073c4= c259698dec2bb 100644 --- a/rust/hw/char/pl011/src/registers.rs +++ b/rust/hw/char/pl011/src/registers.rs @@ -16,7 +16,7 @@ #[doc(alias =3D "offset")] #[allow(non_camel_case_types)] #[repr(u64)] -#[derive(Debug, Eq, PartialEq, qemu_api_macros::TryInto)] +#[derive(Copy, Clone, Debug, Eq, PartialEq, qemu_api_macros::TryInto)] pub enum RegisterOffset { /// Data Register /// --=20 2.47.2 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1754320720; cv=none; d=zohomail.com; s=zohoarc; b=kcax9hkalqVP+J7W01hT9Z5cEYUzzqTJAJ68LqgGeDJMLQa6aLkHeUjUYBV/XdLpkgNSocuwfXHPXrboNyJhSsPFcdLhwQsnewEHyu0JNiEppe9KlXtI7aivSB2NFt3cERxFj1PeFJK56ZZAj2zjFLa7eD8SEqUnIjc4V2md8Rs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754320720; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=o1g36ux8HgAALY4gkuyvI7RgM/186e9wJyZv+KvDnUw=; b=BSSJt/7SL5ogALMgAeAgsio0twVg2Y7bDq8dX7A8UwqjU//Ps3zgQu4SfarIb3WWzhAw5qpT/f1wZ9cjX82ne8U3FCml4JiuHiCOzESh8apGRKKS44PWfSYX1krzGlbB1WDVgOqolBY5VkrLO9LAbjWItA/kvnpNO7h34o32f6o= 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 1754320720928997.0483717883069; Mon, 4 Aug 2025 08:18:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiwwi-0006ME-3M; Mon, 04 Aug 2025 11:17:54 -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 1uivXT-0005u4-6o for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:48 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uivXQ-0002a8-QY for qemu-devel@nongnu.org; Mon, 04 Aug 2025 09:47:42 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-60bfcada295so5375219a12.1 for ; Mon, 04 Aug 2025 06:47:40 -0700 (PDT) Received: from [127.0.1.1] (athedsl-4441708.home.otenet.gr. [79.129.182.92]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-615a8f15d9fsm6850590a12.17.2025.08.04.06.47.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754315259; x=1754920059; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=o1g36ux8HgAALY4gkuyvI7RgM/186e9wJyZv+KvDnUw=; b=udg3GRWZkj+aJ36V+naVfRbgT3IQ8czsPuJcWtLxW0+5yhRPt2HVyYLXwoLfIifbPV JGgQGPArIf73VUB0Q7ivFqtXKT67oX4WOkLDCC4rli+TdV3+d5Hx7tsWDSG+OYjdvoVr OwkXxkaQiwIyX+OzKy07ugw7uOGioCd4KfBREfPnHVkn/qiynJgDe567iCuTP5CWNm96 F9MM5+BkHNSk/ZOduhjdnIhQjCQ9JoxDEW0qDfZra5jEwLND5kOYMiR7igQe09LKi5Ui c9nLtR56UFTQJJdIQAmOn2Ty/q5AMjFhVorZEl9wKI+5DAGIGEDqFtZYJvVhCyLiPidA hi+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754315259; x=1754920059; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=o1g36ux8HgAALY4gkuyvI7RgM/186e9wJyZv+KvDnUw=; b=lKIKROInFARxDgycnH6OlvE3sxpE7Gr/j3+YyDkFd+np+Ys2BjqGW2Z6IUNhqxrsF4 SZcof2KwoHJiRLaA5WFuvgftKm1TJ6FWuLwIF3LgaJc937W6ofEvszIb4Tq1LIeg+ia8 bC9SXFJudkrvI0I7XK11UHPqDY5F13va+sOH50TZuOYC5M5+ZMr7iXablMNfGw0Iuxu1 rcLUS5jxHtQl3BvVy8D6/78SNEXXvonLvnJl704XlusAocYl9tL581E14YPNyZjY2iRw V648Hs1sy+eWUDBIgPq4NsHcFnUnF5jq9x0X2jd3teJOCmYcY2yjLBQwyQzf8W9FTZC7 Z2+A== X-Gm-Message-State: AOJu0YxsaUKs7prixXEJoM7CtgN3qW0Z3OcnVeOogJowwKRdfSdOU18x Jrznfa11+dPf2/daB/jDop742wEu8g2YwShJJk41N6jmy6p2jcJcZlMXQtcNo771epQ= X-Gm-Gg: ASbGnct9aT1LLAtHrYqXPKNKwkuRQTrnEC/juXOl/2/SGjYqU/QGzXVhO+22EByTz73 /6afQQsJr4sLfoqUf28dfWZjbfu/7DJ/HaiApytfv/CFTV0n+CYVno7dbRy6VjkHs7ahyYpCXwK fihBw/UiGJGSM0XyYYS5HRlTW2csY8Jb+6ZaUTvi+bAsOd3iaZrNKKnxiemLjEtDrg+hpSBwd9S Xj2YMPv8ocYFgcfnmJK3SqhD3cKDa3PDBZTmnYLlrI/Ig5Te0MdSQTKwse0jjLRS2uwbXGpJjQM kNEyBLX7vhWkSJRPOHoHOliJ1j68l8WEaxxkcmuKtBB16SJKsP08AWkO5GkzCtnlIp9YbVhqksD twTLPLdsu3SVH3puclvjtVxf0HggSAY0+KpSVAUywvw8LIFDU4PFrjV0ZoSazsvwt9O09D4Dt4f 619A== X-Google-Smtp-Source: AGHT+IG8RGCFgCO3yKf/C4CrEzwJw6XCNTEZUrEz1pBa3Fy5V8qkNipd/L5tFzj5jNMO1TyvnnzIXw== X-Received: by 2002:a05:6402:234b:b0:602:241c:345 with SMTP id 4fb4d7f45d1cf-615e73873bcmr8241457a12.23.1754315259075; Mon, 04 Aug 2025 06:47:39 -0700 (PDT) From: Manos Pitsidianakis Date: Mon, 04 Aug 2025 16:47:18 +0300 Subject: [PATCH RFC 5/5] rust/pl011: add trace events MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250804-rust_trace-v1-5-b20cc16b0c51@linaro.org> References: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> In-Reply-To: <20250804-rust_trace-v1-0-b20cc16b0c51@linaro.org> To: qemu-devel@nongnu.org Cc: qemu-rust@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , alex.bennee@linaro.org, Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5557; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=kom9/VHSo8s+yoYa39OFIN1NNX+OksayFdjf0XxvDuE=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9rTG4wNmtmT3dyU1VpbGp3alFaeFIwcnpFNmdvCndld3ZFUk5iYnVwaDlTckUx NW1KQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUpDNTlBQUt DUkIzS2Nkd2YzNEowRXdGRC85QUphYzhuMm1kTFRGRS9sRXQwdExqcG45Y2xlWlJYbjAxazFsVw pEanpaZFhFU0t0MEIrUXBRTXk4dVp5R3hsOEM0ajFETXpXaWVGNnVuUjFiTlhaZGFVUHM1d3JKa k5od2hHTXdmCmtoeTNrUTFRRm9RbDlveXEvTTA5N0ZtU2RFQm5kY0U2c25qZFdqWHVOdEplOXJN Q0ZkMHQ2M1ExeXZuVTExaE4KVEt5R2YyeHp5SHJqK3M2QkxxdEtHUFNOc1V4QXF2R1BlTEdlWlh 6eXFsOEwraWZNdkR5OGhIR0hEVFIySzdNOQphalcyWURXZDM2VnRFYTMrajJha2lDdmRXY0dEQz VJeVo0NExMaGYwa2htYzlsbTNRamRPZ0QrTHZRWFpqUW1JCmlKMmZnSERhTG1kQmNNeER1ZHVia XR4NHBjdmtrbHZPMm1yNUNwWUo2U1NQYkdsNDRhQWJVN3FzQmFxWFpVMkoKM3dwbDB4VEVBc3JU a3pWc0FVL3NoUG5VVGp5UHRGZ2E2cHBrbFBQOWxMVUpFS0FIdGVxbmxyem1UMG1McC9jawpocUt kNU1EOWtncFg3YWxKeXQwRmVFWVdxYjY0MytCOXJTcjFzNW5kY3VsTWlTRmFzSVZ1Q0U4MnFKSm RSZnBNCm1Mb040QkhlVW10c2V1M0VmSlJFYk1MNEpwMVVSWVZieXZyT1pCR2tqa1gzMEQ5bEJWM 1NuNmZ1ZkxleWtEdG0KQ0V3elhKT3B6aTZ5aHNzTk92N0xSUnBkTXY3Um9yUVVYYzBzUWRvYzVy NWROeFVTQ01MUzdpM1dNOXpKWGFOdwpBYWZnSTlqTjk5RytxLzNJVGpGQzZNbG9xRFlUK0VxcWN 1OUhtTXBWcmp1V21jV3R2UzF6Rnl4bkt5Nm9wTkc1CjBhVkNRQT09Cj04S3ZLCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 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::52e; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-ed1-x52e.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, 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 @linaro.org) X-ZM-MESSAGEID: 1754320724341124100 Add all C trace events (missing: baudrate) Signed-off-by: Manos Pitsidianakis --- rust/hw/char/pl011/src/device.rs | 28 +++++++++++++++++++++++--- rust/hw/char/pl011/src/lib.rs | 43 ++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/devi= ce.rs index ceb71dd99b661b9f4da98f2dbabe18e82142035b..dabb4ffb5ed0b2df388ca266d3b= 549fe9cf6d7bc 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -27,7 +27,14 @@ zeroable::Zeroable, }; =20 -use crate::registers::{self, Interrupt, RegisterOffset}; +use crate::{ + registers::{self, Interrupt, RegisterOffset}, + trace_events::{ + trace_pl011_can_receive, trace_pl011_fifo_rx_full, trace_pl011_fif= o_rx_put, + trace_pl011_irq_state, trace_pl011_read, trace_pl011_read_fifo, tr= ace_pl011_receive, + trace_pl011_write, + }, +}; =20 // TODO: You must disable the UART before any of the control registers are // reprogrammed. When the UART is disabled in the middle of transmission or @@ -305,6 +312,7 @@ fn read_data_register(&mut self, update: &mut bool) -> = u32 { } self.receive_status_error_clear.set_from_data(c); *update =3D true; + trace_pl011_read_fifo!(self.read_count, self.fifo_depth()); u32::from(c) } =20 @@ -458,7 +466,9 @@ pub fn fifo_rx_put(&mut self, value: registers::Data) -= > bool { self.read_fifo[slot] =3D value; self.read_count +=3D 1; self.flags.set_receive_fifo_empty(false); + trace_pl011_fifo_rx_put!(value.into(), self.read_count, depth); if self.read_count =3D=3D depth { + trace_pl011_fifo_rx_full!(); self.flags.set_receive_fifo_full(true); } =20 @@ -554,6 +564,7 @@ fn read(&self, offset: hwaddr, _size: u32) -> u64 { self.update(); self.char_backend.accept_input(); } + trace_pl011_read!(offset, result, field); result.into() } } @@ -562,6 +573,7 @@ fn read(&self, offset: hwaddr, _size: u32) -> u64 { fn write(&self, offset: hwaddr, value: u64, _size: u32) { let mut update_irq =3D false; if let Ok(field) =3D RegisterOffset::try_from(offset) { + trace_pl011_write!(offset, value, field); // qemu_chr_fe_write_all() calls into the can_receive // callback, so handle writes before entering PL011Registers. if field =3D=3D RegisterOffset::DR { @@ -589,11 +601,20 @@ fn write(&self, offset: hwaddr, value: u64, _size: u3= 2) { =20 fn can_receive(&self) -> u32 { let regs =3D self.regs.borrow(); - // trace_pl011_can_receive(s->lcr, s->read_count, r); - regs.fifo_depth() - regs.read_count + let fifo_depth =3D regs.fifo_depth(); + let fifo_available =3D fifo_depth - regs.read_count; + + trace_pl011_can_receive!( + regs.line_control.into(), + regs.read_count, + fifo_depth, + fifo_available + ); + fifo_available } =20 fn receive(&self, buf: &[u8]) { + trace_pl011_receive!(buf.len()); let mut regs =3D self.regs.borrow_mut(); if regs.loopback_enabled() { // In loopback mode, the RX input signal is internally disconn= ected @@ -642,6 +663,7 @@ fn reset_hold(&self, _type: ResetType) { fn update(&self) { let regs =3D self.regs.borrow(); let flags =3D regs.int_level & regs.int_enabled; + trace_pl011_irq_state!((flags !=3D 0).into()); for (irq, i) in self.interrupts.iter().zip(IRQMASK) { irq.set(flags.any_set(i)); } diff --git a/rust/hw/char/pl011/src/lib.rs b/rust/hw/char/pl011/src/lib.rs index 2b70d2ff5604179b367b91cbcfdbf9480fa30180..ecfbad27c80fc551a2ced2f9cfe= 2109b9142e26a 100644 --- a/rust/hw/char/pl011/src/lib.rs +++ b/rust/hw/char/pl011/src/lib.rs @@ -19,3 +19,46 @@ =20 pub const TYPE_PL011: &::std::ffi::CStr =3D c"pl011"; pub const TYPE_PL011_LUMINARY: &::std::ffi::CStr =3D c"pl011_luminary"; + +#[qemu_api_macros::trace_events] +pub mod trace_events { + fn pl011_irq_state(level: u32) { + "irq state {level}" + } + + fn pl011_read( + addr: qemu_api::memory::hwaddr, + value: u32, + regname: crate::registers::RegisterOffset, + ) { + "addr {addr:#x} value {value:#x} reg {regname:?}" + } + + fn pl011_read_fifo(rx_fifo_used: u32, rx_fifo_depth: u32) { + "RX FIFO read, used {rx_fifo_used}/{rx_fifo_depth}" + } + + fn pl011_write( + addr: qemu_api::memory::hwaddr, + value: u64, + regname: crate::registers::RegisterOffset, + ) { + "addr {addr:#x} value {value:#x} reg {regname:?}" + } + + fn pl011_can_receive(lcr: u32, rx_fifo_used: u32, rx_fifo_depth: u32, = rx_fifo_available: u32) { + "LCR {lcr:#x}, RX FIFO used {rx_fifo_used}/{rx_fifo_depth}, can_re= ceive {rx_fifo_available} chars" + } + + fn pl011_fifo_rx_put(c: u32, read_count: u32, rx_fifo_depth: u32) { + "RX FIFO push char [{c:#x}] {read_count}/{rx_fifo_depth} depth use= d" + } + + fn pl011_fifo_rx_full() { + "RX FIFO now full, RXFF set" + } + + fn pl011_receive(size: usize) { + "recv {size} chars" + } +} --=20 2.47.2