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
signature.asc
Description: PGP signature
