On Mon, Sep 29, 2025 at 05:49:22PM +0200, Paolo Bonzini wrote:
> This is almost the same as v1, other than:
> - more dead code removal in patches 2 and 8
> - renaming a function in patch 8, and consequent change to test vectors
> 
> It adds Rust support to tracetool and tracepoint support for the pl011
> device.  All the backends are supported except dtrace and ust.
> 
> Patches 1-5 are cleanups.
> 
> Patches 6-7 are tracetool patches that have been posted before, now
> rebased on top of the "make check-tracetool" series.  Their purpose
> is to simplify .h code generation for tracetool backends, and these
> simplifications translate directly to the new .rs code generation.
> 
> Patches 8-9 add the minimal support for adding tracepoint functions
> in Rust, albeit with no content and thus no actual tracing.
> 
> Patches 10-11 add back tracepoints to the Rust pl011 device model.
> 
> Patches 12-16 finally add Rust code generation to the supported
> tracing backends.
> 
> Paolo
> 
> Paolo Bonzini (8):
>   tracetool: fix usage of try_import()
>   tracetool: remove dead code
>   treewide: remove unnessary "coding" header
>   tracetool: add SPDX headers
>   trace/ftrace: move snprintf+write from tracepoints to ftrace.c
>   rust: qdev: add minimal clock bindings
>   rust: pl011: add tracepoints
>   log: change qemu_loglevel to unsigned
> 
> Tanish Desai (8):
>   tracetool: add CHECK_TRACE_EVENT_GET_STATE
>   tracetool/backend: remove redundant trace event checks
>   tracetool: Add Rust format support
>   rust: add trace crate
>   tracetool/simple: add Rust support
>   tracetool/log: add Rust support
>   tracetool/ftrace: add Rust support
>   tracetool/syslog: add Rust support
> 
>  docs/conf.py                                  |   2 -
>  docs/sphinx-static/theme_overrides.css        |   3 +-
>  include/qemu/log-for-trace.h                  |   4 +-
>  include/qemu/log.h                            |  44 ++--
>  tests/tracetool/ftrace.h                      |  28 +--
>  tests/tracetool/log.h                         |  16 +-
>  trace/ftrace.h                                |   1 +
>  trace/ftrace.c                                |  15 ++
>  util/log.c                                    |   2 +-
>  hw/char/trace-events                          |  14 +-
>  rust/Cargo.lock                               |   8 +
>  rust/Cargo.toml                               |   1 +
>  rust/hw/char/pl011/Cargo.toml                 |   1 +
>  rust/hw/char/pl011/meson.build                |   1 +
>  rust/hw/char/pl011/src/device.rs              |  57 +++--
>  rust/hw/core/src/qdev.rs                      |  33 +++
>  rust/meson.build                              |   2 +-
>  rust/trace/Cargo.toml                         |  19 ++
>  rust/trace/meson.build                        |  19 ++
>  rust/trace/src/lib.rs                         |  39 ++++
>  rust/util/src/log.rs                          |   2 +-
>  scripts/analyse-locks-simpletrace.py          |   1 -
>  scripts/modinfo-collect.py                    |   1 -
>  scripts/modinfo-generate.py                   |   1 -
>  scripts/oss-fuzz/minimize_qtest_trace.py      |   1 -
>  scripts/oss-fuzz/output_reproducer.py         |   1 -
>  .../oss-fuzz/reorder_fuzzer_qtest_trace.py    |   1 -
>  scripts/probe-gdb-support.py                  |   1 -
>  scripts/qapi/error.py                         |   2 -
>  scripts/qapi/expr.py                          |   2 -
>  scripts/qapi/gen.py                           |   2 -
>  scripts/qapi/parser.py                        |   2 -
>  scripts/qapi/schema.py                        |   2 -
>  scripts/qemu-plugin-symbols.py                |   1 -
>  scripts/qemugdb/tcg.py                        |   2 -
>  scripts/qemugdb/timers.py                     |   1 -
>  scripts/replay-dump.py                        |   1 -
>  scripts/tracetool.py                          |   1 -
>  scripts/tracetool/__init__.py                 | 202 ++++++++++++++----
>  scripts/tracetool/backend/__init__.py         |  43 ++--
>  scripts/tracetool/backend/dtrace.py           |   2 +-
>  scripts/tracetool/backend/ftrace.py           |  26 +--
>  scripts/tracetool/backend/log.py              |  22 +-
>  scripts/tracetool/backend/simple.py           |  17 +-
>  scripts/tracetool/backend/syslog.py           |  17 +-
>  scripts/tracetool/backend/ust.py              |   2 +-
>  scripts/tracetool/format/__init__.py          |   4 +-
>  scripts/tracetool/format/c.py                 |   2 +-
>  scripts/tracetool/format/d.py                 |   2 +-
>  scripts/tracetool/format/h.py                 |  18 +-
>  scripts/tracetool/format/log_stap.py          |   4 +-
>  scripts/tracetool/format/rs.py                |  64 ++++++
>  scripts/tracetool/format/simpletrace_stap.py  |   4 +-
>  scripts/tracetool/format/stap.py              |   2 +-
>  scripts/tracetool/format/ust_events_c.py      |   2 +-
>  scripts/tracetool/format/ust_events_h.py      |   2 +-
>  tests/tracetool/ftrace.rs                     |  40 ++++
>  tests/tracetool/log.rs                        |  44 ++++
>  tests/tracetool/simple.rs                     |  40 ++++
>  tests/tracetool/syslog.rs                     |  40 ++++
>  tests/tracetool/tracetool-test.py             |   2 +
>  trace/meson.build                             |   8 +-
>  62 files changed, 720 insertions(+), 223 deletions(-)
>  create mode 100644 rust/trace/Cargo.toml
>  create mode 100644 rust/trace/meson.build
>  create mode 100644 rust/trace/src/lib.rs
>  create mode 100644 scripts/tracetool/format/rs.py
>  create mode 100644 tests/tracetool/ftrace.rs
>  create mode 100644 tests/tracetool/log.rs
>  create mode 100644 tests/tracetool/simple.rs
>  create mode 100644 tests/tracetool/syslog.rs
> 
> -- 
> 2.51.0
> 

Thanks, applied to my tracing tree:
https://gitlab.com/stefanha/qemu/commits/tracing

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to