First version that actually works. Only qxl covered for this RfC, other modules will follow once the basics are hashed out.
v4: - rebase to latest master. - fix systemtap tracing. - also cover virtio-gpu modules. - pick up some review tags. - misc minor tweaks. v3: - handle initialization of modular tracepoints. TODO: Enabling modular tracepoints via -trace cmd line doesn't work yet. Guess we need to store the list somewhere for later re-processing. Error handling is tricky, specifically the "tracepoint doesn't exist" error. Suggestions / ideas are welcome. More context: https://bugzilla.redhat.com/show_bug.cgi?id=1898700 https://bugzilla.redhat.com/show_bug.cgi?id=1869642 take care, Gerd Gerd Hoffmann (13): qemu-trace-stap: changing SYSTEMTAP_TAPSET considered harmful. trace: iter init tweaks trace: add trace_event_iter_init_group trace/simple: pass iter to st_write_event_mapping trace/simple: add st_init_group meson: add trace_events_config[] meson: move up hw subdir (specifically before trace subdir) meson: add module_trace & module_trace_src trace/stap: build stap files for modules meson: move qxl trace events to separate file virtio-gpu: split trace points meson: move virtio trace events to separate file meson: move virtio-gl trace events to separate file hw/display/trace-qxl.h | 1 + hw/display/trace-virtio-gl.h | 1 + hw/display/trace-virtio.h | 1 + trace/control.h | 30 ++++++++-- trace/simple.h | 1 + hw/display/qxl-render.c | 2 +- hw/display/qxl.c | 2 +- hw/display/virtio-gpu-base.c | 2 +- hw/display/virtio-gpu-virgl.c | 50 ++++++++-------- hw/display/virtio-gpu.c | 2 +- monitor/misc.c | 4 +- trace/control-target.c | 2 +- trace/control.c | 39 ++++++++++--- trace/qmp.c | 6 +- trace/simple.c | 22 +++++-- hw/display/meson.build | 12 ++++ hw/display/trace-events | 95 ------------------------------- hw/display/trace-events-qxl | 66 +++++++++++++++++++++ hw/display/trace-events-virtio | 16 ++++++ hw/display/trace-events-virtio-gl | 18 ++++++ meson.build | 43 +++++++++++++- scripts/qemu-trace-stap | 14 ++--- trace/meson.build | 36 +++++++++--- 23 files changed, 298 insertions(+), 167 deletions(-) create mode 100644 hw/display/trace-qxl.h create mode 100644 hw/display/trace-virtio-gl.h create mode 100644 hw/display/trace-virtio.h create mode 100644 hw/display/trace-events-qxl create mode 100644 hw/display/trace-events-virtio create mode 100644 hw/display/trace-events-virtio-gl -- 2.31.1