diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2016-10-04 14:35:52 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2016-10-12 09:52:50 +0200 |
commit | fe4db84d49545e669806d0cce12b3aa384e04ac3 (patch) | |
tree | bb88e1c6c1f504c57c0131d9cc23b37538e1c40c /trace/control-internal.h | |
parent | 8ed5372874377af4a84a330eeaff1d9d663ca930 (diff) | |
download | qemu-fe4db84d49545e669806d0cce12b3aa384e04ac3.zip qemu-fe4db84d49545e669806d0cce12b3aa384e04ac3.tar.gz qemu-fe4db84d49545e669806d0cce12b3aa384e04ac3.tar.bz2 |
trace: provide mechanism for registering trace events
Remove the notion of there being a single global array
of trace events, by introducing a method for registering
groups of events.
The module_call_init() needs to be invoked at the start
of any program that wants to make use of the trace
support. Currently this covers system emulators qemu-nbd,
qemu-img and qemu-io.
[Squashed the following fix from Daniel P. Berrange
<berrange@redhat.com>:
linux-user/bsd-user: initialize trace events subsystem
The bsd-user/linux-user programs make use of the CPU emulation
code and this now requires that the trace events subsystem
is enabled, otherwise it'll crash trying to allocate an empty
trace events bitmap for the CPU object.
--Stefan]
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: LluĂs Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 1475588159-30598-14-git-send-email-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'trace/control-internal.h')
-rw-r--r-- | trace/control-internal.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/trace/control-internal.h b/trace/control-internal.h index 9abbc96..a9d395a 100644 --- a/trace/control-internal.h +++ b/trace/control-internal.h @@ -15,7 +15,6 @@ #include "qom/cpu.h" -extern TraceEvent *trace_events[]; extern int trace_events_enabled_count; @@ -83,4 +82,7 @@ static inline bool trace_event_get_vcpu_state_dynamic(CPUState *vcpu, return trace_event_get_vcpu_state_dynamic_by_vcpu_id(vcpu, vcpu_id); } + +void trace_event_register_group(TraceEvent **events); + #endif /* TRACE__CONTROL_INTERNAL_H */ |