From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, tanishdesai37@gmail.com,
stefanha@redhat.com, mads@ynddal.dk
Subject: Re: [PATCH 06/14] tracetool: Add Rust format support
Date: Tue, 26 Aug 2025 12:49:22 +0100 [thread overview]
Message-ID: <aK2fQquP2Uj_C7tP@redhat.com> (raw)
In-Reply-To: <20250822122655.1353197-7-pbonzini@redhat.com>
On Fri, Aug 22, 2025 at 02:26:47PM +0200, Paolo Bonzini wrote:
> From: Tanish Desai <tanishdesai37@gmail.com>
>
> Generating .rs files makes it possible to support tracing in rust.
> This support comprises a new format, and common code that converts
> the C expressions in trace-events to Rust. In particular, types
> need to be converted, and PRI macros expanded. Fortunately, all
> common platforms have a known mapping of 8/16/32/64-bit integers
> to char/short/int/"long long": even if int64_t is equal to long,
> it is fine to change the format string from PRIx64's expansion
> "%lx" to "%llx". This makes it possible to have a static mapping
> from PRI macros to their expansion.
>
> As of this commit no backend generates Rust code, but it is already
> possible to use tracetool to generate Rust sources; they are not
> functional but they compile and contain tracepoint functions.
>
> Signed-off-by: Tanish Desai <tanishdesai37@gmail.com>
> [Move Rust argument conversion from Event to Arguments; string
> support. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> scripts/tracetool/__init__.py | 156 +++++++++++++++++++++++++++++++++
> scripts/tracetool/format/rs.py | 76 ++++++++++++++++
> 2 files changed, 232 insertions(+)
> create mode 100644 scripts/tracetool/format/rs.py
> diff --git a/scripts/tracetool/format/rs.py b/scripts/tracetool/format/rs.py
> new file mode 100644
> index 00000000000..bc8b2be5971
> --- /dev/null
> +++ b/scripts/tracetool/format/rs.py
> @@ -0,0 +1,76 @@
> +# -*- coding: utf-8 -*-
> +
> +"""
> +trace-DIR.rs
> +"""
> +
> +__author__ = "Tanish Desai <tanishdesai37@gmail.com>"
> +__copyright__ = "Copyright 2025, Tanish Desai <tanishdesai37@gmail.com>"
> +__license__ = "GPL version 2 or (at your option) any later version"
> +
> +__maintainer__ = "Stefan Hajnoczi"
> +__email__ = "stefanha@redhat.com"
> +
> +
> +from tracetool import out
> +
> +
> +def generate(events, backend, group):
> + out('// This file is autogenerated by tracetool, do not edit.',
Should add
'/* SPDX-License-Identifier: GPL-2.0-or-later */',
and update the reference output in the later patch.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-08-26 11:50 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-22 12:26 [RFC PATCH 00/14] tracetool: add Rust support Paolo Bonzini
2025-08-22 12:26 ` [PATCH 01/14] treewide: write "unsigned long int" instead of "long unsigned int" Paolo Bonzini
2025-08-25 6:40 ` Manos Pitsidianakis
2025-08-25 9:18 ` Paolo Bonzini
2025-08-25 7:24 ` Zhao Liu
2025-08-26 11:15 ` Daniel P. Berrangé
2025-08-26 11:33 ` Peter Maydell
2025-08-22 12:26 ` [PATCH 02/14] rust: move dependencies to rust/Cargo.toml Paolo Bonzini
2025-08-25 7:04 ` Manos Pitsidianakis
2025-08-25 7:24 ` Zhao Liu
2025-08-27 19:12 ` Stefan Hajnoczi
2025-08-22 12:26 ` [PATCH 03/14] trace/ftrace: move snprintf+write from tracepoints to ftrace.c Paolo Bonzini
2025-08-25 7:09 ` Manos Pitsidianakis
2025-08-25 9:00 ` Zhao Liu
2025-08-26 11:40 ` Daniel P. Berrangé
2025-08-26 11:45 ` Peter Maydell
2025-08-26 11:58 ` Daniel P. Berrangé
2025-08-27 19:12 ` Stefan Hajnoczi
2025-08-22 12:26 ` [PATCH 04/14] tracetool: add CHECK_TRACE_EVENT_GET_STATE Paolo Bonzini
2025-08-26 11:44 ` Daniel P. Berrangé
2025-08-27 19:13 ` Stefan Hajnoczi
2025-08-22 12:26 ` [PATCH 05/14] tracetool/backend: remove redundant trace event checks Paolo Bonzini
2025-08-26 11:44 ` Daniel P. Berrangé
2025-08-27 19:15 ` Stefan Hajnoczi
2025-08-22 12:26 ` [PATCH 06/14] tracetool: Add Rust format support Paolo Bonzini
2025-08-25 7:03 ` Manos Pitsidianakis
2025-08-25 9:42 ` Paolo Bonzini
2025-08-25 7:22 ` Manos Pitsidianakis
2025-08-26 11:49 ` Daniel P. Berrangé [this message]
2025-08-22 12:26 ` [PATCH 07/14] rust: add trace crate Paolo Bonzini
2025-08-25 7:18 ` Manos Pitsidianakis
2025-08-25 9:54 ` Zhao Liu
2025-08-22 12:26 ` [PATCH 08/14] rust: qdev: add minimal clock bindings Paolo Bonzini
2025-08-25 7:50 ` Zhao Liu
2025-08-25 7:32 ` Manos Pitsidianakis
2025-08-25 9:58 ` Paolo Bonzini
2025-08-22 12:26 ` [PATCH 09/14] rust: pl011: add tracepoints Paolo Bonzini
2025-08-22 12:26 ` [PATCH 10/14] tracetool/simple: add Rust support Paolo Bonzini
2025-08-26 11:53 ` Daniel P. Berrangé
2025-09-19 10:51 ` Paolo Bonzini
2025-08-22 12:26 ` [PATCH 11/14] log: change qemu_loglevel to unsigned Paolo Bonzini
2025-08-25 7:07 ` Manos Pitsidianakis
2025-08-25 7:56 ` Zhao Liu
2025-08-26 13:52 ` Philippe Mathieu-Daudé
2025-08-22 12:26 ` [PATCH 12/14] tracetool/log: add Rust support Paolo Bonzini
2025-08-22 12:26 ` [PATCH 13/14] tracetool/ftrace: " Paolo Bonzini
2025-08-22 12:26 ` [PATCH 14/14] tracetool/syslog: " Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aK2fQquP2Uj_C7tP@redhat.com \
--to=berrange@redhat.com \
--cc=mads@ynddal.dk \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=tanishdesai37@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.