On Fri, Aug 22, 2025 at 02:26:47PM +0200, Paolo Bonzini wrote: > From: Tanish Desai <tanishdesa...@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 <tanishdesa...@gmail.com> > [Move Rust argument conversion from Event to Arguments; string > support. - Paolo] > Signed-off-by: Paolo Bonzini <pbonz...@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 <tanishdesa...@gmail.com>" > +__copyright__ = "Copyright 2025, Tanish Desai <tanishdesa...@gmail.com>" > +__license__ = "GPL version 2 or (at your option) any later version" > + > +__maintainer__ = "Stefan Hajnoczi" > +__email__ = "stefa...@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 :|